Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion jest.setup.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import "@testing-library/jest-dom";

import { server } from "@/mocks/server";
import { server } from "@/shared/mock/server";

// 모든 테스트가 시작하기 전 MSW 서버를 시작
beforeAll(() => server.listen({ onUnhandledRequest: "error" }));
Expand Down
6 changes: 5 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,9 @@
"dev:full": "concurrently \"next dev\" \"pnpm run mock\"",
"storybook": "storybook dev -p 6006",
"build-storybook": "storybook build",
"chromatic": "npx chromatic --project-token=chpt_c93820598942000"
"chromatic": "npx chromatic --project-token=chpt_c93820598942000",
"steiger": "npx steiger ./src",
"steiger:watch": "npx steiger ./src --watch"
},
"lint-staged": {
"*.{js,jsx,ts,tsx}": [
Expand Down Expand Up @@ -43,6 +45,7 @@
},
"devDependencies": {
"@chromatic-com/storybook": "^5.0.1",
"@feature-sliced/steiger-plugin": "^0.5.7",
"@storybook/addon-a11y": "^10.2.19",
"@storybook/addon-docs": "^10.2.19",
"@storybook/addon-onboarding": "^10.2.19",
Expand Down Expand Up @@ -77,6 +80,7 @@
"playwright": "^1.58.2",
"prettier": "^3.8.1",
"prettier-plugin-tailwindcss": "^0.7.2",
"steiger": "^0.5.11",
"storybook": "^10.2.19",
"tailwindcss": "^4",
"ts-node": "^10.9.2",
Expand Down
594 changes: 594 additions & 0 deletions pnpm-lock.yaml

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion src/app/(auth)/layout.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { Icon } from "@/components/common/Icon";
import { Icon } from "@/shared/ui/Icon";

// app/(auth)/layout.tsx
export default function AuthLayout({
Expand Down
4 changes: 2 additions & 2 deletions src/app/(auth)/login/page.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import React from "react";

import LoginForm from "@/components/auth/Login/LoginForm";
import SnsLoginButtons from "@/components/auth/SnsLoginButtons";
import LoginForm from "@/widgets/auth/Login/LoginForm";
import SnsLoginButtons from "@/widgets/auth/SnsLoginButtons";

const LoginPage = () => {
return (
Expand Down
4 changes: 2 additions & 2 deletions src/app/(auth)/signup/page.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import SignupForm from "@/components/auth/Signup/SignupForm";
import SnsLoginButtons from "@/components/auth/SnsLoginButtons";
import SignupForm from "@/widgets/auth/Signup/SignupForm";
import SnsLoginButtons from "@/widgets/auth/SnsLoginButtons";

export default function SignupPage() {
return (
Expand Down
2 changes: 1 addition & 1 deletion src/app/api/[...path]/route.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { cookies } from "next/headers";
import { NextRequest, NextResponse } from "next/server";

import { deleteTokenCookies, setTokenCookies } from "@/lib/auth/cookies";
import { deleteTokenCookies, setTokenCookies } from "@/shared/lib/auth/cookies";

async function refreshAndRetry({
refreshToken,
Expand Down
20 changes: 14 additions & 6 deletions src/app/layout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,24 @@ import "./globals.css";

import { Analytics } from "@vercel/analytics/next";
import { SpeedInsights } from "@vercel/speed-insights/next";
import localFont from "next/font/local";

import ToastProvider from "@/components/common/Toast";
import Overlay from "@/hooks/useOverlay/Overlay";
import { pretendard } from "@/lib/fonts";
import { initMocks } from "@/mocks";
import MSWInitializer from "@/mocks/MSWInitializer";
import { ReactQueryClientProvider } from "@/providers/ReactQueryProvider";
import { ReactQueryClientProvider } from "@/shared/providers/ReactQueryProvider";
import ToastProvider from "@/shared/providers/ToastProvider";
import Overlay from "@/shared/ui/Overlay/Overlay";

import { initMocks } from "../shared/mock";
import MSWInitializer from "../shared/mock/MSWInitializer";

initMocks();

const pretendard = localFont({
src: "../shared/assets/fonts/PretendardVariable.woff2",
display: "swap",
weight: "45 920",
variable: "--font-pretendard",
});

export default function RootLayout({
children,
}: Readonly<{
Expand Down
10 changes: 5 additions & 5 deletions src/app/page.tsx
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import { HomeCTASection } from "@/components/landing/HomeCTASection";
import { HomeFeaturesSection } from "@/components/landing/HomeFeaturesSection";
import { HomeHeroSection } from "@/components/landing/HomeHeroSection";
import { HomeStepsSection } from "@/components/landing/HomeStepsSection";
import { HomeTeamSpacesSection } from "@/components/landing/HomeTeamSpacesSection";
import { HomeCTASection } from "@/widgets/landing/HomeCTASection";
import { HomeFeaturesSection } from "@/widgets/landing/HomeFeaturesSection";
import { HomeHeroSection } from "@/widgets/landing/HomeHeroSection";
import { HomeStepsSection } from "@/widgets/landing/HomeStepsSection";
import { HomeTeamSpacesSection } from "@/widgets/landing/HomeTeamSpacesSection";

export default function Home() {
return (
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,14 @@ import {
} from "@tanstack/react-query";
import { useParams, useRouter } from "next/navigation";

import Button from "@/components/common/Button/Button";
import { Spacing } from "@/components/common/Spacing";
import { teamInvitationApi } from "@/features/team/invitation.api";
import type { TeamInvitationDetail } from "@/features/team/invitation.types";
import { teamInvitationApi } from "@/entities/team/api/invitation.api";
import {
invitationQueries,
invitationQueryKey,
} from "@/features/team/query/invitation.queryKey";
} from "@/entities/team/query/invitation.queryKey";
import type { TeamInvitationDetail } from "@/entities/team/types/invitation.types";
import Button from "@/shared/ui/Button/Button/Button";
import { Spacing } from "@/shared/ui/Spacing";

function errorMessage(err: unknown, fallback: string) {
if (err && typeof err === "object" && "message" in err) {
Expand Down
2 changes: 1 addition & 1 deletion src/app/taskmate/invitations/[inviteCode]/page.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import AsyncBoundary from "@/components/common/AsyncBoundary";
import AsyncBoundary from "@/shared/ui/AsyncBoundary";

import { InvitationPageClient } from "./InvitationPageClient";

Expand Down
4 changes: 2 additions & 2 deletions src/app/taskmate/layout.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { NavigationBar } from "@/components/NavigationBar";
import NavigationBarProvider from "@/components/NavigationBar/provider";
import NotificationSubscriber from "@/features/notification/NotificationSubscriber";
import { NavigationBar } from "@/widgets/NavigationBar";
import NavigationBarProvider from "@/widgets/NavigationBar/provider";

export default function TaskmateLayout({
children,
Expand Down
4 changes: 2 additions & 2 deletions src/app/taskmate/my/page.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import React from "react";

import AsyncBoundary from "@/components/common/AsyncBoundary";
import MyProfileForm from "@/components/my/MyProfileForm";
import AsyncBoundary from "@/shared/ui/AsyncBoundary";
import MyProfileForm from "@/widgets/my/MyProfileForm";

const Mypage = () => {
return (
Expand Down
14 changes: 7 additions & 7 deletions src/app/taskmate/page.tsx
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import AsyncBoundary from "@/components/common/AsyncBoundary";
import { Icon } from "@/components/common/Icon";
import { Spacing } from "@/components/common/Spacing";
import { FavoriteGoalsSection } from "@/components/home/FavoriteGoalsSection";
import ProgressSection from "@/components/home/ProgressSection";
import TodoOverviewSection from "@/components/home/TodoOverviewSection";
import WelcomeBanner from "@/components/home/WelcomeBanner";
import AsyncBoundary from "@/shared/ui/AsyncBoundary";
import { Icon } from "@/shared/ui/Icon";
import { Spacing } from "@/shared/ui/Spacing";
import { FavoriteGoalsSection } from "@/widgets/home/FavoriteGoalsSection";
import ProgressSection from "@/widgets/home/ProgressSection";
import TodoOverviewSection from "@/widgets/home/TodoOverviewSection";
import WelcomeBanner from "@/widgets/home/WelcomeBanner";

export default function TaskmatePage() {
return (
Expand Down
12 changes: 6 additions & 6 deletions src/app/taskmate/personal/goal/[goalId]/page.tsx
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
"use client";

import AsyncBoundary from "@/components/common/AsyncBoundary";
import { Spacing } from "@/components/common/Spacing";
import Spinner from "@/components/common/Spinner";
import { Heading } from "@/components/goal/Heading";
import Summary from "@/components/goal/Summary";
import { TodoSection } from "@/components/team/TodoSection";
import AsyncBoundary from "@/shared/ui/AsyncBoundary";
import { Spacing } from "@/shared/ui/Spacing";
import Spinner from "@/shared/ui/Spinner";
import { Heading } from "@/widgets/goal/Heading";
import Summary from "@/widgets/goal/Summary";
import { TodoSection } from "@/widgets/team/TodoSection";

export default function Page() {
return (
Expand Down
4 changes: 2 additions & 2 deletions src/app/taskmate/personal/goal/create/page.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { Spacing } from "@/components/common/Spacing";
import { PersonalCreateForm } from "@/components/goal/CreateForm/PersonalCreateForm";
import { Spacing } from "@/shared/ui/Spacing";
import { PersonalCreateForm } from "@/widgets/goal/CreateForm/PersonalCreateForm";

export default function Page() {
return (
Expand Down
12 changes: 6 additions & 6 deletions src/app/taskmate/team/[teamId]/goal/[goalId]/page.tsx
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
"use client";

import AsyncBoundary from "@/components/common/AsyncBoundary";
import { Spacing } from "@/components/common/Spacing";
import Spinner from "@/components/common/Spinner";
import { Heading } from "@/components/goal/Heading";
import Summary from "@/components/goal/Summary";
import { TodoSection } from "@/components/team/TodoSection";
import AsyncBoundary from "@/shared/ui/AsyncBoundary";
import { Spacing } from "@/shared/ui/Spacing";
import Spinner from "@/shared/ui/Spinner";
import { Heading } from "@/widgets/goal/Heading";
import Summary from "@/widgets/goal/Summary";
import { TodoSection } from "@/widgets/team/TodoSection";

export default function Page() {
return (
Expand Down
4 changes: 2 additions & 2 deletions src/app/taskmate/team/[teamId]/goal/create/page.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { Spacing } from "@/components/common/Spacing";
import { TeamCreateForm } from "@/components/goal/CreateForm/TeamCreateForm";
import { Spacing } from "@/shared/ui/Spacing";
import { TeamCreateForm } from "@/widgets/goal/CreateForm/TeamCreateForm";

export default function Page() {
return (
Expand Down
16 changes: 8 additions & 8 deletions src/app/taskmate/team/[teamId]/management/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,14 @@
import { useParams, useRouter } from "next/navigation";
import { useEffect, useState } from "react";

import TextButton from "@/components/common/TextButton/TextButton";
import DeleteModal from "@/components/management/DeleteModal";
import ErrorModal from "@/components/management/ErrorModal";
import InviteModal from "@/components/management/InviteModal";
import MemberList from "@/components/management/MemberList";
import TeamNameEditor from "@/components/management/TeamNameEditor";
import { inviteApi, teamDetailApi } from "@/features/management/api";
import { useOverlay } from "@/hooks/useOverlay";
import { inviteApi, teamDetailApi } from "@/entities/team/api/management.api";
import { useOverlay } from "@/shared/hooks/useOverlay";
import TextButton from "@/shared/ui/Button/TextButton/TextButton";
import DeleteModal from "@/widgets/management/DeleteModal";
import ErrorModal from "@/widgets/management/ErrorModal";
import InviteModal from "@/widgets/management/InviteModal";
import MemberList from "@/widgets/management/MemberList";
import TeamNameEditor from "@/widgets/management/TeamNameEditor";

// @TODO: Page가 갖는 책임에서 벗어나는 코드 제거 및 분리
const TeamManagement = () => {
Expand Down
8 changes: 4 additions & 4 deletions src/app/taskmate/team/[teamId]/page.tsx
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
"use client";

import AsyncBoundary from "@/components/common/AsyncBoundary";
import { GoalList } from "@/components/team/GoalList";
import { MemberList } from "@/components/team/MemberList";
import { Summary } from "@/components/team/Summary";
import AsyncBoundary from "@/shared/ui/AsyncBoundary";
import { GoalList } from "@/widgets/team/GoalList";
import { MemberList } from "@/widgets/team/MemberList";
import { Summary } from "@/widgets/team/Summary";

export default function Page() {
return (
Expand Down
4 changes: 2 additions & 2 deletions src/app/taskmate/team/create/page.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { Spacing } from "@/components/common/Spacing";
import { CreateForm } from "@/components/team/createForm";
import { Spacing } from "@/shared/ui/Spacing";
import { CreateForm } from "@/widgets/team/createForm";

export default function Page() {
return (
Expand Down
4 changes: 2 additions & 2 deletions src/app/taskmate/trash/page.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import React from "react";

import AsyncBoundary from "@/components/common/AsyncBoundary";
import Trash from "@/components/trash";
import AsyncBoundary from "@/shared/ui/AsyncBoundary";
import Trash from "@/widgets/trash";

const TrashPage = () => {
return (
Expand Down
115 changes: 0 additions & 115 deletions src/components/NavigationBar/index.test.tsx

This file was deleted.

Loading
Loading