From bdb23ca8c51d1c28fa77208205edff03238bf55f Mon Sep 17 00:00:00 2001 From: Raymond Date: Wed, 26 Jun 2024 15:31:24 +0900 Subject: [PATCH] =?UTF-8?q?clean:=20=EC=BD=94=EB=93=9C=20=EC=BB=A8?= =?UTF-8?q?=EB=B2=A4=EC=85=98=20=EC=9C=A0=EC=A7=80=EB=A5=BC=20=EC=9C=84?= =?UTF-8?q?=ED=95=9C=20=ED=8C=A8=ED=82=A4=EC=A7=80=20=EC=A0=81=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 패키지 yarn berry -> pnpm으로 변경 - prettier tailwind plugin 적용 - lint를 통해 tailwind rule 추가 - unused-var 는 _ 로 사용 --- .eslintrc.json | 16 +++- .storybook/main.ts | 45 --------- .storybook/preview.ts | 16 ---- components/badge/badge-period.tsx | 5 +- components/badge/badge-relation.tsx | 2 +- components/bottomsheet-button/index.tsx | 20 ++-- components/carousel/carousel.stories.tsx | 36 ------- components/carousel/index.tsx | 9 +- components/combobox/index.tsx | 12 +-- .../answers/answer-detail/index.tsx | 11 +-- .../compositions/answers/reason/index.tsx | 2 +- .../dashboard/best-worth/index.tsx | 28 +++--- .../dashboard/character/index.tsx | 24 ++--- .../compositions/dashboard/happy/index.tsx | 22 ++--- .../compositions/dashboard/money/index.tsx | 36 +++---- .../compositions/dashboard/sad/index.tsx | 25 +++-- .../compositions/dashboard/tree-info.tsx | 16 ++-- components/compositions/tree-card/index.tsx | 32 +++---- components/confetti/index.tsx | 13 +-- .../dashboard-container/detail-drawer.tsx | 64 ++++++------- components/dashboard-container/index.tsx | 12 +-- components/error-boundary.tsx | 12 +-- components/filter-button/index.tsx | 2 +- components/filter-text/index.tsx | 4 +- components/header/alert/alert-card.tsx | 10 +- components/header/alert/index.tsx | 4 +- components/header/developer-info/index.tsx | 30 ++---- components/header/edit-setting/index.tsx | 8 +- components/header/header.stories.tsx | 69 -------------- components/header/index.tsx | 8 +- components/header/setting/index.tsx | 28 +++--- components/header/write-list/index.tsx | 18 ++-- .../header/write-list/wirte-list-card.tsx | 8 +- components/inputLabel/index.tsx | 8 +- components/knowing-filter-group/index.tsx | 6 +- components/modal/index.tsx | 6 +- components/modal/modal.stories.tsx | 26 ------ components/progressbar/index.tsx | 6 +- components/radio-button/index.tsx | 12 +-- components/share-image/constants.tsx | 2 +- components/share-image/index.tsx | 83 +++++++++-------- components/share-modal/index.tsx | 9 +- components/side-drawer/drawer.stories.tsx | 33 ------- components/side-drawer/index.tsx | 4 +- components/situations/landing/index.tsx | 16 ++-- components/situations/loading/index.tsx | 6 +- components/situations/onboard/index.tsx | 10 +- .../onboard/onboard-step1/index.tsx | 24 ++--- .../onboard/onboard-step2/index.tsx | 36 +++---- .../onboard/onboard-step3/index.tsx | 40 ++++---- .../onboard-step3/step3-best-worth.tsx | 24 +++-- .../onboard/onboard-step3/step3-character.tsx | 15 ++- .../onboard/onboard-step3/step3-happy.tsx | 14 +-- .../onboard/onboard-step3/step3-money.tsx | 31 +++---- .../onboard/onboard-step3/step3-sad.tsx | 14 +-- .../onboard/onboard-step3/step3-tree-info.tsx | 28 +++--- components/situations/server-error/index.tsx | 4 +- components/survey/manual-input.tsx | 3 +- components/survey/survey-form.tsx | 65 +++++++------ components/svgs/info-icon.tsx | 30 ++++-- components/svgs/mimoticons/ch.tsx | 45 ++++++--- components/svgs/mimoticons/es.tsx | 47 +++++++--- components/svgs/mimoticons/yh.tsx | 44 ++++++--- components/typography/typography.stories.mdx | 93 ------------------- hooks/use-drawer.ts | 2 +- hooks/use-filter.tsx | 10 +- hooks/use-observer.ts | 19 ++-- lib/client/utils.ts | 2 +- pages/404.tsx | 4 +- pages/_app.tsx | 18 ++-- pages/_document.tsx | 2 +- pages/answers/index.tsx | 40 ++++---- pages/api/auth/[provider].ts | 3 +- pages/api/auth/signout.ts | 2 +- pages/api/auth/signup.ts | 2 +- pages/api/init.ts | 2 +- pages/csrf/index.tsx | 2 +- pages/dashboard-2/index.tsx | 9 +- pages/garden/index.tsx | 38 ++++---- pages/index.tsx | 7 +- pages/login/index.tsx | 4 +- pages/signup/index.tsx | 6 +- pages/submit/index.tsx | 6 +- pages/surveys/index.tsx | 29 +++--- pages/surveys/questions/index.tsx | 18 ++-- pages/test.tsx | 6 -- pages/welcome/index.tsx | 15 +-- public/sitemap-0.xml | 26 +++--- result.txt | 0 tsconfig.json | 8 +- 90 files changed, 725 insertions(+), 986 deletions(-) delete mode 100644 .storybook/main.ts delete mode 100644 .storybook/preview.ts delete mode 100644 components/carousel/carousel.stories.tsx delete mode 100644 components/header/header.stories.tsx delete mode 100644 components/modal/modal.stories.tsx delete mode 100644 components/side-drawer/drawer.stories.tsx delete mode 100644 components/typography/typography.stories.mdx create mode 100644 result.txt diff --git a/.eslintrc.json b/.eslintrc.json index 1fe5743..253ff29 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -1,5 +1,6 @@ { "extends": [ + "next", "next/core-web-vitals", "plugin:prettier/recommended", "plugin:storybook/recommended", @@ -8,7 +9,18 @@ "plugins": ["prettier"], "rules": { "prettier/prettier": "error", - "@typescript-eslint/no-unused-vars": "error", - "react-hooks/rules-of-hooks": "off" + "react-hooks/rules-of-hooks": "off", + "@typescript-eslint/no-unused-vars": [ + "error", + { + "args": "all", + "argsIgnorePattern": "^_", + "caughtErrors": "all", + "caughtErrorsIgnorePattern": "^_", + "destructuredArrayIgnorePattern": "^_", + "varsIgnorePattern": "^_", + "ignoreRestSiblings": true + } + ] } } diff --git a/.storybook/main.ts b/.storybook/main.ts deleted file mode 100644 index 79f4383..0000000 --- a/.storybook/main.ts +++ /dev/null @@ -1,45 +0,0 @@ -import type { StorybookConfig } from '@storybook/nextjs' - -import path, { join, dirname } from 'path' - -/** - * This function is used to resolve the absolute path of a package. - * It is needed in projects that use Yarn PnP or are set up within a monorepo. - */ -function getAbsolutePath(value: string): any { - return dirname(require.resolve(join(value, 'package.json'))) -} -const config: StorybookConfig = { - stories: ['../**/*.mdx', '../**/*.stories.@(js|jsx|mjs|ts|tsx)'], - addons: [ - getAbsolutePath('@storybook/addon-links'), - getAbsolutePath('@storybook/addon-essentials'), - getAbsolutePath('@storybook/addon-onboarding'), - getAbsolutePath('@storybook/addon-interactions'), - getAbsolutePath('@storybook/addon-styling-webpack'), - ], - framework: { - name: getAbsolutePath('@storybook/nextjs'), - options: {}, - }, - core: { - builder: '@storybook/builder-webpack5', - }, - typescript: { - check: true, - }, - docs: { - autodocs: 'tag', - defaultName: 'documentation', - }, - webpackFinal(config, options) { - if (config.resolve) { - config.resolve.alias = { - ...config.resolve?.alias, - '@': path.resolve(__dirname, '../'), - } - } - return config - }, -} -export default config diff --git a/.storybook/preview.ts b/.storybook/preview.ts deleted file mode 100644 index e4f900d..0000000 --- a/.storybook/preview.ts +++ /dev/null @@ -1,16 +0,0 @@ -import '@/styles/global.css' -import type { Preview } from '@storybook/react' - -const preview: Preview = { - parameters: { - actions: { argTypesRegex: '^on[A-Z].*' }, - controls: { - matchers: { - color: /(background|color)$/i, - date: /Date$/i, - }, - }, - }, -} - -export default preview diff --git a/components/badge/badge-period.tsx b/components/badge/badge-period.tsx index ddaa3a2..ee7a9f9 100644 --- a/components/badge/badge-period.tsx +++ b/components/badge/badge-period.tsx @@ -1,6 +1,5 @@ import { cn } from '@/lib/client/utils' - // !THINK export const periods: { [key: string]: string } = { SIX_MONTHS: '6개월 미만', @@ -13,12 +12,10 @@ export const PeriodBadge = ({ period }: { period: string }) => { return (
{periods[period]}
) } - - diff --git a/components/badge/badge-relation.tsx b/components/badge/badge-relation.tsx index 7f85bb8..7bb8f97 100644 --- a/components/badge/badge-relation.tsx +++ b/components/badge/badge-relation.tsx @@ -54,7 +54,7 @@ export const RelationBadge = ({ relation }: { relation: string }) => { return (
{ }) const [modalOpen, setModalOpen] = useState(false) - const toggleBottomSheet = (e: any) => { + const toggleBottomSheet: MouseEventHandler = (e) => { setBottomSheet((prev) => ({ ...prev, isOpen: !prev.isOpen, @@ -26,7 +26,7 @@ const BottomSheetButton = ({ id, senderWikiId }: BottomSheetButtonProps) => { e.stopPropagation() } - const handleLinkClick = (e: any) => { + const handleLinkClick: MouseEventHandler = (e) => { if (senderWikiId === null) { e.preventDefault() } else { @@ -34,11 +34,11 @@ const BottomSheetButton = ({ id, senderWikiId }: BottomSheetButtonProps) => { } } - const handleDetailClick = (e: any) => { + const handleDetailClick: MouseEventHandler = (e) => { e.stopPropagation() } - const handleWritingClick = (e: any) => { + const handleWritingClick: MouseEventHandler = (_) => { if (senderWikiId === null) { setModalOpen(true) } else { @@ -52,7 +52,7 @@ const BottomSheetButton = ({ id, senderWikiId }: BottomSheetButtonProps) => { return ( <> diff --git a/components/carousel/carousel.stories.tsx b/components/carousel/carousel.stories.tsx deleted file mode 100644 index 6434f11..0000000 --- a/components/carousel/carousel.stories.tsx +++ /dev/null @@ -1,36 +0,0 @@ -import { Meta, StoryObj } from '@storybook/react' -import Carousel from '.' - -import useEmblaCarousel from 'embla-carousel-react' -import { onBoardingItems } from '@/components/situations/onboard' -const meta: Meta = { - title: 'UI/Carousel', - component: Carousel, - args: { - slides: onBoardingItems, - renderItem: (item) => item as JSX.Element, - }, - - decorators: [ - (Story, args) => ( -
- -
- ), - ], - tags: ['UI', 'autodocs'], -} - -export default meta - -type Story = StoryObj - -export const Default: Story = { - name: 'default', - render: (args) => { - const ref = useEmblaCarousel({ - skipSnaps: false, - }) - return - }, -} diff --git a/components/carousel/index.tsx b/components/carousel/index.tsx index 7d75df1..4e6790c 100644 --- a/components/carousel/index.tsx +++ b/components/carousel/index.tsx @@ -1,4 +1,4 @@ -import React, {useMemo, useState, useEffect, useCallback, useRef } from 'react' +import React, { useMemo, useState, useEffect, useCallback, useRef } from 'react' import type { ReactNode, PropsWithChildren } from 'react' import { UseEmblaCarouselType } from 'embla-carousel-react' import { EmblaCarouselType } from 'embla-carousel' @@ -14,7 +14,6 @@ import { import { fadeInProps } from '@/variants' import { cn } from '@/lib/client/utils' - interface CarouselProps { className?: string itemClass?: string @@ -73,9 +72,9 @@ const Carousel = ({ return ( -
+
{slides.map((item, index) => ( @@ -144,7 +143,7 @@ export const DotButton = ({ return ( diff --git a/components/combobox/index.tsx b/components/combobox/index.tsx index 7a7e115..6ebe3fc 100644 --- a/components/combobox/index.tsx +++ b/components/combobox/index.tsx @@ -40,10 +40,10 @@ const ComboboxDropdown = forwardRef(
setIsOpen(false)}>
setIsOpen(!isOpen)} @@ -58,7 +58,7 @@ const ComboboxDropdown = forwardRef( strokeWidth={1.5} stroke="currentColor" className={cn( - 'w-5 h-5 text-text-sub-gray76 duration-300 ease-in-out', + 'h-5 w-5 text-text-sub-gray76 duration-300 ease-in-out', isOpen && 'rotate-180', )} > @@ -72,7 +72,7 @@ const ComboboxDropdown = forwardRef( {isOpen && ( ( -
+

{index + 1}.{' '}

{onShareClick && ( -
-

+

{data?.user?.name ?? ''}님에 대해 알아보세요!

{/* !DELETE */} {short?.length ? ( <> -
+
{short.slice(0, short.length / 2).map((item) => ( { /> ))}
-
+
{short.slice(short.length / 2, short.length).map((item) => (
-
+
{treeType.render(period as Period, relation as Relation)}
-
+
{senderName}
@@ -103,7 +103,7 @@ const BottomSheetButton = ({ id, senderWikiId }: BottomSheetButtonProps) => { }) const [modalOpen, setModalOpen] = useState(false) - const toggleBottomSheet = (e: any) => { + const toggleBottomSheet = (e: MouseEvent) => { setBottomSheet((prev) => ({ ...prev, isOpen: !prev.isOpen, @@ -111,7 +111,7 @@ const BottomSheetButton = ({ id, senderWikiId }: BottomSheetButtonProps) => { e.stopPropagation() } - const handleLinkClick = (e: any) => { + const handleLinkClick = (e: MouseEvent) => { if (senderWikiId === null) { e.preventDefault() } else { @@ -119,11 +119,11 @@ const BottomSheetButton = ({ id, senderWikiId }: BottomSheetButtonProps) => { } } - const handleDetailClick = (e: any) => { + const handleDetailClick = (e: MouseEvent) => { e.stopPropagation() } - const handleWritingClick = (e: any) => { + const handleWritingClick = (_: MouseEvent) => { if (senderWikiId === null) { setModalOpen(true) } else { @@ -137,7 +137,7 @@ const BottomSheetButton = ({ id, senderWikiId }: BottomSheetButtonProps) => { return ( <> diff --git a/components/confetti/index.tsx b/components/confetti/index.tsx index 8a56bb0..cffc3fc 100644 --- a/components/confetti/index.tsx +++ b/components/confetti/index.tsx @@ -1,11 +1,4 @@ -import { - HTMLAttributes, - MouseEventHandler, - PropsWithChildren, - forwardRef, - useEffect, - useRef, -} from 'react' +import { HTMLAttributes, PropsWithChildren, useEffect, useRef } from 'react' const randomNumBetween = (min: number, max: number) => Math.random() * (max - min) + min @@ -47,9 +40,9 @@ class Particle { { x, y, - deg = 0, + // deg = 0, r = randomNumBetween(10, 30), - spread = 15, + // spread = 15, }: ParticleOptions, private readonly friction = 0.89, private readonly gravity = 0.5, diff --git a/components/dashboard-container/detail-drawer.tsx b/components/dashboard-container/detail-drawer.tsx index aafc914..e2a47c5 100644 --- a/components/dashboard-container/detail-drawer.tsx +++ b/components/dashboard-container/detail-drawer.tsx @@ -11,7 +11,7 @@ import { fadeInProps } from '@/variants' import { Period, Relation, TreeType, treeCardAsset } from '@/model/tree.entity' import { useRouter } from 'next/router' import { cn } from '@/lib/client/utils' -import { ShareImageContext } from '../share-image' +import { QS_NAMES, ShareImageContext } from '../share-image' import { parseShareCardItems } from '../share-image/constants' import { useMount } from '@/hooks/use-mount' import SideDrawer from '../side-drawer' @@ -131,7 +131,7 @@ function Content({ id, type }: { id: string; type: DetailType }) { selectedFilter?.type ?? 'period', selectedFilter?.value ?? 'ALL', ], - queryFn: ({ pageParam = 0, queryKey, ...rest }) => { + queryFn: ({ pageParam = 0, queryKey }) => { return NamuiApi.getQuestionDetailById(pageParam as number, queryKey[1], [ queryKey[2], queryKey[3], @@ -169,14 +169,14 @@ function Content({ id, type }: { id: string; type: DetailType }) { return (
-
-
+
+
질문
{isLoading ? (
-

-

+

+

) : (

-

+

{typeof parsedData?.pages[0]?.data?.answers?.totalCount !== 'number' ? ( - + ) : ( {parsedData?.pages[0]?.data?.answers?.totalCount}명 @@ -204,16 +204,16 @@ function Content({ id, type }: { id: string; type: DetailType }) { -

-
+
+
-

-

+

+

{/*
{cardItem.answer}
뱃지들어가야함 */} -

+

)) @@ -235,7 +235,8 @@ function Content({ id, type }: { id: string; type: DetailType }) { period: cardItem.period, relation: cardItem.relation, optionName: cardItem.optionName, - questionName: page.data.questionName as any, + questionName: page.data + .questionName as QS_NAMES, reason: cardItem.reason, senderName: cardItem.senderName, value: @@ -270,7 +271,8 @@ function Content({ id, type }: { id: string; type: DetailType }) { period: cardItem.period, relation: cardItem.relation, optionName: cardItem.optionName, - questionName: page.data.questionName as any, + questionName: page.data + .questionName as QS_NAMES, reason: cardItem.reason, senderName: cardItem.senderName, value: @@ -300,10 +302,10 @@ function Content({ id, type }: { id: string; type: DetailType }) { `${pageNo}-${cardIndex}` } variants={fadeInProps.variants} - className="p-4 flex justify-between space-x-4" + className="flex justify-between space-x-4 p-4" >
@@ -312,7 +314,7 @@ function Content({ id, type }: { id: string; type: DetailType }) { cardItem.relation as Relation, )}
-
+

{cardItem.senderName}님 @@ -325,7 +327,7 @@ function Content({ id, type }: { id: string; type: DetailType }) { ].join(' · ')}

-

+

{cardItem.answer}

@@ -334,7 +336,7 @@ function Content({ id, type }: { id: string; type: DetailType }) { })}
))} -
+
) @@ -354,10 +356,10 @@ function MultipleChoice({ return (
@@ -366,7 +368,7 @@ function MultipleChoice({ cardItem.relation as Relation, )}
-
+

{cardItem.senderName}님

@@ -407,12 +409,12 @@ function MultipleChoice({
{cardItem.answer}
-

+

{cardItem.reason}

@@ -435,10 +437,10 @@ function TwoChoice({ return (
@@ -447,7 +449,7 @@ function TwoChoice({ cardItem.relation as Relation, )}
-
+

{cardItem.senderName}님

@@ -489,7 +491,7 @@ function TwoChoice({
{cardItem.answer}
-

+

{cardItem.reason}

diff --git a/components/dashboard-container/index.tsx b/components/dashboard-container/index.tsx index 2cb36ea..1d25a0f 100644 --- a/components/dashboard-container/index.tsx +++ b/components/dashboard-container/index.tsx @@ -7,7 +7,7 @@ import { fadeInProps } from '@/variants' import { cn } from '@/lib/client/utils' import TripleTrees from '../svgs/triple-trees' import ShareModal from '../share-modal' -import Button from '../ui/button' +import { Button } from '@/components/ui' import BestWorth from '@/components/compositions/dashboard/best-worth' import Character from '@/components/compositions/dashboard/character' import Money from '@/components/compositions/dashboard/money' @@ -24,7 +24,7 @@ const DashboardContainer = ({ getDashboardQuery(selectedFilter), ) return ( - + {isLoading || statisics?.length ? ( @@ -60,10 +60,10 @@ const DashboardContainer = ({ -

+

나무를 심어준 친구가 없어요

@@ -72,7 +72,7 @@ const DashboardContainer = ({ 친구에게 알려달라고 부탁해보세요

- +
)} @@ -91,7 +91,7 @@ function Section({
diff --git a/components/error-boundary.tsx b/components/error-boundary.tsx index e7d698d..e5e448d 100644 --- a/components/error-boundary.tsx +++ b/components/error-boundary.tsx @@ -13,7 +13,7 @@ class ErrorBoundary extends React.Component< this.state = { hasError: false } } - static getDerivedStateFromError(error: Error) { + static getDerivedStateFromError(_: Error) { return { hasError: true } } @@ -21,7 +21,7 @@ class ErrorBoundary extends React.Component< window.location.pathname = '/garden' } - componentDidCatch(error: Error, errorInfo: ErrorInfo) { + componentDidCatch(error: Error, _: ErrorInfo) { console.log(error) } render() { @@ -29,14 +29,14 @@ class ErrorBoundary extends React.Component< return ( -
-

+

+

서버에 문제가 생겼어요

-

+

잠시 후 다시 시도해 주세요

diff --git a/components/filter-button/index.tsx b/components/filter-button/index.tsx index c0fd787..056b09d 100644 --- a/components/filter-button/index.tsx +++ b/components/filter-button/index.tsx @@ -46,7 +46,7 @@ const FilterButton = ({ draggable={false} variants={fadeInProps.variants} className={cn( - 'text-caption2-medium h-9 rounded-full px-3 whitespace-nowrap avoid-min-w', + 'avoid-min-w h-9 whitespace-nowrap rounded-full px-3 text-caption2-medium', 'origin-center select-none', selected && 'text-text-main-whiteFF ', )} diff --git a/components/filter-text/index.tsx b/components/filter-text/index.tsx index 8ae5e6f..0e6e97d 100644 --- a/components/filter-text/index.tsx +++ b/components/filter-text/index.tsx @@ -14,8 +14,8 @@ const FilterText = ({ label, active = false, ...props }: FilterTextProps) => { draggable={false} onClick={props.onClick} className={cn( - 'text-body1 font-bold transition-colors text-text-sub-gray76 whitespace-nowrap', - 'active:scale-95 transition-transform origin-center select-none', + 'text-body1 whitespace-nowrap font-bold text-text-sub-gray76 transition-colors', + 'origin-center select-none transition-transform active:scale-95', props.className, active && 'text-text-main-black11', )} diff --git a/components/header/alert/alert-card.tsx b/components/header/alert/alert-card.tsx index f323995..d4f8596 100644 --- a/components/header/alert/alert-card.tsx +++ b/components/header/alert/alert-card.tsx @@ -9,11 +9,11 @@ const AlertCard = ({ isRead = false }: AlertCardProps) => { return (
-
+
{ />
-
+

김미영님이 소개서를 작성했어요

-
+
1-4년
-
+
직장
diff --git a/components/header/alert/index.tsx b/components/header/alert/index.tsx index 811b447..f6804bc 100644 --- a/components/header/alert/index.tsx +++ b/components/header/alert/index.tsx @@ -41,8 +41,8 @@ const Alert = () => { } >
-
-
diff --git a/components/header/developer-info/index.tsx b/components/header/developer-info/index.tsx index dcc7a0b..9f9a52c 100644 --- a/components/header/developer-info/index.tsx +++ b/components/header/developer-info/index.tsx @@ -1,6 +1,4 @@ import React, { useState } from 'react' -import useFilter, { Filter } from '@/hooks/use-filter' -import { useIntersectionObserver } from '@/hooks/use-observer' import Ch from '@/components/svgs/mimoticons/ch' import Yk from '@/components/svgs/mimoticons/yk' import Yh from '@/components/svgs/mimoticons/yh' @@ -8,24 +6,9 @@ import Es from '@/components/svgs/mimoticons/es' import Aa from '@/components/svgs/mimoticons/aa' import Logo from '@/components/svgs/logo' import SideDrawer from '@/components/side-drawer' -const container = { - hidden: { opacity: 0 }, - show: { - opacity: 1, - transition: { - staggerChildren: 0.05, - }, - }, -} export const DeveloperInfo = () => { - const { selectedFilter } = useFilter() const [openAlert, setOpenAlert] = useState(false) - const [length, setLength] = useState(10) - const { ref } = useIntersectionObserver({ - hasNextPage: true, - fetchNextPage: () => setLength((prev) => prev + 10), - }) return ( { open={openAlert} onChangeOpen={setOpenAlert} trigger={ -

+

제작 정보

} > -
+

GRRREW Team

-
+
@@ -102,12 +85,13 @@ export const DeveloperInfo = () => {
-
+

- Copyright ${new Date().getFullYear()}. GRRREW. All rights reserved. + Copyright ${new Date().getFullYear()}. GRRREW. All rights + reserved.

@@ -115,5 +99,3 @@ export const DeveloperInfo = () => { ) } - - diff --git a/components/header/edit-setting/index.tsx b/components/header/edit-setting/index.tsx index 37ad51e..402c20f 100644 --- a/components/header/edit-setting/index.tsx +++ b/components/header/edit-setting/index.tsx @@ -34,7 +34,7 @@ export const EditProfile = () => { try { await NamuiApi.editProfile(values.nickname) setOpenAlert(false) - } catch (err) { + } catch (_) { toastError() } } @@ -52,16 +52,16 @@ export const EditProfile = () => { open={openAlert} onChangeOpen={setOpenAlert} trigger={ -

+

프로필 편집

} >
-