diff --git a/app/components/Catcher.tsx b/app/components/Catcher.tsx index ae3f2438a..917cc0c4c 100644 --- a/app/components/Catcher.tsx +++ b/app/components/Catcher.tsx @@ -1,6 +1,6 @@ import { useCatch } from "@remix-run/react"; import { Button } from "~/components/Button"; -import { useUser } from "~/hooks/useUser"; +import { useUser } from "~/modules/auth"; import { LOG_IN_URL, SENDOU_INK_DISCORD_URL } from "~/utils/urls"; export function Catcher() { diff --git a/app/components/layout/Menu.tsx b/app/components/layout/Menu.tsx index 60dee632a..aac8d5f2c 100644 --- a/app/components/layout/Menu.tsx +++ b/app/components/layout/Menu.tsx @@ -15,7 +15,7 @@ import { SENDOU_INK_TWITTER_URL, } from "~/utils/urls"; import { layoutIcon } from "~/utils/images"; -import { useUser } from "~/hooks/useUser"; +import { useUser } from "~/modules/auth"; export function Menu({ close }: { close: () => void }) { const user = useUser(); diff --git a/app/components/layout/MobileMenu.tsx b/app/components/layout/MobileMenu.tsx index c5b735040..f5fb39ff1 100644 --- a/app/components/layout/MobileMenu.tsx +++ b/app/components/layout/MobileMenu.tsx @@ -1,8 +1,8 @@ import clsx from "clsx"; import { Fragment } from "react"; import { Link } from "@remix-run/react"; -import { useUser } from "~/hooks/useUser"; import { navItemsGrouped } from "./Menu"; +import { useUser } from "~/modules/auth"; export function MobileMenu({ expanded, diff --git a/app/components/layout/UserItem.tsx b/app/components/layout/UserItem.tsx index a2836eb14..9e1090f22 100644 --- a/app/components/layout/UserItem.tsx +++ b/app/components/layout/UserItem.tsx @@ -1,5 +1,5 @@ import { Link } from "@remix-run/react"; -import { useUser } from "~/hooks/useUser"; +import { useUser } from "~/modules/auth"; import { LOG_IN_URL, LOG_OUT_URL, userPage } from "~/utils/urls"; import { Avatar } from "../Avatar"; import { Button } from "../Button"; diff --git a/app/modules/auth/index.ts b/app/modules/auth/index.ts index fbb21ebee..8a5beeef1 100644 --- a/app/modules/auth/index.ts +++ b/app/modules/auth/index.ts @@ -6,3 +6,5 @@ export { } from "./routes.server"; export { getUser, requireUser } from "./user.server"; + +export { useUser } from "./user"; diff --git a/app/hooks/useUser.ts b/app/modules/auth/user.ts similarity index 87% rename from app/hooks/useUser.ts rename to app/modules/auth/user.ts index e4c5ef69a..c133963a0 100644 --- a/app/hooks/useUser.ts +++ b/app/modules/auth/user.ts @@ -2,9 +2,9 @@ import { useMatches } from "@remix-run/react"; import invariant from "tiny-invariant"; import type { RootLoaderData } from "~/root"; -export const useUser = () => { +export function useUser() { const [root] = useMatches(); invariant(root); return (root.data as RootLoaderData).user; -}; +} diff --git a/app/routes/plus/suggestions.tsx b/app/routes/plus/suggestions.tsx index f2a597544..cd80faa15 100644 --- a/app/routes/plus/suggestions.tsx +++ b/app/routes/plus/suggestions.tsx @@ -19,8 +19,7 @@ import { upcomingVoting } from "~/core/plus"; import { db } from "~/db"; import type * as plusSuggestions from "~/db/models/plusSuggestions.server"; import type { PlusSuggestion } from "~/db/types"; -import { useUser } from "~/hooks/useUser"; -import { requireUser } from "~/modules/auth"; +import { requireUser, useUser } from "~/modules/auth"; import { canAddCommentToSuggestionFE, canSuggestNewUserFE, diff --git a/app/routes/plus/suggestions/comment.$tier.$userId.tsx b/app/routes/plus/suggestions/comment.$tier.$userId.tsx index 69db18e8b..6b4f48753 100644 --- a/app/routes/plus/suggestions/comment.$tier.$userId.tsx +++ b/app/routes/plus/suggestions/comment.$tier.$userId.tsx @@ -8,8 +8,7 @@ import { Redirect } from "~/components/Redirect"; import { PlUS_SUGGESTION_COMMENT_MAX_LENGTH } from "~/constants"; import { upcomingVoting } from "~/core/plus"; import { db } from "~/db"; -import { useUser } from "~/hooks/useUser"; -import { requireUser } from "~/modules/auth"; +import { requireUser, useUser } from "~/modules/auth"; import { canAddCommentToSuggestionBE, canAddCommentToSuggestionFE, diff --git a/app/routes/plus/suggestions/new.tsx b/app/routes/plus/suggestions/new.tsx index 2c78ff2c9..b0fda3c38 100644 --- a/app/routes/plus/suggestions/new.tsx +++ b/app/routes/plus/suggestions/new.tsx @@ -2,7 +2,6 @@ import { Form, useMatches } from "@remix-run/react"; import { Button, LinkButton } from "~/components/Button"; import { Dialog } from "~/components/Dialog"; import { Redirect } from "~/components/Redirect"; -import { useUser } from "~/hooks/useUser"; import { canSuggestNewUserFE, canSuggestNewUserBE, @@ -32,7 +31,7 @@ import { db } from "~/db"; import type { UserWithPlusTier } from "~/db/types"; import { ErrorMessage } from "~/components/ErrorMessage"; import { atOrError } from "~/utils/arrays"; -import { requireUser } from "~/modules/auth"; +import { requireUser, useUser } from "~/modules/auth"; const commentActionSchema = z.object({ tier: z.preprocess(actualNumber, z.number().min(1).max(3)), diff --git a/app/routes/u.$identifier.tsx b/app/routes/u.$identifier.tsx index f18b7bd00..268a3a647 100644 --- a/app/routes/u.$identifier.tsx +++ b/app/routes/u.$identifier.tsx @@ -7,7 +7,7 @@ import { Main } from "~/components/Main"; import { SubNav, SubNavLink } from "~/components/SubNav"; import { db } from "~/db"; import type { User } from "~/db/types"; -import { useUser } from "~/hooks/useUser"; +import { useUser } from "~/modules/auth"; import { makeTitle, notFoundIfFalsy } from "~/utils/remix"; import { discordFullName } from "~/utils/strings";