sync/templates/channeloptions.pug

223 lines
7.7 KiB
Plaintext

mixin lcheckbox(id, label)
.form-group
label.control-label.col-sm-4(for=id)= label
.col-sm-8
.checkbox
input(type="checkbox", id=id)
mixin rcheckbox(id, label)
.form-group
.col-sm-8.col-sm-offset-4
.checkbox
label(for=id)
input(type="checkbox", id=id)
= label
mixin textbox(id, label, placeholder)
.form-group
label.control-label.col-sm-4(for=id)= label
.col-sm-8
if placeholder
input.form-control(id=id, type="text", placeholder=placeholder)
else
input.form-control(id=id, type="text")
mixin lcheckbox-auto(id, label)
.form-group
label.control-label.col-sm-4(for=id)= label
.col-sm-8
.checkbox
input.cs-checkbox(type="checkbox", id=id)
mixin rcheckbox-auto(id, label)
.form-group
.col-sm-8.col-sm-offset-4
.checkbox
label(for=id)
input.cs-checkbox(type="checkbox", id=id)
= label
mixin textbox-auto(id, label, placeholder)
.form-group
label.control-label.col-sm-4(for=id)= label
.col-sm-8
if placeholder
input.form-control.cs-textbox(id=id, type="text", placeholder=placeholder)
else
input.form-control.cs-textbox(id=id, type="text")
mixin textbox-timeinput-auto(id, label, placeholder)
.form-group
label.control-label.col-sm-4(for=id)= label
.col-sm-8
if placeholder
input.form-control.cs-textbox-timeinput(id=id, type="text", placeholder=placeholder)
else
input.form-control.cs-textbox-timeinput(id=id, type="text")
mixin miscoptions
#cs-miscoptions.tab-pane.active
h4 General Settings
form.form-horizontal(action="javascript:void(0)")
+rcheckbox-auto("cs-allow_voteskip", "Allow voteskip")
+rcheckbox-auto("cs-allow_dupes", "Allow duplicate videos on the playlist")
+textbox-auto("cs-voteskip_ratio", "Voteskip ratio", "0.5")
+textbox-auto("cs-maxlength", "Max video length", "HH:MM:SS")
+textbox-timeinput-auto("cs-playlist_max_duration_per_user", "Max total queue time per user", "HH:MM:SS")
+textbox-auto("cs-afk_timeout", "Auto-AFK Delay", "0 (disabled)")
.form-group
.col-sm-offset-4
h4 Chat Settings
form.form-horizontal(action="javascript:void(0)")
+rcheckbox-auto("cs-enable_link_regex", "Convert URLs in chat to links")
+rcheckbox-auto("cs-chat_antiflood", "Throttle chat")
+textbox-auto("cs-chat_antiflood_burst", "# of messages allowed before throttling")
+textbox-auto("cs-chat_antiflood_sustained", "# of messages (after burst) allowed per second")
+textbox-timeinput-auto("cs-new_user_chat_delay", "Delay before new accounts can chat", "0")
.form-group
.col-sm-8.col-sm-offset-4
span.text-info Restrictions to new accounts can be disabled by setting the delay to 0.
+textbox-timeinput-auto("cs-new_user_chat_link_delay", "Delay before new accounts can post links in chat", "0")
.form-group
.col-sm-8.col-sm-offset-4
span.text-info Changes are automatically saved.
mixin adminoptions
#cs-adminoptions.tab-pane
h4 Admin-Only Settings
form.form-horizontal(action="javascript:void(0)")
- var defname = `CyTube - /${channelPath}/${channelName}`
+textbox-auto("cs-pagetitle", "Page title", defname)
+textbox-auto("cs-password", "Password", "leave blank to disable")
+textbox-auto("cs-externalcss", "External CSS", "Stylesheet URL")
+textbox-auto("cs-externaljs", "External Javascript", "Script URL")
+rcheckbox-auto("cs-show_public", "List channel publicly")
+rcheckbox-auto("cs-torbanned", "Block connections from Tor")
+rcheckbox-auto("cs-allow_ascii_control", "Allow ASCII control characters (e.g. newlines)")
+textbox-auto("cs-playlist_max_per_user", "Maximum # of videos per user")
.form-group
.col-sm-8.col-sm-offset-4
span.text-info Set to 0 for no limit
.form-group
.col-sm-8.col-sm-offset-4
span.text-info Changes are automatically saved.
mixin motdeditor
#cs-motdeditor.tab-pane
h4 MOTD editor
p The MOTD can be formatted using a subset of HTML. Tags which attempt to execute Javascript will be removed.
textarea.form-control#cs-motdtext(rows="10")
button.btn.btn-primary#cs-motdsubmit Save MOTD
mixin csseditor
#cs-csseditor.tab-pane
h4 CSS editor
p Maximum size 20KB. If more space is required, use the External CSS option under General Settings to link to an externally hosted stylesheet.
textarea.form-control#cs-csstext(rows="10")
button.btn.btn-primary#cs-csssubmit Save CSS
mixin jseditor
#cs-jseditor.tab-pane
h4 JS editor
p Maximum size 20KB. If more space is required, use the External JS option under General Settings to link to an externally hosted stylesheet.
textarea.form-control#cs-jstext(rows="10")
button.btn.btn-primary#cs-jssubmit Save JS
mixin banlist
#cs-banlist.tab-pane
h4 Ban list
table.table.table-striped
thead
tr
th Unban
th IP
th Name
th Banned by
mixin recentjoins
#cs-recentjoins.tab-pane
h4 Recent connections
table.table.table-striped
thead
tr
th Name
th Aliases
th Time
mixin chanranks
#cs-chanranks.tab-pane
h4 Moderator List
form.form-inline(action="javascript:void(0)", role="form")
.input-group
input#cs-chanranks-name.form-control(type="text", placeholder="Name")
span.input-group-btn
button#cs-chanranks-mod.btn.btn-success +Mod
button#cs-chanranks-adm.btn.btn-info +Admin
button#cs-chanranks-owner.btn.btn-info +Owner
table.table.table-striped
thead
tr
th Name
th Rank
mixin chatfilters
#cs-chatfilters.tab-pane
h4 Chat Filters
form.form-horizontal(action="javascript:void(0)", role="form")
+textbox("cs-chatfilters-newname", "Filter name")
+textbox("cs-chatfilters-newregex", "Filter regex")
.form-group
label.control-label.col-sm-4(for="cs-chatfilters-newflags") Flags
.col-sm-8
input#cs-chatfilters-newflags.form-control.cs-textbox(type="text", value="g")
+textbox("cs-chatfilters-newreplace", "Replacement")
.form-group
.col-sm-8.col-sm-offset-4
button#cs-chatfilters-newsubmit.btn.btn-primary Create Filter
table.table.table-striped.table-condensed
thead
tr
th Control
th Name
th Active
button#cs-chatfilters-export.btn.btn-default Export filter list
button#cs-chatfilters-import.btn.btn-default Import filter list
textarea#cs-chatfilters-exporttext.form-control(rows="5")
mixin emotes
#cs-emotes.tab-pane
h4 Emotes
form.form-horizontal(action="javascript:void(0)", role="form")
+textbox("cs-emotes-newname", "Emote name")
+textbox("cs-emotes-newimage", "Emote image")
.form-group
.col-sm-8.col-sm-offset-4
button#cs-emotes-newsubmit.btn.btn-primary Create Emote
form.form-inline
.form-group
input.emotelist-search.form-control(type="text", placeholder="Search")
.emotelist-paginator-container
table.emotelist-table.table.table-striped.table-condensed
thead
tr
th Delete
th Name
th Image
tbody
button#cs-emotes-export.btn.btn-default Export emote list
button#cs-emotes-import.btn.btn-default Import emote list
textarea#cs-emotes-exporttext.form-control(rows="5")
mixin chanlog
#cs-chanlog.tab-pane
h4 Channel Log
strong Filter Log:
select#cs-chanlog-filter.form-control(multiple="multiple")
pre#cs-chanlog-text
button.btn.btn-default#cs-chanlog-refresh Refresh
mixin permeditor
#cs-permedit.tab-pane