dkforest

A forum and chat platform (onion)
git clone https://git.dasho.dev/n0tr1v/dkforest.git
Log | Files | Refs | LICENSE

chat.gohtml (24444B)


      1 {{ define "sub-content" }}
      2 
      3 <ul class="nav nav-tabs mb-3">
      4     <li class="nav-item">
      5         <a class="nav-link active" href="/settings/chat">General</a>
      6     </li>
      7     <li class="nav-item">
      8         <a class="nav-link" href="/settings/chat/pm">PM</a>
      9     </li>
     10     <li class="nav-item">
     11         <a class="nav-link" href="/settings/chat/ignore">Ignore</a>
     12     </li>
     13     <li class="nav-item">
     14         <a class="nav-link" href="/settings/chat/snippets">Snippets</a>
     15     </li>
     16 </ul>
     17 
     18 {{ if .Data.Error }}
     19     <div class="alert alert-danger">{{ .Data.Error }}</div>
     20 {{ end }}
     21 
     22 
     23 <div class="card mb-3">
     24     <div class="card-header">
     25         {{ t "Chat settings" . }}
     26     </div>
     27     <div class="card-body">
     28         <form method="post" novalidate>
     29             <input type="hidden" name="csrf" value="{{ .CSRF }}" />
     30             <input type="hidden" name="formName" value="changeSettings" />
     31             <div class="form-group">
     32                 <label for="date_format">{{ t "Date format" . }}</label>
     33                 <select name="date_format" id="date_format" class="form-control">
     34                     <option value="0"{{ if eq .Data.DateFormat 0 }} selected{{ end }}>%m-%d %H:%M:%S</option>
     35                     <option value="1"{{ if eq .Data.DateFormat 1 }} selected{{ end }}>%H:%M:%S</option>
     36                     <option value="2"{{ if eq .Data.DateFormat 2 }} selected{{ end }}>%m-%d %I:%M:%S (12-hour clock)</option>
     37                     <option value="3"{{ if eq .Data.DateFormat 3 }} selected{{ end }}>%I:%M:%S (12-hour clock)</option>
     38                     <option value="4"{{ if eq .Data.DateFormat 4 }} selected{{ end }}>Do not display date</option>
     39                 </select>
     40             </div>
     41             <div class="form-group">
     42                 <label for="refresh_rate">{{ t "Refresh rate" . }}</label>
     43                 <input type="number" min="5" max="60" id="refresh_rate" name="refresh_rate" value="{{ .Data.RefreshRate }}" class="form-control" />
     44             </div>
     45             <div>
     46                 <div class="form-group d-inline-block mr-3">
     47                     <label for="chat_color">{{ t "Text color" . }}</label>
     48                     <div class="input-group color-pkr">
     49                         <div class="input-group-prepend"><span style="background-color: {{ .Data.ChatColor }};" class="input-group-text"></span></div>
     50                         <input type="color" id="chat_color" name="chat_color" value="{{ .Data.ChatColor }}" class="form-control"{{ if not .AuthUser.CanChangeColor }} disabled{{ end }} />
     51                     </div>
     52                 </div>
     53                 <div class="form-group d-inline-block mr-3">
     54                     <label for="chat_background_color">{{ t "Background color" . }}</label>
     55                     <div class="input-group color-pkr">
     56                         <div class="input-group-prepend"><span style="background-color: {{ .Data.ChatBackgroundColor }};" class="input-group-text"></span></div>
     57                         <input type="color" id="chat_background_color" name="chat_background_color" value="{{ .Data.ChatBackgroundColor }}" class="form-control" />
     58                     </div>
     59                 </div>
     60             </div>
     61             <div class="form-group">
     62                 <label for="chat_font">{{ t "Font" . }}</label>
     63                 <select name="chat_font" id="chat_font" class="form-control">
     64                     {{ range .Data.AllFonts }}
     65                         <option value="{{ .Value }}" style="font-family:{{ .Style | css }}"{{ if eq $.Data.ChatFont .Value  }} selected{{ end }}>{{ .Display }}</option>
     66                     {{ end }}
     67                 </select>
     68             </div>
     69             <div class="form-group">
     70                 <div class="form-check form-check-1">
     71                     <div class="checkbox-wrapper form-check-input">
     72                         <input class="my-cbx" type="checkbox" name="chat_bold" id="chat_bold" value="1"{{ if .Data.ChatBold }} checked{{ end }} />
     73                         <label for="chat_bold" class="toggle"><span></span></label>
     74                     </div>
     75                     <label class="form-check-label" for="chat_bold">{{ t "Bold" . }}</label>
     76                 </div>
     77 
     78                 <div class="form-check form-check-1">
     79                     <div class="checkbox-wrapper form-check-input">
     80                         <input class="my-cbx" type="checkbox" name="chat_italic" id="chat_italic" value="1"{{ if .Data.ChatItalic }} checked{{ end }} />
     81                         <label for="chat_italic" class="toggle"><span></span></label>
     82                     </div>
     83                     <label class="form-check-label" for="chat_italic">{{ t "Italic" . }}</label>
     84                 </div>
     85             </div>
     86             <div class="form-group">
     87                 <span {{ .AuthUser.GenerateChatStyle | attr }}>{{ t "This is a sample text" . }}</span>
     88             </div>
     89 
     90             <hr />
     91 
     92             <div class="form-group">
     93                 <div class="form-check form-check-1">
     94                     <div class="checkbox-wrapper form-check-input">
     95                         <input class="my-cbx" type="checkbox" name="chat_read_marker_enabled" id="chat_read_marker_enabled" value="1"{{ if .Data.ChatReadMarkerEnabled }} checked{{ end }} />
     96                         <label for="chat_read_marker_enabled" class="toggle"><span></span></label>
     97                     </div>
     98                     <label class="form-check-label" for="chat_read_marker_enabled">{{ t "Enable read marker" . }}</label>
     99                 </div>
    100             </div>
    101             <div class="form-group">
    102                 <label for="chat_read_marker_color">{{ t "Marker color" . }}</label>
    103                 <div class="input-group color-pkr">
    104                     <div class="input-group-prepend"><span style="background-color: {{ .Data.ChatReadMarkerColor }};" class="input-group-text"></span></div>
    105                     <input type="color" id="chat_read_marker_color" name="chat_read_marker_color" value="{{ .Data.ChatReadMarkerColor }}" class="form-control" />
    106                 </div>
    107             </div>
    108             <div class="form-group">
    109                 <label for="chat_read_marker_size">{{ t "Marker size in px" . }}</label>
    110                 <input type="number" min="1" max="5" id="chat_read_marker_size" name="chat_read_marker_size" value="{{ .Data.ChatReadMarkerSize }}" class="form-control" />
    111             </div>
    112 
    113             <hr />
    114 
    115             <div>
    116                 <label for="code_block_height" class="toggle"><span>Code block height (15-300px)</span></label>
    117                 <input name="code_block_height" id="code_block_height" type="number" min="15" max="300" step="1" value="{{ .Data.CodeBlockHeight }}" />
    118             </div>
    119             {{ if $.AuthUser.CanSeeHB }}
    120                 <div>
    121                     <label for="hellban_opacity" class="toggle"><span>Hellban opacity</span></label>
    122                     <input name="hellban_opacity" id="hellban_opacity" type="number" min="0.1" max="1.0" step="0.1" value="{{ .Data.HellbanOpacity }}" />
    123                 </div>
    124             {{ end }}
    125 
    126             <div class="form-group">
    127                 <div class="form-check form-check-1">
    128                     <div class="checkbox-wrapper form-check-input">
    129                         <input class="my-cbx" type="checkbox" name="hide_ignored_users_from_list" id="hide_ignored_users_from_list" value="1"{{ if .Data.HideIgnoredUsersFromList }} checked{{ end }} />
    130                         <label for="hide_ignored_users_from_list" class="toggle"><span></span></label>
    131                     </div>
    132                     <label class="form-check-label" for="hide_ignored_users_from_list">{{ t "Hide ignored users from users lists" . }}</label>
    133                 </div>
    134                 <div class="form-check form-check-1">
    135                     <div class="checkbox-wrapper form-check-input">
    136                         <input class="my-cbx" type="checkbox" name="hide_right_column" id="hide_right_column" value="1"{{ if .Data.HideRightColumn }} checked{{ end }} />
    137                         <label for="hide_right_column" class="toggle"><span></span></label>
    138                     </div>
    139                     <label class="form-check-label" for="hide_right_column">{{ t "Hide right column" . }}</label>
    140                 </div>
    141                 <div class="form-check form-check-1">
    142                     <div class="checkbox-wrapper form-check-input">
    143                         <input class="my-cbx" type="checkbox" name="chat_bar_at_bottom" id="chat_bar_at_bottom" value="1"{{ if .Data.ChatBarAtBottom }} checked{{ end }} />
    144                         <label for="chat_bar_at_bottom" class="toggle"><span></span></label>
    145                     </div>
    146                     <label class="form-check-label" for="chat_bar_at_bottom">{{ t "Chat bar at bottom" . }}</label>
    147                 </div>
    148                 <div class="form-check form-check-1">
    149                     <div class="checkbox-wrapper form-check-input">
    150                         <input class="my-cbx" type="checkbox" name="autocomplete_commands_enabled" id="autocomplete_commands_enabled" value="1"{{ if .Data.AutocompleteCommandsEnabled }} checked{{ end }} />
    151                         <label for="autocomplete_commands_enabled" class="toggle"><span></span></label>
    152                     </div>
    153                     <label class="form-check-label" for="autocomplete_commands_enabled">{{ t "Autocomplete slash commands" . }}</label>
    154                 </div>
    155                 <div class="form-check form-check-1">
    156                     <div class="checkbox-wrapper form-check-input">
    157                         <input class="my-cbx" type="checkbox" name="spellcheck_enabled" id="spellcheck_enabled" value="1"{{ if .Data.SpellcheckEnabled }} checked{{ end }} />
    158                         <label for="spellcheck_enabled" class="toggle"><span></span></label>
    159                     </div>
    160                     <label class="form-check-label" for="spellcheck_enabled">{{ t "Enable spellcheck in chat input" . }}</label>
    161                 </div>
    162                 <div class="form-check form-check-1">
    163                     <div class="checkbox-wrapper form-check-input">
    164                         <input class="my-cbx" type="checkbox" name="afk_indicator_enabled" id="afk_indicator_enabled" value="1"{{ if .Data.AfkIndicatorEnabled }} checked{{ end }} />
    165                         <label for="afk_indicator_enabled" class="toggle"><span></span></label>
    166                     </div>
    167                     <label class="form-check-label" for="afk_indicator_enabled">{{ t "Display afk indicator" . }}</label>
    168                 </div>
    169                 <div class="form-check form-check-1">
    170                     <div class="checkbox-wrapper form-check-input">
    171                         <input class="my-cbx" type="checkbox" name="display_delete_button" id="display_delete_button" value="1"{{ if .Data.DisplayDeleteButton }} checked{{ end }} />
    172                         <label for="display_delete_button" class="toggle"><span></span></label>
    173                     </div>
    174                     <label class="form-check-label" for="display_delete_button">{{ t "Display delete button" . }}</label>
    175                 </div>
    176                 {{ if $.AuthUser.CanUseMultiline }}
    177                     <div class="form-check form-check-1">
    178                         <div class="checkbox-wrapper form-check-input">
    179                             <input class="my-cbx" type="checkbox" name="manual_multiline" id="manual_multiline" value="1"{{ if .Data.ManualMultiline }} checked{{ end }} />
    180                             <label for="manual_multiline" class="toggle"><span></span></label>
    181                         </div>
    182                         <label class="form-check-label" for="manual_multiline">{{ t "Enable manual multiline" . }}</label>
    183                     </div>
    184                 {{ end }}
    185                 <div class="form-check form-check-1">
    186                     <div class="checkbox-wrapper form-check-input">
    187                         <input class="my-cbx" type="checkbox" name="notify_chess_games" id="notify_chess_games" value="1"{{ if .Data.NotifyChessGames }} checked{{ end }} />
    188                         <label for="notify_chess_games" class="toggle"><span></span></label>
    189                     </div>
    190                     <label class="form-check-label" for="notify_chess_games">{{ t "Notify chess games" . }}</label>
    191                 </div>
    192                 <div class="form-check form-check-1">
    193                     <div class="checkbox-wrapper form-check-input">
    194                         <input class="my-cbx" type="checkbox" name="notify_chess_move" id="notify_chess_move" value="1"{{ if .Data.NotifyChessMove }} checked{{ end }} />
    195                         <label for="notify_chess_move" class="toggle"><span></span></label>
    196                     </div>
    197                     <label class="form-check-label" for="notify_chess_move">{{ t "Notify chess move" . }}</label>
    198                 </div>
    199                 <div class="form-check form-check-1">
    200                     <div class="checkbox-wrapper form-check-input">
    201                         <input class="my-cbx" type="checkbox" name="use_stream" id="use_stream" value="1"{{ if .Data.UseStream }} checked{{ end }} />
    202                         <label for="use_stream" class="toggle"><span></span></label>
    203                     </div>
    204                     <label class="form-check-label" for="use_stream">{{ t "Use chat stream version" . }}</label>
    205                 </div>
    206                 <div class="form-check form-check-1">
    207                     <div class="checkbox-wrapper form-check-input">
    208                         <input class="my-cbx" type="checkbox" name="use_stream_menu" id="use_stream_menu" value="1"{{ if .Data.UseStreamMenu }} checked{{ end }} />
    209                         <label for="use_stream_menu" class="toggle"><span></span></label>
    210                     </div>
    211                     <label class="form-check-label" for="use_stream_menu">{{ t "Use chat menu stream version" . }}</label>
    212                 </div>
    213                 <div class="form-check form-check-1">
    214                     <div class="checkbox-wrapper form-check-input">
    215                         <input class="my-cbx" type="checkbox" name="use_stream_top_bar" id="use_stream_top_bar" value="1"{{ if .Data.UseStreamTopBar }} checked{{ end }} />
    216                         <label for="use_stream_top_bar" class="toggle"><span></span></label>
    217                     </div>
    218                     <label class="form-check-label" for="use_stream_top_bar">{{ t "Use chat top-bar stream version" . }}</label>
    219                 </div>
    220                 <div class="form-check form-check-1">
    221                     <div class="checkbox-wrapper form-check-input">
    222                         <input class="my-cbx" type="checkbox" name="display_alive_indicator" id="display_alive_indicator" value="1"{{ if .Data.DisplayAliveIndicator }} checked{{ end }} />
    223                         <label for="display_alive_indicator" class="toggle"><span></span></label>
    224                     </div>
    225                     <label class="form-check-label" for="display_alive_indicator">{{ t "Display alive indicator" . }}</label>
    226                 </div>
    227                 <div class="form-check form-check-1">
    228                     <div class="checkbox-wrapper form-check-input">
    229                         <input class="my-cbx" type="checkbox" name="confirm_external_links" id="confirm_external_links" value="1"{{ if .AuthUser.ConfirmExternalLinks }} checked{{ end }} />
    230                         <label for="confirm_external_links" class="toggle"><span></span></label>
    231                     </div>
    232                     <label class="form-check-label" for="confirm_external_links">Confirm before opening external links</label>
    233                 </div>
    234                 <div class="form-check form-check-1">
    235                     <div class="checkbox-wrapper form-check-input">
    236                         <input class="my-cbx" type="checkbox" name="chess_sounds_enabled" id="chess_sounds_enabled" value="1"{{ if .AuthUser.ChessSoundsEnabled }} checked{{ end }} />
    237                         <label for="chess_sounds_enabled" class="toggle"><span></span></label>
    238                     </div>
    239                     <label class="form-check-label" for="chess_sounds_enabled">Enabled chess sounds</label>
    240                 </div>
    241                 <div class="form-check form-check-1">
    242                     <div class="checkbox-wrapper form-check-input">
    243                         <input class="my-cbx" type="checkbox" name="poker_sounds_enabled" id="poker_sounds_enabled" value="1"{{ if .AuthUser.PokerSoundsEnabled }} checked{{ end }} />
    244                         <label for="poker_sounds_enabled" class="toggle"><span></span></label>
    245                     </div>
    246                     <label class="form-check-label" for="poker_sounds_enabled">Enabled poker sounds</label>
    247                 </div>
    248                 {{ if $.AuthUser.IsModerator }}
    249                     <div class="form-check form-check-1">
    250                         <div class="checkbox-wrapper form-check-input">
    251                             <input class="my-cbx" type="checkbox" name="display_hellbanned" id="display_hellbanned" value="1"{{ if .Data.DisplayHellbanned }} checked{{ end }} />
    252                             <label for="display_hellbanned" class="toggle"><span></span></label>
    253                         </div>
    254                         <label class="form-check-label" for="display_hellbanned">{{ t "Display hellbanned messages" . }}</label>
    255                     </div>
    256                     <div class="form-check form-check-1">
    257                         <div class="checkbox-wrapper form-check-input">
    258                             <input class="my-cbx" type="checkbox" name="display_moderators" id="display_moderators" value="1"{{ if .Data.DisplayModerators }} checked{{ end }} />
    259                             <label for="display_moderators" class="toggle"><span></span></label>
    260                         </div>
    261                         <label class="form-check-label" for="display_moderators">{{ t "Display moderators messages" . }}</label>
    262                     </div>
    263                     <div class="form-check form-check-1">
    264                         <div class="checkbox-wrapper form-check-input">
    265                             <input class="my-cbx" type="checkbox" name="display_hellban_button" id="display_hellban_button" value="1"{{ if .Data.DisplayHellbanButton }} checked{{ end }} />
    266                             <label for="display_hellban_button" class="toggle"><span></span></label>
    267                         </div>
    268                         <label class="form-check-label" for="display_hellban_button">{{ t "Display hellban button" . }}</label>
    269                     </div>
    270                     <div class="form-check form-check-1">
    271                         <div class="checkbox-wrapper form-check-input">
    272                             <input class="my-cbx" type="checkbox" name="display_kick_button" id="display_kick_button" value="1"{{ if .Data.DisplayKickButton }} checked{{ end }} />
    273                             <label for="display_kick_button" class="toggle"><span></span></label>
    274                         </div>
    275                         <label class="form-check-label" for="display_kick_button">{{ t "Display kick button" . }}</label>
    276                     </div>
    277                 {{ end }}
    278             </div>
    279             <div class="form-group">
    280                 <label for="theme">{{ t "Theme" . }}</label>
    281                 <select id="theme" name="theme" class="form-control">
    282                     <option value="0"{{ if eq .Data.Theme 0 }} selected{{ end }}>Default</option>
    283                     <option value="1"{{ if eq .Data.Theme 1 }} selected{{ end }}>Christmas</option>
    284                     <option value="2"{{ if eq .Data.Theme 2 }} selected{{ end }}>Plain</option>
    285                 </select>
    286             </div>
    287             <div class="form-group">
    288                 <table>
    289                     <tr>
    290                         <td>
    291                             <div class="form-check form-check-1">
    292                                 <div class="checkbox-wrapper form-check-input">
    293                                     <input class="my-cbx" type="checkbox" name="notify_new_message" id="notify_new_message" value="1"{{ if .Data.NotifyNewMessage }} checked{{ end }} />
    294                                     <label for="notify_new_message" class="toggle"><span></span></label>
    295                                 </div>
    296                                 <label class="form-check-label" for="notify_new_message">{{ t "Notify on new message" . }}</label>
    297                             </div>
    298                         </td>
    299 <!--                        <td>-->
    300 <!--                            <select name="notify_new_message_sound">-->
    301 <!--                                <option value="1"{{ if eq .Data.NotifyNewMessageSound 1 }} selected{{ end }}>Sound 1</option>-->
    302 <!--                                <option value="2"{{ if eq .Data.NotifyNewMessageSound 2 }} selected{{ end }}>Sound 2</option>-->
    303 <!--                                <option value="3"{{ if eq .Data.NotifyNewMessageSound 3 }} selected{{ end }}>Sound 3</option>-->
    304 <!--                                <option value="4"{{ if eq .Data.NotifyNewMessageSound 4 }} selected{{ end }}>Sound 4</option>-->
    305 <!--                            </select>-->
    306 <!--                        </td>-->
    307                     </tr>
    308                     <tr>
    309                         <td>
    310                             <div class="form-check form-check-1">
    311                                 <div class="checkbox-wrapper form-check-input">
    312                                     <input class="my-cbx" type="checkbox" name="notify_tagged" id="notify_tagged" value="1"{{ if .Data.NotifyTagged }} checked{{ end }} />
    313                                     <label for="notify_tagged" class="toggle"><span></span></label>
    314                                 </div>
    315                                 <label class="form-check-label" for="notify_tagged">{{ t "Notify when tagged" . }}</label>
    316                             </div>
    317                         </td>
    318 <!--                        <td>-->
    319 <!--                            <select name="notify_tagged_sound">-->
    320 <!--                                <option value="1"{{ if eq .Data.NotifyTaggedSound 1 }} selected{{ end }}>Sound 1</option>-->
    321 <!--                                <option value="2"{{ if eq .Data.NotifyTaggedSound 2 }} selected{{ end }}>Sound 2</option>-->
    322 <!--                                <option value="3"{{ if eq .Data.NotifyTaggedSound 3 }} selected{{ end }}>Sound 3</option>-->
    323 <!--                                <option value="4"{{ if eq .Data.NotifyTaggedSound 4 }} selected{{ end }}>Sound 4</option>-->
    324 <!--                            </select>-->
    325 <!--                        </td>-->
    326                     </tr>
    327                     <tr>
    328                         <td>
    329                             <div class="form-check form-check-1">
    330                                 <div class="checkbox-wrapper form-check-input">
    331                                     <input class="my-cbx" type="checkbox" name="notify_pmmed" id="notify_pmmed" value="1"{{ if .Data.NotifyPmmed }} checked{{ end }} />
    332                                     <label for="notify_pmmed" class="toggle"><span></span></label>
    333                                 </div>
    334                                 <label class="form-check-label" for="notify_pmmed">{{ t "Notify when receiving private message" . }}</label>
    335                             </div>
    336                         </td>
    337 <!--                        <td>-->
    338 <!--                            <select name="notify_pmmed_sound">-->
    339 <!--                                <option value="1"{{ if eq .Data.NotifyPmmedSound 1 }} selected{{ end }}>Sound 1</option>-->
    340 <!--                                <option value="2"{{ if eq .Data.NotifyPmmedSound 2 }} selected{{ end }}>Sound 2</option>-->
    341 <!--                                <option value="3"{{ if eq .Data.NotifyPmmedSound 3 }} selected{{ end }}>Sound 3</option>-->
    342 <!--                                <option value="4"{{ if eq .Data.NotifyPmmedSound 4 }} selected{{ end }}>Sound 4</option>-->
    343 <!--                            </select>-->
    344 <!--                        </td>-->
    345                     </tr>
    346                 </table>
    347             </div>
    348             <div class="form-group">
    349                 <input type="submit" value="{{ t "Save" . }}" class="btn btn-primary" />
    350             </div>
    351         </form>
    352     </div>
    353 </div>
    354 
    355 {{ end }}