Pick any line to see why it is the way it is: the commit, the pull request and issue it came from, and what the agent was thinking.
| status.g1t.sh with incident management, invites that land you in the workspace, settings as pages, usage without quotas | 1 | import type { Route } from "./+types/security-log"; |
| 2 | import { page } from "../../lib/meta"; | |
| 3 | import { requireUser } from "../../lib/session.server"; | |
| 4 | import { SecurityLogSection } from "../../components/emails-section"; | |
| 5 | import { loadSecurityLog } from "../../lib/emails.server"; | |
| 6 | ||
| 7 | export function meta(args: Route.MetaArgs) { | |
| 8 | return page(args, { title: "Security log · Settings · g1t" }); | |
| 9 | } | |
| 10 | ||
| 11 | export async function loader({ request, context }: Route.LoaderArgs) { | |
| 12 | const user = requireUser(context, request); | |
| 13 | return { log: await loadSecurityLog(user) }; | |
| 14 | } | |
| 15 | ||
| 16 | export default function SecurityLogSettings({ loaderData }: Route.ComponentProps) { | |
| 17 | return <SecurityLogSection log={loaderData.log} />; | |
| 18 | } |