CyTube/templates/channeloptions.pug
calzoneman ce260e0f5c Greatly improve performance of channel settings emote list
The channel settings emote list is now paginated and leverages the same
basic code as the emote browser, but with a different renderer.  Fixes
 #594 and kills an ugly function.
2016-07-11 23:55:07 -07:00

213 lines
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 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-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")
.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 - /r/" + 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")
.form-group
.checkbox
label
input.emotelist-alphabetical(type="checkbox")
| Sort alphabetically
.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