Monorepo for Tangled

appview/pages: minor improvements to avatar upload form

Signed-off-by: oppiliappan <me@oppi.li>

+25 -18
+1 -1
appview/oauth/handler.go
··· 167 167 return 168 168 } 169 169 170 - l.Debug("addings to default knot") 170 + l.Debug("adding to default knot") 171 171 session, err := o.createAppPasswordSession(o.Config.Core.TmpAltAppPassword, consts.IcyDid) 172 172 if err != nil { 173 173 l.Error("failed to create session", "err", err)
+6
appview/oauth/oauth.go
··· 169 169 170 170 // delete the session 171 171 err1 := o.ClientApp.Logout(r.Context(), sessDid, sessId) 172 + if err1 != nil { 173 + err1 = fmt.Errorf("failed to logout: %w", err1) 174 + } 172 175 173 176 // remove the cookie 174 177 userSession.Options.MaxAge = -1 175 178 err2 := o.SessStore.Save(r, w, userSession) 179 + if err2 != nil { 180 + err2 = fmt.Errorf("failed to save into session store: %w", err2) 181 + } 176 182 177 183 return errors.Join(err1, err2) 178 184 }
+18 -17
appview/pages/templates/user/fragments/editAvatar.html
··· 2 2 <form 3 3 hx-post="/profile/avatar" 4 4 hx-encoding="multipart/form-data" 5 - hx-indicator="#spinner" 6 5 hx-swap="none" 7 - class="flex flex-col gap-2"> 6 + class="flex flex-col gap-2 group/form"> 8 7 <label for="avatar-file" class="uppercase p-0"> 9 8 Upload or Remove Avatar 10 9 </label> ··· 22 21 file:bg-gray-100 file:text-gray-700 23 22 dark:file:bg-gray-700 dark:file:text-gray-300 24 23 hover:file:bg-gray-200 dark:hover:file:bg-gray-600" /> 25 - <div id="avatar-error" class="text-red-500 dark:text-red-400 text-sm min-h-5"></div> 26 24 <div class="flex flex-col gap-2 pt-2"> 27 25 <button type="submit" class="btn w-full flex items-center justify-center gap-2"> 28 - <span class="inline-flex gap-2 items-center">{{ i "upload" "size-4" }} upload</span> 29 - <span id="spinner" class="group"> 30 - {{ i "loader-circle" "ml-2 w-4 h-4 animate-spin hidden group-[.htmx-request]:inline" }} 31 - </span> 26 + {{ i "upload" "size-4 inline group-[.htmx-request]/form:hidden" }} 27 + {{ i "loader-circle" "size-4 animate-spin hidden group-[.htmx-request]/form:inline" }} 28 + upload 32 29 </button> 33 - <button 34 - type="button" 35 - hx-delete="/profile/avatar" 36 - hx-confirm="Are you sure you want to remove your profile picture?" 37 - hx-swap="none" 38 - class="btn w-full flex items-center justify-center gap-2"> 39 - {{ i "trash-2" "size-4" }} 40 - remove avatar 41 - </button> 30 + {{ if .Profile.Avatar }} 31 + <button 32 + type="button" 33 + hx-delete="/profile/avatar" 34 + hx-confirm="Are you sure you want to remove your profile picture?" 35 + hx-swap="none" 36 + class="btn w-full flex items-center justify-center gap-2 group"> 37 + {{ i "trash-2" "size-4 inline group-[.htmx-request]:hidden" }} 38 + {{ i "loader-circle" "size-4 animate-spin hidden group-[.htmx-request]:inline" }} 39 + remove avatar 40 + </button> 41 + {{ end }} 42 42 <button 43 43 id="cancel-avatar-btn" 44 44 type="button" 45 45 popovertarget="avatar-upload-modal" 46 46 popovertargetaction="hide" 47 - class="btn w-full flex items-center justify-center gap-2 text-gray-500 hover:text-gray-700 dark:text-gray-400 dark:hover:text-gray-300"> 47 + class="btn text-red-500 dark:text-red-400 w-full flex items-center justify-center gap-2"> 48 48 {{ i "x" "size-4" }} 49 49 cancel 50 50 </button> 51 51 </div> 52 + <div id="avatar-error" class="text-red-500 dark:text-red-400 text-sm"></div> 52 53 </form> 53 54 {{ end }}