Testing css-only tabs solution for settings page organisation

indiachan-spamvector
Thomas Lynch 2 years ago
parent 4a00a3fc81
commit 2aa776116d
  1. 77
      gulp/res/css/style.css
  2. 522
      views/pages/globalmanagesettings.pug

@ -1456,6 +1456,83 @@ row.wrap.sb .col {
white-space: nowrap;
}
.tabs.group:after {
display: block;
content: " ";
clear: both;
}
.tabs li {
display: inline;
}
.tabs li a {
color: var(--font-color);
float: left;
display: block;
padding: 4px 10px;
margin-left: -1px;
position: relative;
left: 1px;
background: var(--post-color);
text-decoration: none;
}
.tabs li:last-of-type {
margin-right: 1px;
}
.tabs {
padding: 0;
margin: 0;
list-style: none;
}
.box-wrap .col {
background: var(--background-rest);
padding: 10px;
margin-top: -1px;
}
.box-wrap, .tabs li a {
border: 1px solid var(--post-outline-color);
}
.box-wrap > div {
display: none;
}
.tab {
scroll-margin-top: 100vh;
}
#tab-1:target .tab-1,
#tab-2:target .tab-2,
#tab-3:target .tab-3,
#tab-4:target .tab-4,
#tab-5:target .tab-5,
#tab-6:target .tab-6,
#tab-7:target .tab-7,
#tab-8:target .tab-8,
#tab-9:target .tab-9,
#tab-10:target .tab-10 {
display: flex;
}
#tab-1:target a[href="#tab-1"],
#tab-2:target a[href="#tab-2"],
#tab-3:target a[href="#tab-3"],
#tab-4:target a[href="#tab-4"],
#tab-5:target a[href="#tab-5"],
#tab-6:target a[href="#tab-6"],
#tab-7:target a[href="#tab-7"],
#tab-8:target a[href="#tab-8"],
#tab-9:target a[href="#tab-9"],
#tab-10:target a[href="#tab-10"] {
border-bottom: 1px solid var(--background-rest);
background: var(--background-rest);
}
@media only screen and (max-height: 400px) {
.modal {
top: 5px;

@ -23,35 +23,45 @@ block content
input(type='submit', value='submit')
hr(size=1)
h4.no-m-p Settings:
.form-wrapper.flexleft.mt-10
.form-wrapper.flexleft
form.form-post(action=`/forms/global/settings`, enctype='application/x-www-form-urlencoded', method='POST')
input(type='hidden' name='_csrf' value=csrf)
input.row(type='submit', value='save settings')
.row.wrap.sb
.col.mr-5
.row
h4.mv-5 Security
.row
.label Referer Check
label.postform-style.ph-5
input(type='checkbox', name='referrer_check', value='true' checked=settings.refererCheck)
.row
.label Allowed Hosts
textarea(name='allowed_hosts' placeholder='Newline separated') #{settings.allowedHosts.join('\n')}
.row
.label Secure Cookies
label.postform-style.ph-5
input(type='checkbox', name='secure_cookies', value='true' checked=settings.secureCookies)
.row
.label Don't store raw IPs
label.postform-style.ph-5
input(type='checkbox', name='dont_store_raw_ips', value='true' checked=settings.dontStoreRawIps)
.row
.label Prune IPs Days
input(type='number', name='prune_ips' value=settings.pruneIps)
.row
h4.mv-5 Server
.mv-10
.tab#tab-1
.tab#tab-2
.tab#tab-3
.tab#tab-4
.tab#tab-5
.tab#tab-6
.tab#tab-7
.tab#tab-8
.tab#tab-9
.tab#tab-10
.tabbed-area
ul.tabs.group
li
a(href='#tab-1') General
li
a(href='#tab-2') Security
li
a(href='#tab-3') Limits
li
a(href='#tab-4') Captcha
li
a(href='#tab-5') Antispam
li
a(href='#tab-6') Style
li
a(href='#tab-7') Webring
li
a(href='#tab-8') Files & Thumbnails
li
a(href='#tab-9') Frontend Script Defaults
li
a(href='#tab-10') Board Defaults
.box-wrap
.tab-1
.col
.row
.label Global Announcement
textarea(name='global_announcement') #{settings.globalAnnouncement.raw}
@ -130,9 +140,30 @@ block content
.row
.label Prune Modlogs Days
input(type='number', name='prune_modlogs' value=settings.pruneModlogs)
.tab-2
.col
.row
row
h4.mv-5 Limits
.label Referer Check
label.postform-style.ph-5
input(type='checkbox', name='referrer_check', value='true' checked=settings.refererCheck)
.row
.label Allowed Hosts
textarea(name='allowed_hosts' placeholder='Newline separated') #{settings.allowedHosts.join('\n')}
.row
.label Secure Cookies
label.postform-style.ph-5
input(type='checkbox', name='secure_cookies', value='true' checked=settings.secureCookies)
.row
.label Don't store raw IPs
label.postform-style.ph-5
input(type='checkbox', name='dont_store_raw_ips', value='true' checked=settings.dontStoreRawIps)
.row
.label Prune IPs Days
input(type='number', name='prune_ips' value=settings.pruneIps)
.tab-3
.col
.row
.label Default Ban Duration
input(type='text', name='default_ban_duration', placeholder='e.g. 1w', value=settings.defaultBanDuration)
@ -170,11 +201,119 @@ block content
option(value='1', selected=settings.abandonedBoardAction === 1) Lock board
option(value='2', selected=settings.abandonedBoardAction === 2) Lock+unlist board
option(value='3', selected=settings.abandonedBoardAction === 3) Delete board
.col.mr-5
.row
h4.mv-5 Captcha
h4.mv-5 Global Limits
.row
.label Reply Limit Min
input(type='number' name='global_limits_reply_limit_min' value=settings.globalLimits.replyLimit.min)
.row
.label Reply Limit Max
input(type='number' name='global_limits_reply_limit_max' value=settings.globalLimits.replyLimit.max)
.row
.label Thread Limit Min
input(type='number' name='global_limits_thread_limit_min' value=settings.globalLimits.threadLimit.min)
.row
.label Thread Limit Max
input(type='number' name='global_limits_thread_limit_max' value=settings.globalLimits.threadLimit.max)
.row
.label Bump Limit Min
input(type='number' name='global_limits_bump_limit_min' value=settings.globalLimits.bumpLimit.min)
.row
.label Bump Limit Max
input(type='number' name='global_limits_bump_limit_max' value=settings.globalLimits.bumpLimit.max)
.row
.label Files Per Post Max
input(type='number' name='global_limits_post_files_max' value=settings.globalLimits.postFiles.max)
.row
.label Post File Size Max
input(type='number' name='global_limits_post_files_size_max' value=settings.globalLimits.postFilesSize.max)
.row
.label Custom Pages Max Characters
input(type='number' name='global_limits_custom_pages_max_length' value=settings.globalLimits.customPages.maxLength)
.row
.label Total Custom Pages Per Board
input(type='number' name='global_limits_custom_pages_max' value=settings.globalLimits.customPages.max)
.row
.label Banner Width Max
input(type='number' name='global_limits_banner_files_width' value=settings.globalLimits.bannerFiles.width)
.row
.label Banner Height Max
input(type='number' name='global_limits_banner_files_height' value=settings.globalLimits.bannerFiles.height)
.row
.label Force 3:1 Banner Aspect Ratio
label.postform-style.ph-5
input(type='checkbox', name='global_limits_banner_files_force_aspect_ratio' value='true' checked=settings.globalLimits.bannerFiles.forceAspectRatio)
.row
.label Banner File Size Max
input(type='number' name='global_limits_banner_files_size_max' value=settings.globalLimits.bannerFilesSize.max)
.row
.label Banners Per Upload Max
input(type='number' name='global_limits_banner_files_max' value=settings.globalLimits.bannerFiles.max)
.row
.label Total Banners Per Board
input(type='number' name='global_limits_banner_files_total' value=settings.globalLimits.bannerFiles.total)
.row
.label Flag File Size Max
input(type='number' name='global_limits_flag_files_size_max' value=settings.globalLimits.flagFilesSize.max)
.row
.label Flags Per Upload Max
input(type='number' name='global_limits_flag_files_max' value=settings.globalLimits.flagFiles.max)
.row
.label Total Flags Per Board
input(type='number' name='global_limits_flag_files_total' value=settings.globalLimits.flagFiles.total)
.row
.label Asset File Size Max
input(type='number' name='global_limits_asset_files_size_max' value=settings.globalLimits.assetFilesSize.max)
.row
.label Assets Per Upload Max
input(type='number' name='global_limits_asset_files_max' value=settings.globalLimits.assetFiles.max)
.row
.label Total Assets Per Board
input(type='number' name='global_limits_asset_files_total' value=settings.globalLimits.assetFiles.total)
.row
h4.mv-5 Field Length Limits
.row
.label Name
input(type='number', name='global_limits_field_length_name' value=settings.globalLimits.fieldLength.name)
.row
.label Email
input(type='number', name='global_limits_field_length_email' value=settings.globalLimits.fieldLength.email)
.row
.label Subject
input(type='number', name='global_limits_field_length_subject' value=settings.globalLimits.fieldLength.subject)
.row
.label Post Password
input(type='number', name='global_limits_field_length_postpassword' value=settings.globalLimits.fieldLength.postpassword)
.row
.label Message
input(type='number', name='global_limits_field_length_message' value=settings.globalLimits.fieldLength.message)
.row
.label Report Reason
input(type='number', name='global_limits_field_length_report_reason' value=settings.globalLimits.fieldLength.report_reason)
.row
.label Ban Reason
input(type='number', name='global_limits_field_length_ban_reason' value=settings.globalLimits.fieldLength.ban_reason)
.row
.label Log Messages
input(type='number', name='global_limits_field_length_log_message' value=settings.globalLimits.fieldLength.log_message)
.row
.label Board URI
input(type='number', name='global_limits_field_length_uri' value=settings.globalLimits.fieldLength.uri)
.row
.label Board Name
input(type='number', name='global_limits_field_length_boardname' value=settings.globalLimits.fieldLength.boardname)
.row
.label Board Description
input(type='number', name='global_limits_field_length_description' value=settings.globalLimits.fieldLength.description)
.row
.label Multi Input Form Anon
input(type='number', name='global_limits_multi_input_posts_anon' value=settings.globalLimits.multiInputs.posts.anon)
.row
.label Multi Input Form Staff
input(type='number', name='global_limits_multi_input_posts_staff' value=settings.globalLimits.multiInputs.posts.staff)
.tab-4
.col
.row
.label Type
select(name='captcha_options_type')
@ -186,6 +325,30 @@ block content
.row
.label Generate Limit
input(type='number' name='captcha_options_generate_limit' value=settings.captchaOptions.generateLimit)
.row
h4.mv-5 Text Captcha Options
.row
.label Font
select(name='captcha_options_text_font')
option(value='default' selected=(settings.captchaOptions.text.font === 'default')) Default
each font in fontList
option(value=font.path selected=(settings.captchaOptions.text.font === font.path)) #{font.name}
.row
.label Strikethrough Effect
label.postform-style.ph-5
input(type='checkbox', name='captcha_options_text_line', value='true' checked=settings.captchaOptions.text.line)
.row
.label Wave Effect Strength
label.postform-style.ph-5
input(type='range' name='captcha_options_text_wave' min='0' max='10' value=settings.captchaOptions.text.wave)
.row
.label Paint Effect Strength
label.postform-style.ph-5
input(type='range' name='captcha_options_text_paint' min='0' max='10' value=settings.captchaOptions.text.paint)
.row
.label Noise Effect Strength
label.postform-style.ph-5
input(type='range' name='captcha_options_text_noise' min='0' max='10' value=settings.captchaOptions.text.noise)
.row
h4.mv-5 Grid Captcha Options
.row
@ -214,30 +377,6 @@ block content
.label Noise Effect Strength
label.postform-style.ph-5
input(type='range' name='captcha_options_grid_noise' min='0' max='10' value=settings.captchaOptions.grid.noise)
.row
h4.mv-5 Text Captcha Options
.row
.label Font
select(name='captcha_options_text_font')
option(value='default' selected=(settings.captchaOptions.text.font === 'default')) Default
each font in fontList
option(value=font.path selected=(settings.captchaOptions.text.font === font.path)) #{font.name}
.row
.label Strikethrough Effect
label.postform-style.ph-5
input(type='checkbox', name='captcha_options_text_line', value='true' checked=settings.captchaOptions.text.line)
.row
.label Wave Effect Strength
label.postform-style.ph-5
input(type='range' name='captcha_options_text_wave' min='0' max='10' value=settings.captchaOptions.text.wave)
.row
.label Paint Effect Strength
label.postform-style.ph-5
input(type='range' name='captcha_options_text_paint' min='0' max='10' value=settings.captchaOptions.text.paint)
.row
.label Noise Effect Strength
label.postform-style.ph-5
input(type='range' name='captcha_options_text_noise' min='0' max='10' value=settings.captchaOptions.text.noise)
.row
h4.mv-5 Captcha Distortion
.row
@ -250,10 +389,10 @@ block content
.label Distortion Intensity
input(type='number' name='captcha_options_distortion' value=settings.captchaOptions.distortion)
.tab-5
.col
.row
h4.mv-5 Block Bypass
.row
.label Enabled
.label Block Bypass
label.postform-style.ph-5
input(type='checkbox', name='block_bypass_enabled', value='true' checked=settings.blockBypass.enabled)
.row
@ -270,9 +409,6 @@ block content
.row
.label Expire After Time
input(type='text' name='block_bypass_expire_after_time' placeholder='e.g. 1d' value=settings.blockBypass.expireAfterTime)
.row
h4.mv-5 Antispam
.row
.label Filters
textarea(name='filters' placeholder='Newline separated') #{settings.filters.join('\n')}
@ -302,11 +438,8 @@ block content
.row
.label Any Content Same IP/ID
input(type='number' name='flood_timers_any_content_same_ip' value=settings.floodTimers.anyContentSameIp)
.row
h4.mv-5 DNSBL
.row
.label Enabled
.label DNSBL Enabled
label.postform-style.ph-5
input(type='checkbox', name='dnsbl_enabled', value='true' checked=settings.dnsbl.enabled)
.row
@ -315,9 +448,6 @@ block content
.row
.label Cache Time
input(type='text' name='dnsbl_cache_time' placeholder='e.g. 1h' value=settings.dnsbl.cacheTime)
.row
h4.mv-5 Ratelimit Costs
.row
.label Generate Captcha
input(type='number' name='rate_limit_cost_captcha' value=settings.rateLimitCost.captcha)
@ -328,25 +458,8 @@ block content
.label Edit Post
input(type='number' name='rate_limit_cost_edit_post' value=settings.rateLimitCost.editPost)
.col.mr-5
.row
h4.mv-5 Code Highlighting
.row
.label
| Code Highlighting Auto-Detect Languages
|
small
| (
a(rel='nofollow' referrerpolicy='same-origin' target='_blank' href='https://github.com/highlightjs/highlight.js/blob/master/SUPPORTED_LANGUAGES.md') Supported Languages
| )
textarea(name='highlight_options_language_subset' placeholder='Newline separated') #{settings.highlightOptions.languageSubset.join('\n')}
.row
.label Code Highlight Language Detect Threshold
input(type='number' name='highlight_options_threshold' value=settings.highlightOptions.threshold)
.row
h4.mv-5 Themes
.tab-6
.col
.row
.label Allowed Themes
textarea(name='themes' placeholder='Newline separated') #{settings.themes.join('\n')}
@ -363,69 +476,93 @@ block content
select(name='board_defaults_code_theme')
each theme in codeThemes
option(value=theme selected=settings.boardDefaults.codeTheme === theme) #{theme}
.row
h4.mv-5 Custom CSS
.label
| Code Highlighting Auto-Detect Languages
|
small
| (
a(rel='nofollow' referrerpolicy='same-origin' target='_blank' href='https://github.com/highlightjs/highlight.js/blob/master/SUPPORTED_LANGUAGES.md') Supported Languages
| )
textarea(name='highlight_options_language_subset' placeholder='Newline separated') #{settings.highlightOptions.languageSubset.join('\n')}
.row
.label Code Highlight Language Detect Threshold
input(type='number' name='highlight_options_threshold' value=settings.highlightOptions.threshold)
.row
.label Enable
.label Board Custom CSS
label.postform-style.ph-5
input(type='checkbox', name='global_limits_custom_css_enabled' value='true' checked=settings.globalLimits.customCss.enabled)
.row
.label Filters
.label Custom CSS Filters
textarea(name='global_limits_custom_css_filters' placeholder='Newline separated') #{settings.globalLimits.customCss.filters.join('\n')}
.row
.label Strict Filtering
label.postform-style.ph-5
input(type='checkbox', name='global_limits_custom_css_strict' value='true' checked=settings.globalLimits.customCss.strict)
.row
.label Max Length
.label Custom CSS Max Length
input(type='number' name='global_limits_custom_css_max' value=settings.globalLimits.customCss.max)
.tab-7
.col
.row
h4.mv-5 Field Length Limits
.label Enable
label.postform-style.ph-5
input(type='checkbox', name='enable_webring' value='true' checked=settings.enableWebring)
.row
.label Name
input(type='number', name='global_limits_field_length_name' value=settings.globalLimits.fieldLength.name)
.label Use Socks Proxy
label.postform-style.ph-5
input(type='checkbox', name='webring_proxy_enabled', value='true' placeholder='socks5h://127.0.0.1:9050' checked=settings.proxy.enabled)
.row
.label Email
input(type='number', name='global_limits_field_length_email' value=settings.globalLimits.fieldLength.email)
.label Proxy Address
input(type='text', name='webring_proxy_address', value=settings.proxy.address)
.row
.label Subject
input(type='number', name='global_limits_field_length_subject' value=settings.globalLimits.fieldLength.subject)
.label Following
textarea(name='webring_following' placeholder='Newline separated') #{settings.following.join('\n')}
.row
.label Post Password
input(type='number', name='global_limits_field_length_postpassword' value=settings.globalLimits.fieldLength.postpassword)
.label Logo URLs
textarea(name='webring_logos' placeholder='Newline separated') #{settings.logo.join('\n')}
.row
.label Message
input(type='number', name='global_limits_field_length_message' value=settings.globalLimits.fieldLength.message)
.label Blacklist
textarea(name='webring_blacklist' placeholder='Newline separated') #{settings.blacklist.join('\n')}
.tab-8
.col
.row
.label Report Reason
input(type='number', name='global_limits_field_length_report_reason' value=settings.globalLimits.fieldLength.report_reason)
.label Animated .gif Thumbnails
label.postform-style.ph-5
input(type='checkbox', name='animated_gif_thumbnails', value='true' checked=settings.animatedGifThumbnails)
.row
.label Ban Reason
input(type='number', name='global_limits_field_length_ban_reason' value=settings.globalLimits.fieldLength.ban_reason)
.label Audio Thumbnails
label.postform-style.ph-5
input(type='checkbox', name='audio_thumbnails', value='true' checked=settings.audioThumbnails)
.row
.label Log Messages
input(type='number', name='global_limits_field_length_log_message' value=settings.globalLimits.fieldLength.log_message)
.label Use ffmpeg For .gif Thumbnails
label.postform-style.ph-5
input(type='checkbox', name='ffmpeg_gif_thumbnails', value='true' checked=settings.ffmpegGifThumbnails)
.row
.label Board URI
input(type='number', name='global_limits_field_length_uri' value=settings.globalLimits.fieldLength.uri)
.label Thumbnail Dimensions
input(type='number', name='thumb_size', value=settings.thumbSize)
.row
.label Board Name
input(type='number', name='global_limits_field_length_boardname' value=settings.globalLimits.fieldLength.boardname)
.label Video Thumbnail Percentage
input(type='number', name='video_thumb_percentage', value=settings.videoThumbPercentage)
.row
.label Board Description
input(type='number', name='global_limits_field_length_description' value=settings.globalLimits.fieldLength.description)
.label Other Mime Types
textarea(name='other_mime_types' placeholder='Newline separated') #{settings.otherMimeTypes.join('\n')}
.row
.label Multi Input Form Anon
input(type='number', name='global_limits_multi_input_posts_anon' value=settings.globalLimits.multiInputs.posts.anon)
.label Validate Mime Types
label.postform-style.ph-5
input(type='checkbox', name='check_real_mime_types', value='true' checked=settings.checkRealMimeTypes)
.row
.label Multi Input Form Staff
input(type='number', name='global_limits_multi_input_posts_staff' value=settings.globalLimits.multiInputs.posts.staff)
.col.mr-5
.label Unknown Types Pass Validation
label.postform-style.ph-5
input(type='checkbox', name='allow_mime_no_match', value='true' checked=settings.allowMimeNoMatch)
.row
h4.mv-5 Frontend Script Defaults
.label Space File Name Replacement
input(type='text', name='space_file_name_replacement', value=settings.spaceFileNameReplacement)
.tab-9
.col
.row
.label Embeds Enabled
label.postform-style.ph-5
@ -521,141 +658,8 @@ block content
.label Tegaki Height
input(type='number', name='frontend_script_default_tegaki_height', value=settings.frontendScriptDefault.tegakiHeight)
.row
h4.mv-5 Files & Thumbnails
.row
.label Animated .gif Thumbnails
label.postform-style.ph-5
input(type='checkbox', name='animated_gif_thumbnails', value='true' checked=settings.animatedGifThumbnails)
.row
.label Audio Thumbnails
label.postform-style.ph-5
input(type='checkbox', name='audio_thumbnails', value='true' checked=settings.audioThumbnails)
.row
.label Use ffmpeg For .gif Thumbnails
label.postform-style.ph-5
input(type='checkbox', name='ffmpeg_gif_thumbnails', value='true' checked=settings.ffmpegGifThumbnails)
.row
.label Thumbnail Dimensions
input(type='number', name='thumb_size', value=settings.thumbSize)
.row
.label Video Thumbnail Percentage
input(type='number', name='video_thumb_percentage', value=settings.videoThumbPercentage)
.row
.label Other Mime Types
textarea(name='other_mime_types' placeholder='Newline separated') #{settings.otherMimeTypes.join('\n')}
.row
.label Validate Mime Types
label.postform-style.ph-5
input(type='checkbox', name='check_real_mime_types', value='true' checked=settings.checkRealMimeTypes)
.row
.label Unknown Types Pass Validation
label.postform-style.ph-5
input(type='checkbox', name='allow_mime_no_match', value='true' checked=settings.allowMimeNoMatch)
.row
.label Space File Name Replacement
input(type='text', name='space_file_name_replacement', value=settings.spaceFileNameReplacement)
.col.mr-5
.row
h4.mv-5 Global Limits
.row
.label Reply Limit Min
input(type='number' name='global_limits_reply_limit_min' value=settings.globalLimits.replyLimit.min)
.row
.label Reply Limit Max
input(type='number' name='global_limits_reply_limit_max' value=settings.globalLimits.replyLimit.max)
.row
.label Thread Limit Min
input(type='number' name='global_limits_thread_limit_min' value=settings.globalLimits.threadLimit.min)
.row
.label Thread Limit Max
input(type='number' name='global_limits_thread_limit_max' value=settings.globalLimits.threadLimit.max)
.row
.label Bump Limit Min
input(type='number' name='global_limits_bump_limit_min' value=settings.globalLimits.bumpLimit.min)
.row
.label Bump Limit Max
input(type='number' name='global_limits_bump_limit_max' value=settings.globalLimits.bumpLimit.max)
.row
.label Files Per Post Max
input(type='number' name='global_limits_post_files_max' value=settings.globalLimits.postFiles.max)
.row
.label Post File Size Max
input(type='number' name='global_limits_post_files_size_max' value=settings.globalLimits.postFilesSize.max)
.row
.label Custom Pages Max Characters
input(type='number' name='global_limits_custom_pages_max_length' value=settings.globalLimits.customPages.maxLength)
.row
.label Total Custom Pages Per Board
input(type='number' name='global_limits_custom_pages_max' value=settings.globalLimits.customPages.max)
.row
.label Banner Width Max
input(type='number' name='global_limits_banner_files_width' value=settings.globalLimits.bannerFiles.width)
.row
.label Banner Height Max
input(type='number' name='global_limits_banner_files_height' value=settings.globalLimits.bannerFiles.height)
.row
.label Force 3:1 Banner Aspect Ratio
label.postform-style.ph-5
input(type='checkbox', name='global_limits_banner_files_force_aspect_ratio' value='true' checked=settings.globalLimits.bannerFiles.forceAspectRatio)
.row
.label Banner File Size Max
input(type='number' name='global_limits_banner_files_size_max' value=settings.globalLimits.bannerFilesSize.max)
.row
.label Banners Per Upload Max
input(type='number' name='global_limits_banner_files_max' value=settings.globalLimits.bannerFiles.max)
.row
.label Total Banners Per Board
input(type='number' name='global_limits_banner_files_total' value=settings.globalLimits.bannerFiles.total)
.row
.label Flag File Size Max
input(type='number' name='global_limits_flag_files_size_max' value=settings.globalLimits.flagFilesSize.max)
.row
.label Flags Per Upload Max
input(type='number' name='global_limits_flag_files_max' value=settings.globalLimits.flagFiles.max)
.row
.label Total Flags Per Board
input(type='number' name='global_limits_flag_files_total' value=settings.globalLimits.flagFiles.total)
.row
.label Asset File Size Max
input(type='number' name='global_limits_asset_files_size_max' value=settings.globalLimits.assetFilesSize.max)
.row
.label Assets Per Upload Max
input(type='number' name='global_limits_asset_files_max' value=settings.globalLimits.assetFiles.max)
.row
.label Total Assets Per Board
input(type='number' name='global_limits_asset_files_total' value=settings.globalLimits.assetFiles.total)
.row
h4.mv-5 Webring
.row
.label Enable
label.postform-style.ph-5
input(type='checkbox', name='enable_webring' value='true' checked=settings.enableWebring)
.row
.label Use Socks Proxy
label.postform-style.ph-5
input(type='checkbox', name='webring_proxy_enabled', value='true' placeholder='socks5h://127.0.0.1:9050' checked=settings.proxy.enabled)
.row
.label Proxy Address
input(type='text', name='webring_proxy_address', value=settings.proxy.address)
.row
.label Following
textarea(name='webring_following' placeholder='Newline separated') #{settings.following.join('\n')}
.row
.label Logo URLs
textarea(name='webring_logos' placeholder='Newline separated') #{settings.logo.join('\n')}
.row
.label Blacklist
textarea(name='webring_blacklist' placeholder='Newline separated') #{settings.blacklist.join('\n')}
.col.mr-5
.row
h4.mv-5 Board Defaults
.tab-10
.col
.row
.label SFW
label.postform-style.ph-5

Loading…
Cancel
Save