import { ApiError, firstErrorFor } from "~/lib/api/error"; import { Trans, useTranslation } from "react-i18next"; import { Alert } from "react-bootstrap"; import { Link } from "@remix-run/react"; import ErrorAlert from "~/components/ErrorAlert"; export default function RegisterError({ error }: { error: ApiError }) { const { t } = useTranslation(); // TODO: maybe turn these messages into their own error codes? const ticketMessage = firstErrorFor(error, "ticket")?.message; const usernameMessage = firstErrorFor(error, "username")?.message; if (ticketMessage === "Invalid ticket") { return ( {t("error.heading")} Invalid ticket (it might have been too long since you logged in), please{" "} try again. ); } if (usernameMessage === "Username is already taken") { return ( {t("log-in.callback.invalid-username")} {t("log-in.callback.username-taken")} ); } return ; }