@@ -236,16 +231,12 @@ export default function CoinsManager() {
{/* Bottom Row - Today */}
diff --git a/components/FormattedNumber.tsx b/components/FormattedNumber.tsx
deleted file mode 100644
index ea3a608..0000000
--- a/components/FormattedNumber.tsx
+++ /dev/null
@@ -1,16 +0,0 @@
-import { formatNumber } from '@/lib/utils/formatNumber'
-import { Settings } from '@/lib/types'
-
-interface FormattedNumberProps {
- amount: number
- settings: Settings
- className?: string
-}
-
-export function FormattedNumber({ amount, settings, className }: FormattedNumberProps) {
- return (
-
- {formatNumber({ amount, settings })}
-
- )
-}
diff --git a/components/HeaderActions.tsx b/components/HeaderActions.tsx
index c45890a..3afdb0c 100644
--- a/components/HeaderActions.tsx
+++ b/components/HeaderActions.tsx
@@ -1,13 +1,12 @@
'use client'
-import Link from 'next/link'
-import { useAtom } from 'jotai'
-import { settingsAtom } from '@/lib/atoms'
import { useCoins } from '@/hooks/useCoins'
-import { FormattedNumber } from '@/components/FormattedNumber'
+import { settingsAtom } from '@/lib/atoms'
+import { useAtom } from 'jotai'
import { Coins } from 'lucide-react'
-import NotificationBell from './NotificationBell'
import dynamic from 'next/dynamic'
+import Link from 'next/link'
+import NotificationBell from './NotificationBell'
import { Profile } from './Profile'
const TodayEarnedCoins = dynamic(() => import('./TodayEarnedCoins'), { ssr: false })
@@ -21,11 +20,7 @@ export default function HeaderActions() {
-
+
{balance}
diff --git a/components/TodayEarnedCoins.tsx b/components/TodayEarnedCoins.tsx
index 4ad5db5..5b3eba7 100644
--- a/components/TodayEarnedCoins.tsx
+++ b/components/TodayEarnedCoins.tsx
@@ -1,20 +1,15 @@
-import { useAtom } from 'jotai'
-import { useTranslations } from 'next-intl'
-import { settingsAtom } from '@/lib/atoms'
import { useCoins } from '@/hooks/useCoins'
-import { FormattedNumber } from '@/components/FormattedNumber'
+import { useTranslations } from 'next-intl'
export default function TodayEarnedCoins({ longFormat }: { longFormat?: boolean }) {
const t = useTranslations('TodayEarnedCoins')
- const [settings] = useAtom(settingsAtom)
const { coinsEarnedToday } = useCoins()
if (coinsEarnedToday <= 0) return <>>;
return (
- {"+"}
-
+ {"+"}{coinsEarnedToday}
{longFormat ?
{t('todaySuffix')}
: null}
diff --git a/hooks/useCoins.tsx b/hooks/useCoins.tsx
index 5a3431f..63f5855 100644
--- a/hooks/useCoins.tsx
+++ b/hooks/useCoins.tsx
@@ -8,7 +8,6 @@ import {
currentUserIdAtom,
settingsAtom,
totalEarnedAtom,
- totalSpentAtom,
usersAtom
} from '@/lib/atoms';
import { MAX_COIN_LIMIT } from '@/lib/constants';
@@ -30,7 +29,6 @@ export function useCoins(options?: { selectedUser?: string }) {
const loggedInUserBalance = loggedInUserId ? coins.transactions.filter(transaction => transaction.userId === loggedInUserId).reduce((sum, transaction) => sum + transaction.amount, 0) : 0;
const [atomCoinsEarnedToday] = useAtom(coinsEarnedTodayAtom);
const [atomTotalEarned] = useAtom(totalEarnedAtom)
- const [atomTotalSpent] = useAtom(totalSpentAtom)
const [atomCoinsSpentToday] = useAtom(coinsSpentTodayAtom);
const targetUser = options?.selectedUser ? users.find(u => u.id === options.selectedUser) : currentUser
@@ -41,7 +39,6 @@ export function useCoins(options?: { selectedUser?: string }) {
const timezone = settings.system.timezone;
const [coinsEarnedToday, setCoinsEarnedToday] = useState(0);
const [totalEarned, setTotalEarned] = useState(0);
- const [totalSpent, setTotalSpent] = useState(0);
const [coinsSpentToday, setCoinsSpentToday] = useState(0);
const [balance, setBalance] = useState(0);
@@ -51,7 +48,6 @@ export function useCoins(options?: { selectedUser?: string }) {
// If the target user is the currently logged-in user, use the derived atom's value
setCoinsEarnedToday(atomCoinsEarnedToday);
setTotalEarned(atomTotalEarned);
- setTotalSpent(atomTotalSpent);
setCoinsSpentToday(atomCoinsSpentToday);
setBalance(loggedInUserBalance);
} else if (targetUser?.id) {
@@ -62,9 +58,6 @@ export function useCoins(options?: { selectedUser?: string }) {
const totalEarnedVal = calculateTotalEarned(transactions);
setTotalEarned(roundToInteger(totalEarnedVal));
- const totalSpentVal = calculateTotalSpent(transactions);
- setTotalSpent(roundToInteger(totalSpentVal));
-
const spentToday = calculateCoinsSpentToday(transactions, timezone);
setCoinsSpentToday(roundToInteger(spentToday));
@@ -79,7 +72,6 @@ export function useCoins(options?: { selectedUser?: string }) {
loggedInUserBalance,
atomCoinsEarnedToday,
atomTotalEarned,
- atomTotalSpent,
atomCoinsSpentToday
]);
@@ -180,7 +172,7 @@ export function useCoins(options?: { selectedUser?: string }) {
transactions: transactions,
coinsEarnedToday,
totalEarned,
- totalSpent,
+ totalSpent: calculateTotalSpent(coins.transactions),
coinsSpentToday
}
}
diff --git a/lib/atoms.ts b/lib/atoms.ts
index bdeedc3..b46312f 100644
--- a/lib/atoms.ts
+++ b/lib/atoms.ts
@@ -2,7 +2,6 @@ import {
calculateCoinsEarnedToday,
calculateCoinsSpentToday,
calculateTotalEarned,
- calculateTotalSpent,
generateCryptoHash,
isHabitDue,
prepareDataForHashing,
@@ -70,13 +69,6 @@ export const totalEarnedAtom = atom((get) => {
return roundToInteger(value);
});
-// Derived atom for total spent
-export const totalSpentAtom = atom((get) => {
- const coins = get(coinsAtom);
- const value = calculateTotalSpent(coins.transactions);
- return roundToInteger(value);
-});
-
// Derived atom for coins spent today
export const coinsSpentTodayAtom = atom((get) => {
const coins = get(coinsAtom);