From 223233c582aaa7edf8a5e4f7ba64a2f97a300f3b Mon Sep 17 00:00:00 2001 From: "Kalle (Sendou)" <38327916+Sendouc@users.noreply.github.com> Date: Sat, 30 Jan 2021 12:57:22 +0200 Subject: [PATCH] relocate some hooks --- components/analyzer/BuildStats.tsx | 4 ++-- components/analyzer/HeadOnlyToggle.tsx | 2 +- components/analyzer/LdeSlider.tsx | 2 +- components/analyzer/StatChart.tsx | 2 +- components/builds/BuildCard.tsx | 2 +- components/builds/BuildFilters.tsx | 2 +- components/builds/ViewAP.tsx | 2 +- components/common/Breadcrumbs.tsx | 2 +- components/common/GearImage.tsx | 2 +- components/common/Markdown.tsx | 2 +- components/common/MyIconButton.tsx | 2 +- components/common/MyLink.tsx | 2 +- components/common/MySelect.tsx | 2 +- components/common/Section.tsx | 2 +- components/common/SubText.tsx | 2 +- components/common/Table.tsx | 2 +- components/layout/Footer.tsx | 2 +- components/layout/FooterContent.tsx | 2 +- components/layout/FooterWaves.tsx | 2 +- components/layout/IconNavBar.tsx | 2 +- components/layout/LanguageSelector.tsx | 2 +- components/layout/TopNav.tsx | 2 +- components/plans/DraggableImageAdder.tsx | 2 +- components/plans/DraggableToolsSelector.tsx | 2 +- components/play/RegisterHeader.tsx | 2 +- components/player/QuadTable.tsx | 2 +- components/player/TwinTable.tsx | 2 +- components/player/XRankTable.tsx | 2 +- components/sr/RotationSelector.tsx | 2 +- components/top500/Top500Table.tsx | 2 +- components/top500/WeaponLineChart.tsx | 2 +- components/u/AvatarWithInfo.tsx | 3 +-- components/u/BuildModal.tsx | 2 +- lib/useDebounce.ts => hooks/common.ts | 15 +++++++++++++++ hooks/freeagents.ts | 2 +- .../useAbilityEffects/getAbilityEffect.ts | 0 {lib => hooks}/useAbilityEffects/index.ts | 0 lib/{ => data}/englishToInternal.json | 0 lib/useMyTheme.ts | 9 --------- lib/useUser.ts | 9 --------- pages/404.tsx | 2 +- pages/about.tsx | 2 +- pages/admin.tsx | 2 +- pages/analyzer.tsx | 4 ++-- pages/builds/[[...slug]].tsx | 2 +- pages/freeagents.tsx | 3 +-- pages/index.tsx | 2 +- pages/links.tsx | 2 +- pages/play/index.tsx | 2 +- pages/sr/leaderboards/admin.tsx | 2 +- pages/sr/leaderboards/new.tsx | 2 +- pages/sr/player/[id].tsx | 2 +- pages/t/[team].tsx | 3 +-- pages/t/index.tsx | 3 +-- pages/u/[identifier].tsx | 2 +- pages/u/index.tsx | 3 +-- pages/xtrends.tsx | 2 +- 57 files changed, 68 insertions(+), 76 deletions(-) rename lib/useDebounce.ts => hooks/common.ts (51%) rename {lib => hooks}/useAbilityEffects/getAbilityEffect.ts (100%) rename {lib => hooks}/useAbilityEffects/index.ts (100%) rename lib/{ => data}/englishToInternal.json (100%) delete mode 100644 lib/useMyTheme.ts delete mode 100644 lib/useUser.ts diff --git a/components/analyzer/BuildStats.tsx b/components/analyzer/BuildStats.tsx index 992c0a4a0..59f1fb8ee 100644 --- a/components/analyzer/BuildStats.tsx +++ b/components/analyzer/BuildStats.tsx @@ -11,9 +11,9 @@ import { import { Ability } from "@prisma/client"; import { ViewSlotsAbilities } from "components/builds/ViewSlots"; import AbilityIcon from "components/common/AbilityIcon"; +import { useMyTheme } from "hooks/common"; +import { Explanation } from "hooks/useAbilityEffects"; import { isMainAbility } from "lib/lists/abilities"; -import { Explanation } from "lib/useAbilityEffects"; -import { useMyTheme } from "lib/useMyTheme"; import { useState } from "react"; import { FaChartLine, FaQuestion } from "react-icons/fa"; import StatChart from "./StatChart"; diff --git a/components/analyzer/HeadOnlyToggle.tsx b/components/analyzer/HeadOnlyToggle.tsx index f3767a064..cfda0b917 100644 --- a/components/analyzer/HeadOnlyToggle.tsx +++ b/components/analyzer/HeadOnlyToggle.tsx @@ -1,7 +1,7 @@ import { Box, Flex, FormLabel, Switch } from "@chakra-ui/react"; import { t } from "@lingui/macro"; import AbilityIcon from "components/common/AbilityIcon"; -import { useMyTheme } from "lib/useMyTheme"; +import { useMyTheme } from "hooks/common"; import React from "react"; interface HeadOnlyToggleProps { diff --git a/components/analyzer/LdeSlider.tsx b/components/analyzer/LdeSlider.tsx index 6f14e9d13..03d0cc4f0 100644 --- a/components/analyzer/LdeSlider.tsx +++ b/components/analyzer/LdeSlider.tsx @@ -10,7 +10,7 @@ import { } from "@chakra-ui/react"; import { t, Trans } from "@lingui/macro"; import AbilityIcon from "components/common/AbilityIcon"; -import { useMyTheme } from "lib/useMyTheme"; +import { useMyTheme } from "hooks/common"; interface LdeSliderProps { value: number; diff --git a/components/analyzer/StatChart.tsx b/components/analyzer/StatChart.tsx index 0d5b00d9d..07f4589bf 100644 --- a/components/analyzer/StatChart.tsx +++ b/components/analyzer/StatChart.tsx @@ -1,6 +1,6 @@ import { t } from "@lingui/macro"; +import { useMyTheme } from "hooks/common"; import { abilityPoints } from "lib/lists/abilityPoints"; -import { useMyTheme } from "lib/useMyTheme"; import React from "react"; import { CartesianGrid, diff --git a/components/builds/BuildCard.tsx b/components/builds/BuildCard.tsx index 61566f9a5..4dfb6c6b9 100644 --- a/components/builds/BuildCard.tsx +++ b/components/builds/BuildCard.tsx @@ -15,8 +15,8 @@ import MyIconButton from "components/common/MyIconButton"; import UserAvatar from "components/common/UserAvatar"; import WeaponImage from "components/common/WeaponImage"; import { getEmojiFlag } from "countries-list"; +import { useMyTheme } from "hooks/common"; import { PartialBy } from "lib/types"; -import { useMyTheme } from "lib/useMyTheme"; import Image from "next/image"; import Link from "next/link"; import { useState } from "react"; diff --git a/components/builds/BuildFilters.tsx b/components/builds/BuildFilters.tsx index fa624a322..cddeddf06 100644 --- a/components/builds/BuildFilters.tsx +++ b/components/builds/BuildFilters.tsx @@ -18,8 +18,8 @@ import { UseBuildsByWeaponDispatch, UseBuildsByWeaponState, } from "hooks/builds"; +import { useMyTheme } from "hooks/common"; import { abilities, isMainAbility } from "lib/lists/abilities"; -import { useMyTheme } from "lib/useMyTheme"; import { Fragment, useState } from "react"; import { FiTrash } from "react-icons/fi"; diff --git a/components/builds/ViewAP.tsx b/components/builds/ViewAP.tsx index 7d89a95fc..4cc72999d 100644 --- a/components/builds/ViewAP.tsx +++ b/components/builds/ViewAP.tsx @@ -2,8 +2,8 @@ import { Box, Flex } from "@chakra-ui/react"; import { t } from "@lingui/macro"; import { Ability } from "@prisma/client"; import AbilityIcon from "components/common/AbilityIcon"; +import { useMyTheme } from "hooks/common"; import { mainOnlyAbilities } from "lib/lists/abilities"; -import { useMyTheme } from "lib/useMyTheme"; interface ViewAPProps { aps: Record; diff --git a/components/common/Breadcrumbs.tsx b/components/common/Breadcrumbs.tsx index df874ee6a..c11d403be 100644 --- a/components/common/Breadcrumbs.tsx +++ b/components/common/Breadcrumbs.tsx @@ -5,7 +5,7 @@ import { BreadcrumbLink, } from "@chakra-ui/react"; import { Trans } from "@lingui/macro"; -import { useMyTheme } from "lib/useMyTheme"; +import { useMyTheme } from "hooks/common"; import NextLink from "next/link"; import MyHead from "./MyHead"; diff --git a/components/common/GearImage.tsx b/components/common/GearImage.tsx index 87a2c9cd8..da3562702 100644 --- a/components/common/GearImage.tsx +++ b/components/common/GearImage.tsx @@ -1,5 +1,5 @@ import { useLingui } from "@lingui/react"; -import englishToInteral from "lib/englishToInternal.json"; +import englishToInteral from "lib/data/englishToInternal.json"; import Image from "next/image"; import React from "react"; diff --git a/components/common/Markdown.tsx b/components/common/Markdown.tsx index d1dc791cd..87da4d3e7 100644 --- a/components/common/Markdown.tsx +++ b/components/common/Markdown.tsx @@ -18,7 +18,7 @@ import { TableHeader, TableRow, } from "components/common/Table"; -import { useMyTheme } from "lib/useMyTheme"; +import { useMyTheme } from "hooks/common"; import ReactMarkdown from "react-markdown"; import reactStringReplace from "react-string-replace"; import MyLink from "./MyLink"; diff --git a/components/common/MyIconButton.tsx b/components/common/MyIconButton.tsx index 9846ad887..766ae6e17 100644 --- a/components/common/MyIconButton.tsx +++ b/components/common/MyIconButton.tsx @@ -7,7 +7,7 @@ import { PopoverHeader, PopoverTrigger, } from "@chakra-ui/react"; -import { useMyTheme } from "lib/useMyTheme"; +import { useMyTheme } from "hooks/common"; interface Props { onClick?: () => void; diff --git a/components/common/MyLink.tsx b/components/common/MyLink.tsx index b4b65a50e..c999eed10 100644 --- a/components/common/MyLink.tsx +++ b/components/common/MyLink.tsx @@ -1,5 +1,5 @@ import { Link as ChakraLink } from "@chakra-ui/react"; -import { useMyTheme } from "lib/useMyTheme"; +import { useMyTheme } from "hooks/common"; import NextLink from "next/link"; interface Props { diff --git a/components/common/MySelect.tsx b/components/common/MySelect.tsx index 967f370eb..f8085288a 100644 --- a/components/common/MySelect.tsx +++ b/components/common/MySelect.tsx @@ -1,5 +1,5 @@ import { ChevronDownIcon } from "@chakra-ui/icons"; -import { useMyTheme } from "lib/useMyTheme"; +import { useMyTheme } from "hooks/common"; import { useState } from "react"; import ReactSelect, { components, diff --git a/components/common/Section.tsx b/components/common/Section.tsx index 7299af98d..f7a40b070 100644 --- a/components/common/Section.tsx +++ b/components/common/Section.tsx @@ -1,5 +1,5 @@ import { Box, BoxProps } from "@chakra-ui/react"; -import { useMyTheme } from "lib/useMyTheme"; +import { useMyTheme } from "hooks/common"; const Section: React.FC = (props) => { const { secondaryBgColor } = useMyTheme(); diff --git a/components/common/SubText.tsx b/components/common/SubText.tsx index dd542c6e4..68b464fc2 100644 --- a/components/common/SubText.tsx +++ b/components/common/SubText.tsx @@ -1,5 +1,5 @@ import { Box, BoxProps } from "@chakra-ui/react"; -import { useMyTheme } from "lib/useMyTheme"; +import { useMyTheme } from "hooks/common"; interface Props { children: React.ReactNode; diff --git a/components/common/Table.tsx b/components/common/Table.tsx index 0efaeb136..c8975b29a 100644 --- a/components/common/Table.tsx +++ b/components/common/Table.tsx @@ -1,7 +1,7 @@ // https://github.com/chakra-ui/chakra-ui/issues/135#issuecomment-644878591 import { Box, BoxProps } from "@chakra-ui/react"; -import { useMyTheme } from "lib/useMyTheme"; +import { useMyTheme } from "hooks/common"; /** * Represents tabular data - that is, information presented in a diff --git a/components/layout/Footer.tsx b/components/layout/Footer.tsx index 3b2be8f87..078b25786 100644 --- a/components/layout/Footer.tsx +++ b/components/layout/Footer.tsx @@ -1,5 +1,5 @@ import { Box, Image, useColorModeValue } from "@chakra-ui/react"; -import { useMyTheme } from "lib/useMyTheme"; +import { useMyTheme } from "hooks/common"; import { useRouter } from "next/dist/client/router"; import FooterContent from "./FooterContent"; import FooterWaves from "./FooterWaves"; diff --git a/components/layout/FooterContent.tsx b/components/layout/FooterContent.tsx index 2ad919582..3c5b463b4 100644 --- a/components/layout/FooterContent.tsx +++ b/components/layout/FooterContent.tsx @@ -1,6 +1,6 @@ import { Box, Flex } from "@chakra-ui/react"; +import { useMyTheme } from "hooks/common"; import { DiscordIcon } from "lib/assets/icons"; -import { useMyTheme } from "lib/useMyTheme"; import Link from "next/link"; import { FaGithub, FaTwitter } from "react-icons/fa"; import { FiInfo } from "react-icons/fi"; diff --git a/components/layout/FooterWaves.tsx b/components/layout/FooterWaves.tsx index 890bd57ec..f3918a7a1 100644 --- a/components/layout/FooterWaves.tsx +++ b/components/layout/FooterWaves.tsx @@ -1,4 +1,4 @@ -import { useMyTheme } from "lib/useMyTheme"; +import { useMyTheme } from "hooks/common"; import React from "react"; const FooterWaves = () => { diff --git a/components/layout/IconNavBar.tsx b/components/layout/IconNavBar.tsx index c77dee028..02376022b 100644 --- a/components/layout/IconNavBar.tsx +++ b/components/layout/IconNavBar.tsx @@ -14,7 +14,7 @@ import { } from "@chakra-ui/react"; import { t, Trans } from "@lingui/macro"; import { useLingui } from "@lingui/react"; -import { useMyTheme } from "lib/useMyTheme"; +import { useMyTheme } from "hooks/common"; import { useRouter } from "next/dist/client/router"; import Image from "next/image"; import Link from "next/link"; diff --git a/components/layout/LanguageSelector.tsx b/components/layout/LanguageSelector.tsx index 71e51b4dc..7851e59e2 100644 --- a/components/layout/LanguageSelector.tsx +++ b/components/layout/LanguageSelector.tsx @@ -8,8 +8,8 @@ import { } from "@chakra-ui/react"; import { t } from "@lingui/macro"; import { useLingui } from "@lingui/react"; +import { useMyTheme } from "hooks/common"; import { activateLocale } from "lib/i18n"; -import { useMyTheme } from "lib/useMyTheme"; import React from "react"; import { FiGlobe } from "react-icons/fi"; diff --git a/components/layout/TopNav.tsx b/components/layout/TopNav.tsx index 43b5eeaf5..ff3913789 100644 --- a/components/layout/TopNav.tsx +++ b/components/layout/TopNav.tsx @@ -13,8 +13,8 @@ import { useColorMode, } from "@chakra-ui/react"; import { Trans } from "@lingui/macro"; +import { useUser } from "hooks/common"; import { DiscordIcon } from "lib/assets/icons"; -import useUser from "lib/useUser"; import { signIn, signOut } from "next-auth/client"; import Link from "next/link"; import { FaHeart } from "react-icons/fa"; diff --git a/components/plans/DraggableImageAdder.tsx b/components/plans/DraggableImageAdder.tsx index bf5ed6c50..10ce01861 100644 --- a/components/plans/DraggableImageAdder.tsx +++ b/components/plans/DraggableImageAdder.tsx @@ -1,8 +1,8 @@ import { Box, Flex } from "@chakra-ui/react"; import { Trans } from "@lingui/macro"; import WeaponImage from "components/common/WeaponImage"; +import { useMyTheme } from "hooks/common"; import { weapons } from "lib/lists/weapons"; -import { useMyTheme } from "lib/useMyTheme"; import Image from "next/image"; import { useState } from "react"; import Draggable from "react-draggable"; diff --git a/components/plans/DraggableToolsSelector.tsx b/components/plans/DraggableToolsSelector.tsx index fdbf7fa03..13db8d376 100644 --- a/components/plans/DraggableToolsSelector.tsx +++ b/components/plans/DraggableToolsSelector.tsx @@ -1,7 +1,7 @@ import { Box, Flex, IconButton } from "@chakra-ui/react"; import { Trans } from "@lingui/macro"; import ColorPicker from "components/common/ColorPicker"; -import { useMyTheme } from "lib/useMyTheme"; +import { useMyTheme } from "hooks/common"; import { useState } from "react"; import Draggable from "react-draggable"; import { useHotkeys } from "react-hotkeys-hook"; diff --git a/components/play/RegisterHeader.tsx b/components/play/RegisterHeader.tsx index b6cd56e2b..848a90181 100644 --- a/components/play/RegisterHeader.tsx +++ b/components/play/RegisterHeader.tsx @@ -8,10 +8,10 @@ import { useToast, } from "@chakra-ui/react"; import { t, Trans } from "@lingui/macro"; +import { useUser } from "hooks/common"; import { useLadderTeams } from "hooks/play"; import { getToastOptions } from "lib/getToastOptions"; import { sendData } from "lib/postData"; -import useUser from "lib/useUser"; import { useEffect, useState } from "react"; import { FiCheck, FiTrash } from "react-icons/fi"; diff --git a/components/player/QuadTable.tsx b/components/player/QuadTable.tsx index ee0b2b9a5..39cbe4f01 100644 --- a/components/player/QuadTable.tsx +++ b/components/player/QuadTable.tsx @@ -12,8 +12,8 @@ import { TableRow, } from "components/common/Table"; import WeaponImage from "components/common/WeaponImage"; +import { useMyTheme } from "hooks/common"; import { getRankingString } from "lib/strings"; -import { useMyTheme } from "lib/useMyTheme"; import { GetPlayerWithPlacementsData } from "prisma/queries/getPlayerWithPlacements"; interface Props { diff --git a/components/player/TwinTable.tsx b/components/player/TwinTable.tsx index 99de0ae85..639b56a8b 100644 --- a/components/player/TwinTable.tsx +++ b/components/player/TwinTable.tsx @@ -13,8 +13,8 @@ import { } from "components/common/Table"; import UserAvatar from "components/common/UserAvatar"; import WeaponImage from "components/common/WeaponImage"; +import { useMyTheme } from "hooks/common"; import { getRankingString } from "lib/strings"; -import { useMyTheme } from "lib/useMyTheme"; import { GetPlayerWithPlacementsData } from "prisma/queries/getPlayerWithPlacements"; interface Props { diff --git a/components/player/XRankTable.tsx b/components/player/XRankTable.tsx index e0e1c084d..ae02a5a78 100644 --- a/components/player/XRankTable.tsx +++ b/components/player/XRankTable.tsx @@ -10,8 +10,8 @@ import { TableRow, } from "components/common/Table"; import WeaponImage from "components/common/WeaponImage"; +import { useMyTheme } from "hooks/common"; import { getRankingString } from "lib/strings"; -import { useMyTheme } from "lib/useMyTheme"; import { GetPlayerWithPlacementsData } from "prisma/queries/getPlayerWithPlacements"; interface Props { diff --git a/components/sr/RotationSelector.tsx b/components/sr/RotationSelector.tsx index c0ac937cb..2c45bb4a0 100644 --- a/components/sr/RotationSelector.tsx +++ b/components/sr/RotationSelector.tsx @@ -4,8 +4,8 @@ import { useLingui } from "@lingui/react"; import SubText from "components/common/SubText"; import WeaponImage from "components/common/WeaponImage"; import WeaponSelector from "components/common/WeaponSelector"; +import { useMyTheme } from "hooks/common"; import { salmonRunStages } from "lib/lists/stages"; -import { useMyTheme } from "lib/useMyTheme"; import { GetAllSalmonRunRotationsData } from "prisma/queries/getAllSalmonRunRotations"; import { useState } from "react"; import useSWR from "swr"; diff --git a/components/top500/Top500Table.tsx b/components/top500/Top500Table.tsx index ad09c42f6..2d50544f7 100644 --- a/components/top500/Top500Table.tsx +++ b/components/top500/Top500Table.tsx @@ -11,8 +11,8 @@ import { } from "components/common/Table"; import UserAvatar from "components/common/UserAvatar"; import WeaponImage from "components/common/WeaponImage"; +import { useMyTheme } from "hooks/common"; import { getProfilePath, getRankingString } from "lib/strings"; -import { useMyTheme } from "lib/useMyTheme"; import Link from "next/link"; import { GetTop500PlacementsByMonthData } from "prisma/queries/getTop500PlacementsByMonth"; diff --git a/components/top500/WeaponLineChart.tsx b/components/top500/WeaponLineChart.tsx index 2ae13dab2..2d78be248 100644 --- a/components/top500/WeaponLineChart.tsx +++ b/components/top500/WeaponLineChart.tsx @@ -1,4 +1,4 @@ -import { useMyTheme } from "lib/useMyTheme"; +import { useMyTheme } from "hooks/common"; import { Line, LineChart } from "recharts"; interface WeaponLineChartProps { diff --git a/components/u/AvatarWithInfo.tsx b/components/u/AvatarWithInfo.tsx index 8a0272055..8fc287ce6 100644 --- a/components/u/AvatarWithInfo.tsx +++ b/components/u/AvatarWithInfo.tsx @@ -15,9 +15,8 @@ import TwitterAvatar from "components/common/TwitterAvatar"; import UserAvatar from "components/common/UserAvatar"; import WeaponImage from "components/common/WeaponImage"; import { countries, getEmojiFlag } from "countries-list"; +import useUser, { useMyTheme } from "hooks/common"; import { getFullUsername } from "lib/strings"; -import { useMyTheme } from "lib/useMyTheme"; -import useUser from "lib/useUser"; import Image from "next/image"; import { GetUserByIdentifierData } from "prisma/queries/getUserByIdentifier"; import { FaGamepad, FaTwitch, FaTwitter, FaYoutube } from "react-icons/fa"; diff --git a/components/u/BuildModal.tsx b/components/u/BuildModal.tsx index addaf623c..94ec9e851 100644 --- a/components/u/BuildModal.tsx +++ b/components/u/BuildModal.tsx @@ -25,10 +25,10 @@ import { Ability } from "@prisma/client"; import ViewSlots from "components/builds/ViewSlots"; import GearSelector from "components/common/GearSelector"; import WeaponSelector from "components/common/WeaponSelector"; +import { useUser } from "hooks/common"; import { getToastOptions } from "lib/getToastOptions"; import { sendData } from "lib/postData"; import { Unpacked } from "lib/types"; -import useUser from "lib/useUser"; import { buildSchema, DESCRIPTION_CHARACTER_LIMIT, diff --git a/lib/useDebounce.ts b/hooks/common.ts similarity index 51% rename from lib/useDebounce.ts rename to hooks/common.ts index 2d51e6cb9..1f0762736 100644 --- a/lib/useDebounce.ts +++ b/hooks/common.ts @@ -1,6 +1,10 @@ // https://usehooks.com/useDebounce/ +import { useColorMode } from "@chakra-ui/react"; +import { User as PrismaUser } from "@prisma/client"; +import { useSession } from "next-auth/client"; import { useEffect, useState } from "react"; +import { theme } from "theme"; export function useDebounce(value: string, delay: number = 500) { const [debouncedValue, setDebouncedValue] = useState(value); @@ -16,3 +20,14 @@ export function useDebounce(value: string, delay: number = 500) { return debouncedValue; } + +export const useMyTheme = () => { + const { colorMode } = useColorMode(); + + return theme[colorMode]; +}; + +export const useUser = (): [PrismaUser | undefined | null, boolean] => { + // @ts-ignore + return useSession(); +}; diff --git a/hooks/freeagents.ts b/hooks/freeagents.ts index ebce44d91..3ca1497cd 100644 --- a/hooks/freeagents.ts +++ b/hooks/freeagents.ts @@ -1,6 +1,6 @@ import { Playstyle } from "@prisma/client"; +import { useUser } from "hooks/common"; import { setSearchParams } from "lib/setSearchParams"; -import useUser from "lib/useUser"; import { useRouter } from "next/router"; import { FreeAgentLikeInfo } from "pages/api/freeagents/like"; import { GetAllFreeAgentPostsData } from "prisma/queries/getAllFreeAgentPosts"; diff --git a/lib/useAbilityEffects/getAbilityEffect.ts b/hooks/useAbilityEffects/getAbilityEffect.ts similarity index 100% rename from lib/useAbilityEffects/getAbilityEffect.ts rename to hooks/useAbilityEffects/getAbilityEffect.ts diff --git a/lib/useAbilityEffects/index.ts b/hooks/useAbilityEffects/index.ts similarity index 100% rename from lib/useAbilityEffects/index.ts rename to hooks/useAbilityEffects/index.ts diff --git a/lib/englishToInternal.json b/lib/data/englishToInternal.json similarity index 100% rename from lib/englishToInternal.json rename to lib/data/englishToInternal.json diff --git a/lib/useMyTheme.ts b/lib/useMyTheme.ts deleted file mode 100644 index e615be119..000000000 --- a/lib/useMyTheme.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { useColorMode } from "@chakra-ui/react"; -import { theme } from "theme"; - -// This hook can be deprecated -export const useMyTheme = () => { - const { colorMode } = useColorMode(); - - return theme[colorMode]; -}; diff --git a/lib/useUser.ts b/lib/useUser.ts deleted file mode 100644 index 621afa49d..000000000 --- a/lib/useUser.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { User as PrismaUser } from "@prisma/client"; -import { useSession } from "next-auth/client"; - -const useUser = (): [PrismaUser | undefined | null, boolean] => { - // @ts-ignore - return useSession(); -}; - -export default useUser; diff --git a/pages/404.tsx b/pages/404.tsx index c3e462a6a..d5b84efca 100644 --- a/pages/404.tsx +++ b/pages/404.tsx @@ -1,5 +1,5 @@ import { Box, Flex, Heading, Image } from "@chakra-ui/react"; -import { useMyTheme } from "lib/useMyTheme"; +import { useMyTheme } from "hooks/common"; const splatoonOneMaps = [ { diff --git a/pages/about.tsx b/pages/about.tsx index 13976a4c7..c7d860bb9 100644 --- a/pages/about.tsx +++ b/pages/about.tsx @@ -2,7 +2,7 @@ import { Heading, Link, List, ListItem } from "@chakra-ui/react"; import { t, Trans } from "@lingui/macro"; import Breadcrumbs from "components/common/Breadcrumbs"; import MyHead from "components/common/MyHead"; -import { useMyTheme } from "lib/useMyTheme"; +import { useMyTheme } from "hooks/common"; const About = () => { const { themeColorShade } = useMyTheme(); diff --git a/pages/admin.tsx b/pages/admin.tsx index 28208c6d4..3d59e089c 100644 --- a/pages/admin.tsx +++ b/pages/admin.tsx @@ -1,10 +1,10 @@ import { Box, Button, Flex, Heading, Input, useToast } from "@chakra-ui/react"; import Breadcrumbs from "components/common/Breadcrumbs"; import SubText from "components/common/SubText"; +import { useUser } from "hooks/common"; import { ADMIN_DISCORD_ID } from "lib/constants"; import { getToastOptions } from "lib/getToastOptions"; import { sendData } from "lib/postData"; -import useUser from "lib/useUser"; import { useState } from "react"; const AdminPage = () => { diff --git a/pages/analyzer.tsx b/pages/analyzer.tsx index b4c6dc9ce..854c04533 100644 --- a/pages/analyzer.tsx +++ b/pages/analyzer.tsx @@ -13,11 +13,11 @@ import EditableBuilds from "components/analyzer/EditableBuilds"; import { ViewSlotsAbilities } from "components/builds/ViewSlots"; import Breadcrumbs from "components/common/Breadcrumbs"; import WeaponSelector from "components/common/WeaponSelector"; +import { useMyTheme } from "hooks/common"; +import useAbilityEffects from "hooks/useAbilityEffects"; import { isAbilityArray } from "lib/lists/abilities"; import { isWeapon } from "lib/lists/weapons"; import { AbilityOrUnknown } from "lib/types"; -import useAbilityEffects from "lib/useAbilityEffects"; -import { useMyTheme } from "lib/useMyTheme"; import { useRouter } from "next/router"; import { useEffect, useState } from "react"; import { FiSettings } from "react-icons/fi"; diff --git a/pages/builds/[[...slug]].tsx b/pages/builds/[[...slug]].tsx index 657a3decc..945b78939 100644 --- a/pages/builds/[[...slug]].tsx +++ b/pages/builds/[[...slug]].tsx @@ -8,7 +8,7 @@ import MyInfiniteScroller from "components/common/MyInfiniteScroller"; import WeaponImage from "components/common/WeaponImage"; import WeaponSelector from "components/common/WeaponSelector"; import { useBuildsByWeapon } from "hooks/builds"; -import { useMyTheme } from "lib/useMyTheme"; +import { useMyTheme } from "hooks/common"; const BuildsPage = () => { const { diff --git a/pages/freeagents.tsx b/pages/freeagents.tsx index b3e37d43f..d5e78180b 100644 --- a/pages/freeagents.tsx +++ b/pages/freeagents.tsx @@ -27,11 +27,10 @@ import UserAvatar from "components/common/UserAvatar"; import WeaponImage from "components/common/WeaponImage"; import FAModal from "components/freeagents/FAModal"; import { countries, getEmojiFlag } from "countries-list"; +import useUser, { useMyTheme } from "hooks/common"; import { useFreeAgents } from "hooks/freeagents"; import { sendData } from "lib/postData"; import { Unpacked } from "lib/types"; -import { useMyTheme } from "lib/useMyTheme"; -import useUser from "lib/useUser"; import { useRouter } from "next/router"; import { GetAllFreeAgentPostsData } from "prisma/queries/getAllFreeAgentPosts"; import { RefObject, useEffect, useRef, useState } from "react"; diff --git a/pages/index.tsx b/pages/index.tsx index ef62135f0..eca468da6 100644 --- a/pages/index.tsx +++ b/pages/index.tsx @@ -2,7 +2,7 @@ import { Box, Flex, Heading, useColorMode } from "@chakra-ui/react"; import { t, Trans } from "@lingui/macro"; import MyContainer from "components/common/MyContainer"; import MyLink from "components/common/MyLink"; -import { useMyTheme } from "lib/useMyTheme"; +import { useMyTheme } from "hooks/common"; import Image from "next/image"; import Link from "next/link"; import { useState } from "react"; diff --git a/pages/links.tsx b/pages/links.tsx index 0dbcda2f3..3a14a5ac6 100644 --- a/pages/links.tsx +++ b/pages/links.tsx @@ -2,8 +2,8 @@ import { Box, Heading, Link, Stack } from "@chakra-ui/react"; import { t, Trans } from "@lingui/macro"; import Breadcrumbs from "components/common/Breadcrumbs"; import MyHead from "components/common/MyHead"; +import { useMyTheme } from "hooks/common"; import links from "lib/data/links.json"; -import { useMyTheme } from "lib/useMyTheme"; interface Link { title: string; diff --git a/pages/play/index.tsx b/pages/play/index.tsx index 9f3679eda..209528bf2 100644 --- a/pages/play/index.tsx +++ b/pages/play/index.tsx @@ -6,10 +6,10 @@ import SubText from "components/common/SubText"; import TwitterAvatar from "components/common/TwitterAvatar"; import UserAvatar from "components/common/UserAvatar"; import RegisterHeader from "components/play/RegisterHeader"; +import { useMyTheme } from "hooks/common"; import { useLadderTeams } from "hooks/play"; import { getLadderRounds } from "lib/playFunctions"; import { shuffleArray } from "lib/shuffleArray"; -import { useMyTheme } from "lib/useMyTheme"; import { GetStaticProps } from "next"; import prisma from "prisma/client"; import { getAllLadderRegisteredTeamsForMatches } from "prisma/queries/getAllLadderRegisteredTeamsForMatches"; diff --git a/pages/sr/leaderboards/admin.tsx b/pages/sr/leaderboards/admin.tsx index bb7d69c0d..747d2b273 100644 --- a/pages/sr/leaderboards/admin.tsx +++ b/pages/sr/leaderboards/admin.tsx @@ -11,9 +11,9 @@ import { TableRow, } from "components/common/Table"; import WeaponImage from "components/common/WeaponImage"; +import { useUser } from "hooks/common"; import { SALMON_RUN_ADMIN_DISCORD_IDS } from "lib/constants"; import { sendData } from "lib/postData"; -import useUser from "lib/useUser"; import { useRouter } from "next/router"; import { GetAllSalmonRunRecordsData } from "prisma/queries/getAllSalmonRunRecords"; import { useState } from "react"; diff --git a/pages/sr/leaderboards/new.tsx b/pages/sr/leaderboards/new.tsx index 83210b428..95e34abe9 100644 --- a/pages/sr/leaderboards/new.tsx +++ b/pages/sr/leaderboards/new.tsx @@ -20,8 +20,8 @@ import Breadcrumbs from "components/common/Breadcrumbs"; import MyContainer from "components/common/MyContainer"; import UserSelector from "components/common/UserSelector"; import RotationSelector from "components/sr/RotationSelector"; +import { useUser } from "hooks/common"; import { sendData } from "lib/postData"; -import useUser from "lib/useUser"; import { salmonRunRecordSchema } from "lib/validators/salmonRunRecord"; import Image from "next/image"; import { useRouter } from "next/router"; diff --git a/pages/sr/player/[id].tsx b/pages/sr/player/[id].tsx index f11e0b5ec..49fe65e14 100644 --- a/pages/sr/player/[id].tsx +++ b/pages/sr/player/[id].tsx @@ -8,8 +8,8 @@ import Section from "components/common/Section"; import SubText from "components/common/SubText"; import UserAvatar from "components/common/UserAvatar"; import WeaponImage from "components/common/WeaponImage"; +import { useMyTheme } from "hooks/common"; import { salmonRunStages } from "lib/lists/stages"; -import { useMyTheme } from "lib/useMyTheme"; import { GetStaticPaths, GetStaticProps } from "next"; import Image from "next/image"; import { salmonRunCategoryToNatural } from "pages/sr/leaderboards/new"; diff --git a/pages/t/[team].tsx b/pages/t/[team].tsx index d19907c36..9f52ffd69 100644 --- a/pages/t/[team].tsx +++ b/pages/t/[team].tsx @@ -28,10 +28,9 @@ import WeaponImage from "components/common/WeaponImage"; import TeamManagementModal from "components/t/TeamManagementModal"; import TeamProfileModal from "components/t/TeamProfileModal"; import { countries, getEmojiFlag } from "countries-list"; +import useUser, { useMyTheme } from "hooks/common"; import { getToastOptions } from "lib/getToastOptions"; import { sendData } from "lib/postData"; -import { useMyTheme } from "lib/useMyTheme"; -import useUser from "lib/useUser"; import { GetStaticPaths, GetStaticProps } from "next"; import Image from "next/image"; import { getTeam, GetTeamData } from "prisma/queries/getTeam"; diff --git a/pages/t/index.tsx b/pages/t/index.tsx index 286d870bc..29d93085c 100644 --- a/pages/t/index.tsx +++ b/pages/t/index.tsx @@ -20,8 +20,7 @@ import SubTextCollapse from "components/common/SubTextCollapse"; import TwitterAvatar from "components/common/TwitterAvatar"; import CreateNewTeamModal from "components/t/CreateNewTeamModal"; import { countries, getEmojiFlag } from "countries-list"; -import { useMyTheme } from "lib/useMyTheme"; -import useUser from "lib/useUser"; +import useUser, { useMyTheme } from "hooks/common"; import { GetStaticProps } from "next"; import Image from "next/image"; import { getAllTeams, GetAllTeamsData } from "prisma/queries/getAllTeams"; diff --git a/pages/u/[identifier].tsx b/pages/u/[identifier].tsx index f22c09953..308c639d9 100644 --- a/pages/u/[identifier].tsx +++ b/pages/u/[identifier].tsx @@ -10,10 +10,10 @@ import MyInfiniteScroller from "components/common/MyInfiniteScroller"; import AvatarWithInfo from "components/u/AvatarWithInfo"; import BuildModal from "components/u/BuildModal"; import ProfileModal from "components/u/ProfileModal"; +import { useUser } from "hooks/common"; import { useBuildsByUser } from "hooks/u"; import { GANBA_DISCORD_ID } from "lib/constants"; import { getFullUsername } from "lib/strings"; -import useUser from "lib/useUser"; import { GetStaticPaths, GetStaticProps } from "next"; import { getPlayersPeak } from "prisma/queries/getPlayersPeak"; import { diff --git a/pages/u/index.tsx b/pages/u/index.tsx index bfd163de8..29da20174 100644 --- a/pages/u/index.tsx +++ b/pages/u/index.tsx @@ -10,10 +10,9 @@ import Breadcrumbs from "components/common/Breadcrumbs"; import MyLink from "components/common/MyLink"; import UserAvatar from "components/common/UserAvatar"; import { getEmojiFlag } from "countries-list"; +import { useDebounce, useMyTheme } from "hooks/common"; import { setSearchParams } from "lib/setSearchParams"; import { Unpacked } from "lib/types"; -import { useDebounce } from "lib/useDebounce"; -import { useMyTheme } from "lib/useMyTheme"; import { GetStaticProps } from "next"; import Head from "next/head"; import Link from "next/link"; diff --git a/pages/xtrends.tsx b/pages/xtrends.tsx index 5b294ad99..54c0c389d 100644 --- a/pages/xtrends.tsx +++ b/pages/xtrends.tsx @@ -15,8 +15,8 @@ import Section from "components/common/Section"; import SubText from "components/common/SubText"; import WeaponImage from "components/common/WeaponImage"; import WeaponLineChart from "components/top500/WeaponLineChart"; +import { useMyTheme } from "hooks/common"; import { useXTrends } from "hooks/xtrends"; -import { useMyTheme } from "lib/useMyTheme"; import { GetStaticProps } from "next"; import { getXTrends, GetXTrendsData } from "prisma/queries/getXTrends";