From 0ffd1e52ae6a1fb7c8b77c47f44644347f5fb2ea Mon Sep 17 00:00:00 2001 From: ManInDark <61268856+ManInDark@users.noreply.github.com> Date: Tue, 10 Mar 2026 13:47:27 +0100 Subject: [PATCH] fix: displaying 0 whilst loading --- components/CoinBalance.tsx | 18 +++++++----------- components/DailyOverview.tsx | 4 ---- components/Dashboard.tsx | 22 ++++++++++------------ 3 files changed, 17 insertions(+), 27 deletions(-) diff --git a/components/CoinBalance.tsx b/components/CoinBalance.tsx index 4e17c19..bc7ce3f 100644 --- a/components/CoinBalance.tsx +++ b/components/CoinBalance.tsx @@ -1,15 +1,11 @@ -import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card' -import { settingsAtom } from '@/lib/atoms' -import { useAtom } from 'jotai' -import { Coins } from 'lucide-react' -import { useTranslations } from 'next-intl' -import dynamic from 'next/dynamic' +import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card'; +import { Coins } from 'lucide-react'; +import { useTranslations } from 'next-intl'; +import TodayEarnedCoins from './TodayEarnedCoins'; -const TodayEarnedCoins = dynamic(() => import('./TodayEarnedCoins'), { ssr: false }) - -export default function CoinBalance({ coinBalance }: { coinBalance: number }) { +export default function CoinBalance({ coinBalance }: { coinBalance: number | undefined }) { const t = useTranslations('CoinBalance'); - const [settings] = useAtom(settingsAtom) + return ( @@ -20,7 +16,7 @@ export default function CoinBalance({ coinBalance }: { coinBalance: number }) {
- {coinBalance} + {coinBalance ? coinBalance : "…"}
diff --git a/components/DailyOverview.tsx b/components/DailyOverview.tsx index c836406..147e11c 100644 --- a/components/DailyOverview.tsx +++ b/components/DailyOverview.tsx @@ -357,12 +357,8 @@ export default function DailyOverview({ coinBalance, }: UpcomingItemsProps) { const t = useTranslations('DailyOverview'); - const { completeHabit, undoComplete } = useHabits() const [settings] = useAtom(settingsAtom) - const [completedHabitsMap] = useAtom(completedHabitsMapAtom) const [browserSettings, setBrowserSettings] = useAtom(browserSettingsAtom) - const today = getTodayInTimezone(settings.system.timezone) - const todayCompletions = completedHabitsMap.get(today) || [] const { saveHabit } = useHabits() const timezone = settings.system.timezone diff --git a/components/Dashboard.tsx b/components/Dashboard.tsx index 2016dc3..9b832fb 100644 --- a/components/Dashboard.tsx +++ b/components/Dashboard.tsx @@ -1,7 +1,6 @@ 'use client' -import { useCoins } from '@/hooks/useCoins' -import { habitsAtom, wishlistAtom } from '@/lib/atoms' +import { coinsAtom, currentUserIdAtom, habitsAtom, wishlistAtom } from '@/lib/atoms' import { useAtom } from 'jotai' import { useTranslations } from 'next-intl' import CoinBalance from './CoinBalance' @@ -10,11 +9,12 @@ import HabitStreak from './HabitStreak' export default function Dashboard() { const t = useTranslations('Dashboard'); - const [habitsData] = useAtom(habitsAtom) - const habits = habitsData.habits - const { balance } = useCoins() - const [wishlist] = useAtom(wishlistAtom) - const wishlistItems = wishlist.items + const [{ habits }] = useAtom(habitsAtom); + const [loggedInUserId] = useAtom(currentUserIdAtom); + const [{ transactions }] = useAtom(coinsAtom); + const [{ items }] = useAtom(wishlistAtom); + + const loggedInUserBalance = loggedInUserId ? transactions.filter(transaction => transaction.userId === loggedInUserId).reduce((sum, transaction) => sum + transaction.amount, 0) : 0; return (
@@ -22,15 +22,13 @@ export default function Dashboard() {

{t('title')}

- + - - {/* */}
)