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
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ import { useEffect, useState, useRef } from "react";
import { useIntersection } from "@/lib/hooks/useIntersection";
import { DashboardColumn, TaskCardList } from "@/lib/types";
import { fetchTaskCardList } from "@/lib/apis/cardsApi";
import { TOKEN_1 } from "@/lib/constants/tokens";
import EditColumnButton from "./EditColumnButton";
import AddTaskButton from "./AddTaskButton";
import TaskCard from "./TaskCard";
Expand All @@ -18,6 +17,7 @@ export default function Column({ id, title }: DashboardColumn) {
const [isLoading, setIsLoading] = useState(false);
const [isLast, setIsLast] = useState(false);
const observerRef = useRef<HTMLDivElement | null>(null);
const accessToken = localStorage.getItem("accessToken") ?? "";

const handleLoad = async () => {
if (isLoading || isLast) return;
Expand All @@ -29,7 +29,7 @@ export default function Column({ id, title }: DashboardColumn) {
cursorId: nextCursorId,
totalCount,
} = await fetchTaskCardList({
token: TOKEN_1,
token: accessToken,
size: PAGE_SIZE,
cursorId,
columnId: id,
Expand Down
14 changes: 8 additions & 6 deletions src/app/(after-login)/dashboard/[dashboardid]/layout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import DashboardIdSetter from "./_components/DashboardIdSetter";
import { DashboardDetail } from "@/lib/types";
import { fetchDashboard } from "@/lib/apis/dashboardsApi";
import { fetchDashboardMember } from "@/lib/apis/membersApi";
import { TOKEN_1 } from "@/lib/constants/tokens";
import { cookies } from "next/headers";
import DashboardMenu from "@/components/layout/navbar/DashboardMenu";
import MemberList from "@/components/layout/navbar/MemberList";
import UserMenu from "@/components/layout/navbar/UserMenu";
Expand All @@ -15,17 +15,19 @@ export default async function Layout({
children: React.ReactNode;
params?: { dashboardid?: string };
}) {
if (!params?.dashboardid) {
return;
}
const accessToken = cookies().get("accessToken")?.value ?? "";

if (!params?.dashboardid) return;

const dashboardData: DashboardDetail = await fetchDashboard({
token: TOKEN_1,
token: accessToken,
id: params.dashboardid,
});

const memberData = await fetchDashboardMember({
token: TOKEN_1,
token: accessToken,
page: 1,
size: null,
id: params.dashboardid,
});

Expand Down
6 changes: 4 additions & 2 deletions src/app/(after-login)/dashboard/[dashboardid]/page.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { DashboardColumn } from "@/lib/types";
import { fetchColumnList } from "@/lib/apis/columnsApi";
import { TOKEN_1 } from "@/lib/constants/tokens";
import { cookies } from "next/headers";
import Column from "./_components/Column";
import AddColumnButton from "./_components/AddColumnButton";

Expand All @@ -9,8 +9,10 @@ export default async function Page({
}: {
params: { dashboardid: string };
}) {
const accessToken = cookies().get("accessToken")?.value ?? "";

const { data } = await fetchColumnList({
token: TOKEN_1,
token: accessToken,
id: params.dashboardid,
});
const items: DashboardColumn[] = data;
Expand Down
10 changes: 9 additions & 1 deletion src/app/(after-login)/layout.tsx
Original file line number Diff line number Diff line change
@@ -1,10 +1,18 @@
import { ReactNode } from "react";
import { cookies } from "next/headers";
import { redirect } from "next/navigation";
import ROUTE from "@/lib/constants/route";
import Sidebar from "@/components/layout/sidebar";

import ModalProvider from "@/components/common/modal/ModalProvider";
import AlertProvider from "@/components/common/alert/AlertProvider";

export default function Layout({ children }: { children: ReactNode }) {
const accessToken = cookies().get("accessToken")?.value;

if (!accessToken) {
redirect(ROUTE.HOME);
}

return (
<div className="flex h-screen">
<div className="w-[67px] px-[14px] py-5 border-r border-gray-400 tablet:w-[160px] tablet:px-[13px] pc:w-[300px] pc:px-3">
Expand Down
6 changes: 4 additions & 2 deletions src/app/(after-login)/mydashboard/layout.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { DashboardList } from "@/lib/types";
import { fetchDashboardList } from "@/lib/apis/dashboardsApi";
import { TOKEN_1 } from "@/lib/constants/tokens";
import { cookies } from "next/headers";
import DashboardMenu from "@/components/layout/navbar/DashboardMenu";
import UserMenu from "@/components/layout/navbar/UserMenu";

Expand All @@ -11,8 +11,10 @@ export default async function Layout({
}: {
children: React.ReactNode;
}) {
const accessToken = cookies().get("accessToken")?.value ?? "";

const { dashboards } = await fetchDashboardList({
token: TOKEN_1,
token: accessToken,
page: 1,
size: PAGE_SIZE,
});
Expand Down
4 changes: 2 additions & 2 deletions src/app/(after-login)/mypage/_components/ProfileSection.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,18 +3,18 @@
import { useEffect, useState } from "react";
import { UserInfo } from "@/lib/types";
import { fetchUser } from "@/lib/apis/usersApi";
import { TOKEN_1 } from "@/lib/constants/tokens";
import Button from "@/components/common/button/Button";
import ImageInput from "@/components/common/input/ImageInput";
import Input from "@/components/common/input/Input";

export default function ProfileSection() {
const [data, setData] = useState<UserInfo | null>(null);
const accessToken = localStorage.getItem("accessToken") ?? "";

useEffect(() => {
const getData = async () => {
const res = await fetchUser({
token: TOKEN_1,
token: accessToken,
});
setData(res);
};
Expand Down
6 changes: 4 additions & 2 deletions src/app/(after-login)/mypage/layout.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { DashboardList } from "@/lib/types";
import { fetchDashboardList } from "@/lib/apis/dashboardsApi";
import { TOKEN_1 } from "@/lib/constants/tokens";
import { cookies } from "next/headers";
import DashboardMenu from "@/components/layout/navbar/DashboardMenu";
import UserMenu from "@/components/layout/navbar/UserMenu";

Expand All @@ -11,8 +11,10 @@ export default async function Layout({
}: {
children: React.ReactNode;
}) {
const accessToken = cookies().get("accessToken")?.value ?? "";

const { dashboards } = await fetchDashboardList({
token: TOKEN_1,
token: accessToken,
page: 1,
size: PAGE_SIZE,
});
Expand Down
1 change: 0 additions & 1 deletion src/app/(before-login)/(with-navbar)/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@ export default function Home() {
const isMobile = useIsMobile();
const isTablet = useIsTablet();
const isPC = useIsPC();

const router = useRouter();

const pointStyle = twMerge(
Expand Down
1 change: 1 addition & 0 deletions src/app/(before-login)/(without-navbar)/login/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ export default function Page() {
const response = await fetchLogin(data);
setIsLoading(false);
localStorage.setItem("accessToken", response.accessToken);
document.cookie = `accessToken=${response.accessToken}; path=/`;
openAlert("loginSuccess");
router.push("/mydashboard");
} catch (error: unknown) {
Expand Down
14 changes: 14 additions & 0 deletions src/app/(before-login)/layout.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
import { ReactNode } from "react";
import { cookies } from "next/headers";
import { redirect } from "next/navigation";
import ROUTE from "@/lib/constants/route";

export default function Layout({ children }: { children: ReactNode }) {
const accessToken = cookies().get("accessToken")?.value;

if (accessToken) {
redirect(ROUTE.MYDASHBOARD);
}

return <div>{children}</div>;
}
4 changes: 2 additions & 2 deletions src/components/common/alert/AlertProvider.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,18 @@ import { useRouter } from "next/navigation";
import { useAlertStore } from "@/lib/store/useAlertStore";
import { useColumnStore } from "@/lib/store/useColumnStore";
import { deleteColumn } from "@/lib/apis/columnsApi";
import { TOKEN_1 } from "@/lib/constants/tokens";
import Alert from "@/components/common/alert/Alert";
import ROUTE from "@/lib/constants/route";

export default function AlertProvider() {
const { currentAlert } = useAlertStore();
const { selectedColumnId } = useColumnStore();
const router = useRouter();
const accessToken = localStorage.getItem("accessToken") ?? "";

const handleDeleteClick = async () => {
deleteColumn({
token: TOKEN_1,
token: accessToken,
columnId: Number(selectedColumnId),
});

Expand Down
4 changes: 2 additions & 2 deletions src/components/common/modal/MenuButton.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import { useState } from "react";
import { deleteCard } from "@/lib/apis/cardsApi";
import { TOKEN_1 } from "@/lib/constants/tokens";
import { useModalStore } from "@/lib/store/useModalStore";
import Image from "next/image";
import MenuButtonIcon from "../../../../public/icon/menu_icon.svg";
Expand All @@ -10,6 +9,7 @@ export default function MenuButton() {
const [isOpen, setIsOpen] = useState(false);
const { openModal, closeModal } = useModalStore();
const { selectedTaskId } = useTaskStore();
const accessToken = localStorage.getItem("accessToken") ?? "";

const openModifyModal = () => {
closeModal();
Expand All @@ -20,7 +20,7 @@ export default function MenuButton() {
if (!selectedTaskId) return;

await deleteCard({
token: TOKEN_1,
token: accessToken,
cardId: selectedTaskId,
});

Expand Down
8 changes: 4 additions & 4 deletions src/components/layout/navbar/UserMenu.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,24 +5,23 @@ import { UserInfo } from "@/lib/types";
import { useRouter } from "next/navigation";
import { useDashboardStore } from "@/lib/store/useDashboardStore";
import { fetchUser } from "@/lib/apis/usersApi";
import { TOKEN_1 } from "@/lib/constants/tokens";
import { useIsMobile } from "@/lib/hooks/useCheckViewport";
import UserIcon from "@/components/common/user-icon/UserIcon";
import ROUTE from "@/lib/constants/route";

export default function UserMenu() {
const [data, setData] = useState<UserInfo | null>(null);

const [isOpen, setIsOpen] = useState(false);
const isMobile = useIsMobile();
const router = useRouter();
const accessToken = localStorage.getItem("accessToken") ?? "";

const setDashboardId = useDashboardStore((state) => state.setDashboardId);

useEffect(() => {
const getData = async () => {
const res = await fetchUser({
token: TOKEN_1,
token: accessToken,
});
setData(res);
};
Expand All @@ -40,7 +39,8 @@ export default function UserMenu() {
};

const handleLogout = () => {
alert("로그아웃"); // 로그아웃 API 요청 넣기
localStorage.removeItem("accessToken");
document.cookie = "accessToken=; path=/; max-age=0";
router.push(ROUTE.HOME);
};

Expand Down
4 changes: 2 additions & 2 deletions src/components/layout/sidebar/SideMenuList.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ import { useEffect, useState, useRef } from "react";
import { useIntersection } from "@/lib/hooks/useIntersection";
import { DashboardList } from "@/lib/types";
import { fetchDashboardList } from "@/lib/apis/dashboardsApi";
import { TOKEN_1 } from "@/lib/constants/tokens";
import SideMenuItem from "./SideMenuItem";

const PAGE_SIZE = 15;
Expand All @@ -15,14 +14,15 @@ export default function SideMenuList() {
const [isLoading, setIsLoading] = useState(false);
const [isLast, setIsLast] = useState(false);
const observerRef = useRef<HTMLDivElement | null>(null);
const accessToken = localStorage.getItem("accessToken") ?? "";

const handleLoad = async () => {
if (isLoading || isLast) return;
setIsLoading(true);

try {
const { dashboards: newDashboards } = await fetchDashboardList({
token: TOKEN_1,
token: accessToken,
size: PAGE_SIZE,
page,
});
Expand Down
6 changes: 3 additions & 3 deletions src/components/modal/add-column/AddColumnModal.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ import { useRouter } from "next/navigation";
import { DashboardColumn } from "@/lib/types";
import { useDashboardStore } from "@/lib/store/useDashboardStore";
import { fetchColumnList, postColumn } from "@/lib/apis/columnsApi";
import { TOKEN_1 } from "@/lib/constants/tokens";
import Modal from "@/components/common/modal/Modal";
import Input from "@/components/common/input/Input";

Expand All @@ -19,13 +18,14 @@ export default function CreateDashboardModal() {
const [isFormValid, setIsFormValid] = useState(false);
const { dashboardId } = useDashboardStore();
const router = useRouter();
const accessToken = localStorage.getItem("accessToken") ?? "";

useEffect(() => {
if (!dashboardId) return;

const getData = async () => {
const res = await fetchColumnList({
token: TOKEN_1,
token: accessToken,
id: dashboardId,
});
setColumnList(res.data);
Expand Down Expand Up @@ -53,7 +53,7 @@ export default function CreateDashboardModal() {
if (!dashboardId) return;

await postColumn({
token: TOKEN_1,
token: accessToken,
title: inputValue,
dashboardId: Number(dashboardId),
});
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import { useEffect, useState } from "react";
import { useRouter } from "next/navigation";
import { postDashboard } from "@/lib/apis/dashboardsApi";
import { TOKEN_1 } from "@/lib/constants/tokens";
import Modal from "@/components/common/modal/Modal";
import Input from "@/components/common/input/Input";
import ColorPalette, {
Expand All @@ -13,6 +12,7 @@ export default function CreateDashboardModal() {
const [selectedColor, setSelectedColor] = useState<ColorCode | "">("");
const [isFormValid, setIsFormValid] = useState(false);
const router = useRouter();
const accessToken = localStorage.getItem("accessToken") ?? "";

const onColorSelect = (color: ColorCode | "") => {
setSelectedColor(() => {
Expand All @@ -32,7 +32,7 @@ export default function CreateDashboardModal() {

const createDashboard = async () => {
const res = await postDashboard({
token: TOKEN_1,
token: accessToken,
title: dashboardName,
color: selectedColor,
});
Expand Down
6 changes: 3 additions & 3 deletions src/components/modal/editColumn/EditColumnModal.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ import { DashboardColumn } from "@/lib/types";
import { useDashboardStore } from "@/lib/store/useDashboardStore";
import { useColumnStore } from "@/lib/store/useColumnStore";
import { fetchColumnList, putColumn } from "@/lib/apis/columnsApi";
import { TOKEN_1 } from "@/lib/constants/tokens";
import Modal from "@/components/common/modal/Modal";
import Input from "@/components/common/input/Input";

Expand All @@ -21,13 +20,14 @@ export default function CreateDashboardModal() {
const [isFormValid, setIsFormValid] = useState(false);
const { dashboardId } = useDashboardStore();
const router = useRouter();
const accessToken = localStorage.getItem("accessToken") ?? "";

useEffect(() => {
if (!dashboardId) return;

const getData = async () => {
const res = await fetchColumnList({
token: TOKEN_1,
token: accessToken,
id: dashboardId,
});
setColumnList(res.data);
Expand Down Expand Up @@ -57,7 +57,7 @@ export default function CreateDashboardModal() {
if (!selectedColumnId) return;

await putColumn({
token: TOKEN_1,
token: accessToken,
title: inputValue,
columnId: Number(selectedColumnId),
});
Expand Down
Loading