-
-
- {amount.toLocaleString()}원
+const SalesCard: React.FC = ({ today, previous }) => {
+ const [showToday, setShowToday] = useState(true);
+ const [isHoverBack, setIsHoverBack] = useState(false);
+ const [isHoverForward, setIsHoverForward] = useState(false);
+
+ return (
+
+
+
+
+ {showToday ? "오늘 매출" : "이전 매출"}
+
+
+ {showToday ? today.date : previous.date}
+
+
+ {/* 이전,다음 이동 버튼 */}
+
+
setIsHoverBack(true)}
+ onMouseLeave={() => setIsHoverBack(false)}
+ onClick={() => setShowToday(false)}
+ />
+
setIsHoverForward(true)}
+ onMouseLeave={() => setIsHoverForward(false)}
+ onClick={() => setShowToday(true)}
+ />
+
+
+
+
+
+ {(showToday ? today.amount : previous.amount).toLocaleString()}원
+
+
+ {showToday && (
+ <>
+
+ {today.percent >= 0 ? "+" : ""}
+ {today.percent}%
+
+ >
+ )}
+
+
+ 어제보다 {today.diffAmount.toLocaleString()}원{" "}
+ {today.diffAmount >= 0 ? "더 벌었어요!" : "덜 벌었어요!"}
-
+{percent}%
-
- 어제보다 {diffAmount.toLocaleString()}원 더 벌었어요!
-
-
-);
+ );
+};
+
export default SalesCard;
diff --git a/apps/nowait-admin/src/pages/AdminAnalytics/components/TotalSalesCard.tsx b/apps/nowait-admin/src/pages/AdminAnalytics/components/TotalSalesCard.tsx
new file mode 100644
index 00000000..a6e60d58
--- /dev/null
+++ b/apps/nowait-admin/src/pages/AdminAnalytics/components/TotalSalesCard.tsx
@@ -0,0 +1,44 @@
+import React from "react";
+
+interface TotalSalesCardProps {
+ title: string; // 예: "누적매출"
+ date: string; // 예: "2025. 07.18 - 07.19"
+ amount: number; // 예: 1800000
+ percent: number; // 예: -0.6
+}
+
+const TotalSalesCard: React.FC
= ({
+ title,
+ date,
+ amount,
+ percent,
+}) => {
+ const percentColor =
+ percent > 0
+ ? "text-[#FF5A1F]" // 상승: 주황
+ : percent < 0
+ ? "text-[#3A75E5]" // 하락: 파랑
+ : "text-gray-500"; // 변동 없음
+
+ return (
+
+ {/* 상단 제목 + 날짜 */}
+
+
+ {/* 금액 + 퍼센트 변화 */}
+
+
+ {amount.toLocaleString()}원
+
+
+ {percent > 0 ? `+${percent}%` : `${percent}%`}
+
+
+
+ );
+};
+
+export default TotalSalesCard;