dkforest

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

chat-room-settings.gohtml (3356B)


      1 {{ define "extra-head" }}
      2     <style>
      3         .captcha-img { transition: transform .2s; }
      4         .captcha-img:hover { transform: scale(2.5); }
      5     </style>
      6 {{ end }}
      7 
      8 {{ define "content" }}
      9 
     10 <div class="container">
     11     <nav aria-label="breadcrumb">
     12         <ol class="breadcrumb">
     13             <li class="breadcrumb-item"><a href="/chat">Chat</a></li>
     14             <li class="breadcrumb-item active">{{ t "Create room" . }}</li>
     15         </ol>
     16     </nav>
     17 
     18     <div class="col-8 offset-2 col-md-8 offset-md-2 col-sm-8 col-lg-6 offset-lg-3 col-xl-4 offset-xl-4">
     19         {{ if .Data.Error }}
     20             <div class="alert alert-danger">{{ .Data.Error }}</div>
     21         {{ end }}
     22 
     23         <p class="mb-4">{{ t "If the room has a password, all messages are encrypted in the database." . }}</p>
     24 
     25         <form method="post">
     26             <input type="hidden" name="csrf" value="{{ .CSRF }}" />
     27             <input type="hidden" name="captcha_id" value="{{ .Data.CaptchaID }}" />
     28             <div class="form-group">
     29                 <label for="room_name">{{ t "Room name 3-50 characters [a-zA-Z0-9_]" . }}</label>
     30                 <input class="form-control{{ if .Data.ErrorRoomName }} is-invalid{{ end }}" type="text" name="room_name" id="room_name" placeholder="Room name" value="{{ .Data.RoomName }}" />
     31                 {{ if .Data.ErrorRoomName }}
     32                     <div class="invalid-feedback">{{ .Data.ErrorRoomName }}</div>
     33                 {{ end }}
     34             </div>
     35             <div class="form-group">
     36                 <label for="password">{{ t "Optional password" . }}</label>
     37                 <input class="form-control" type="password" name="password" id="password" placeholder="Password (empty for no password)" value="{{ .Data.Password }}" />
     38             </div>
     39             <div class="form-group">
     40                 <div class="form-check">
     41                     <input type="checkbox" class="form-check-input" name="is_listed" id="is_listed" value="1"{{ if .Data.IsListed }} checked{{ end }} />
     42                     <label class="form-check-label" for="is_listed">{{ t "Publicly listed" . }}</label>
     43                 </div>
     44                 <div class="form-check">
     45                     <input type="checkbox" class="form-check-input" name="is_ephemeral" id="is_ephemeral" value="1"{{ if .Data.IsEphemeral }} checked{{ end }} disabled />
     46                     <label class="form-check-label" for="is_ephemeral">{{ t "Ephemeral room (auto delete after 24h of inactivity)" . }}</label>
     47                 </div>
     48             </div>
     49             <div class="form-group">
     50                 <div class="mb-2 text-center">
     51                     <img src="data:image/png;base64,{{ .Data.CaptchaImg }}" alt="captcha" style="background-color: hsl(0, 0%, 90%);" class="captcha-img" />
     52                 </div>
     53                 <input class="transparent-input form-control{{ if .Data.ErrCaptcha }} is-invalid{{ end }}" placeholder="{{ t "Captcha" . }}" name="captcha" type="text" value="{{ .Data.Captcha }}" autocomplete="off" maxlength="6" required />
     54                 {{ if .Data.ErrCaptcha }}<div class="invalid-feedback d-block">{{ .Data.ErrCaptcha }}</div>{{ end }}
     55             </div>
     56             <div class="form-group">
     57                 <button class="btn btn-primary btn-block">{{ t "Create room" . }}</button>
     58             </div>
     59         </form>
     60     </div>
     61 </div>
     62 
     63 {{ end }}