BlueSky & more on desktop lazurite.stormlightlabs.org/
tauri rust typescript bluesky appview atproto solid
at main 23 lines 991 B view raw
1import { Motion } from "solid-motionone"; 2import { Icon } from "./shared/Icon"; 3 4export function ReauthBanner(props: { onReauth: () => void }) { 5 return ( 6 <Motion.div 7 class="flex items-center justify-between gap-4 rounded-lg bg-primary/12 p-4 max-[920px]:flex-col max-[920px]:items-stretch" 8 role="status" 9 initial={{ opacity: 0, y: 12 }} 10 animate={{ opacity: 1, y: 0, scale: [1, 1.008, 1] }} 11 exit={{ opacity: 0, y: 8 }} 12 transition={{ duration: 0.9, easing: "ease-in-out" }}> 13 <div class="grid gap-[0.2rem]"> 14 <p class="m-0 text-base font-semibold">Your session expired.</p> 15 <p class="m-0 text-xs text-on-surface-variant">Sign in again to reconnect your account.</p> 16 </div> 17 <button class="pill-action border-0 bg-white/8 text-on-surface" type="button" onClick={() => props.onReauth()}> 18 <Icon kind="refresh" name="refresh" aria-hidden class="mr-1" /> 19 Sign in again 20 </button> 21 </Motion.div> 22 ); 23}