diff --git a/resources/js/components/Display/ProgressBar.tsx b/resources/js/components/Display/ProgressBar.tsx index ccf594d..06cb5d0 100644 --- a/resources/js/components/Display/ProgressBar.tsx +++ b/resources/js/components/Display/ProgressBar.tsx @@ -1,10 +1,5 @@ import { cn } from '@/lib/utils'; - -interface Milestone { - target: number; - description: string; - created_at: string; -} +import type { Milestone } from '@/types/domain'; interface ProgressBarProps { currentQuantity: number; diff --git a/resources/js/components/Display/StatsBox.tsx b/resources/js/components/Display/StatsBox.tsx index 8ad5c4e..db34199 100644 --- a/resources/js/components/Display/StatsBox.tsx +++ b/resources/js/components/Display/StatsBox.tsx @@ -2,12 +2,7 @@ import { cn } from '@/lib/utils'; import { Plus, ChevronRight } from 'lucide-react'; import { useState } from 'react'; import ComponentTitle from '@/components/ui/ComponentTitle'; - -interface Milestone { - target: number; - description: string; - created_at: string; -} +import type { Milestone } from '@/types/domain'; interface StatsBoxProps { stats: { diff --git a/resources/js/pages/dashboard.tsx b/resources/js/pages/dashboard.tsx index d11d379..3eb8e32 100644 --- a/resources/js/pages/dashboard.tsx +++ b/resources/js/pages/dashboard.tsx @@ -6,6 +6,7 @@ import OnboardingFlow from '@/components/Onboarding/OnboardingFlow'; import TerminalSpinner from '@/components/ui/TerminalSpinner'; import { Head } from '@inertiajs/react'; import { useCallback, useEffect, useState } from 'react'; +import type { Milestone, Tracker, TrackerAsset } from '@/types/domain'; interface PurchaseSummary { total_shares: number; @@ -17,26 +18,6 @@ interface CurrentPrice { current_price: number | null; } -interface Milestone { - target: number; - description: string; - created_at: string; -} - -interface TrackerAsset { - id: number; - symbol: string; - full_name: string | null; -} - -interface Tracker { - id: number; - label: string; - unit: string; - price_tracking_enabled: boolean; - asset: TrackerAsset | null; -} - export default function Dashboard() { const [purchaseData, setPurchaseData] = useState({ total_shares: 0, diff --git a/resources/js/types/domain.ts b/resources/js/types/domain.ts new file mode 100644 index 0000000..f6ad9e9 --- /dev/null +++ b/resources/js/types/domain.ts @@ -0,0 +1,20 @@ +export interface Milestone { + id?: number; + target: number; + description: string; + created_at: string; +} + +export interface TrackerAsset { + id: number; + symbol: string; + full_name: string | null; +} + +export interface Tracker { + id: number; + label: string; + unit: string; + price_tracking_enabled: boolean; + asset: TrackerAsset | null; +}