2018-02-27 17:20:49 +01:00
<!DOCTYPE html>
< html lang = "en" >
< head >
2019-02-17 16:08:10 +01:00
< link rel = "stylesheet" type = "text/css" href = "../css/modals.scss" / >
2018-02-27 17:20:49 +01:00
< meta charset = "UTF-8" >
2018-03-24 23:38:01 +01:00
< title > TeaSpeak-Web client templates< / title >
2018-02-27 17:20:49 +01:00
< / head >
< body >
2018-10-14 13:27:48 +02:00
< script class = "jsrender-template" id = "tmpl_main" type = "text/html" >
2018-10-03 22:04:29 +02:00
< div class = "app-container" >
< div class = "app" >
2019-01-19 13:03:51 +01:00
<!-- navigation bar -->
< div class = "container-control-bar" >
2018-10-03 22:04:29 +02:00
< div id = "control_bar" class = "control_bar" >
< / div >
< / div >
2020-09-24 15:51:22 +02:00
< div class = "container-connection-handlers" id = "connection-handler-list" > < / div >
2019-01-19 13:03:51 +01:00
< div class = "container-app-main" >
2020-11-07 13:16:07 +01:00
< div class = "container-channel-video" id = "channel-video" > < / div >
2018-11-03 12:16:13 +01:00
< div class = "container-channel-chat" >
2019-01-19 13:03:51 +01:00
<!-- Channel tree -->
2019-07-10 00:52:08 +02:00
< div class = "container-channel-tree" >
2019-08-21 10:00:01 +02:00
< div class = "hostbanner" id = "hostbanner" > < / div >
2019-02-17 16:08:10 +01:00
< div class = "channel-tree" id = "channelTree" > < / div >
2018-11-03 12:16:13 +01:00
< / div >
2019-01-19 13:03:51 +01:00
2019-07-10 00:52:08 +02:00
< div class = "container-seperator vertical" seperator-id = "seperator-channel-chat" > < / div >
2019-01-19 13:03:51 +01:00
<!-- Chat window -->
2019-08-21 10:00:01 +02:00
< div class = "container-chat" id = "chat" > < / div >
2018-10-03 22:04:29 +02:00
< / div >
2019-07-10 00:52:08 +02:00
< div class = "container-seperator horizontal" seperator-id = "seperator-main-log" > < / div >
2019-08-21 10:00:01 +02:00
< div class = "container-bottom" >
< div class = "container-server-log" id = "server-log" > < / div >
2020-11-16 21:02:18 +01:00
< div class = "container-footer" id = "container-footer" >
2019-08-21 10:00:01 +02:00
< / div >
< / div > <!-- Selection info -->
2018-10-03 22:04:29 +02:00
< / div >
< / div >
< / div >
< div id = "contextMenu" class = "context-menu" > < / div >
2020-03-19 14:31:45 +01:00
< div class = "overlay-image-preview hidden" id = "overlay-image-preview" >
< div class = "container-menu-bar" >
< div class = "entry button-open-in-window" >
< div class = "container-icon" >
< img src = "img/icon_image_preview_browse.svg" >
< / div >
< / div >
<!-- Why would you like to download images?
< div class = "entry button-download" >
< div class = "icon_em client-download" > < / div >
< / div >
-->
< div class = "entry button-close" >
< div class = "icon_em client-close_button" > < / div >
< / div >
< / div >
< div class = "container-image" >
2020-09-26 23:28:45 +02:00
< img src = "" alt = "image" / >
2020-03-19 14:31:45 +01:00
< / div >
< / div >
2018-10-03 22:04:29 +02:00
< / script >
2019-02-17 16:08:10 +01:00
2019-07-10 00:52:08 +02:00
< script class = "jsrender-template" id = "tmpl_frame_chat" type = "text/html" >
< div class = "container-chat-frame" >
< div class = "container-info" > < / div >
< div class = "container-chat" > < / div >
< / div >
< / script >
< script class = "jsrender-template" id = "tmpl_frame_chat_info" type = "text/html" >
< div class = "lane" >
< div class = "block left" >
< div class = "title" > {{tr "You're talking in Channel" /}}< / div >
< div class = "value value-voice-channel" > < / div >
< div class = "small-value value-voice-limit" > < / div >
< / div >
< div class = "block right" >
< div class = "title" > {{tr "Your ping" /}}< / div >
< div class = "value value-ping" > 11 ms< / div >
< / div >
< / div >
< div class = "lane" >
2019-08-30 23:06:39 +02:00
< div class = "block left mode-based mode-channel_chat channel" >
2019-08-21 10:00:01 +02:00
< div class = "title" > < / div >
< div class = "value value-text-channel" > < / div >
< div class = "small-value value-text-limit" > < / div >
2019-07-10 00:52:08 +02:00
< / div >
2019-08-21 10:00:01 +02:00
< div class = "block left mode-based mode-private_chat" >
< div class = "button button-switch-chat-channel" > {{tr "Switch to channel chat" /}}< / div >
< / div >
2020-01-31 00:54:00 +01:00
< div class = "block left mode-based mode-music_bot" >
< div class = "title" > < / div >
< div class = "value button bot-manage" > {{tr "Manage Bot" /}}< / div >
< / div >
2019-08-21 10:00:01 +02:00
< div class = "block left mode-based mode-client_info" >
< div class = "spacer-client-info" > < / div >
< / div >
2020-02-16 19:37:34 +01:00
< div class = "block right mode-based mode-private_chat" >
< div class = "title" > {{tr "Private chats" /}}
< div class = "container-indicator" >
< div class = "chat-unread-counter" > -1< / div >
< / div >
< / div >
< div class = "value button chat-counter" > Hmm... Something seems to be wrong!< / div >
< / div >
< div class = "block right mode-basedt mode-channel_chat" >
2019-08-21 10:00:01 +02:00
< div class = "title" > {{tr "Private chats" /}}
< div class = "container-indicator" >
< div class = "chat-unread-counter" > -1< / div >
< / div >
< / div >
< div class = "value button chat-counter" > Hmm... Something seems to be wrong!< / div >
2019-07-10 00:52:08 +02:00
< / div >
2019-08-30 23:06:39 +02:00
< div class = "block right mode-based mode-client_info" >
< div class = "title" > < / div >
< div class = "value button open-conversation" > error: open conversation< / div >
< / div >
2020-01-31 00:54:00 +01:00
< div class = "block right mode-based mode-music_bot" >
< div class = "title" > < / div >
< div class = "value button bot-add-song" > {{tr "Add song" /}}< / div >
< / div >
2019-07-10 00:52:08 +02:00
< / div >
< / script >
2019-08-21 10:00:01 +02:00
< script class = "jsrender-template" id = "tmpl_frame_chat_client_info" type = "text/html" >
< div class = "container-client-info" >
< div class = "heading" >
< div class = "container-avatar" >
< div class = "avatar" >
< img src = "img/style/avatar.png" style = "height: 100%; width: 100%" >
< / div >
< div class = "container-avatar-edit" title = "{{tr 'Upload Avatar' /}}" >
< img src = "img/photo-camera.svg" >
< / div >
< / div >
< a class = "client-name" > < / a >
< div class = "container-description" >
< a class = "client-description" > error: description< / a >
< / div >
< / div >
< div class = "general-info" >
< div class = "block block-left" >
< div class = "container-property" >
2020-03-19 11:35:39 +01:00
< div class = "container-icon" >
< img src = "img/icon_client_online_time.svg" / >
< / div >
2019-08-21 10:00:01 +02:00
< div class = "property" >
< div class = "title" > {{tr "Online since" /}}< / div >
< div class = "value client-online-time" > error: online-time< / div >
< / div >
< / div >
< div class = "container-property" >
2020-03-19 11:35:39 +01:00
< div class = "container-icon" >
< img src = "img/icon_client_country.svg" / >
< / div >
2019-08-21 10:00:01 +02:00
< div class = "property" >
< div class = "title" > {{tr "Country" /}}< / div >
< div class = "value client-country" > < a > error: country< / a > < / div >
< / div >
< / div >
< div class = "container-property container-teaforo" >
2020-03-19 11:35:39 +01:00
< div class = "container-icon" >
< img src = "img/icon_client_forum_account.svg" / >
< / div >
2019-08-21 10:00:01 +02:00
< div class = "property" >
< div class = "title" > {{tr "TeaSpeak Forum Account" /}}< / div >
< div class = "value client-teaforo-account" > < a > error: online-time< / a > < / div >
< / div >
< / div >
< div class = "container-property" >
2020-03-19 11:35:39 +01:00
< div class = "container-icon" >
< img src = "img/icon_client_version.svg" / >
< / div >
2019-08-21 10:00:01 +02:00
< div class = "property" >
< div class = "title" > {{tr "Version" /}}< / div >
< div class = "value client-version" > < a > error: version< / a > < / div >
< / div >
< / div >
< div class = "container-property" >
2020-03-19 11:35:39 +01:00
<!-- Using inline style because the icon itself is a bit off. A better way would be to edit the icon itself, but I'm unable to do so.... -->
< div class = "container-icon" style = "margin-right: .16em; margin-left: .04em;" >
< img src = "img/icon_client_volume.svg" / >
< / div >
2019-08-21 10:00:01 +02:00
< div class = "property" >
< div class = "title" > {{tr "Volume" /}}< / div >
< div class = "value client-local-volume" > error: local volume< / div >
< / div >
< / div >
< div class = "container-property list container-client-status" >
2020-03-19 11:35:39 +01:00
< div class = "container-icon" >
< img src = "img/icon_client_status.svg" / >
< / div >
2019-08-21 10:00:01 +02:00
< div class = "property" >
< div class = "title" > {{tr "Status" /}}< / div >
< div class = "value client-status" >
< div > error: client status< / div >
< / div >
< / div >
< / div >
< / div >
< div class = "block block-right" >
< div class = "container-property" >
< div class = "icon_em client-permission_server_groups" > < / div >
< div class = "property" >
< div class = "title" > {{tr "Channel Group" /}}< / div >
< div class = "value client-group-channel" > < a > error: channel group< / a > < / div >
< / div >
< / div >
< div class = "container-property list" >
< div class = "icon_em client-permission_channel" > < / div >
< div class = "property" >
< div class = "title" > {{tr "Server Groups" /}}< / div >
< div class = "value client-group-server" >
< div > error: client server groups< / div >
< / div >
< / div >
< / div >
< / div >
< / div >
< div class = "button-close" > < / div >
2019-08-30 23:06:39 +02:00
< div class = "button-more" > {{tr "Full Info" /}}< / div >
2019-08-21 10:00:01 +02:00
< / div >
< / script >
2019-07-10 00:52:08 +02:00
2020-01-31 00:54:00 +01:00
< script class = "jsrender-template" id = "tmpl_frame_chat_music_info" type = "text/html" >
< div class = "container-music-info" >
< div class = "player" >
< div class = "container-thumbnail" >
< div class = "thumbnail" >
2020-02-02 15:05:36 +01:00
<!-- https://i.ytimg.com/vi/DeXoACwOT1o/maxresdefault.jpg -->
<!-- <img src="img/music/no - thumbnail.png" style="height: 100%; width: 100%"> -->
2020-09-26 23:29:47 +02:00
< img src = "" alt = "thumbnail" >
2020-01-31 00:54:00 +01:00
< / div >
< / div >
2020-02-02 15:05:36 +01:00
< div class = "container-song-info" >
< a class = "song-name" > CHOSEN ONE | BEST EPIC MUSIC OF 2018 (Part 4) And some more info< / a >
< a class = "song-description" > < / a >
< / div >
< div class = "container-timeline" >
< div class = "timestamps" >
< div class = "current" > 00:01:13< / div >
< div class = "max" > 00:03:22< / div >
< / div >
< div class = "timeline" >
< div class = "indicator indicator-buffered" > < / div >
< div class = "indicator indicator-playtime" > < / div >
< div class = "thumb" > < div class = "dot" > < / div > < / div >
< / div >
< div class = "control-buttons" >
< div class = "button button-rewind" >
< svg version = "1.1" xmlns = "http://www.w3.org/2000/svg" xmlns:xlink = "http://www.w3.org/1999/xlink" x = "0px" y = "0px"
viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
< path transform = "rotate(180, 256, 256)" d = "M504.171,239.489l-234.667-192c-6.357-5.227-15.189-6.293-22.656-2.773c-7.424,3.541-12.181,11.051-12.181,19.285v146.987
L34.837,47.489c-6.379-5.227-15.189-6.293-22.656-2.773C4.757,48.257,0,55.767,0,64.001v384c0,8.235,4.757,15.744,12.181,19.285
c2.923,1.365,6.059,2.048,9.152,2.048c4.843,0,9.621-1.643,13.504-4.821l199.829-163.499v146.987
c0,8.235,4.757,15.744,12.181,19.285c2.923,1.365,6.059,2.048,9.152,2.048c4.843,0,9.621-1.643,13.504-4.821l234.667-192
c4.949-4.053,7.829-10.112,7.829-16.512S509.12,243.543,504.171,239.489z"/>
< / svg >
< / div >
< div class = "button button-play" >
< svg version = "1.1" xmlns = "http://www.w3.org/2000/svg" xmlns:xlink = "http://www.w3.org/1999/xlink" x = "0px" y = "0px"
viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
< path d = "M500.203,236.907L30.869,2.24c-6.613-3.285-14.443-2.944-20.736,0.939C3.84,7.083,0,13.931,0,21.333v469.333
c0,7.403,3.84,14.251,10.133,18.155c3.413,2.112,7.296,3.179,11.2,3.179c3.264,0,6.528-0.747,9.536-2.24l469.333-234.667
C507.435,271.467,512,264.085,512,256S507.435,240.533,500.203,236.907z"/>
< / svg >
< / div >
< div class = "button button-pause" >
< svg version = "1.1" xmlns = "http://www.w3.org/2000/svg" xmlns:xlink = "http://www.w3.org/1999/xlink" x = "0px" y = "0px"
viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
< path transform = 'rotate(90, 256, 256)' d = "M85.333,213.333h341.333C473.728,213.333,512,175.061,512,128s-38.272-85.333-85.333-85.333H85.333
C38.272,42.667,0,80.939,0,128S38.272,213.333,85.333,213.333z"/>
< path transform = 'rotate(90, 256, 256)' d = "M426.667,298.667H85.333C38.272,298.667,0,336.939,0,384s38.272,85.333,85.333,85.333h341.333
C473.728,469.333,512,431.061,512,384S473.728,298.667,426.667,298.667z"/>
< / svg >
< / div >
< div class = "button button-forward" >
< svg version = "1.1" xmlns = "http://www.w3.org/2000/svg" xmlns:xlink = "http://www.w3.org/1999/xlink" x = "0px" y = "0px"
viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
< path d = "M504.171,239.489l-234.667-192c-6.357-5.227-15.189-6.293-22.656-2.773c-7.424,3.541-12.181,11.051-12.181,19.285v146.987
L34.837,47.489c-6.379-5.227-15.189-6.293-22.656-2.773C4.757,48.257,0,55.767,0,64.001v384c0,8.235,4.757,15.744,12.181,19.285
c2.923,1.365,6.059,2.048,9.152,2.048c4.843,0,9.621-1.643,13.504-4.821l199.829-163.499v146.987
c0,8.235,4.757,15.744,12.181,19.285c2.923,1.365,6.059,2.048,9.152,2.048c4.843,0,9.621-1.643,13.504-4.821l234.667-192
c4.949-4.053,7.829-10.112,7.829-16.512S509.12,243.543,504.171,239.489z"/>
< / svg >
< / div >
< / div >
< / div >
< / div >
< div class = "container-playlist" >
< div class = "overlay overlay-loading" >
< a > {{tr "Fetching playlist..." /}}< / a >
< / div >
< div class = "overlay overlay-no-permissions" >
< a > {{tr "You don't have permissions to see this playlist" /}}< / a >
< button class = "btn btn-blue button-reload-playlist" > {{tr "Reload" /}}< / button >
< / div >
< div class = "overlay overlay-error" >
< a > {{tr "An error occurred while fetching the playlist" /}}< / a >
< button class = "btn btn-blue button-reload-playlist" > {{tr "Reload" /}}< / button >
< / div >
< div class = "overlay overlay-empty" >
< a > {{tr "The playlist is currently empty." /}}< / a >
< button class = "btn btn-green button-song-add" > {{tr "Add a song" /}}< / button >
< / div >
< div class = "playlist" >
< div class = "entry" >
< div class = "container-thumbnail" >
<!-- <img src="img/music/no - thumbnail.png" style="height: 100%; width: 100%"> -->
< img src = "https://i.ytimg.com/vi/KaXXVzGy7Y8/maxresdefault.jpg" >
< / div >
< div class = "container-data" >
< div class = "row" >
< div class = "name" > 2-Hours Epic Music | THE POWER OF EPIC MUSIC - Best Of Collection - Vol.5 - 2019< / div >
< div class = "container-delete" > < img src = "img/icon_conversation_message_delete.svg" alt = "X" > < / div >
< / div >
< div class = "row second" >
< div class = "description" > It is time for another 2-Hour Epic Music Mix. So far 2019 has been one amazing year for the orchestral epic music genre and i cannot wait for more. Also incl...< / div >
< div class = "length" > 00:22:01< / div >
< / div >
< / div >
< / div >
< div class = "entry" >
< div class = "container-thumbnail" >
< img src = "img/music/no-thumbnail.png" style = "height: 100%; width: 100%" >
< / div >
< div class = "container-data" >
< div class = "row" >
< div class = "name" > CHOSEN ONE | BEST EPIC MUSIC OF 2018 (Part 4) And some more info< / div >
< div class = "container-delete" > < img src = "img/icon_conversation_message_delete.svg" alt = "X" > < / div >
< / div >
< div class = "row second" >
< div class = "description" > This is an example song description which needs some work< / div >
< div class = "length" > 00:22:01< / div >
< / div >
< / div >
< / div >
< div class = "entry" >
< div class = "container-thumbnail" >
< img src = "img/music/no-thumbnail.png" style = "height: 100%; width: 100%" >
< / div >
< div class = "container-data" >
< div class = "row" >
< div class = "name" > CHOSEN ONE | BEST EPIC MUSIC OF 2018 (Part 4) And some more info< / div >
< div class = "container-delete" > < img src = "img/icon_conversation_message_delete.svg" alt = "X" > < / div >
< / div >
< div class = "row second" >
< div class = "description" > This is an example song description which needs some work< / div >
< div class = "length" > 00:22:01< / div >
< / div >
< / div >
< / div >
2020-01-31 00:54:00 +01:00
< / div >
< / div >
< div class = "button-close" > < / div >
< / div >
< / script >
2020-02-02 15:05:36 +01:00
< script class = "jsrender-template" id = "tmpl_frame_music_playlist_entry" type = "text/html" >
< div class = "entry shown" >
< div class = "container-thumbnail" >
< img src = "img/music/no-thumbnail.png" >
< / div >
< div class = "container-data" >
< div class = "row" >
< div class = "name" > error: name< / div >
< div class = "container-delete button-delete" > < img src = "img/icon_conversation_message_delete.svg" alt = "X" > < / div >
< / div >
< div class = "row second" >
< div class = "description" > error: description< / div >
< div class = "length" > --:--:--< / div >
< / div >
< / div >
< / div >
< / script >
2019-08-21 10:00:01 +02:00
< div class = "template-group-modals" >
< script class = "jsrender-template" id = "tmpl_modal" type = "text/html" >
< div class = "modal fade" tabindex = "-1" role = "dialog" aria-hidden = "true" >
< div class = "modal-dialog modal-dialog-centered" role = "document" >
< div class = "modal-content" style = "{{if full_size}}flex-grow: 1{{/if}}" >
< div class = "modal-header {{if header_class}}{{:header_class}}{{/if}}" >
< div class = "container-icon" >
< img src = "img/favicon/teacup.png" >
< / div >
< node key = "modal_header" > < / node >
< div class = "container-close" >
< div class = "button-modal-close icon_em client-close_button" > < / div >
< / div >
< / div >
< div class = "modal-body" >
< node key = "modal_body" > < / node >
< / div >
{{if modal_footer}}
< div class = "modal-footer" >
< node key = "modal_footer" > < / node >
< / div >
{{/if}}
2019-02-17 16:08:10 +01:00
< / div >
2018-09-30 21:50:59 +02:00
< / div >
< / div >
2019-08-21 10:00:01 +02:00
< / script >
2019-02-17 16:08:10 +01:00
2019-08-21 10:00:01 +02:00
< script class = "jsrender-template" id = "tmpl_modal_input" type = "text/html" >
< div class = "modal fade" tabindex = "-1" role = "dialog" aria-hidden = "true" >
< div class = "modal-dialog modal-dialog-centered" role = "document" >
< div class = "modal-content" >
< div class = "modal-header" >
< div class = "container-icon" >
< img src = "img/favicon/teacup.png" >
< / div >
< node key = "modal_header" > < / node >
< div class = "container-close" >
< div class = "button-modal-close icon_em client-close_button" > < / div >
< / div >
< / div >
< div class = "modal-body modal-body-input modal-green" >
< node key = "question" > < / node >
< div class = "form-group container-value {{if field_title}}with-title{{/if}}" >
{{if field_title}}
2019-02-17 16:08:10 +01:00
< label for = "input-modal-input" class = "bmd-label-floating" > {{>field_title}}< / label >
{{/if}}
2019-08-21 10:00:01 +02:00
<!-- placeholder="ts.teaspeak.de" -->
<!-- aria - describedby="input - connect - address - help" -->
< input id = "input-modal-input"
type="text"
class="form-control"
{{if field_placeholder}} placeholder="{{>field_placeholder}}" {{/if}}
autocomplete="off"
>
{{if error_message || field_label}}
< div class = "container-help-feedback" >
{{if error_message}}
< div class = "invalid-feedback" > {{>error_message}}< / div >
{{/if}}
{{if field_label}}
2019-02-17 16:08:10 +01:00
< span class = "bmd-help" > {{>field_label}}< / span >
2019-08-21 10:00:01 +02:00
{{/if}}
< / div >
2019-02-17 16:08:10 +01:00
{{/if}}
< / div >
2019-08-21 10:00:01 +02:00
< div class = "buttons" >
< button type = "button" class = "btn btn-warning button-cancel" > {{tr "Cancel" /}}
< / button >
< button type = "button" class = "btn btn-raised btn-success button-submit" > {{tr "Ok"
/}}
< / button >
< / div >
2019-02-17 16:08:10 +01:00
< / div >
< / div >
2019-01-28 20:36:11 +01:00
< / div >
2018-12-28 15:39:23 +01:00
< / div >
2019-08-21 10:00:01 +02:00
< / script >
2019-02-17 16:08:10 +01:00
2019-08-21 10:00:01 +02:00
< script class = "jsrender-template" id = "tmpl_modal_yesno" type = "text/html" >
< div class = "modal fade" tabindex = "-1" role = "dialog" aria-hidden = "true" >
< div class = "modal-dialog modal-dialog-centered" role = "document" >
< div class = "modal-content" >
< div class = "modal-header" >
< div class = "container-icon" >
< img src = "img/favicon/teacup.png" >
< / div >
< node key = "modal_header" > < / node >
< div class = "container-close" >
< div class = "button-modal-close icon_em client-close_button" > < / div >
< / div >
< / div >
< div class = "modal-body modal-body-yesno" >
< node key = "question" > < / node >
< div class = "buttons" >
< button type = "button" class = "btn btn-danger button-no" > {{>text_no}}< / button >
< button type = "button" class = "btn btn-raised btn-success button-yes" > {{>text_yes}}
< / button >
< / div >
< / div >
2019-02-17 16:08:10 +01:00
< / div >
< / div >
2018-12-28 15:39:23 +01:00
< / div >
2019-08-21 10:00:01 +02:00
< / script >
< / div >
2018-09-30 21:50:59 +02:00
2019-02-17 16:08:10 +01:00
<!-- Template for the connect modal -->
< script class = "jsrender-template" id = "tmpl_connect" type = "text/html" >
2019-08-21 10:00:01 +02:00
< div class = "container-connect-input" >
< div class = "row container-address-password" >
< div class = "form-group container-address" >
< label > {{tr "Server Address" /}}< / label >
< input type = "text" class = "form-control" aria-describedby = "input-connect-address-help"
placeholder="ts.teaspeak.de" autocomplete="off">
< div class = "invalid-feedback" > {{tr "Please enter a valid server address" /}}< / div >
2019-02-17 16:08:10 +01:00
< / div >
2019-08-21 10:00:01 +02:00
< div class = "form-group container-password" >
< label class = "bmd-label-floating" > {{tr "Server password" /}}< / label >
< form autocomplete = "off" onsubmit = "return false;" >
< input id = "input-connect-password-{{>password_id}}" type = "password" class = "form-control"
autocomplete="off">
< / form >
< / div >
< / div >
< div class = "row container-profile-name" >
2019-02-17 16:08:10 +01:00
< div class = "form-group container-nickname" >
2019-08-21 10:00:01 +02:00
< label > {{tr "Nickname" /}}< / label >
< input type = "text" class = "form-control" aria-describedby = "input-connect-nickname-help"
placeholder="Another TeaSpeak user">
2019-02-17 16:08:10 +01:00
< div class = "invalid-feedback" > {{tr "Please enter a valid server nickname" /}}< / div >
<!-- <small id="input - connect - nickname - help" class="form - text text - muted">We'll never share your email with anyone else.</small> -->
< / div >
< div class = "container-profile-manage" >
< div class = "form-group container-select-profile" >
2019-08-21 10:00:01 +02:00
< label for = "select-connect-profile" > {{tr "Connect Profile" /}}< / label >
2019-02-17 16:08:10 +01:00
< select class = "form-control" id = "select-connect-profile" > < / select >
2019-10-19 18:03:48 +02:00
< div class = "invalid-feedback" > {{tr "Selected profile is invalid. Select another one or fix the profile." /}}
2019-08-21 10:00:01 +02:00
< / div >
< / div >
< div class = "form-group" >
< button type = "button" class = "btn btn-raised button-manage-profiles" > {{tr "Profiles" /}}
< / button >
2019-02-17 16:08:10 +01:00
< / div >
< / div >
2019-08-21 10:00:01 +02:00
< / div >
< div class = "container-buttons" >
< button type = "button" class = "btn btn-raised button-toggle-last-servers" > < a > {{tr "Show last servers"
/}}< / a >
< div class = "arrow down" > < / div >
< / button >
< div class = "container-buttons-connect" >
{{if default_connect_new_tab}}
< button type = "button" class = "btn btn-raised btn-success button-connect button-left" > {{tr
"Connect in same tab" /}}
< / button >
< button type = "button" class = "btn btn-raised btn-success button-connect-new-tab button-right" >
{{tr "Connect" /}}
< / button >
{{else}}
{{if multi_tab}}
< button type = "button" class = "btn btn-raised btn-success button-connect-new-tab button-left" > {{tr
"Connect in a new tab" /}}
< / button >
{{/if}}
< button type = "button" class = "btn btn-raised btn-success button-connect button-right" > {{tr
"Connect" /}}
< / button >
{{/if}}
< / div >
< / div >
< / div >
< div class = "container-last-servers" >
< hr >
< div class = "table" >
< div class = "head" >
< div class = "column delete" > Nr< / div >
< div class = "column name" > {{tr "Name" /}}< / div >
< div class = "column address" > {{tr "Address" /}}< / div >
< div class = "column password" > {{tr "Password" /}}< / div >
< div class = "column country-name" > {{tr "Country" /}}< / div >
< div class = "column clients" > {{tr "Clients" /}}< / div >
< div class = "column connections" > {{tr "Connections" /}}< / div >
< / div >
< div class = "body" >
< div class = "body-empty" >
< a > {{tr "No connections yet made" /}}< / a >
< / div >
< / div >
< / div >
< / div >
2019-02-17 16:08:10 +01:00
< / script >
2018-10-20 19:58:06 +02:00
<!-- Template for channel create & edit -->
2019-08-21 10:00:01 +02:00
< script class = "jsrender-template" id = "tmpl_server_edit" type = "text/html" >
< div > <!-- Only for rendering -->
< div class = "container-general" >
< div class = "container-name-icon" >
< input type = "text" class = "input-boxed virtualserver_name" placeholder = "{{tr 'Virtual Server name' /}}" value = "{{>virtualserver_name}}" / >
< div class = "container-icon-select" >
< div class = "button-select-icon icon-preview" >
< node key = "server_icon" / >
< / div >
< div class = "container-dropdown" >
< div class = "button" >
< div class = "arrow down" > < / div >
< / div >
< div class = "dropdown" >
< div class = "entry button-select-icon" > {{tr "Edit icon" /}}< / div >
< div class = "entry button-icon-remove" > {{tr "Remove icon" /}}< / div >
< / div >
< / div >
< / div >
< / div >
< div class = "container-password" >
< input class = "input-boxed virtualserver_password" placeholder = "{{tr 'Password' /}}" type = "password"
id="field_server_password_{{rnd '0~13377331'/}}" {{if virtualserver_flag_password}}
value="WolverinDEV" {{/if}}/>
< / div >
< div class = "container-slots" >
< div class = "input-boxed" >
< a class = "prefix" > {{tr "Slots:" /}}< / a >
< input type = "number" class = "virtualserver_maxclients" value = "{{:virtualserver_maxclients}}" >
< div class = "container-tooltip tooltip-slots-max" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a > {{tr "Max amount of simultaneously connected clients." /}}< / a >
< / div >
< / div >
< / div >
< div class = "input-boxed" >
< a class = "prefix" > {{tr "Reserved slots:" /}}< / a >
< input type = "number" class = "virtualserver_reserved_slots" value = "{{:virtualserver_reserved_slots}}" >
< div class = "container-tooltip tooltip-slots-reserved" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a > {{tr "Reserved server slots for admins." /}}< / a >
< / div >
< / div >
< / div >
< / div >
< div class = "container-welcome-message" >
< div class = "toolbar" >
< div class = "button button-bold" > B< / div >
< div class = "button button-italic" > I< / div >
< div class = "button button-underline" > U< / div >
< label class = "button button-color" >
< input type = "color" value = "#FF0000" >
< a class = "rainbow-letter" > C< / a >
< / label >
< / div >
< textarea class = "input-boxed virtualserver_welcomemessage" placeholder = "{{tr 'Welcome message' /}}" > {{>virtualserver_welcomemessage}}< / textarea >
< / div >
< / div >
< div class = "container-categories" >
< div class = "categories" >
< div class = "entry" container = "container-host" > {{tr "Host" /}}< / div >
< div class = "entry" container = "container-network" > {{tr "Networking" /}}< / div >
< div class = "entry" container = "container-security" > {{tr "Security" /}}< / div >
< div class = "entry" container = "container-messages" > {{tr "Messages" /}}< / div >
< div class = "entry" container = "container-misc" > {{tr "Misc" /}}< / div >
< / div >
< div class = "bodies" >
< div class = "body container-host" >
< div class = "container-top container-host-message" >
< div class = "header" > {{tr "Host Message" /}}< / div >
< div class = "content" >
< div class = "container-message" >
< div class = "container-title" >
< a > {{tr "Message" /}}< / a >
< / div >
< textarea class = "input-boxed virtualserver_hostmessage" placeholder = "{{tr 'Enter a message...' /}}" > {{>virtualserver_hostmessage}}< / textarea >
< / div >
< div class = "container-mode" >
< div class = "container-title" >
< a > {{tr "Message Mode" /}}< / a >
< / div >
< select class = "input-boxed virtualserver_hostmessage_mode" >
< option value = "0" { { if virtualserver_hostmessage_mode = = 0 } } selected { { / if } } > {{tr "No message" /}}< / option >
< option value = "1" { { if virtualserver_hostmessage_mode = = 1 } } selected { { / if } } > {{tr "Show message in log" /}}< / option >
< option value = "2" { { if virtualserver_hostmessage_mode = = 2 } } selected { { / if } } > {{tr "Show message as modal" /}}< / option >
< option value = "3" { { if virtualserver_hostmessage_mode = = 3 } } selected { { / if } } > {{tr "Show message as modal and disconnect the client" /}}
< / option >
< / select >
< / div >
< / div >
< / div >
< div class = "container-bottom" >
< div class = "container-left container-host-banner" >
< div class = "header" > {{tr "Host Banner" /}}< / div >
2019-02-17 16:08:10 +01:00
< div class = "content" >
2019-08-21 10:00:01 +02:00
< div class = "container-url" >
< a > {{tr "URL" /}}< / a >
< div class = "input-boxed" >
< input class = "virtualserver_hostbanner_url" value = "{{>virtualserver_hostbanner_url}}" >
< div class = "container-tooltip tooltip-host-banner-url" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a > {{tr "URL which will be opened when the client clicks on the host banner" /}}< / a >
< / div >
< / div >
< / div >
2019-02-17 16:08:10 +01:00
< / div >
2019-08-21 10:00:01 +02:00
< div class = "container-gfx-url" >
< a > {{tr "Image URL" /}}< / a >
< div class = "input-boxed" >
< input class = "virtualserver_hostbanner_gfx_url" value = "{{>virtualserver_hostbanner_gfx_url}}" >
< div class = "container-tooltip tooltip-host-banner-gfx-url" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a > {{tr "URL of the image which will be displayed" /}}< / a >
< / div >
< / div >
< / div >
2019-02-17 16:08:10 +01:00
< / div >
2019-08-21 10:00:01 +02:00
< div class = "container-refresh" >
< a > {{tr "Refresh Interval" /}}< / a >
< div class = "input-boxed" >
< input type = "number" min = "0" class = "virtualserver_hostbanner_gfx_interval" value = "{{>virtualserver_hostbanner_gfx_interval}}" >
< div class = "container-tooltip tooltip-host-banner-gfx-refresh" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a > {{tr "Time in seconds which determine in which interval the client reloads the hostbanner. A value of 0 means no reload." /}}< / a >
< / div >
< / div >
< / div >
2019-02-17 16:08:10 +01:00
< / div >
2019-08-21 10:00:01 +02:00
< div class = "container-resize" >
< a > {{tr "Resize Mode" /}}< / a >
< div class = "input-boxed" >
< select class = "virtualserver_hostbanner_mode" >
< option value = "0" { { if virtualserver_hostbanner_mode = = 0 } } selected { { / if } } > {{tr "Do not adjust" /}}< / option >
< option value = "1" { { if virtualserver_hostbanner_mode = = 1 } } selected { { / if } } > {{tr "Adjust but ignore ratio aspect" /}}< / option >
< option value = "2" { { if virtualserver_hostbanner_mode = = 2 } } selected { { / if } } > {{tr "Adjust and keep ratio aspect" /}}< / option >
< / select >
< div class = "container-tooltip tooltip-host-banner-gfx-refresh" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a > {{tr "Time in seconds which determine in which interval the client reloads the hostbanner.< br > A value of 0 means no reload." /}}< / a >
< / div >
< / div >
< / div >
2019-02-17 16:08:10 +01:00
< / div >
2019-08-21 10:00:01 +02:00
< div class = "container-gfx-preview" >
< div class = "container-title" >
< a > {{tr "Image Preview" /}}< / a >
< / div >
< a class = "container-image" >
< img src = "{{:virtualserver_hostbanner_gfx_url}}"
alt=" {{tr 'Hostbanner Preview' /}}"
title="{{tr 'Hostbanner Preview' /}}"
{{if !virtualserver_hostbanner_gfx_url}}style="display: none;"{{/if}}
>
< / a >
< / div >
< / div >
< / div >
< div class = "container-right container-host-button" >
< div class = "header" > {{tr "Host Button" /}}< / div >
< div class = "content" >
< div class = "container-url" >
< a > {{tr "URL" /}}< / a >
< div class = "input-boxed" >
< input class = "virtualserver_hostbutton_url" value = "{{:virtualserver_hostbutton_url}}" >
< div class = "container-tooltip" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a > {{tr "URL which will be opened when the client clicks on the host button" /}}< / a >
< / div >
< / div >
< / div >
< / div >
< div class = "container-tooltip-button" >
< a > {{tr "Tooltip" /}}< / a >
< div class = "input-boxed" >
< input class = "virtualserver_hostbutton_tooltip" value = "{{:virtualserver_hostbutton_tooltip}}" >
< div class = "container-tooltip" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a > {{tr "Text for the tooltip on button hover" /}}< / a >
< / div >
< / div >
< / div >
< / div >
< div class = "container-gfx-url" >
< a > {{tr "Icon URL" /}}< / a >
< div class = "input-boxed" >
< input class = "virtualserver_hostbutton_gfx_url" value = "{{:virtualserver_hostbutton_gfx_url}}" >
< div class = "container-tooltip" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a > {{tr "URL of the image which will be displayed" /}}< / a >
< / div >
< / div >
< / div >
< / div >
< div class = "container-gfx-preview" >
< div class = "container-title" >
< a > {{tr "Icon Preview" /}}< / a >
< / div >
< a class = "container-image" >
< img src = "{{:virtualserver_hostbutton_gfx_url}}"
alt=" {{tr 'Hostbutton Preview' /}}"
title="{{tr 'Hostbutton Preview' /}}"
{{if !virtualserver_hostbutton_gfx_url}}style="display: none;"{{/if}}
>
< / a >
2019-02-17 16:08:10 +01:00
< / div >
< / div >
2018-08-13 17:50:55 +02:00
< / div >
2018-02-27 17:20:49 +01:00
< / div >
2019-08-21 10:00:01 +02:00
< / div >
< div class = "body container-network" >
< div class = "container-top container-binding" >
< div class = "header" > {{tr "Binding" /}}< / div >
< div class = "content" >
< div class = "container-host" >
< a > {{tr "Host" /}}< / a >
< div class = "input-boxed" >
< input class = "virtualserver_host" value = "{{:virtualserver_host}}" >
< div class = "container-tooltip" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a >
{{tr "A comma separated set of IP's where the server is listening on." /}}< br >
{{tr "IPv4 and IPv6 is supported!" /}}< br >
{{tr "Note: If you change this you need to restart the virtual server!" /}}
< / a >
< / div >
< / div >
< / div >
< / div >
< div class = "container-port" >
< a > {{tr "Port" /}}< / a >
< div class = "input-boxed" >
< input type = "number" min = "1" max = "65535" class = "virtualserver_port" value = "{{:virtualserver_port}}" >
< div class = "container-tooltip" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a >
{{tr "The port where the server should be listening to." /}}< br >
{{tr "Note: If you change this you need to restart the virtual server!" /}}
< / a >
< / div >
< / div >
< / div >
< / div >
< label class = "container-weblist" >
< div class = "checkbox" >
< input type = "checkbox" class = "virtualserver_weblist_enabled" { { if virtualserver_weblist_enabled } } checked { { / if } } >
< div class = "mark" > < / div >
< / div >
< a > {{tr "Enable reporting to the TeamSpeak server list" /}}< / a >
< / label >
< / div >
< / div >
< div class = "container-bottom" >
< div class = "container-left container-download" >
< div class = "header" > {{tr "File Download" /}}< / div >
2019-02-17 16:08:10 +01:00
< div class = "content" >
2019-08-21 10:00:01 +02:00
< div class = "container-bandwidth" >
< a > {{tr "Bandwidth limit" /}}< / a >
< div class = "input-boxed" >
< input type = "number" min = "-1" class = "virtualserver_max_download_total_bandwidth" value = "{{:virtualserver_max_download_total_bandwidth}}" >
< div class = "container-tooltip" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a > {{tr "Max bandwidth used by all file transfer clients." /}}< / a >
< / div >
< / div >
< / div >
< a class = "unit" > {{tr "Bytes/s" /}}< / a >
2019-02-17 16:08:10 +01:00
< / div >
2019-08-21 10:00:01 +02:00
< div class = "container-quota" >
< a > {{tr "Quota" /}}< / a >
< div class = "input-boxed" >
< input type = "number" min = "0" class = "virtualserver_download_quota" value = "{{:virtualserver_download_quota}}" >
< div class = "container-tooltip" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a >
{{tr "Max amount of data in megabytes which could be downloaded." /}}< br >
{{tr "The quota will be reset on every new month" /}}
< / a >
< / div >
< / div >
< / div >
< a class = "unit" > {{tr "MiB/mo" /}}< / a >
2019-02-17 16:08:10 +01:00
< / div >
2019-08-21 10:00:01 +02:00
< div class = "container-used-quota" >
< a > {{tr "Quota this month" /}}< / a >
< div class = "value virtualserver_month_bytes_downloaded" > {{>virtualserver_month_bytes_downloaded}}< / div >
2019-02-17 16:08:10 +01:00
< / div >
2019-08-21 10:00:01 +02:00
< div class = "container-used-quota" >
< a > {{tr "Quota total" /}}< / a >
< div class = "value virtualserver_total_bytes_downloaded" > {{>virtualserver_total_bytes_downloaded}}< / div >
2019-02-17 16:08:10 +01:00
< / div >
2019-08-21 10:00:01 +02:00
< / div >
< / div >
< div class = "container-right container-upload" >
< div class = "header" > {{tr "File Upload" /}}< / div >
< div class = "content" >
< div class = "container-bandwidth" >
< a > {{tr "Bandwidth limit" /}}< / a >
< div class = "input-boxed" >
< input type = "number" min = "-1" class = "virtualserver_max_upload_total_bandwidth" value = "{{:virtualserver_max_upload_total_bandwidth}}" >
< div class = "container-tooltip" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a > {{tr "Max bandwidth used by all file transfer clients." /}}< / a >
< / div >
< / div >
< / div >
< a class = "unit" > {{tr "Bytes/s" /}}< / a >
2019-02-17 16:08:10 +01:00
< / div >
2019-08-21 10:00:01 +02:00
< div class = "container-quota" >
< a > {{tr "Quota" /}}< / a >
< div class = "input-boxed" >
< input type = "number" min = "0" class = "virtualserver_upload_quota" value = "{{:virtualserver_upload_quota}}" >
< div class = "container-tooltip" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a >
{{tr "Max amount of data in megabytes which could be downloaded." /}}< br >
{{tr "The quota will be reset on every new month" /}}
< / a >
< / div >
< / div >
< / div >
< a class = "unit" > {{tr "MiB/mo" /}}< / a >
< / div >
< div class = "container-used-quota" >
< a > {{tr "Quota this month" /}}< / a >
< div class = "value virtualserver_month_bytes_uploaded" > {{>virtualserver_month_bytes_uploaded}}< / div >
< / div >
< div class = "container-used-quota" >
< a > {{tr "Quota total" /}}< / a >
< div class = "value virtualserver_total_bytes_uploaded" > {{>virtualserver_total_bytes_uploaded}}< / div >
2019-02-17 16:08:10 +01:00
< / div >
< / div >
2018-08-13 17:50:55 +02:00
< / div >
2018-02-27 17:20:49 +01:00
< / div >
< / div >
2019-08-21 10:00:01 +02:00
< div class = "body container-security" >
< div class = "container-top container-antiflood" >
< div class = "header" > {{tr "Anti Flood" /}}< / div >
< div class = "content" >
< div class = "container-reduce" >
< a > {{tr "Reduced points every ½ seconds." /}}< / a >
< div class = "input-boxed" >
< input type = "number" min = "0" class = "virtualserver_antiflood_points_tick_reduce" value = "{{:virtualserver_antiflood_points_tick_reduce}}" >
< div class = "container-tooltip" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a > {{tr "Flood point count which will be reduced each server tick." /}}< / a >
< / div >
< / div >
< / div >
< / div >
< div class = "container-block-commands" >
< a > {{tr "Points needed to block commands" /}}< / a >
< div class = "input-boxed" >
< input type = "number" min = "0" class = "virtualserver_antiflood_points_needed_command_block" value = "{{:virtualserver_antiflood_points_needed_command_block}}" >
< div class = "container-tooltip" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a > {{tr "If the value has been reached, the users command will be rejected." /}}< / a >
< / div >
< / div >
< / div >
< / div >
< div class = "container-block-ip" >
< a > {{tr "Points needed to ban IP" /}}< / a >
< div class = "input-boxed" >
< input type = "number" min = "0" class = "virtualserver_antiflood_points_needed_ip_block" value = "{{:virtualserver_antiflood_points_needed_ip_block}}" >
< div class = "container-tooltip" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a > {{tr "If the value has been reached, the user will be temporally banned from the server." /}}< / a >
< / div >
< / div >
< / div >
< / div >
< / div >
< / div >
< div class = "container-bottom container-security" >
< div class = "header" > {{tr "Misc" /}}< / div >
< div class = "content" >
< div class = "container-encryption" >
< a > {{tr "Channel voice data encryption" /}}< / a >
< div class = "input-boxed" >
< select class = "virtualserver_codec_encryption_mode" >
< option value = "0" { { if virtualserver_codec_encryption_mode = = 0 } } selected { { / if } } > {{tr "Edit per channel individually" /}}< / option >
< option value = "1" { { if virtualserver_codec_encryption_mode = = 1 } } selected { { / if } } > {{tr "Globally disabled" /}}< / option >
< option value = "2" { { if virtualserver_codec_encryption_mode = = 2 } } selected { { / if } } > {{tr "Globally enabled (recommended)" /}}< / option >
< / select >
< / div >
< / div >
< div class = "container-security-level" >
< a > {{tr "Needed Security Level" /}}< / a >
< div class = "input-boxed" >
< input type = "number" min = "8" class = "virtualserver_needed_identity_security_level" value = "{{:virtualserver_needed_identity_security_level}}" >
< div class = "container-tooltip" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a > {{tr "Required security level to join the server. (Only applies to TeamSpeak identities)" /}}< / a >
< / div >
< / div >
< / div >
< / div >
< div class = "container-security-level-description" >
< a > < / a >
< div class = "container-description" >
< a > {{tr "Level < b > 0 - 23< / b > generated in seconds" /}}< / a >
< a > {{tr "Level < b > 24 - 29< / b > generated in minutes" /}}< / a >
< a > {{tr "Level < b > 29 - 34< / b > generated in hours" /}}< / a >
< a > {{tr "Level < b > 35 - 39< / b > generated in days" /}}< / a >
< a > {{tr "Level < b > 40 - 43< / b > generated in months" /}}< / a >
< a > {{tr "Level < b > 44 - 23< / b > generated in years" /}}< / a >
< / div >
< / div >
< / div >
< / div >
< / div >
< div class = "body container-messages" >
< div class = "container-top container-channel" >
< div class = "header" > {{tr "Channel" /}}< / div >
< div class = "content" >
< div class = "container-topic" >
< div class = "container-title" >
< a > {{tr "Topic" /}}< / a >
< / div >
< div class = "input-boxed" >
< input class = "virtualserver_default_channel_topic" value = "{{:virtualserver_default_channel_topic}}" >
< div class = "container-tooltip" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a > {{tr "The default server channel topic" /}}< / a >
< / div >
< / div >
< / div >
< / div >
< div class = "container-description" >
< div class = "container-title" >
< a > {{tr "Description" /}}< / a >
< / div >
< textarea class = "input-boxed virtualserver_default_channel_description" placeholder = "{{tr 'Enter a message...' /}}" > {{>virtualserver_default_channel_description}}< / textarea >
< / div >
< / div >
< / div >
< div class = "container-bottom container-client" >
< div class = "header" > {{tr "Client" /}}< / div >
< div class = "content" >
< div class = "container-description" >
< a > {{tr "Description" /}}< / a >
< div class = "input-boxed" >
< input class = "virtualserver_default_client_description" value = "{{:virtualserver_default_client_description}}" >
< div class = "container-tooltip" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a > {{tr "The default client description" /}}< / a >
< / div >
< / div >
< / div >
< / div >
< / div >
< / div >
< / div >
< div class = "body container-misc" >
< div class = "container-top container-default-groups" >
< div class = "header" > {{tr "Default groups" /}}< / div >
< div class = "content" >
< div class = "container-default-group" >
< a > {{tr "Server Group" /}}< / a >
< select class = "input-boxed virtualserver_default_server_group" >
< / select >
< / div >
< div class = "container-default-group" >
< a > {{tr "Music Bot Group" /}}< / a >
< select class = "input-boxed virtualserver_default_music_group" >
< / select >
< / div >
< div class = "container-default-group" >
< a > {{tr "Channel Admin Group" /}}< / a >
< select class = "input-boxed virtualserver_default_channel_admin_group" >
< / select >
< / div >
< div class = "container-default-group" >
< a > {{tr "Channel Group" /}}< / a >
< select class = "input-boxed virtualserver_default_channel_group" >
< / select >
< / div >
< / div >
< / div >
< div class = "container-bottom" >
< div class = "container-left container-complains" >
< div class = "header" > {{tr "Complains" /}}< / div >
2019-02-17 16:08:10 +01:00
< div class = "content" >
2019-08-21 10:00:01 +02:00
< div class = "container-ban-threshold" >
< a > {{tr "Complains until ban" /}}< / a >
< div class = "input-boxed" >
< input type = "number" min = "0" class = "virtualserver_complain_autoban_count" value = "{{:virtualserver_complain_autoban_count}}" >
< div class = "container-tooltip" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a > {{tr "Amount of complains against one user until he receives an automated ban." /}}< / a >
< / div >
< / div >
< / div >
2019-02-17 16:08:10 +01:00
< / div >
2019-08-21 10:00:01 +02:00
< div class = "container-ban-time" >
< a > {{tr "Autoban time" /}}< / a >
< div class = "input-boxed" >
< input type = "number" min = "0" class = "virtualserver_complain_autoban_time" value = "{{:virtualserver_complain_autoban_time}}" >
< div class = "container-tooltip" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a > {{tr "Amount of complains against one user until he receives an automated ban." /}}< / a >
< / div >
< / div >
< / div >
< / div >
< div class = "container-cooldown" >
< a > {{tr "Complain auto remove" /}}< / a >
< div class = "input-boxed" >
< input type = "number" min = "0" class = "virtualserver_complain_remove_time" value = "{{:virtualserver_complain_remove_time}}" >
< div class = "container-tooltip" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a > {{tr "Time in seconds after a complain expires." /}}< / a >
< / div >
< / div >
< / div >
< / div >
< / div >
< / div >
< div class = "container-right container-others" >
< div class = "header" > {{tr "Others" /}}< / div >
< div class = "content" >
< div class = "container-silence" >
< a > {{tr "Clients before silence" /}}< / a >
< div class = "input-boxed" >
< input type = "number" min = "0" class = "virtualserver_min_clients_in_channel_before_forced_silence" value = "{{:virtualserver_min_clients_in_channel_before_forced_silence}}" >
< div class = "container-tooltip" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a > {{tr "Minimum clients within a channel to enforce silence." /}}< / a >
< / div >
< / div >
< / div >
< / div >
< div class = "container-dim" >
< a > {{tr "Priority speaker dim factor" /}}< / a >
< div class = "input-boxed" >
< input min = "-100" max = "100" class = "virtualserver_priority_speaker_dimm_modificator" value = "{{:virtualserver_priority_speaker_dimm_modificator}}" >
< div class = "container-tooltip" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a > {{tr "Dim factor in '%' for priority speakers." /}}< / a >
< / div >
< / div >
< / div >
2019-02-17 16:08:10 +01:00
< / div >
2019-08-21 10:00:01 +02:00
< div class = "container-gfx-url" >
< a > {{tr "Default delete delay" /}}< / a >
< div class = "input-boxed" >
< input class = "virtualserver_channel_temp_delete_delay_default" value = "{{:virtualserver_channel_temp_delete_delay_default}}" >
< div class = "container-tooltip" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a > {{tr "The default temporary channel delete delay." /}}< / a >
< / div >
< / div >
< / div >
< / div >
< / div >
< / div >
< / div >
< / div >
< / div >
< / div >
< div class = "container-buttons" >
< button class = "btn btn-danger button-cancel" > {{tr "Cancel" /}}< / button >
< button class = "btn btn-success button-save" > {{tr "Save Changes" /}}< / button >
< / div >
< / div >
< / script >
<!-- Template for the settings -->
< script class = "jsrender-template" id = "tmpl_settings" type = "text/html" >
< div class = "inner-container" >
< div class = "left" >
< div class = "entry group" > {{tr "General Settings" /}}< / div >
< div class = "entry" container = "general-application" > {{tr "Application" /}}< / div >
< div class = "entry" container = "general-language" > {{tr "Language" /}}< / div >
<!-- <div class="entry" container="general - updates">{{tr "Updates" /}}</div> -->
< div class = "entry" container = "general-chat" > {{tr "Chat" /}}< / div >
2020-04-10 20:57:50 +02:00
< div class = "entry" container = "general-keymap" > {{tr "Keymap" /}}< / div >
2020-07-23 20:00:25 +02:00
< div class = "entry" container = "general-notifications" > {{tr "Notifications" /}}< / div >
2019-08-21 10:00:01 +02:00
< div class = "entry group" > {{tr "Audio" /}}< / div >
< div class = "entry" container = "audio-microphone" > {{tr "Microphone" /}}< / div >
< div class = "entry" container = "audio-speaker" > {{tr "Speaker" /}}< / div >
< div class = "entry" container = "audio-sounds" > {{tr "Sounds" /}}< / div >
< div class = "entry group" > {{tr "Identity" /}}< / div >
< div class = "entry" container = "identity-profiles" > {{tr "Profiles" /}}< / div >
< div class = "entry" container = "identity-forum" > {{tr "TeaForo connection" /}}< / div >
< / div >
< div class = "container-seperator vertical" seperator-id = "seperator-settings" > < / div >
< div class = "right" >
< div class = "container general-application" >
< label >
< div class = "checkbox" >
< input type = "checkbox" class = "option-hostbanner-background" >
< div class = "mark" > < / div >
< / div >
< a > {{tr 'Disabled backrounds within the hostbanner' /}}< / a >
< / label >
< div class = "container-font-size" >
< a > {{tr "Font size" /}}< / a >
< select class = "input-boxed option-font-size" >
< option value = "-1" style = "display: none;" > Custom< / option >
< option value = "10" > Extra Small (10px)< / option >
< option value = "12" > Small (12px)< / option >
< option value = "14" > Normal (14px)< / option >
< option value = "16" > Large (16px)< / option >
< option value = "18" > Extra Large (18px)< / option >
< / select >
< / div >
2019-11-24 13:41:42 +01:00
< label >
< div class = "checkbox" >
< input type = "checkbox" class = "option-all-permissions" >
< div class = "mark" > < / div >
< / div >
< a > {{tr "Show all permissions in permission editor. Even if their assignment don't make sense." /}}< / a >
< / label >
2019-08-21 10:00:01 +02:00
< / div >
< div class = "container general-language" >
< div class = "container-selected" >
< a > {{tr "Current language:" /}}< / a >
< div class = "selected-language" >
< div class = "country flag-de" > < / div >
{{tr "German" /}}
< / div >
< / div >
< div class = "container-list" >
< div class = "entries" > < / div >
< div class = "buttons" >
< div class = "restart-note" >
< button class = "btn btn-danger button-restart" > {{tr "Restart" /}}< / button >
< a > {{tr "Attention: Changing the client language require a client restart!" /}}< / a >
< / div >
< div class = "spacer" > < / div >
< button class = "btn btn-success button-add-repository" > {{tr "Add repository" /}}< / button >
< / div >
< / div >
< / div >
< div class = "container general-updates" > {{tr "GU" /}}< / div >
2020-04-10 20:57:50 +02:00
< div class = "container general-keymap" > < / div >
2020-08-01 13:07:33 +02:00
< div class = "container general-notifications" > < / div >
< div class = "container general-chat" >
2019-08-21 10:00:01 +02:00
< label >
< div class = "checkbox" >
< input type = "checkbox" class = "option-fixed-timestamps" >
< div class = "mark" > < / div >
< / div >
< a > {{tr 'Fixed chat timestamp (Disables "2 seconds ago"... etc)' /}}< / a >
< / label >
< label >
< div class = "checkbox" >
< input type = "checkbox" class = "option-colloquial-timestamps" >
< div class = "mark" > < / div >
< / div >
< a > {{tr 'Colloquial chat timestamp (Enables "Yesterday at ..." or "Today at ...")' /}}< / a >
< / label >
< label >
< div class = "checkbox" >
< input type = "checkbox" class = "option-instant-channel-switch" >
< div class = "mark" > < / div >
< / div >
< a > {{tr "Switch to channel chat on select" /}}< / a >
< / label >
< label >
< div class = "checkbox" >
< input type = "checkbox" class = "option-instant-client-switch" >
< div class = "mark" > < / div >
< / div >
< a > {{tr "Switch to client info on client select" /}}< / a >
< / label >
<!-- format -->
< label >
< div class = "checkbox" >
< input type = "checkbox" class = "option-colored-emojies" >
< div class = "mark" > < / div >
< / div >
< a > {{tr "Colored emojies within chat" /}}< / a >
< / label >
< label >
< div class = "checkbox" >
< input type = "checkbox" class = "option-url-tagging" >
< div class = "mark" > < / div >
< / div >
< a > {{tr "Automatically detect valid URL's and tag them with [url]" /}}< / a >
< / label >
< label >
< div class = "checkbox" >
< input type = "checkbox" class = "option-support-markdown" >
< div class = "mark" > < / div >
< / div >
< a > {{tr "Enables markdown input support for chat. " /}}< / a >
< / label >
2019-12-21 15:01:18 +01:00
< label >
< div class = "checkbox" >
< input type = "checkbox" class = "option-support-bbcode" >
< div class = "mark" > < / div >
< / div >
< a > {{tr "Enable the BBCode syntax for your chat." /}}< / a >
< / label >
2019-10-19 17:13:40 +02:00
< div class = "container-icon-size" >
< div > {{tr "Chat-icon size:" /}}< a class = "value" > 100%< / a > < / div >
< div class = "container-slider" >
< div class = "filler" style = "width: 30%" > < / div >
< div class = "thumb container-tooltip" style = "left: 30%" >
< div class = "tooltip" >
< a > 86%< / a >
< / div >
< / div >
< / div >
< / div >
2019-08-21 10:00:01 +02:00
< / div >
2018-08-13 17:50:55 +02:00
2019-08-21 10:00:01 +02:00
< div class = "container audio-microphone" >
2020-03-27 23:53:17 +01:00
{{include tmpl="tmpl_settings-microphone" /}}
2019-08-21 10:00:01 +02:00
< / div >
< div class = "container audio-speaker" >
< div class = "left" >
< div class = "header" >
< a > {{tr "Select your Speaker Device" /}}< / a >
< button class = "btn btn-info button-update" > {{tr "Update" /}}< / button >
< / div >
< div class = "body" >
< div class = "container-devices" >
< / div >
< div class = "buttons" >
< a class = "container-error" > < / a >
< div class = "spacer" > < / div >
< button class = "btn btn-success button-test-sound" > {{tr "Play test Sound" /}}
< / button >
< / div >
< / div >
< / div >
< div class = "right" >
< div class = "header" >
< a > {{tr "Speaker Settings" /}}< / a >
< / div >
< div class = "body" >
< div class = "container-volume-master" >
< a > {{tr "Master Volume" /}} < span class = "container-value" > < / span > < / a >
< div class = "container-slider" >
< div class = "filler" style = "width: 30%" > < / div >
< div class = "thumb container-tooltip" style = "left: 30%" >
< div class = "tooltip" >
< a > 86%< / a >
2019-02-17 16:08:10 +01:00
< / div >
2019-08-21 10:00:01 +02:00
< / div >
< / div >
< / div >
< div class = "container-volume-soundpack" >
< a > {{tr "Soundpack Volume" /}} < span class = "container-value" > < / span > < / a >
< div class = "container-slider" >
< div class = "filler" style = "width: 30%" > < / div >
< div class = "thumb container-tooltip" style = "left: 30%" >
< div class = "tooltip" >
< a > 86%< / a >
2019-02-17 16:08:10 +01:00
< / div >
2019-08-21 10:00:01 +02:00
< / div >
2019-02-17 16:08:10 +01:00
< / div >
2018-08-13 17:50:55 +02:00
< / div >
< / div >
< / div >
2019-08-21 10:00:01 +02:00
< / div >
< div class = "container audio-sounds" >
< div class = "left" >
< div class = "header" >
< a > {{tr "Sound list" /}}< / a >
< / div >
< div class = "body" >
< div class = "container-sounds" >
< / div >
< div class = "container-filter" >
< div class = "form-group" >
< label class = "bmd-label-floating" > {{tr "Search for a sound" /}}< / label >
< input type = "text" class = "form-control input-sounds-filter" >
2019-03-25 20:04:04 +01:00
< / div >
2019-08-21 10:00:01 +02:00
< / div >
2019-03-25 20:04:04 +01:00
< / div >
2019-02-17 16:08:10 +01:00
< / div >
2019-08-21 10:00:01 +02:00
< div class = "right" >
< div class = "header" >
< a > {{tr "Sound settings" /}}< / a >
< / div >
< div class = "body" >
< label >
< div class = "checkbox" >
< input type = "checkbox" class = "option-overlap-same" >
< div class = "mark" > < / div >
< / div >
< a > {{tr "Overlap same sounds" /}}< / a >
< / label >
< label >
< div class = "checkbox" >
< input type = "checkbox" class = "option-mute-output" >
< div class = "mark" > < / div >
< / div >
< a > {{tr "Mute sounds when output is muted" /}}< / a >
< / label >
< / div >
2019-02-17 16:08:10 +01:00
< / div >
2019-08-21 10:00:01 +02:00
< / div >
< div class = "container identity-profiles" >
2020-03-27 23:53:17 +01:00
{{include tmpl="tmpl_settings-profiles" /}}
2019-08-21 10:00:01 +02:00
< / div >
< div class = "container identity-forum" >
< div class = "fill" >
< div class = "header" >
< a > {{tr "TeaSpeak forum connection" /}}< / a >
< div class = "spacer" > < / div >
< button class = "btn btn-danger show-connected button-logout" > {{tr "Logout" /}}< / button >
< / div >
< div class = "body" >
< div class = "container-connected show-connected" >
< a > You're successfully connected with your forum account< / a >
< div > < a > Username: < / a > < a class = "forum-username" > < / a > < / div >
< div > < a > Premium: < / a > < a class = "forum-premium" > < / a > < / div >
2018-11-04 14:20:38 +01:00
< / div >
2019-08-21 10:00:01 +02:00
< div class = "container-disconnected show-disconnected" >
< a > {{tr "You're not connected with the TeaSpeak forum." /}}< / a >
< div class = "container-login" >
< a > {{tr "Login the the TeaSpeak forum:" /}}< / a >
< a class = "container-error" > Login to the forum failed.< / a >
2019-02-17 16:08:10 +01:00
< div class = "form-group" >
2019-08-21 10:00:01 +02:00
< label class = "bmd-label-floating" > {{tr "Username" /}}< / label >
< input class = "form-control input-username" >
2019-02-17 16:08:10 +01:00
< / div >
< div class = "form-group" >
2019-08-21 10:00:01 +02:00
< label class = "bmd-label-floating" > {{tr "Password" /}}< / label >
< input class = "form-control input-password" type = "password" >
2019-02-17 16:08:10 +01:00
< / div >
2019-08-21 10:00:01 +02:00
< div class = "container-button" >
< div class = "g-recaptcha" > < / div >
< button class = "btn btn-success button-login" > {{tr "Login" /}}< / button >
2019-02-17 16:08:10 +01:00
< / div >
< / div >
2018-08-13 11:03:55 +02:00
< / div >
2019-08-21 10:00:01 +02:00
< / div >
< / div >
< / div >
< / div >
< / div >
2018-08-11 15:02:11 +02:00
< / script >
2018-12-15 00:09:47 +01:00
2020-03-27 16:15:15 +01:00
< script class = "jsrender-template" id = "tmpl_settings-profiles" type = "text/html" >
< div class = "container-settings-identity-profile" >
< div class = "left highlight-profile-list highlightable" >
< div class = "header" >
< a > {{tr "Your Profiles" /}}< / a >
< button class = "btn btn-info button-create" > {{tr "Create new" /}}< / button >
< / div >
< div class = "body" >
< div class = "container-profiles" >
< div class = "overlay overlay-error" > < a class = "error" > error: error< / a > < / div >
< div class = "overlay overlay-timeout" >
< a > {{tr "Timeout while loading" /}}< / a > < br >
< button class = "btn btn-blue button-reload-list" > {{tr "Reload" /}}< / button >
< / div >
< div class = "overlay overlay-empty" >
< a > {{tr "You've not profiles yet" /}}< / a >
< / div >
< / div >
< div class = "buttons" >
< button class = "btn btn-danger button-delete" > {{tr "Delete selected" /}}< / button >
< div class = "spacer" > < / div >
< button class = "btn btn-success button-set-default" > {{tr "Select as Default" /}}
< / button >
< / div >
< div class = "buttons-small" >
< button class = "btn btn-danger button-delete" > {{tr "Delete" /}}< / button >
< div class = "spacer" > < / div >
< button class = "btn btn-success button-set-default" > {{tr "Default" /}}
< / button >
< / div >
< / div >
< / div >
< div class = "right" >
< div class = "header" >
< a > {{tr "Profile Settings" /}}< / a >
< div class = "spacer" > < / div >
< div class = "container-avatar" > < / div >
< button class = "btn btn-info button-change-avatar" > {{tr "Change Avatar" /}}< / button >
<!-- AVATAR -->
< / div >
< div class = "body" >
< div class = "container-general highlight-profile-settings highlightable" >
< div class = "form-group" >
< label > {{tr "Profile Name" /}}< / label >
< input class = "form-control profile-name" >
< div class = "invalid-feedback" > {{tr "Profile name is invalid" /}}< / div >
< / div >
< div class = "form-group" >
< label > {{tr "Default Nickname" /}}< / label >
< input class = "form-control profile-default-name"
placeholder="Another TeaSpeak user">
< / div >
< div class = "form-group" >
< label > {{tr "Identity Type" /}}< / label >
< select class = "form-control profile-identity-type" >
< option value = "error" style = "display: none" > error: error< / option >
< option value = "unset" style = "display: none" > {{tr "Unset" /}}< / option >
< option value = "teaforo" > {{tr "Forum Account" /}}< / option >
< option value = "teamspeak" > {{tr "TeamSpeak Identity" /}}< / option >
< option value = "nickname" > {{tr "Nickname (Debug only!)" /}}< / option >
< / select >
< div class = "invalid-feedback" > {{tr "Invalid identity type" /}}< / div >
< / div >
< / div >
< div class = "container-teamspeak" >
< div class = "container-valid" >
< div class = "form-group" >
< label > {{tr "Unique-ID" /}}< / label >
< input class = "form-control unique-id" readonly >
< / div >
< div class = "container-level" >
< div class = "form-group" >
< label > {{tr "Level" /}}< / label >
< input class = "form-control current-level" readonly >
< / div >
< button class = "btn button-improve" > {{tr "Improve" /}}< / button >
< / div >
< / div >
< div class = "container-invalid" >
{{tr "You have'nt generated/imported an identity." /}}< br >
{{tr "Generate a new one or import one." /}}
< / div >
< div class = "buttons" >
< button class = "btn btn-danger button-new" > {{tr "Generate new" /}}< / button >
< div >
< button class = "btn btn-danger button-import" > {{tr "Import identity" /}}
< / button >
< button class = "btn btn-success button-export" > {{tr "Export identity" /}}
< / button >
< / div >
< / div >
< / div >
< div class = "container-teaforo" >
< div class = "container-valid" >
{{tr "You're using your forum account as identification" /}}
< / div >
< div class = "container-invalid" >
< a > {{tr "You cant use your TeaSpeak forum account. You're not connected with your forum Account!" /}}< / a >
< button class = "btn btn-success button-setup" > {{tr "Setup your connection" /}}
< / button >
< / div >
< / div >
< div class = "container-nickname" >
< div class = "form-group" >
< label > {{tr "Nickname" /}}< / label >
< input class = "form-control nickname" >
< div class = "invalid-feedback" > {{tr "Invalid nickname. Name must be at least 5 characters" /}}
< / div >
< / div >
< div class = "invalid-feedback" > < / div >
< / div >
< div class = "container-highlight-dummy highlight-identity-settings highlightable" > < / div >
< / div >
< / div >
< div class = "help-background" > < / div >
< div class = "container-help-text window-resize-listener" >
< a class = "help-text" > Hello nice to see you. This is even working with new lines etc....< / a >
< / div >
< / div >
< / script >
2019-01-27 13:11:40 +01:00
< script class = "jsrender-template" id = "tmpl_settings-sound_entry" type = "text/html" >
< div class = "entry" >
2019-08-21 10:00:01 +02:00
< div class = "column sound-name" >
< div class = "icon client-play button-playback" > < / div >
{{>name}}
< / div >
2019-01-27 13:11:40 +01:00
< div class = "column sound-activated" >
2019-02-17 16:08:10 +01:00
< div class = "switch" >
< label >
< input type = "checkbox" { { if activated } } checked { { / if } } >
< / label >
< / div >
2019-01-27 13:11:40 +01:00
< / div >
< / div >
< / script >
2019-01-28 20:36:11 +01:00
< script class = "jsrender-template" id = "tmpl_settings-teamspeak_import" type = "text/html" >
2019-08-30 23:06:39 +02:00
< div >
< div class = "container-status" > < a > < / a > < / div >
< fieldset class = "" >
< div class = "container-text" >
< label >
< div class = "radio-button" >
< input type = "radio" name = "type" value = "text" / >
< div class = "mark" > < / div >
< / div >
< a > {{tr "Import from text" /}}< / a >
< / label >
< div class = "form-group" >
< label > {{tr "Identity Data" /}}< / label >
< input class = "form-control input-identity-text" placeholder = "{{tr 'Please paste your identity data here' /}}" / >
< / div >
2019-01-28 20:36:11 +01:00
< / div >
2019-08-30 23:06:39 +02:00
< div class = "container-file" >
< label >
< div class = "radio-button" >
< input type = "radio" name = "type" value = "file" / >
< div class = "mark" > < / div >
< / div >
< a > {{tr "Import from file" /}}< / a >
< / label >
< button class = "btn btn-brown button-load-file" > {{tr "Select file" /}}< / button >
< a class = "current-file" > {{tr "No file selected" /}}< / a >
< / div >
< / fieldset >
< input type = "file" class = "file-selector" / >
2019-01-28 20:36:11 +01:00
< div class = "footer" >
2019-08-30 23:06:39 +02:00
< button class = "btn btn-success button-import" > {{tr "Import" /}}< / button >
2019-01-28 20:36:11 +01:00
< / div >
< / div >
< / script >
< script class = "jsrender-template" id = "tmpl_settings-teamspeak_improve" type = "text/html" >
2019-08-30 23:06:39 +02:00
< div >
< div class = "options" >
< div class = "title" > {{tr "Identity: "/}} {{>identity_name}}< / div >
< div class = "row" >
< div class = "form-group identity-unique-id" >
< label > {{tr "Unique ID:" /}}< / label >
< input class = "form-control" value = "" readonly >
< / div >
< div class = "form-group identity-level" >
< label > {{tr "Current level: " /}}< / label >
< input class = "form-control" value = "loading" readonly >
2019-01-28 20:36:11 +01:00
< / div >
< / div >
2019-08-30 23:06:39 +02:00
< div class = "row" >
< div class = "form-group identity-target-level" >
< div class = "bmd-label-static" >
< div class = "container-tooltip" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a >
{{tr "The number of threads used to improve your identity" /}}< br >
{{tr "The optimal value is equal to the amount of kernel threads." /}}
< / a >
< / div >
< / div >
{{tr "Target level: " /}}
2019-01-28 20:36:11 +01:00
< / div >
2019-08-30 23:06:39 +02:00
< input class = "form-control" value = "0" type = "number" min = "0" max = "160" >
< / div >
< div class = "form-group threads" >
< div class = "bmd-label-static" >
< div class = "container-tooltip" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a > {{tr "A value of zero means unlimited. Improve until you abort" /}}< / a >
< / div >
< / div >
{{tr "Threads: " /}}
< / div >
< input class = "form-control" value = "2" type = "number" min = "1" max = "32" >
2019-01-28 20:36:11 +01:00
< / div >
< / div >
< / div >
2019-08-30 23:06:39 +02:00
< div class = "status" >
< div class = "row" >
< div class = "form-group hash-rate" >
< label > {{tr "Hashes/second:" /}}< / label >
< input class = "form-control" value = "0" readonly >
< / div >
< div class = "form-group time-elapsed" >
< label > {{tr "Elapsed time:" /}}< / label >
< input class = "form-control" value = "00:00" readonly >
< / div >
2019-01-28 20:36:11 +01:00
< / div >
< / div >
< div class = "buttons" >
2019-08-30 23:06:39 +02:00
< button class = "btn btn-danger btn-raised button-close" > {{tr "Close" /}}< / button >
2019-02-17 16:08:10 +01:00
< button class = "btn btn-success btn-raised button-start-stop" > {{tr "Start" /}}< / button >
2019-01-28 20:36:11 +01:00
< / div >
< / div >
< / script >
2018-12-28 15:39:23 +01:00
< script class = "jsrender-template" id = "settings-profile-list-entry" type = "text/html" >
< div class = "entry profile {{if id == 'default'}}default{{/if}}" >
< div class = "name" > {{>profile_name}}< / div >
<!-- <div class="button button - delete"><div class="icon client - delete"></div></div> -->
< div title = "{{tr 'Profile is valid' /}}" class = "icon client-delete status status-invalid" > < / div >
< div title = "{{tr 'Profile is invalid' /}}" class = "icon client-apply status status-valid" > < / div >
< / div >
< / script >
2018-12-15 00:09:47 +01:00
< script class = "jsrender-template" id = "settings-translations-list-entry" type = "text/html" >
{{if type == "repository" }}
2019-08-21 10:00:01 +02:00
< div class = "entry repository" repository = "{{:id}}" >
< div class = "name" > {{> name}}< / div >
< div class = "button button-delete" >
< div class = "icon client-delete" > < / div >
2018-12-15 00:09:47 +01:00
< / div >
2019-08-21 10:00:01 +02:00
< div class = "button button-info" >
< div class = "icon client-about" > < / div >
2019-03-28 17:29:25 +01:00
< / div >
2019-08-21 10:00:01 +02:00
< / div >
{{else type == "default" }}
< div class = "entry default {{if selected}}selected{{/if}}" >
2020-03-30 13:44:18 +02:00
< div class = "country flag-gb" title = "{{>fallback_country_name}}" > < / div >
2019-08-21 10:00:01 +02:00
< div class = "name" > {{tr "English (Default / Fallback)" /}}< / div >
< / div >
2018-12-15 00:09:47 +01:00
{{else}}
2019-08-21 10:00:01 +02:00
< div class = "entry translation {{if selected}}selected{{/if}}" parent-repository = "{{:id}}" >
< div class = "country flag-{{:country_code}}"
2020-03-30 13:44:18 +02:00
title="{{>country_name}}">< / div >
2019-08-21 10:00:01 +02:00
< div class = "name" > {{> name}}< / div >
< div class = "button button-info" >
< div class = "icon client-about" > < / div >
2018-12-15 00:09:47 +01:00
< / div >
2019-08-21 10:00:01 +02:00
< / div >
2018-12-15 00:09:47 +01:00
{{/if}}
< / script >
< script class = "jsrender-template" id = "settings-translations-list-entry-info" type = "text/html" >
< div class = "entry-info-container" >
2019-08-21 10:00:01 +02:00
{{if type == "repository" }}
2018-12-15 00:09:47 +01:00
<!--
unique_id: string;
url: string;
name?: string;
contact?: string;
translations?: RepositoryTranslation[];
load_timestamp?: number;
-->
2019-08-21 10:00:01 +02:00
< div class = "property property-name" >
< div class = "key" > Name:< / div >
< div class = "value" > {{>name}}< / div >
< / div >
< div class = "property property-url" >
< div class = "key" > URL:< / div >
< div class = "value" > {{>url}}< / div >
< / div >
< div class = "property property-contact" >
< div class = "key" > Contact:< / div >
< div class = "value" > {{>contact}}< / div >
< / div >
< div class = "property property-translations" >
< div class = "key" > Translations:< / div >
< div class = "value" > {{:translations.length}}< / div >
< / div >
{{else}}
2018-12-15 00:09:47 +01:00
<!--
name: string;
contributors: Contributor[];
-->
2019-08-21 10:00:01 +02:00
< div class = "property property-name" >
< div class = "key" > Name:< / div >
< div class = "value" > {{>name}}< / div >
< / div >
< div class = "property property-url" >
< div class = "key" > URL:< / div >
< div class = "value" > {{>url}}< / div >
< / div >
2018-12-15 00:09:47 +01:00
< div class = "property property-repository" >
2019-08-21 10:00:01 +02:00
< div class = "key" > {{tr "Repository:" /}}< / div >
2018-12-15 00:09:47 +01:00
< div class = "value" >
< p > {{>repository_name}}< / p >
2019-08-21 10:00:01 +02:00
< div class = "button button-info" >
< div class = "icon client-about" > < / div >
< / div >
2018-12-15 00:09:47 +01:00
< / div >
< / div >
{{if !contributors }}
{{else contributors.length == 1}}
2019-08-21 10:00:01 +02:00
< div class = "property property-contributor" >
< div class = "key" > Contributor:< / div >
< div class = "value" >
{{>contributors[0].name}}
{{if contributors[0].email}}
 < {{>contributors[0].email}}>
{{/if}}
2018-12-15 00:09:47 +01:00
< / div >
2019-08-21 10:00:01 +02:00
< / div >
{{else}}
< div class = "property property-contributors" >
< div class = "key" > Contributors:< / div >
< div class = "value" >
{{for contributors}}
< div class = "contributor" >
{{>name}}
{{if email}}
 < {{>email}}>
{{/if}}
2018-12-15 00:09:47 +01:00
< / div >
2019-08-21 10:00:01 +02:00
{{/for}}
2018-12-15 00:09:47 +01:00
< / div >
2019-08-21 10:00:01 +02:00
< / div >
{{/if}}
2018-12-15 00:09:47 +01:00
{{/if}}
< / div >
< / script >
2019-11-09 15:56:01 +01:00
< script class = "jsrender-template" id = "tmpl_change_latency" type = "text/html" >
< div > <!-- for the renderer -->
< div class = "info" >
< div > {{tr "Change latency for client "/}} < node key = "client" > < / node > < / div >
< / div >
< div class = "container-min" >
< div class = "container-value" >
{{tr "Min buffer: "/}}
< a class = "value" > 20ms< / a >
< / div >
< div class = "container-slider" >
< div class = "filler" style = "width: 30%" > < / div >
< div class = "thumb container-tooltip" style = "left: 30%" >
< div class = "tooltip" >
< a > 86%< / a >
< / div >
< / div >
< / div >
< / div >
< div class = "container-max" >
< div class = "container-value" >
{{tr "Max buffer: "/}}
< a class = "value" > 20ms< / a >
< / div >
< div class = "container-slider" >
< div class = "filler" style = "width: 30%" > < / div >
< div class = "thumb container-tooltip" style = "left: 30%" >
< div class = "tooltip" >
< a > 86%< / a >
< / div >
< / div >
< / div >
< / div >
< div class = "buttons" >
< button class = "btn btn-blue button-reset" > {{tr "Reset" /}}< / button >
2019-11-09 16:17:48 +01:00
{{if have_flush}}
< button class = "btn btn-blue button-flush" > {{tr "Flush buffer" /}}< / button >
{{/if}}
2019-11-09 15:56:01 +01:00
< div class = "spacer" > < / div >
< button class = "btn btn-danger button-cancel" > {{tr "Cancel" /}}< / button >
< button class = "btn btn-success button-close" > {{tr "Close" /}}< / button >
< / div >
< / div >
< / script >
2018-09-30 21:50:59 +02:00
<!-- Permission overview -->
2019-08-21 10:00:01 +02:00
< script class = "jsrender-template" id = "tmpl_server_group_assignment" type = "text/html" >
< div class = "group-assignment-list" >
< a > {{tr "Changing groups of" /}}
< node key = "client" / >
< / a >
< div class = "group-list" >
{{for groups}}
< div class = "group-entry" >
2019-09-19 01:25:57 +02:00
< label class = "checkbox {{if default}}disabled{{/if}}" >
< input type = "checkbox" group-id = "{{:id}}" { { if default } } default disabled = "true" { { / if } } >
< div class = "mark" > < / div >
2019-08-21 10:00:01 +02:00
< / label >
< node key = "icon_{{>id}}" > < / node >
< a > {{>name}} ({{>id}})< / a >
< / div >
{{/for}}
2018-10-14 13:27:48 +02:00
< / div >
< / div >
2019-08-21 10:00:01 +02:00
< div class = "container-buttons" >
< div class = "btn btn-danger button-remove-all" > {{tr "Remove all groups" /}}< / div >
< div class = "btn btn-success button-close" > {{tr "Close" /}}< / div >
< / div >
< / script >
2018-09-30 21:50:59 +02:00
2018-10-20 19:58:06 +02:00
<!-- General management templates -->
< script class = "jsrender-template" id = "tmpl_ban_list" type = "text/html" >
2019-09-12 23:59:35 +02:00
< div > <!-- required for jquery -->
< div class = "left" >
< div class = "head" >
< div class = "category category-add" >
< a > {{tr "Create" /}}< / a >
< div class = "background" > < / div >
< / div >
< div class = "category category-edit" >
< a > {{tr "Edit" /}}< / a >
< div class = "background" > < / div >
< / div >
< / div >
< div class = "body" >
< div class = "container-add" >
< div class = "container-no-permissions" >
< a > {{tr "You dont have permission to create bans" /}}< / a >
2018-10-20 19:58:06 +02:00
< / div >
2019-09-12 23:59:35 +02:00
< div class = "group group-name" >
< a > {{tr "Name" /}}< / a >
< div class = "input-boxed" >
< input placeholder = "{{tr 'Username to ban' /}}" / >
< / div >
2018-10-20 19:58:06 +02:00
< / div >
2019-09-12 23:59:35 +02:00
< div class = "group group-ip" >
< a > {{tr "IP" /}}< / a >
< div class = "input-boxed" >
< input placeholder = "{{tr 'IP to ban' /}}" / >
< / div >
< / div >
<!-- Currently not supported by TeaSpeak
< div class = "group group-interpret" >
< a > {{tr "Interpret IP / Name as" /}}< / a >
< div class = "input-boxed" >
< select class = "ban-regex-type" >
< option value = "wildcard-4" > {{tr "Wildcard IPv4" /}}< / option >
< option value = "wildcard-6" > {{tr "Wildcard IPv6" /}}< / option >
< option value = "fixed" selected > {{tr "Fixed string" /}}< / option >
< option value = "regex" > {{tr "Regular Expression" /}}< / option >
< / select >
< / div >
< / div >
-->
< div class = "group group-unique-id" >
< a > {{tr "Unique ID" /}}< / a >
< div class = "input-boxed" >
< input placeholder = "{{tr 'Client unique id to ban' /}}" / >
< / div >
< / div >
< div class = "group group-hwid" >
< a > {{tr "Hardware ID" /}}< / a >
< div class = "input-boxed" >
< input placeholder = "{{tr 'No Hardware ID given' /}}" / >
< div class = "container-tooltip" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< p >
{{tr "The hardware id has different meanings, depends on the users agent< br > " +
"TeaClient: The hardware id will be generate out of some unique system id's< br > " +
"TeaWeb: The TeaSpeak web client hasn't a hardware id, it will be random< br > " +
"TeamSpeak 3 client: The hardware id will be a result of a random generate string within the system registry" /}}
< / p >
< / div >
< / div >
< / div >
< / div >
< div class = "group group-reason" >
< a > {{tr "Reason" /}}< / a >
< textarea class = "input-boxed" placeholder = "{{tr 'No reason given' /}}" > < / textarea >
< / div >
< div class = "group group-duration" >
< a > {{tr "Duration" /}}< / a >
< div class = "container-value" >
< div class = "input-boxed value" >
< input type = "number" value = "1" min = "1" / >
< div class = "container-tooltip tooltip-max-time" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a class = "max" > error: max duration< / a >
< / div >
< / div >
< / div >
< select class = "input-boxed" >
< option value = "sec" > {{tr "seconds"/}}< / option >
< option value = "min" > {{tr "minutes"/}}< / option >
< option value = "hours" > {{tr "hours"/}}< / option >
< option value = "days" > {{tr "days"/}}< / option >
< option value = "perm" > {{tr "permanent"/}}< / option >
< / select >
< / div >
2018-10-20 19:58:06 +02:00
< / div >
2019-09-12 23:59:35 +02:00
< label class = "group-global" >
< div class = "checkbox" >
< input type = "checkbox" >
< div class = "mark" > < / div >
< / div >
< a > {{tr "Use this ban as a global ban" /}}< / a >
< / label >
2018-10-20 19:58:06 +02:00
< / div >
2019-09-12 23:59:35 +02:00
< div class = "container-edit" >
< div class = "group group-name" >
< a > {{tr "Name" /}}< / a >
< div class = "input-boxed" >
< input placeholder = "{{tr 'No username given' /}}" / >
2019-02-17 16:08:10 +01:00
< / div >
2019-09-12 23:59:35 +02:00
< / div >
< div class = "group group-ip" >
< a > {{tr "IP" /}}< / a >
< div class = "input-boxed" >
< input placeholder = "{{tr 'No IP given' /}}" / >
2019-02-17 16:08:10 +01:00
< / div >
2018-10-20 19:58:06 +02:00
< / div >
2019-09-12 23:59:35 +02:00
<!-- Currently not supported by TeaSpeak
< div class = "group group-interpret" >
< a > {{tr "Interpret IP / Name as" /}}< / a >
< div class = "input-boxed" >
< select class = "ban-regex-type" >
< option value = "wildcard-4" > {{tr "Wildcard IPv4" /}}< / option >
< option value = "wildcard-6" > {{tr "Wildcard IPv6" /}}< / option >
< option value = "fixed" > {{tr "Fixed string" /}}< / option >
< option value = "regex" > {{tr "Regular Expression" /}}< / option >
< / select >
< / div >
< / div >
-->
< div class = "group group-unique-id" >
< a > {{tr "Unique ID" /}}< / a >
< div class = "input-boxed" >
< input placeholder = "{{tr 'No Unique ID given' /}}" / >
< / div >
< / div >
< div class = "group group-hwid" >
< a > {{tr "Hardware ID" /}}< / a >
< div class = "input-boxed" >
< input placeholder = "{{tr 'No Hardware ID given' /}}" / >
< div class = "container-tooltip" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< p >
{{tr "The hardware id has different meanings, depends on the users agent< br > " +
"TeaClient: The hardware id will be generate out of some unique system id's< br > " +
"TeaWeb: The TeaSpeak web client hasn't a hardware id, it will be random< br > " +
"TeamSpeak 3 client: The hardware id will be a result of a random generate string within the system registry" /}}
< / p >
< / div >
< / div >
< / div >
< / div >
< div class = "group group-reason" >
< a > {{tr "Reason" /}}< / a >
< textarea class = "input-boxed" placeholder = "{{tr 'No reason given' /}}" > < / textarea >
< / div >
< div class = "group group-duration" >
< a > {{tr "Duration" /}}< / a >
< div class = "container-value" >
< div class = "input-boxed value" >
< input type = "number" value = "1" min = "1" / >
< div class = "container-tooltip tooltip-max-time" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a class = "detailed" > error: details< / a >
< a class = "max" > error: max duration< / a >
< / div >
< / div >
< / div >
< select class = "input-boxed" >
< option value = "sec" > {{tr "seconds"/}}< / option >
< option value = "min" > {{tr "minutes"/}}< / option >
< option value = "hours" > {{tr "hours"/}}< / option >
< option value = "days" > {{tr "days"/}}< / option >
< option value = "perm" > {{tr "permanent"/}}< / option >
< / select >
< / div >
< / div >
< div class = "group-creator" >
< a class = "key" > {{tr "Creator" /}}< / a >
< div class = "value" >
error: creator value
< / div >
< / div >
< div class = "group-enforcements" >
< a class = "key" > {{tr "Enforcements" /}}< / a >
< div class = "value" >
< a > 43< / a >
< button class = "btn btn-yellow button-enforcement-list" > {{tr "Show list" /}}< / button >
< / div >
2018-10-20 19:58:06 +02:00
< / div >
2019-09-12 23:59:35 +02:00
< label class = "group-global" >
< div class = "checkbox disabled" >
< input type = "checkbox" disabled >
< div class = "mark" > < / div >
< / div >
< a > {{tr "This ban is a global ban" /}}< / a >
< / label >
2018-10-20 19:58:06 +02:00
< / div >
< / div >
2019-09-12 23:59:35 +02:00
< div class = "buttons" >
< button class = "btn btn-success button-apply" > error: button apply< / button >
< / div >
2018-10-20 19:58:06 +02:00
< / div >
2019-09-12 23:59:35 +02:00
< div class = "container-seperator vertical" seperator-id = "seperator-banlist" >
< div class = "top" > < / div >
< / div >
< div class = "right" >
< div class = "container-banlist" >
< div class = "container-filter" >
< div class = "form-group" >
< label class = "bmd-label-floating" > {{tr "Filter" /}}< / label >
< input class = "form-control" >
< / div >
< / div >
< div class = "container-list" >
< div class = "entry header" >
< div class = "column column-key" > {{tr "Name/IP/UID/HWID" /}}< / div >
< div class = "column column-reason" > {{tr "Reason" /}}< / div >
< div class = "column column-expires" > {{tr "Expires" /}}< / div >
< div class = "column column-delete" > < / div >
< / div >
< div class = "body" >
< div class = "container-empty" >
< a > error: empty message< / a >
< / div >
< div class = "container-error" >
< a > error: no permissions< / a >
< / div >
<!-- <div class="entry local"></div> -->
< / div >
< / div >
< div class = "container-options" >
< label class = "container-option" >
< div class = "checkbox" >
< input type = "checkbox" class = "option-show-own" >
< div class = "mark" > < / div >
< / div >
< a > {{tr "Show only own bans" /}}< / a >
< / label >
< label class = "container-option" >
< div class = "checkbox" >
< input type = "checkbox" class = "option-highlight-own" >
< div class = "mark" > < / div >
< / div >
< a > {{tr "Highlight own bans" /}}< / a >
< / label >
< button class = "btn btn-success button-refresh-banlist" > {{tr "Refresh" /}}< / button >
< / div >
< / div >
< div class = "container-triggerlist" >
< div class = "container-filter" >
< div class = "form-group" >
< label class = "bmd-label-floating" > {{tr "Filter" /}}< / label >
< input class = "form-control" >
< / div >
< div class = "container-close" >
<!-- TODO -->
< / div >
< / div >
< div class = "container-list" >
< div class = "entry header" >
< div class = "column column-properties" > {{tr "Properties" /}}< / div >
< div class = "column column-timestamp" > {{tr "Timestamp" /}}< / div >
< / div >
< div class = "body" >
< div class = "container-empty" >
< a > error: empty message< / a >
< / div >
< div class = "container-error" >
< a > error: no permissions< / a >
< / div >
<!-- <div class="entry local"></div> -->
< / div >
< / div >
< div class = "container-options" >
< label class = "container-option" >
< div class = "checkbox" >
< input type = "checkbox" class = "option-highlight-cause" >
< div class = "mark" > < / div >
< / div >
< a > {{tr "Highlight cause" /}}< / a >
< / label >
< button class = "btn btn-success button-refresh-triggerlist" > {{tr "Refresh" /}}< / button >
2019-08-21 10:00:01 +02:00
< / div >
2019-02-17 16:08:10 +01:00
< / div >
< / div >
2019-09-12 23:59:35 +02:00
< / div >
2019-02-17 16:08:10 +01:00
< / script >
2018-10-20 19:58:06 +02:00
< script class = "jsrender-template" id = "tmpl_client_ban" type = "text/html" >
2019-09-19 01:25:57 +02:00
< div > <!-- for the renderer -->
< div class = "container-info" >
< div class = "container container-name" >
< div class = "title" > {{tr "Nickname" /}}< / div >
< div class = "value" >
{{for entries}}
{{>name}}< br >
{{/for}}
< / div >
< / div >
< div class = "container container-unique-id" >
< div class = "title" > {{tr "Unique ID" /}}< / div >
< div class = "value" >
{{for entries}}
{{>unique_id}}< br >
{{/for}}
< / div >
< / div >
< / div >
< div class = "container-duration" >
< a > {{tr "Duration" /}}< / a >
< div class = "container-value" >
< div class = "input-boxed value" >
< input type = "number" value = "1" min = "1" / >
< div class = "container-tooltip tooltip-max-time" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a class = "max" > error: max duration< / a >
< / div >
< / div >
< / div >
< select class = "input-boxed" >
2018-12-08 23:13:33 +01:00
< option value = "sec" > {{tr "seconds"/}}< / option >
< option value = "min" > {{tr "minutes"/}}< / option >
< option value = "hours" > {{tr "hours"/}}< / option >
< option value = "days" > {{tr "days"/}}< / option >
< option value = "perm" > {{tr "permanent"/}}< / option >
2018-10-20 19:58:06 +02:00
< / select >
< / div >
< / div >
2019-09-19 01:25:57 +02:00
< div class = "container-reason" >
< div class = "toolbar" >
< div class = "button button-bold" > B< / div >
< div class = "button button-italic" > I< / div >
< div class = "button button-underline" > U< / div >
< label class = "button button-color" >
< input type = "color" value = "#FF0000" >
< a class = "rainbow-letter" > C< / a >
< / label >
2018-10-20 19:58:06 +02:00
< / div >
2019-09-19 01:25:57 +02:00
< textarea class = "input-boxed ban-reason" placeholder = "{{tr 'Ban reason' /}}" > < / textarea >
< / div >
< div class = "container-criteria" >
< div class = "criteria nickname" >
< a > {{tr "Nickname and Unique ID" /}}< / a >
< label class = "checkbox" >
< input type = "checkbox" >
< div class = "mark" > < / div >
< / label >
< / div >
< div class = "criteria ip-address" >
< a > {{tr "IP-Address" /}}< / a >
< label class = "checkbox" >
< input type = "checkbox" >
< div class = "mark" > < / div >
< / label >
< / div >
< div class = "criteria hardware-id" >
< a > {{tr "Hardware ID" /}}< / a >
< label class = "checkbox" >
< input type = "checkbox" >
< div class = "mark" > < / div >
< / label >
< / div >
< / div >
< div class = "container-buttons" >
< button class = "btn btn-danger button-cancel" > {{tr "Cancel" /}}< / button >
< button class = "btn btn-success button-apply" > {{tr "Ok" /}}< / button >
2018-10-20 19:58:06 +02:00
< / div >
< / div >
< / script >
2018-12-08 23:13:33 +01:00
2018-09-30 21:50:59 +02:00
<!-- Music interface -->
2018-10-14 13:27:48 +02:00
< script class = "jsrender-template" id = "tmpl_music_frame" type = "text/html" >
2018-06-24 13:38:53 +02:00
<!-- First we want to define some variables if not defined yet. -->
{{if !thumbnail}}
2019-08-21 10:00:01 +02:00
{{*
data.thumbnail = "img/music/no_thumbnail.svg";
}}
2018-06-24 13:38:53 +02:00
{{/if}}
2018-08-10 21:30:58 +02:00
{{*
2019-08-21 10:00:01 +02:00
if(!data.song_max_width) data.song_max_width = 300;
2018-08-10 21:30:58 +02:00
2019-08-21 10:00:01 +02:00
let width = calculate_width(data.song_name);
if(width > data.song_max_width)
data.song_use_scroller = true;
2018-08-10 21:30:58 +02:00
}}
2018-04-30 23:57:21 +02:00
< div class = "music-wrapper" >
< div class = "container" >
< div class = "left" >
< div class = "static-card" >
2018-06-24 13:38:53 +02:00
< img src = "{{:thumbnail}}" alt = "Thumbnail" class = "thumbnail" >
2018-04-30 23:57:21 +02:00
< / div >
< / div >
< div class = "right" >
< div class = "controls hover" >
< label class = "btn-forward" > < span > < / span > < / label >
< label class = "btn-rewind" > < span > < / span > < / label >
< label class = "btn-settings" > < span > < / span > < / label >
< / div >
< div class = "flip-card" >
2018-06-24 13:38:53 +02:00
< img src = "{{:thumbnail}}" alt = "Thumbnail" class = "thumbnail" >
2018-04-30 23:57:21 +02:00
< / div >
< / div >
< / div >
< div class = "controls-overlay" >
< div class = "timer" >
2018-11-04 13:54:18 +01:00
< div class = "button-container" >
< div class = "container-play-pause" >
< div class = "button button_play" >
2019-08-21 10:00:01 +02:00
< svg x = "0px" y = "0px" viewBox = "0 0 4.5 6.9"
style="enable-background:new 0 0 4.5 6.9;">
2018-11-04 13:54:18 +01:00
< defs >
< filter id = "shadow_play" title = "Start replaying" >
< feDropShadow dx = "4" dy = "8" stdDeviation = "4" / >
< / filter >
< / defs >
2019-08-21 10:00:01 +02:00
< polyline style = "filter:url(#shadow_play);" class = "button"
points="0.6,0.3 3.9,3.4 0.6,6.6 ">< / polyline >
2018-11-04 13:54:18 +01:00
< / svg >
< / div >
< div class = "button button_pause" title = "Pause the current song" >
2019-08-21 10:00:01 +02:00
< svg x = "0px" y = "0px" viewBox = "0 0 4.5 6.9"
style="enable-background:new 0 0 4.5 6.9;">
2018-11-04 13:54:18 +01:00
< defs >
< filter id = "shadow_pause" >
< feDropShadow dx = "4" dy = "8" stdDeviation = "4" / >
< / filter >
< / defs >
< g style = "filter:url(#shadow_pause);" >
< line x1 = "0.4" y1 = "0.1" x2 = "0.4" y2 = "6.8" > < / line >
< line x1 = "4.1" y1 = "0.1" x2 = "4.1" y2 = "6.8" > < / line >
< / g >
< / svg >
< / div >
< / div >
< div >
< div class = "button button_stop" title = "Stop the music bot" >
2019-08-21 10:00:01 +02:00
< svg x = "0px" y = "0px" viewBox = "0 0 4.5 6.9"
style="enable-background:new 0 0 4.5 6.9;">
2018-11-04 13:54:18 +01:00
< defs >
< filter id = "shadow_stop" >
< feDropShadow dx = "4" dy = "8" stdDeviation = "4" / >
< / filter >
< / defs >
< g style = "filter:url(#shadow_stop);" >
< rect x = "0.25" y = "1.45" width = "4" height = "4" fill = "black" > < / rect >
< / g >
< / svg >
< / div >
< / div >
2018-04-30 23:57:21 +02:00
< / div >
< div class = "timeline" >
< div class = "buffered" > < / div >
< div class = "played" > < / div >
< div class = "slider" > < / div >
< / div >
2018-08-10 21:30:58 +02:00
< div class = "time player_time" > --:--< / div >
< / div >
< div class = "song" >
{{if song_use_scroller}}
2019-08-21 10:00:01 +02:00
< div class = "scroll-left" >
< p class = "name" > {{>song_name}}< / p >
< / div >
2018-08-10 21:30:58 +02:00
{{else}}
2019-08-21 10:00:01 +02:00
< div class = "name" style = "" > {{>song_name}}< / div >
2018-08-10 21:30:58 +02:00
{{/if}}
2018-04-30 23:57:21 +02:00
< / div >
< / div >
< / div >
2018-06-24 13:38:53 +02:00
< / script >
2018-10-14 13:27:48 +02:00
< script class = "jsrender-template" id = "tmpl_music_frame_empty" type = "text/html" >
2018-04-30 23:57:21 +02:00
< div class = "music-wrapper empty" >
< img src = "img/music/empty_disk.svg" >
2018-12-08 23:13:33 +01:00
< a > {{tr "Not playing any music"/}}< / a >
2018-04-30 23:57:21 +02:00
< / div >
2018-10-03 22:04:29 +02:00
< / script >
2018-06-20 19:06:55 +02:00
2018-11-04 00:39:29 +01:00
< script class = "jsrender-template" id = "tmpl_poke_popup" type = "text/html" >
< div class = "container-poke" >
2019-05-25 19:06:57 +02:00
< div class = "container-servers" > < / div >
< div class = "buttons" >
< div class = "spacer" > < / div >
< button class = "btn btn-raised btn-primary button-close" > {{tr "Close" /}}< / button >
2018-11-04 00:39:29 +01:00
< / div >
< / div >
< / script >
2019-05-25 17:54:26 +02:00
< script class = "jsrender-template" id = "tmpl_invite" type = "text/html" >
2019-10-13 21:33:07 +02:00
< div class = "general-properties" >
< div class = "form-group property-type" >
< label > {{tr "Link type:" /}}< / label >
< select class = "form-control" >
< option value = "tea-web" > {{tr "TeaWeb" /}}< / option >
< option value = "tea-client" > {{tr "TeaClient" /}}< / option >
< option value = "teamspeak" > {{tr "TeamSpeak" /}}< / option >
< / select >
< / div >
2020-10-05 12:58:55 +02:00
< div class = "container-settings" >
2019-10-13 21:33:07 +02:00
< label >
< div class = "checkbox flag-direct-connect" >
< input type = "checkbox" >
< div class = "mark" > < / div >
2019-05-25 17:54:26 +02:00
< / div >
2019-10-13 21:33:07 +02:00
< a > {{tr "Connect directly" /}}< / a >
< / label >
< label >
< div class = "checkbox flag-resolved-address" >
< input type = "checkbox" >
< div class = "mark" > < / div >
2019-05-25 17:54:26 +02:00
< / div >
2019-10-13 21:33:07 +02:00
< a > {{tr "Use resolved address" /}}< / a >
< / label >
2019-05-25 17:54:26 +02:00
< / div >
< / div >
2019-10-13 21:33:07 +02:00
< textarea class = "text-output" readonly > < / textarea >
< div class = "buttons" >
< button class = "btn btn-primary button-copy" >
< div class = "icon client-copy" > < / div >
{{tr "Copy" /}}
< / button >
< button class = "btn btn-primary button-close" > {{tr "Close" /}}< / button >
< / div >
2019-05-25 17:54:26 +02:00
< / script >
2018-12-18 20:00:29 +01:00
< script class = "jsrender-template" id = "tmpl_query_create" type = "text/html" >
< div class = "query-create" >
< a > {{tr "Set the login name for your Server Query account." /}}< / a >
< a > {{tr "You'll receive your password within the next step." /}}< / a >
2019-02-17 16:08:10 +01:00
< div class = "form-group row-name" >
< label > Name:< / label >
< input type = "text" maxlength = "64" minlength = "3" class = "form-control input-name" >
2018-12-18 20:00:29 +01:00
< / div >
< div class = "buttons" >
2019-02-17 16:08:10 +01:00
< button class = "btn btn-danger button-close" > {{tr "Close" /}}< / button >
< button class = "btn btn-success btn-raised button-create" > {{tr "Create" /}}< / button >
2018-12-18 20:00:29 +01:00
< / div >
< / div >
< / script >
< script class = "jsrender-template" id = "tmpl_query_created" type = "text/html" >
< div class = "query-created" >
< a > {{tr "Your server query credentials:" /}}< / a >
2019-02-17 16:08:10 +01:00
< div class = "form-row" >
< div class = "form-group" >
< label > {{tr "Name:" /}}< / label >
2019-08-21 10:00:01 +02:00
< input class = "form-control query_name" type = "text" maxlength = "64" minlength = "3"
value="{{>username}}">
2019-02-17 16:08:10 +01:00
< / div >
< div class = "btn_copy_name icon_x32 client-copy" title = "{{tr 'Copy username' /}}" > < / div >
2018-12-18 20:00:29 +01:00
< / div >
2019-02-17 16:08:10 +01:00
< div class = "form-row" >
< div class = "form-group" >
< label > {{tr "Password:" /}}< / label >
2019-08-21 10:00:01 +02:00
< input class = "form-control query_password" type = "text" maxlength = "64" minlength = "3"
value="{{>password}}">
2019-02-17 16:08:10 +01:00
< / div >
< div class = "btn_copy_password icon_x32 client-copy" title = "{{tr 'Copy username' /}}" > < / div >
2018-12-18 20:00:29 +01:00
< / div >
< div class = "buttons" >
2019-02-17 16:08:10 +01:00
< button class = "btn btn-primary button-close" > {{tr "Close" /}}< / button >
2018-12-18 20:00:29 +01:00
< / div >
< / div >
< / script >
2018-12-23 17:41:14 +01:00
< script class = "jsrender-template" id = "tmpl_query_manager" type = "text/html" >
2019-10-13 21:33:07 +02:00
< div class = "container" > <!-- required for the seperator -->
< div class = "left" >
< div class = "title" >
< a > {{tr "Account list" /}}< / a >
< button class = "btn btn-success button-create" > {{tr "Create account" /}}< / button >
2019-02-17 16:08:10 +01:00
< / div >
2019-10-13 21:33:07 +02:00
< div class = "container-list" >
< div class = "container-entries" >
< div class = "container-empty" >
error: empty
< / div >
< div class = "container-error" >
error: query list
< / div >
< / div >
< div class = "container-search" >
< button class = "btn btn-blue button-update" > {{tr "Refresh" /}}< / button >
< div class = "form-group" >
< label class = "bmd-label-floating" > {{tr "Search for query" /}}< / label >
< input type = "text" class = "form-control filter-input" >
< / div >
2018-12-23 17:41:14 +01:00
< / div >
< / div >
< / div >
2019-10-13 21:33:07 +02:00
< div class = "container-seperator vertical" seperator-id = "seperator-query-manage" > < / div >
< div class = "right" >
< div class = "title" >
< a > {{tr "Account details" /}}< / a >
< button class = "btn btn-danger button-delete" > {{tr "Delete account" /}}< / button >
< / div >
< div class = "container-details" >
< div class = "detail login-name" >
< a class = "title" > {{tr "Login name" /}}< / a >
< a class = "value" > error: login name< / a >
< / div >
< div class = "detail unique-id" >
< div class = "title" >
< a > {{tr "Unique ID" /}}< / a >
< div class = "button button-copy" >
< div class = "icon_em client-copy" > < / div >
< / div >
< / div >
< a class = "value" > error: unique id< / a >
< / div >
< div class = "detail bound-server" >
< a class = "title" > {{tr "Bound server ID" /}}< / a >
< a class = "value" > error: bound server< / a >
< / div >
< div class = "spacer" > < / div >
< div class = "buttons" >
< button class = "btn btn-blue button-change-password" > {{tr "Change password" /}}< / button >
< button class = "btn btn-blue button-rename" > {{tr "Rename Account" /}}< / button >
< / div >
2019-02-17 16:08:10 +01:00
< / div >
< / div >
2018-12-23 17:41:14 +01:00
< / div >
< / script >
2018-12-28 15:39:23 +01:00
< script class = "jsrender-template" id = "tmpl_manage_bookmarks" type = "text/html" >
2019-08-31 18:31:01 +02:00
< div >
< div class = "left" >
2019-12-20 22:04:21 +01:00
< div class = "title" title = "{{tr 'Your bookmarks' /}}" > {{tr "Your bookmarks" /}}< / div >
2019-08-31 18:31:01 +02:00
< div class = "container-bookmarks" >
< / div >
< div class = "buttons" >
2019-12-20 22:04:21 +01:00
< button class = "btn btn-danger button-delete" title = "{{tr 'Delete' /}}" > {{tr "Delete" /}}< / button >
< button class = "btn btn-purple button-add-folder" title = "{{tr 'Add Folder' /}}" > {{tr "Add Folder" /}}< / button >
< button class = "btn btn-success button-add-bookmark" title = "{{tr 'Add Bookmark' /}}" > {{tr "Add Bookmark" /}}< / button >
2018-12-28 15:39:23 +01:00
< / div >
< / div >
2019-08-31 18:31:01 +02:00
< div class = "container-seperator vertical" seperator-id = "seperator-bookmarks" > < / div >
< div class = "right" >
< div class = "header" >
< div class = "container-name" > {{tr "Your bookmarks" /}}< / div >
< div class = "container-address" > < / div >
< / div >
2019-12-21 21:50:59 +01:00
< div class = "container-settings" data-simplebar data-simplebar-auto-hide = "false" >
2019-08-31 18:31:01 +02:00
< div class = "group" >
< div class = "row" >
< div class = "key" > {{tr "Bookmark Name" /}}< / div >
< div class = "value" >
< div class = "input-boxed" >
< input class = "input-bookmark-name" >
<!--
< div class = "container-tooltip" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a > {{tr "The displayed name of this bookmark." /}}< / a >
< / div >
< / div >
-->
2018-12-28 15:39:23 +01:00
< / div >
2019-08-31 18:31:01 +02:00
< / div >
< / div >
< div class = "row" >
< div class = "key" > {{tr "Connect Profile" /}}< / div >
< div class = "value" >
< div class = "input-boxed" >
< select class = "input-connect-profile" >
< / select >
<!--
< div class = "container-tooltip" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a > {{tr "The profile which you're connection with when you're using the bookmark." /}}< / a >
< / div >
< / div >
-->
2018-12-28 15:39:23 +01:00
< / div >
< / div >
< / div >
2019-08-31 18:31:01 +02:00
< / div >
< div class = "group" >
< div class = "row" >
< div class = "key" > {{tr "Server Address" /}}< / div >
< div class = "value" >
< div class = "input-boxed" >
< input class = "input-server-address" >
<!--
< div class = "container-tooltip" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a > {{tr "The server address of the bookmark. The port is separated via a colon" /}}< / a >
< / div >
< / div >
-->
2018-12-28 15:39:23 +01:00
< / div >
2019-08-31 18:31:01 +02:00
< / div >
< / div >
< div class = "row" >
< div class = "key" > {{tr "Server Password" /}}< / div >
< div class = "value" >
< div class = "input-boxed" >
< input type = "password" class = "input-server-password" >
<!--
< div class = "container-tooltip" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a > {{tr "The server port of the bookmark" /}}< / a >
< / div >
2019-02-17 16:08:10 +01:00
< / div >
2019-08-31 18:31:01 +02:00
-->
< / div >
< / div >
< / div >
< div class = "row" >
< div class = "key" > {{tr "Default Channel" /}}< / div >
< div class = "value" >
< div class = "input-boxed" >
< input class = "input-default-channel" placeholder = "{{tr 'Not yet implemented' /}}" disabled >
<!--
< div class = "container-tooltip" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a > {{tr "The server port of the bookmark" /}}< / a >
< / div >
2018-12-28 15:39:23 +01:00
< / div >
2019-08-31 18:31:01 +02:00
-->
2018-12-28 15:39:23 +01:00
< / div >
2019-08-31 18:31:01 +02:00
< / div >
< / div >
< div class = "row" >
< div class = "key" > {{tr "Channel Password" /}}< / div >
< div class = "value" >
< div class = "input-boxed" >
< input type = "password" class = "input-default-channel-password" placeholder = "{{tr 'Not yet implemented' /}}" disabled >
<!--
< div class = "container-tooltip" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a > {{tr "The server port of the bookmark" /}}< / a >
< / div >
< / div >
-->
2018-12-28 15:39:23 +01:00
< / div >
< / div >
< / div >
< / div >
2019-08-31 18:31:01 +02:00
< div class = "group info" >
< div class = "container-image" >
< img src = "img/serveredit_1.png" >
< / div >
< div class = "container-properties" >
< div class = "row" >
< a class = "key" > {{tr "Server name" /}}< / a >
< div class = "value server-name" >
error: name
< / div >
< / div >
< div class = "row" >
< a class = "key" > {{tr "Server region" /}}< / a >
< div class = "value server-region" >
error: region
< / div >
< / div >
< div class = "row" >
< a class = "key" > {{tr "Last ping" /}}< / a >
< div class = "value server-ping" >
error: ping
< / div >
< / div >
< div class = "row" >
< a class = "key" > {{tr "Last client count" /}}< / a >
< div class = "value server-client-count" >
error: last client
< / div >
< / div >
< div class = "row" >
< a class = "key" > {{tr "Your connection" /}}< / a >
< div class = "value server-connection-count" >
error: connection count
< / div >
< / div >
2018-12-28 15:39:23 +01:00
< / div >
< / div >
< / div >
2019-08-31 18:31:01 +02:00
< div class = "buttons" >
2020-06-11 14:51:40 +02:00
< button class = "btn btn-blue button-duplicate" > {{tr "Duplicate" /}}< / button >
2019-08-31 18:31:01 +02:00
< button class = "btn btn-success button-connect-tab" > {{tr "Connect in a new tab" /}}< / button >
< button class = "btn btn-success button-connect" > {{tr "Connect" /}}< / button >
< / div >
2018-12-28 15:39:23 +01:00
< / div >
< / div >
< / script >
2019-03-25 20:04:04 +01:00
< script class = "jsrender-template" id = "tmpl_icon_select" type = "text/html" >
2019-10-13 21:33:07 +02:00
< div class = "container-icons" >
< div class = "left" >
< div class = "header" > {{tr "Remote" /}}< / div >
< div class = "content" >
< div class = "container-icons-list" >
< div class = "container-icons-remote {{if enable_select || enable_delete}}icon-select{{/if}}" > < / div >
< div class = "container-loading" >
< a > {{tr "loading..." /}}< / a >
2019-03-25 20:04:04 +01:00
< / div >
2019-10-13 21:33:07 +02:00
< div class = "container-no-permissions" >
< a > {{tr "You dont have permissions the view the icons" /}}< / a >
2019-03-25 20:04:04 +01:00
< / div >
2019-10-13 21:33:07 +02:00
< div class = "container-error" >
< a class = "error-message" > {{ŧr "An error occurred" /}}< / a >
2019-03-25 20:04:04 +01:00
< / div >
< / div >
2019-10-13 21:33:07 +02:00
< div class = "container-buttons" >
{{if enable_upload}}
< button class = "btn btn-success button-upload" > {{tr "Upload" /}}< / button >
{{/if}}
{{if enable_delete}}
< button class = "btn btn-danger button-delete" > {{tr "Delete" /}}< / button >
{{/if}}
< / div >
2019-03-25 20:04:04 +01:00
< / div >
< / div >
2019-10-13 21:33:07 +02:00
< div class = "right" >
< div class = "header" > {{tr "Local" /}}< / div >
< div class = "content" >
< div class = "container-icons-list" >
< div class = "container-icons-local {{if enable_select}}icon-select{{/if}}" > < / div >
< / div >
< / div >
2019-03-25 20:04:04 +01:00
< / div >
< / div >
2019-10-13 21:33:07 +02:00
< div class = "container-buttons" >
< button class = "btn btn-primary btn-raised button-reload" > {{tr "Reload" /}}< / button >
< div class = "spacer" > < / div >
{{if enable_select}}
< button class = "btn btn-success btn-raised button-select-no-icon" > {{tr "Remove icon" /}}< / button >
< button class = "btn btn-success btn-raised button-select" > < a > {{tr "Select " /}}< / a >
< div class = "selected-item-container" > < / div >
< / button >
{{/if}}
< / div >
2019-03-25 20:04:04 +01:00
< / script >
2019-05-24 22:14:02 +02:00
< script class = "jsrender-template" id = "tmpl_icon_upload" type = "text/html" >
2019-10-13 21:33:07 +02:00
< div class = "container-select" >
< div class = "container-icons" > < / div >
< div class = "container-buttons" >
< div class = "buttons-manage" >
< button class = "btn btn-primary btn-raised button-add" > {{tr "Add icon" /}}< / button >
< button class = "btn btn-danger button-remove" > {{tr "Remove selected" /}}< / button >
2019-05-24 22:14:02 +02:00
< / div >
2019-10-13 21:33:07 +02:00
< button class = "btn btn-primary btn-raised button-upload" > < / button >
< input type = "file" class = "input-file-upload" accept = "image/*" multiple / >
2019-05-24 22:14:02 +02:00
< / div >
2019-10-13 21:33:07 +02:00
< / div >
< div class = "container-upload" >
< div class = "container-error" >
< div class = "error-message" > You're not connected. Failed to upload icons< / div >
< button type = "button" class = "btn btn-danger btn-raised button-upload-abort" > {{tr "abort" /}}
< / button >
< / div >
< div class = "container-process" > < / div >
< div class = "container-info" >
< div class = "container-info-uploaded" > {{tr "Uploaded icons (total | successfully | error): "
/}}
2019-05-24 22:14:02 +02:00
< / div >
2019-10-13 21:33:07 +02:00
< div class = "uploaded-statistics" > < / div >
< / div >
< div class = "container-success" >
< div class = "message" > Uploaded 10 icons successfully< / div >
< button type = "button" class = "btn btn-success btn-raised button-upload-abort" > {{tr "okey" /}}
< / button >
2019-05-24 22:14:02 +02:00
< / div >
< / div >
< / script >
2019-03-25 20:04:04 +01:00
< script class = "jsrender-template" id = "tmpl_avatar_list" type = "text/html" >
< div class = "modal-avatar-list" >
< div class = "container-list" >
< div class = "list-header" >
< div class = "column column-username" > {{tr "Username" /}}< / div >
< div class = "column column-unique-id" > {{tr "Unique ID" /}}< / div >
< div class = "column column-size" > {{tr "Size" /}}< / div >
< div class = "column column-timestamp" > {{tr "Date" /}}< / div >
< / div >
< div class = "list-entries-container" >
< div class = "list-entries" >
< / div >
< / div >
< / div >
< div class = "container-info" >
< div class = "container-data" >
< div class = "form-group" >
< label class = "bmd-label-static" > {{tr "Username" /}}< / label >
< input class = "form-control property-username" disabled >
< / div >
< div class = "form-group" >
< label class = "bmd-label-static" > {{tr "Unique ID" /}}< / label >
< input class = "form-control property-unique-id" disabled >
< / div >
< div class = "form-group" >
< label class = "bmd-label-static" > {{tr "Avatar ID" /}}< / label >
< input class = "form-control property-avatar-id" disabled >
< / div >
< / div >
< div class = "container-preview" >
< div class = "container-image" > < / div >
< div class = "container-image-data" >
< a > {{tr "Image info:" /}}< / a >
< div class = "form-group" >
< label class = "bmd-label-static" > {{tr "Bytes" /}}< / label >
< input class = "form-control property-image-size" disabled >
< / div >
< div class = "form-group" >
< label class = "bmd-label-static" > {{tr "Width" /}}< / label >
< input class = "form-control property-image-width" disabled >
< / div >
< div class = "form-group" >
< label class = "bmd-label-static" > {{tr "Height" /}}< / label >
< input class = "form-control property-image-height" disabled >
< / div >
< div class = "form-group" >
< label class = "bmd-label-static" > {{tr "Type" /}}< / label >
< input class = "form-control property-image-type" disabled >
< / div >
< / div >
< / div >
< div class = "container-buttons" >
< button class = "btn btn-danger button-delete" > {{tr "Delete" /}}< / button >
< button class = "btn btn-success button-download" > {{tr "Download" /}}< / button >
< / div >
< div class = "disabled-overlay" >
< a > {{tr "Please select a user" /}}< / a >
< / div >
< / div >
< / div >
< / script >
2019-08-21 10:00:01 +02:00
< script class = "jsrender-template" id = "tmpl_avatar_upload" type = "text/html" >
< div class = "modal-avatar-upload" >
< div class = "container-upload" >
< div class = "bmd-form-group" >
< button type = "button" class = "btn btn-primary btn-raised button-select" > {{tr "Select avatar"
/}}
< / button >
< p >
{{tr "Supported image types: SVG, PNG, JPEG" /}}< br >
{{tr "Supported image sizes: any" /}}
< / p >
< input type = "file" class = "file-inputs" accept = ".svg, .png, .jpg, .jpeg" >
< / div >
< div class = "bmd-form-group" >
< button type = "button" class = "btn btn-success button-upload" > {{tr "Upload avatar" /}}< / button >
< button type = "button" class = "btn btn-warning button-delete" > {{tr "Delete avatar" /}}< / button >
< button type = "button" class = "btn btn-danger button-cancel" > {{tr "Cancel" /}}< / button >
< / div >
< / div >
< div class = "container-preview" >
< a class = "title" > {{tr "Preview" /}}< / a >
< div class = "previews" >
< div class = "preview preview-client-info" >
< div class = "container-avatar" >
< div class = "avatar" >
< img src = "#" >
< / div >
< / div >
< a > {{tr "Client info" /}}< / a >
< / div >
< div class = "preview preview-chat" >
< div class = "container-avatar" >
< div class = "avatar" >
< img src = "#" >
< / div >
< / div >
< a > {{tr "Chat avatar" /}}< / a >
< / div >
< div class = "preview preview-chat-entry" >
< div class = "container-avatar" >
< div class = "avatar" >
< img src = "#" >
< / div >
< / div >
< a > {{tr "Chat list avatar" /}}< / a >
< / div >
< / div >
< / div >
< / div >
< / script >
< script class = "jsrender-template" id = "tmpl_about" type = "text/html" >
< div class = "container-left" >
< div class = "container-logo" >
2020-10-05 12:58:55 +02:00
< img src = "https://teaspeak.de/img/teaspeak_cup_animated.png" alt = "teacup-animated" / >
2019-08-21 10:00:01 +02:00
< / div >
2020-06-13 18:47:05 +02:00
< div class = "copyright" > Copyright (c) 2017-2020 TeaSpeak< br > (Markus Hadenfeldt)< / div >
2019-08-21 10:00:01 +02:00
< div class = "versions" >
{{if client}}
< div class = "version version-native" >
2019-10-26 03:02:58 +02:00
< a > TeaClient:< / a > < a class = "value version-client" > {{>version_client}}< / a >
2019-08-21 10:00:01 +02:00
< / div >
< div class = "version version-web" >
< a > UI:< / a > < a class = "value" > {{>version_ui}}< / a >
< / div >
{{else}}
< div class = "version version-web" >
< a > TeaWeb:< / a > < a class = "value" > {{>version_client}}< / a >
< / div >
{{/if}}
< / div >
< / div >
< div class = "container-right" >
{{if client}}
2019-10-26 03:02:58 +02:00
< h1 > TeaSpeak-Client build < span class = "version-client" > {{>version_client}}< / span > <!-- ({{>version_timestamp}}) --> < / h1 >
2019-08-21 10:00:01 +02:00
{{else}}
< h1 > TeaSpeak-Web build {{>version_client}} <!-- ({{>version_timestamp}}) --> < / h1 >
<!-- We currently dont have a timestamp for the web client -->
{{/if}}
< h2 > {{tr "Special thanks" /}}< / h2 >
< p >
2019-10-13 21:33:07 +02:00
"Яedeemer" (Janni K.)< br >
Chromatic-Solutions (Sofian) for the lovely dark design
2019-08-21 10:00:01 +02:00
< / p >
< h2 > {{tr "Contact" /}}< / h2 >
< p >
2019-10-13 21:33:07 +02:00
{{tr "E-Mail:" /}} < a href = "mailto:{{if client}}client{{else}}web{{/if}}.support@teaspeak.de" > {{if client}}client{{else}}web{{/if}}.support@teaspeak.de< / a > < br >
{{tr "WWW:" /}} < a href = "https://teaspeak.de" target = "_blank" > https://teaspeak.de< / a > < br >
{{tr "Community:" /}} < a href = "https://teaspeak.de" target = "_blank" > https://forum.teaspeak.de< / a >
2019-08-21 10:00:01 +02:00
< / p >
< h2 > {{tr "License" /}}< / h2 >
< p >
The {{if client}}TeaClient{{else}}TeaWeb{{/if}} application is licensed by MPL-2.0< br >
2019-10-13 21:33:07 +02:00
More information here: < a href = "https://github.com/TeaSpeak/TeaWeb/blob/master/LICENSE.TXT" target = "_blank" > https://github.com/TeaSpeak/TeaWeb/blob/master/LICENSE.TXT< / a >
2019-08-21 10:00:01 +02:00
< / p >
< / div >
< / script >
2019-03-25 20:04:04 +01:00
< script class = "jsrender-template" id = "tmpl_avatar_list-list_entry" type = "text/html" >
< div class = "entry" >
< div class = "column column-username" > {{>username}}< / div >
< div class = "column column-unique-id" > {{>unique_id}}< / div >
< div class = "column column-size" > {{>size}}< / div >
< div class = "column column-timestamp" > {{>timestamp}}< / div >
< / div >
< / script >
2019-08-21 10:00:01 +02:00
< script class = "jsrender-template" id = "tmpl_key_select" type = "text/html" >
< div > <!-- required for the renderer -->
< div class = "body" >
< a > {{tr "Press any key which you want to use." /}}< / a >
< div class = "container-select" >
< a > Current key:< / a >
< div class = "container-key" >
< a > < / a >
2019-03-25 20:04:04 +01:00
< / div >
< / div >
< / div >
2019-08-21 10:00:01 +02:00
< div class = "container-buttons" >
< button class = "btn btn-danger button-cancel" > {{tr "Cancel" /}}< / button >
< button class = "btn btn-success button-save" > {{tr "Save Key" /}}< / button >
2019-03-25 20:04:04 +01:00
< / div >
< / div >
2019-08-21 10:00:01 +02:00
< / script >
2019-08-30 23:06:39 +02:00
< script class = "jsrender-template" id = "tmpl_client_info" type = "text/html" >
< div > <!-- Important for the renderer -->
< div class = "head" >
< div class = "status-row" >
< div class = "status-entry status-away" >
< div class = "icon_em client-away" > < / div >
< / div >
< div class = "status-entry status-output-muted" >
< div class = "icon_em client-output_muted" > < / div >
< / div >
< div class = "status-entry status-output-disabled" >
< div class = "icon_em client-hardware_output_muted" > < / div >
< / div >
< div class = "status-entry status-input-muted" >
< div class = "icon_em client-input_muted" > < / div >
< / div >
< div class = "status-entry status-input-disabled" >
< div class = "icon_em client-hardware_input_muted" > < / div >
< / div >
< / div >
< div class = "container-away-message" title = "{{tr 'Away message' /}}" >
< a > A verry long away message, because I want to tell a story. There was a child....A verry long away message, because I want to tell a story. There was a child....A verry long away message, because I want to tell a story. There was a child....A verry long away message, because I want to tell a story. There was a child....A verry long away message, because I want to tell a story. There was a child....A verry long away message, because I want to tell a story. There was a child....A verry long away message, because I want to tell a story. There was a child....A verry long away message, because I want to tell a story. There was a child....< / a >
< / div >
< / div >
< div class = "body" >
< div class = "container-avatar" >
< / div >
< div class = "container-name" > < / div >
< div class = "container-description" >
< div class = "client-description" > < / div >
< / div >
< div class = "container-categories" >
< div class = "categories" >
< div class = "entry" container = "container-basic" > {{tr "Basic Info" /}}< / div >
< div class = "entry" container = "container-groups" > {{tr "Groups" /}}< / div >
< div class = "entry" container = "container-packets" > {{tr "Packets" /}}< / div >
< / div >
< div class = "bodies" >
< div class = "body container-basic" >
< div class = "left" >
< div class = "property property-unique-id" >
< div class = "title" >
< a > {{tr "Unique ID" /}}< / a >
< div class = "container-tooltip" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a > {{tr "Database ID:" /}} < span class = "value-dbid" > error: database id< / span > < / a >
< / div >
< / div >
< / div >
< div class = "value" >
< a > error: unique id< / a >
< div class = "button button-copy" >
< div class = "icon_em client-copy" > < / div >
< / div >
< / div >
< / div >
< div class = "property property-teaforo" >
< div class = "title" >
< a > {{tr "TeaForo Connection" /}}< / a >
< / div >
< div class = "value" >
< a > This will be a really long string...< / a >
< / div >
< / div >
< div class = "property property-version" >
< div class = "title" >
< a > {{tr "Version" /}}< / a >
< div class = "container-tooltip" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a > {{tr "Build timestamp:" /}} < span class = "value-timestamp" > error: no timestamp< / span > < / a >
< / div >
< / div >
< / div >
< div class = "value" >
< a > This will be a really long string...< / a >
< / div >
< / div >
< div class = "property property-country" >
< div class = "title" >
< a > {{tr "Country" /}}< / a >
< / div >
< div class = "value" >
< a > This will be a really long string...< / a >
< / div >
< / div >
< div class = "property property-ip" >
< div class = "title" >
< a > {{tr "IP Address" /}}< / a >
< / div >
< div class = "value" >
< a > error: IP< / a >
< div class = "button button-copy" >
< div class = "icon_em client-copy" > < / div >
< / div >
< / div >
< / div >
< / div >
< div class = "spacer" > < / div >
< div class = "right" >
< div class = "property property-first-connected" >
< div class = "title" >
< a > {{tr "First connected" /}}< / a >
< / div >
< div class = "value" >
< a > error: first connected< / a >
< / div >
< / div >
< div class = "property property-connect-count" >
< div class = "title" >
< a > {{tr "Connect count" /}}< / a >
< / div >
< div class = "value" >
< a > error: connect count< / a >
< / div >
< / div >
< div class = "property property-online-since" >
< div class = "title" >
< a > {{tr "Online since" /}}< / a >
< / div >
< div class = "value" >
< a > error: online since< / a >
< / div >
< / div >
< div class = "property property-idle-time" >
< div class = "title" >
< a > {{tr "Idle time" /}}< / a >
< / div >
< div class = "value" >
< a > error: idle time< / a >
< / div >
< / div >
< div class = "property property-ping" >
< div class = "title" >
< a > {{tr "Ping" /}}< / a >
< / div >
< div class = "value" >
< a > error: ping< / a >
< / div >
< / div >
< / div >
< / div >
< div class = "body container-groups" >
< div class = "left" >
<!-- <div class="title">{{tr "Server Groups" /}}</div> -->
< div class = "container" >
< div class = "entries" >
< / div >
< div class = "container-default-groups" >
< a > {{tr "Client has no own server group" /}}< / a >
< / div >
< / div >
< div class = "buttons" >
< button class = "btn btn-success button-group-add" > {{tr "Manage client server groups" /}}< / button >
< / div >
< / div >
<!--
< div class = "spacer" > < / div >
< div class = "right" >
< div class = "title" > {{tr "Channel Groups" /}}< / div >
< div class = "container" >
< / div >
< / div >
-->
< / div >
< div class = "body container-packets" >
< div class = "left" >
< div class = "statistic statistic-packet-loss" >
< div class = "title" >
< a > {{tr "Packetloss" /}}< / a >
< / div >
< div class = "downstream" >
< a > {{tr "Downstream" /}}< / a >
< a class = "value" > < / a >
< / div >
< div class = "upstream" >
< a > {{tr "Upstream" /}}< / a >
< a class = "value" > < / a >
< / div >
< / div >
< div class = "statistic statistic-transmitted-packets" >
< div class = "title" >
< a > {{tr "Transmitted Packets" /}}< / a >
< / div >
< div class = "downstream" >
< a > {{tr "Downstream" /}}< / a >
< a class = "value" > < / a >
< / div >
< div class = "upstream" >
< a > {{tr "Upstream" /}}< / a >
< a class = "value" > < / a >
< / div >
< / div >
< div class = "statistic statistic-transmitted-bytes" >
< div class = "title" >
< a > {{tr "Transmitted Bytes" /}}< / a >
< / div >
< div class = "downstream" >
< a > {{tr "Downstream" /}}< / a >
< a class = "value" > < / a >
< / div >
< div class = "upstream" >
< a > {{tr "Upstream" /}}< / a >
< a class = "value" > < / a >
< / div >
< / div >
< / div >
< div class = "spacer" > < / div >
< div class = "right" >
< div class = "statistic statistic-quota" >
< div class = "title" >
< a > {{tr "Used/Max file transfer quota" /}}< / a >
< / div >
< div class = "downstream" >
< a > {{tr "Downstream" /}}< / a >
< a class = "value" > < / a >
< / div >
< div class = "upstream" >
< a > {{tr "Upstream" /}}< / a >
< a class = "value" > < / a >
< / div >
< / div >
< div class = "statistic statistic-bandwidth-second" >
< div class = "title" >
< a > {{tr "Bandwidth last second" /}}< / a >
< / div >
< div class = "downstream" >
< a > {{tr "Downstream" /}}< / a >
< a class = "value" > < / a >
< / div >
< div class = "upstream" >
< a > {{tr "Upstream" /}}< / a >
< a class = "value" > < / a >
< / div >
< / div >
< div class = "statistic statistic-bandwidth-minute" >
< div class = "title" >
< a > {{tr "Bandwidth last minute" /}}< / a >
< / div >
< div class = "downstream" >
< a > {{tr "Downstream" /}}< / a >
< a class = "value" > < / a >
< / div >
< div class = "upstream" >
< a > {{tr "Upstream" /}}< / a >
< a class = "value" > < / a >
< / div >
< / div >
< / div >
< / div >
< / div >
< / div >
< / div >
< / div >
< / script >
2019-09-19 01:25:57 +02:00
< script class = "jsrender-template" id = "tmpl_channel_info" type = "text/html" >
< div > <!-- Important for the renderer -->
< div class = "row" >
< div class = "column channel-type" >
< a class = "title" > {{tr "Channel Type" /}}< / a >
< div class = "value" > error: channel type< / div >
< / div >
< div class = "column chat-mode" >
< a class = "title" > {{tr "Chat mode" /}}< / a >
< div class = "value" > error: chat mode< / div >
< / div >
< div class = "column current-clients" >
< a class = "title" > {{tr "Current clients" /}}< / a >
< div class = "value" > error: current clients< / div >
< / div >
< / div >
< div class = "row" >
< div class = "column audio-codec" >
< a class = "title" > {{tr "Audio Codec" /}}< / a >
< div class = "value" > error: audio codec< / div >
< / div >
< div class = "column audio-encrypted" >
< a class = "title" > {{tr "Audio encrypted" /}}< / a >
< div class = "value" > error: audio encrypted< / div >
< / div >
< div class = "column flag-password" >
< a class = "title" > {{tr "Password protected" /}}< / a >
< div class = "value" > error: password protected< / div >
< / div >
< / div >
< div class = "row topic" > <!-- only visible if set! -->
< div class = "column" >
< a class = "title" > {{tr "Topic" /}}< / a >
< div class = "value" > error: channel topic< / div >
< / div >
< / div >
< div class = "container-description" > <!-- only visible if set -->
< a class = "title" >
{{tr "Description" /}}
< div class = "button-copy" >
< div class = "icon client-copy" > < / div >
< / div >
< / a >
< div class = "value" >
error: channel description
< / div >
< div class = "no-value" > {{tr "Channel has no description" /}}< / div >
< / div >
< div class = "container-buttons" >
< button class = "btn btn-success button-update" > {{tr "Refresh" /}}< / button >
< / div >
< / div >
< / script >
2019-08-30 23:06:39 +02:00
< script class = "jsrender-template" id = "tmpl_server_info" type = "text/html" >
< div > <!-- required for the renderer -->
< div class = "container-top hostbanner" >
< / div >
< div class = "container-body" >
< div class = "group" >
< div class = "container-image" >
< img src = "img/serveredit_1.png" >
< / div >
< div class = "container-properties" >
< div class = "row" >
< a class = "key" > {{tr "Server name" /}}< / a >
< div class = "value server-name" >
error: name
< / div >
< / div >
< div class = "row" >
< a class = "key" > {{tr "Server region" /}}< / a >
< div class = "value server-region" >
error: region
< / div >
< / div >
< div class = "row" >
< a class = "key" > {{tr "Slots" /}}< / a >
< div class = "value server-slots" >
error: slots
< / div >
< / div >
< div class = "row" >
< a class = "key" > {{tr "First run" /}}< / a >
< div class = "value server-first-run" >
error: first run
< / div >
< / div >
< div class = "row" >
< a class = "key" > {{tr "Uptime" /}}< / a >
< div class = "value server-uptime" >
error: uptime
< / div >
< / div >
< / div >
< / div >
< div class = "group reverse" >
< div class = "container-image" >
< img src = "img/serveredit_2.png" >
< / div >
< div class = "container-properties" >
< div class = "row" >
< a class = "key" > {{tr "IP Address" /}}< / a >
< div class = "value server-ip" >
error: ip
< / div >
< / div >
< div class = "row" >
< a class = "key" > {{tr "Version" /}}< / a >
< div class = "value server-version" >
< div class = "container-tooltip" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a > < / a >
< / div >
< / div >
< a > < / a >
< / div >
< / div >
< div class = "row" >
< a class = "key" > {{tr "Platform" /}}< / a >
< div class = "value server-platform" >
error: platform
< / div >
< / div >
< div class = "container-network" >
< div class = "container-button" >
< button class = "btn btn-purple button-show-bandwidth" > {{tr "Show Bandwidth" /}}< / button >
< / div >
< div class = "right" >
< div class = "row" >
< a class = "key" > {{tr "Average ping" /}}< / a >
< div class = "value server-ping" >
error: average ping
< / div >
< / div >
< div class = "row" >
< a class = "key" > {{tr "Average packet loss" /}}< / a >
< div class = "value server-packet-loss" >
error: average packet loss
< / div >
< / div >
< / div >
< / div >
< / div >
< / div >
< div class = "group" >
< div class = "container-image" >
< img src = "img/serveredit_3.png" >
< / div >
< div class = "container-properties" >
< div class = "row" >
< a class = "key" > {{tr "Global unique ID" /}}< / a >
< div class = "value server-unique-id" >
error: unique id
< / div >
< / div >
< div class = "row" >
< a class = "key" > {{tr "Current Channels" /}}< / a >
< div class = "value server-channel-count" >
error: channel count
< / div >
< / div >
< div class = "row" >
2019-09-19 01:25:57 +02:00
< a class = "key" > {{tr "Voice data encryption" /}}< / a >
2019-08-30 23:06:39 +02:00
< div class = "value server-voice-encryption" >
error: voice encryption
< / div >
< / div >
< div class = "row" >
< a class = "key" > {{tr "Minimal security level" /}}< / a >
< div class = "value server-min-security-level" >
error: security level
< / div >
< / div >
< div class = "row" >
< a class = "key" > {{tr "Complains until ban" /}}< / a >
< div class = "value server-complains" >
error: complains
< / div >
< / div >
< / div >
< / div >
2019-12-20 21:40:04 +01:00
< / div >
< div class = "container-buttons" >
< button class = "btn btn-success button-update" > {{tr "Refresh" /}}< / button >
< button class = "btn btn-danger button-close" > {{tr "Close" /}}< / button >
2019-08-30 23:06:39 +02:00
< / div >
< / div >
< / script >
2019-09-12 23:59:35 +02:00
< script class = "jsrender-template" id = "tmpl_server_info_bandwidth" type = "text/html" >
< div > <!-- required for the renderer -->
< div class = "top" >
< div class = "container-image" >
< img src = "img/serveredit_3.png" > <!-- TODO Get the right image! -->
< / div >
< div class = "container-stats" >
< div class = "statistic statistic-packets" >
< a > {{tr "Transmitted packets" /}}< / a >
< div class = "values" >
< a class = "upload" title = "{{tr 'Upload bandwidth' /}}" > error: upload< / a >
< a class = "download" title = "{{tr 'Download bandwidth' /}}" > error: download< / a >
< / div >
< / div >
< div class = "statistic statistic-bytes" >
< a > {{tr "Transmitted bytes" /}}< / a >
< div class = "values" >
< a class = "upload" title = "{{tr 'Upload bandwidth' /}}" > error: upload< / a >
< a class = "download" title = "{{tr 'Download bandwidth' /}}" > error: download< / a >
< / div >
< / div >
< div class = "statistic statistic-ft-bytes" >
< a > {{tr "Transferred file transfer bytes" /}}< / a >
< div class = "values" >
< a class = "upload" title = "{{tr 'Upload bandwidth' /}}" > error: upload< / a >
< a class = "download" title = "{{tr 'Download bandwidth' /}}" > error: download< / a >
< / div >
< / div >
< / div >
< / div >
< div class = "bottom" >
< div class = "statistic statistic-bandwidth" >
< a class = "title" > {{tr "Current bandwidth" /}}< / a >
< div class = "body" >
< div class = "container-canvas" >
< canvas > < / canvas >
< / div >
< div class = "values" >
< a class = "upload" title = "{{tr 'Upload bandwidth' /}}" > N Bytes/s< / a >
< a class = "download" title = "{{tr 'Download bandwidth' /}}" > N Bytes/s< / a >
< / div >
< / div >
< / div >
< div class = "statistic statistic-ft-bandwidth" >
< a class = "title" > {{tr "Current file transfer bandwidth" /}}< / a >
< div class = "body" >
< div class = "container-canvas" >
< canvas > < / canvas >
< / div >
< div class = "values" >
< a class = "upload" title = "{{tr 'Upload bandwidth' /}}" > N Bytes/s< / a >
< a class = "download" title = "{{tr 'Download bandwidth' /}}" > N Bytes/s< / a >
< / div >
< / div >
< / div >
< / div >
< / div >
< / script >
2019-08-21 10:00:01 +02:00
< / body >
< / html >