Add loading indicator to invite screens
This commit is contained in:
		
							parent
							
								
									17ea92a8c2
								
							
						
					
					
						commit
						eec8b0f15b
					
				
					 4 changed files with 9 additions and 10 deletions
				
			
		|  | @ -56,7 +56,7 @@ block body | |||
|     .fl-grow1 | ||||
|       h2.fs-headline1 Invite a Matrix user | ||||
| 
 | ||||
|       form.d-grid.g-af-column.gy4.gx8.jc-start(method="post" action="/api/invite" style="grid-template-rows: repeat(2, auto)") | ||||
|       form.d-grid.g-af-column.gy4.gx8.jc-start(method="post" action="/api/invite" hx-post="/api/invite" hx-indicator="#invite-button") | ||||
|         label.s-label(for="mxid") Matrix ID | ||||
|         input.fl-grow1.s-input.wmx3#mxid(name="mxid" required placeholder="@user:example.org") | ||||
|         label.s-label(for="permissions") Permissions | ||||
|  | @ -67,12 +67,10 @@ block body | |||
|             option(value="admin") Admin | ||||
|         input(type="hidden" name="guild_id" value=guild_id) | ||||
|         .grid--row-start2 | ||||
|           button.s-btn.s-btn__filled Invite | ||||
|           button.s-btn.s-btn__filled#invite-button Invite | ||||
|     div | ||||
|       != svg | ||||
| 
 | ||||
|   h2.mt48.fs-headline1 Moderation | ||||
| 
 | ||||
|   h2.mt48.fs-headline1 Matrix setup | ||||
| 
 | ||||
|   h3.mt32.fs-category Linked channels | ||||
|  |  | |||
|  | @ -13,11 +13,11 @@ block body | |||
|     .s-page-title.mb24 | ||||
|       h1.s-page-title--header= guild.name | ||||
| 
 | ||||
|     .d-flex.g16 | ||||
|     .d-flex.g16#form-container | ||||
|       .fl-grow1 | ||||
|         h2.fs-headline1 Invite a Matrix user | ||||
| 
 | ||||
|         form.d-flex.gy16.fd-column(method="post" action="/api/invite" style="grid-template-rows: repeat(2, auto)") | ||||
|         form.d-flex.gy16.fd-column(method="post" action="/api/invite" hx-post="/api/invite" hx-indicator="#invite-button" hx-select="#ok" hx-target="#form-container") | ||||
|           .d-flex.gy4.fd-column | ||||
|             label.s-label(for="mxid") Matrix ID | ||||
|             input.fl-grow1.s-input.wmx3#mxid(name="mxid" required placeholder="@user:example.org") | ||||
|  | @ -30,4 +30,4 @@ block body | |||
|                 option(value="admin") Admin | ||||
|           input(type="hidden" name="nonce" value=nonce) | ||||
|           div | ||||
|             button.s-btn.s-btn__filled.htmx-indicator Invite | ||||
|             button.s-btn.s-btn__filled#invite-button Invite | ||||
|  |  | |||
|  | @ -1,6 +1,6 @@ | |||
| extends includes/template.pug | ||||
| 
 | ||||
| block body | ||||
|   .ta-center.wmx5.p48.mx-auto | ||||
|   .ta-center.wmx5.p48.mx-auto#ok | ||||
|     != icons.Spots.SpotApproveXL | ||||
|     p.mt24.fs-body2= msg | ||||
|  |  | |||
|  | @ -2,7 +2,7 @@ | |||
| 
 | ||||
| const assert = require("assert/strict") | ||||
| const {z} = require("zod") | ||||
| const {H3Event, defineEventHandler, sendRedirect, useSession, createError, getValidatedQuery, readValidatedBody} = require("h3") | ||||
| const {H3Event, defineEventHandler, sendRedirect, useSession, createError, getValidatedQuery, readValidatedBody, setResponseHeader} = require("h3") | ||||
| const {randomUUID} = require("crypto") | ||||
| const {LRUCache} = require("lru-cache") | ||||
| const Ty = require("../../types") | ||||
|  | @ -191,9 +191,10 @@ as.router.post("/api/invite", defineEventHandler(async event => { | |||
| 		( parsedBody.permissions === "admin" ? 100 | ||||
| 		: parsedBody.permissions === "moderator" ? 50 | ||||
| 		: 0) | ||||
| 	await api.setUserPowerCascade(spaceID, parsedBody.mxid, powerLevel) | ||||
| 	if (powerLevel) await api.setUserPowerCascade(spaceID, parsedBody.mxid, powerLevel) | ||||
| 
 | ||||
| 	if (parsedBody.guild_id) { | ||||
| 		setResponseHeader(event, "HX-Refresh", true) | ||||
| 		return sendRedirect(event, `/guild?guild_id=${guild_id}`, 302) | ||||
| 	} else { | ||||
| 		return sendRedirect(event, "/ok?msg=User has been invited.", 302) | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue