From 49cd23f6de0983753892280c89dc366a2135866e Mon Sep 17 00:00:00 2001 From: Bokdol11859 <2019147551@yonsei.ac.kr> Date: Wed, 28 Feb 2024 00:08:48 +0900 Subject: [PATCH] feat: integrate backend with yearly, monthly dividend ranking pages along with design qa --- .../dividend/_components/dividend-row.tsx | 4 +- .../_components/dividend-accordion.tsx | 40 +- .../dividend/monthly/_components/header.tsx | 3 +- .../(main)/report/dividend/monthly/page.tsx | 580 +----------------- .../yearly/_components/dividend-list.tsx | 2 +- .../dividend/yearly/_components/header.tsx | 17 +- .../(main)/report/dividend/yearly/page.tsx | 2 +- .../queries/use-monthly-dividend-mutation.ts | 37 ++ src/utils/date.ts | 16 + 9 files changed, 108 insertions(+), 593 deletions(-) create mode 100644 src/state/queries/use-monthly-dividend-mutation.ts diff --git a/src/app/(main)/report/dividend/_components/dividend-row.tsx b/src/app/(main)/report/dividend/_components/dividend-row.tsx index dadadcc..db50ded 100644 --- a/src/app/(main)/report/dividend/_components/dividend-row.tsx +++ b/src/app/(main)/report/dividend/_components/dividend-row.tsx @@ -7,7 +7,9 @@ export interface Dividend extends StockResponse {} export const DividendRow = React.memo(({ dividend }: { dividend: SingleYearlyDividendResponse }) => { return (
{dividend.ticker}
diff --git a/src/app/(main)/report/dividend/monthly/_components/dividend-accordion.tsx b/src/app/(main)/report/dividend/monthly/_components/dividend-accordion.tsx index cd7ccd7..26c5832 100644 --- a/src/app/(main)/report/dividend/monthly/_components/dividend-accordion.tsx +++ b/src/app/(main)/report/dividend/monthly/_components/dividend-accordion.tsx @@ -2,45 +2,59 @@ import React from "react"; import { Accordion, AccordionContent, AccordionItem, AccordionTrigger } from "@/components/ui/accordion"; -import { MonthlyDividendIncome } from "../page"; + import { DividendRow } from "../../_components/dividend-row"; import { cn } from "@/utils/cn"; +import { MonthlyDividendResponse } from "@/api/generated/endpoint.schemas"; -export const DividendAccordion = ({ monthlyDividendList }: { monthlyDividendList: MonthlyDividendIncome[] }) => { +export const DividendAccordion = ({ monthlyDividendList }: { monthlyDividendList: MonthlyDividendResponse[] }) => { return ( -{monthDividend.date.toDateString()}
-{monthDividend.totalIncome}
+{`${month}${year}`}
+${monthDividend.totalDividend}
{monthDividend.date.toDateString()}
-{monthDividend.totalIncome}
+{`${month}${year}`}
+${monthDividend.totalDividend}
YYYY.MM ~ YYYY.MM
+{getYearRange(new Date())}
diff --git a/src/app/(main)/report/dividend/yearly/_components/header.tsx b/src/app/(main)/report/dividend/yearly/_components/header.tsx index 9eef197..9d07c61 100644 --- a/src/app/(main)/report/dividend/yearly/_components/header.tsx +++ b/src/app/(main)/report/dividend/yearly/_components/header.tsx @@ -1,21 +1,6 @@ +import { getYearRange } from "@/utils/date"; import React from "react"; -const getYearRange = (date: Date): string => { - const startDate = new Date(date); - const endDate = new Date(startDate.getFullYear() + 1, startDate.getMonth(), startDate.getDate()); - - const startYear = startDate.getFullYear(); - const startMonth = startDate.getMonth() + 1; - const endYear = endDate.getFullYear(); - const endMonth = endDate.getMonth() + 1; - - const formattedStartMonth = startMonth < 10 ? `0${startMonth}` : startMonth.toString(); - const formattedEndMonth = endMonth < 10 ? `0${endMonth}` : endMonth.toString(); - - const dateRange = `${startYear}.${formattedStartMonth} ~ ${endYear}.${formattedEndMonth}`; - return dateRange; -}; - export const Header = React.memo(() => { return (