대시보드 추가기능 + 계좌인증

This commit is contained in:
2026-02-12 17:16:41 +09:00
parent 434a814246
commit 12feeb2775
20 changed files with 1847 additions and 156 deletions

View File

@@ -3,6 +3,7 @@
import { useMemo } from "react";
import { useShallow } from "zustand/react/shallow";
import { LoadingSpinner } from "@/components/ui/loading-spinner";
import { ActivitySection } from "@/features/dashboard/components/ActivitySection";
import { DashboardAccessGate } from "@/features/dashboard/components/DashboardAccessGate";
import { DashboardSkeleton } from "@/features/dashboard/components/DashboardSkeleton";
import { HoldingsList } from "@/features/dashboard/components/HoldingsList";
@@ -22,6 +23,8 @@ export function DashboardContainer() {
const {
verifiedCredentials,
isKisVerified,
isKisProfileVerified,
verifiedAccountNo,
_hasHydrated,
wsApprovalKey,
wsUrl,
@@ -29,6 +32,8 @@ export function DashboardContainer() {
useShallow((state) => ({
verifiedCredentials: state.verifiedCredentials,
isKisVerified: state.isKisVerified,
isKisProfileVerified: state.isKisProfileVerified,
verifiedAccountNo: state.verifiedAccountNo,
_hasHydrated: state._hasHydrated,
wsApprovalKey: state.wsApprovalKey,
wsUrl: state.wsUrl,
@@ -38,6 +43,7 @@ export function DashboardContainer() {
const canAccess = isKisVerified && Boolean(verifiedCredentials);
const {
activity,
balance,
indices,
selectedHolding,
@@ -45,6 +51,7 @@ export function DashboardContainer() {
setSelectedSymbol,
isLoading,
isRefreshing,
activityError,
balanceError,
indicesError,
lastUpdatedAt,
@@ -80,6 +87,8 @@ export function DashboardContainer() {
summary={balance?.summary ?? null}
isKisRestConnected={isKisRestConnected}
isWebSocketReady={Boolean(wsApprovalKey && wsUrl)}
isProfileVerified={isKisProfileVerified}
verifiedAccountNo={verifiedAccountNo}
isRefreshing={isRefreshing}
lastUpdatedAt={lastUpdatedAt}
onRefresh={() => {
@@ -110,6 +119,13 @@ export function DashboardContainer() {
/>
</div>
</div>
{/* ========== ACTIVITY SECTION ========== */}
<ActivitySection
activity={activity}
isLoading={isLoading}
error={activityError}
/>
</section>
);
}