From b9242989c593b68a8bb7f4a2043eaf590f0e56a7 Mon Sep 17 00:00:00 2001 From: Morimoto Mana Date: Fri, 6 Dec 2024 15:46:30 +0900 Subject: [PATCH 1/2] create my contents --- src/Components/DashBoard/DashBoard.tsx | 33 ++++++++++++++------ src/app/mycontent/page.tsx | 43 ++++++++++++++++++++++++++ src/app/page.tsx | 2 +- src/utils/API/fetchResult.ts | 8 +++-- 4 files changed, 73 insertions(+), 13 deletions(-) create mode 100644 src/app/mycontent/page.tsx diff --git a/src/Components/DashBoard/DashBoard.tsx b/src/Components/DashBoard/DashBoard.tsx index 8cd14ee..0a36767 100644 --- a/src/Components/DashBoard/DashBoard.tsx +++ b/src/Components/DashBoard/DashBoard.tsx @@ -6,24 +6,38 @@ import Progress from "../Progress/Progress"; import styles from "./DashBoard.module.scss"; // 投稿を取得してPostCardに渡す -export default function DashBoard() { +export default function DashBoard({ + userId = "", + success = true, + failed = true, + pending = true, +}: { + userId?: string; + success?: boolean; + failed?: boolean; + pending?: boolean; +} = {}) { const [successResults, setSuccessResults] = useState([]); const [failedResults, setFailedResults] = useState([]); + const [pendingResults, setPendingResults] = useState([]); const [noResult, setNoResult] = useState(false); + console.log(success, failed, pending); + useEffect(() => { - fetchResult() + fetchResult({ userId }) .then((data) => { + console.log(data); if ( data.successResults.length === 0 && - data.failedResults.length === 0 + data.failedResults.length === 0 && + data.pendingResults.length === 0 ) { setNoResult(true); - } else { - console.log(data); - setSuccessResults(data.successResults); - setFailedResults(data.failedResults); } + setSuccessResults(data.successResults); + setFailedResults(data.failedResults); + setPendingResults(data.pendingResults); }) .catch((error) => { if (error instanceof Response && error.status === 404) { @@ -41,8 +55,9 @@ export default function DashBoard() { ) : (
)} diff --git a/src/app/mycontent/page.tsx b/src/app/mycontent/page.tsx new file mode 100644 index 0000000..6a04320 --- /dev/null +++ b/src/app/mycontent/page.tsx @@ -0,0 +1,43 @@ +"use client"; +import DashBoard from "@/Components/DashBoard/DashBoard"; +import { useUser } from "@/utils/UserContext"; +import Button from "@mui/material/Button"; +import ButtonGroup from "@mui/material/ButtonGroup"; +import { useState } from "react"; + +export default function MyContent() { + const { user } = useUser(); + const [buttonState, setButtonState] = useState<"pending" | "finished">( + "pending" + ); + + const handlePendingClick = () => { + setButtonState("pending"); + }; + + const handleCompletedClick = () => { + setButtonState("finished"); + }; + console.log(buttonState); + return ( + <> +
+ + + + +
+ + {buttonState == "pending" ? ( + + ) : ( + + )} + + ); +} diff --git a/src/app/page.tsx b/src/app/page.tsx index 0dc78a4..929ac0a 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -11,7 +11,7 @@ import { Button } from "@mui/material"; export default function Top() { return ( <> - + - - + { + setValue(newValue); + }} + aria-label="Loading button group" + > + 未完了 + 完了済み + - {buttonState == "pending" ? ( + {value == "pending" ? ( ) : (