relocate some hooks

This commit is contained in:
Kalle (Sendou) 2021-01-30 12:57:22 +02:00
parent 9d6f5731f9
commit 223233c582
57 changed files with 68 additions and 76 deletions

View File

@ -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";

View File

@ -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 {

View File

@ -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;

View File

@ -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,

View File

@ -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";

View File

@ -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";

View File

@ -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<Ability, number>;

View File

@ -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";

View File

@ -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";

View File

@ -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";

View File

@ -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;

View File

@ -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 {

View File

@ -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,

View File

@ -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<BoxProps> = (props) => {
const { secondaryBgColor } = useMyTheme();

View File

@ -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;

View File

@ -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

View File

@ -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";

View File

@ -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";

View File

@ -1,4 +1,4 @@
import { useMyTheme } from "lib/useMyTheme";
import { useMyTheme } from "hooks/common";
import React from "react";
const FooterWaves = () => {

View File

@ -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";

View File

@ -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";

View File

@ -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";

View File

@ -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";

View File

@ -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";

View File

@ -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";

View File

@ -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 {

View File

@ -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 {

View File

@ -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 {

View File

@ -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";

View File

@ -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";

View File

@ -1,4 +1,4 @@
import { useMyTheme } from "lib/useMyTheme";
import { useMyTheme } from "hooks/common";
import { Line, LineChart } from "recharts";
interface WeaponLineChartProps {

View File

@ -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";

View File

@ -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,

View File

@ -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();
};

View File

@ -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";

View File

@ -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];
};

View File

@ -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;

View File

@ -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 = [
{

View File

@ -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();

View File

@ -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 = () => {

View File

@ -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";

View File

@ -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 {

View File

@ -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";

View File

@ -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";

View File

@ -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;

View File

@ -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";

View File

@ -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";

View File

@ -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";

View File

@ -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";

View File

@ -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";

View File

@ -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";

View File

@ -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 {

View File

@ -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";

View File

@ -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";