1// /shoo/callback: shoo.js (loaded in the page head) exchanges the code on2// this path and stores the identity; the Login island then posts the3// id_token to /api/session and returns to where the user was. This page4// only needs to exist and carry the island.5import { define } from "../../utils.ts";6import Login from "../../islands/Login.tsx";78export default define.page(function ShooCallback(ctx) {9 const returnTo = ctx.url.searchParams.get("returnTo") ?? "/";10 return (11 <div style="max-width:640px;margin:0 auto;padding:16px">12 <nav class="nav" style="padding-left:0;padding-right:0">13 <a href="/" class="brand">mosaic</a>14 <span class="sc" style="color:var(--text-dim)">signing in</span>15 <span class="spacer" />16 <Login returnTo={returnTo} />17 </nav>18 <p style="color:var(--muted)">19 Finishing sign-in. If this page stays, <a href={returnTo}>continue</a>.20 </p>21 </div>22 );23});