Feat: enter room: login with link
This commit is contained in:
@ -1,22 +1,26 @@
|
||||
{{define "main"}}
|
||||
<!-- user has no username -> login form -->
|
||||
Start of main temp
|
||||
{{ if not . }}
|
||||
{{template "login"}}
|
||||
<!-- user has name but no room id => suggest to create room -->
|
||||
login temp
|
||||
{{template "login"}}
|
||||
{{ else if ne .LinkLogin "" }}
|
||||
got to linklogin
|
||||
{{template "linklogin" .LinkLogin}}
|
||||
{{ else if eq .State.RoomID "" }}
|
||||
<div id="hello-user">
|
||||
<p>Hello {{.State.Username}}</p>
|
||||
</div>
|
||||
<div id="create-room" class="create-room-div">
|
||||
<button button id="create-form-btn" type="submit" class="justify-center rounded-md bg-indigo-600 px-3 py-1.5 text-sm font-semibold leading-6 text-white shadow-sm hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600" hx-get="/room/createform" hx-swap="outerHTML">SHOW ROOM CREATE FORM</button>
|
||||
</div>
|
||||
<div>
|
||||
{{template "roomlist" .List}}
|
||||
</div>
|
||||
empty state roomid
|
||||
<div id="hello-user">
|
||||
<p>Hello {{.State.Username}}</p>
|
||||
</div>
|
||||
<div id="create-room" class="create-room-div">
|
||||
<button button id="create-form-btn" type="submit" class="justify-center rounded-md bg-indigo-600 px-3 py-1.5 text-sm font-semibold leading-6 text-white shadow-sm hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600" hx-get="/room/createform" hx-swap="outerHTML">SHOW ROOM CREATE FORM</button>
|
||||
</div>
|
||||
<div>
|
||||
{{template "roomlist" .List}}
|
||||
</div>
|
||||
{{else}}
|
||||
<!-- instead of having room div; better to replace ancestor completely with room -->
|
||||
<div id="room">
|
||||
{{template "room" .}}
|
||||
</div>
|
||||
else
|
||||
<div id="room">
|
||||
{{template "room" .}}
|
||||
</div>
|
||||
{{end}}
|
||||
{{end}}
|
||||
|
16
components/linklogin.html
Normal file
16
components/linklogin.html
Normal file
@ -0,0 +1,16 @@
|
||||
{{define "linklogin"}}
|
||||
<div id="logindiv">
|
||||
You're about to join room#{{.}}; but first!
|
||||
<form class="space-y-6" hx-post="/login" hx-target="#ancestor">
|
||||
<label For="username" class="block text-sm font-medium leading-6 text-white-900">tell us your username</label>
|
||||
<div class="mt-2">
|
||||
<input id="username" name="username" hx-target="#login_notice" hx-swap="outerHTML" hx-post="/check/name" hx-trigger="input changed delay:400ms" autocomplete="username" required class="block w-full rounded-md border-0 bg-white py-1.5 text-gray-900 shadow-sm ring-1 ring-inset ring-gray-300 placeholder:text-gray-300 focus:ring-2 focus:ring-inset focus:ring-indigo-600 sm:text-sm sm:leading-6 text-center"/>
|
||||
<input type="hidden" name="room_id" value={{.}}>
|
||||
</div>
|
||||
<div id="login_notice">this name looks available</div>
|
||||
<div>
|
||||
<button type="submit" class="flex w-full justify-center rounded-md bg-indigo-600 px-3 py-1.5 text-sm font-semibold leading-6 text-white shadow-sm hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600">Sign in</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
{{end}}
|
Reference in New Issue
Block a user