refactor: replace useTransactionStore with useCreditTransactionStore in credit-related components
This commit is contained in:
parent
6cf9d4db9c
commit
0b6f81aca6
@ -4,13 +4,13 @@ import { getCreditBalanceAction } from '@/actions/get-credit-balance';
|
||||
import { Button } from '@/components/ui/button';
|
||||
import { useLocaleRouter } from '@/i18n/navigation';
|
||||
import { Routes } from '@/routes';
|
||||
import { useTransactionStore } from '@/stores/transaction-store';
|
||||
import { useCreditTransactionStore } from '@/stores/transaction-store';
|
||||
import { CoinsIcon, Loader2Icon } from 'lucide-react';
|
||||
import { useEffect, useState } from 'react';
|
||||
|
||||
export function CreditsBalanceButton() {
|
||||
const router = useLocaleRouter();
|
||||
const { refreshTrigger } = useTransactionStore();
|
||||
const { refreshTrigger } = useCreditTransactionStore();
|
||||
const [credits, setCredits] = useState<number>(0);
|
||||
const [loading, setLoading] = useState(true);
|
||||
|
||||
|
@ -3,7 +3,7 @@
|
||||
import { getCreditBalanceAction } from '@/actions/get-credit-balance';
|
||||
import { useLocaleRouter } from '@/i18n/navigation';
|
||||
import { Routes } from '@/routes';
|
||||
import { useTransactionStore } from '@/stores/transaction-store';
|
||||
import { useCreditTransactionStore } from '@/stores/transaction-store';
|
||||
import { CoinsIcon, Loader2Icon } from 'lucide-react';
|
||||
import { useTranslations } from 'next-intl';
|
||||
import { useEffect, useState } from 'react';
|
||||
@ -11,7 +11,7 @@ import { useEffect, useState } from 'react';
|
||||
export function CreditsBalanceMenu() {
|
||||
const t = useTranslations('Marketing.avatar');
|
||||
const router = useLocaleRouter();
|
||||
const { refreshTrigger } = useTransactionStore();
|
||||
const { refreshTrigger } = useCreditTransactionStore();
|
||||
const [credits, setCredits] = useState<number>(0);
|
||||
const [loading, setLoading] = useState(true);
|
||||
|
||||
|
@ -15,7 +15,7 @@ import { useLocaleRouter } from '@/i18n/navigation';
|
||||
import { formatPrice } from '@/lib/formatter';
|
||||
import { cn } from '@/lib/utils';
|
||||
import { Routes } from '@/routes';
|
||||
import { useTransactionStore } from '@/stores/transaction-store';
|
||||
import { useCreditTransactionStore } from '@/stores/transaction-store';
|
||||
import { CircleCheckBigIcon, CoinsIcon, Loader2Icon } from 'lucide-react';
|
||||
import { useTranslations } from 'next-intl';
|
||||
import { useSearchParams } from 'next/navigation';
|
||||
@ -31,7 +31,7 @@ export function CreditPackages() {
|
||||
const t = useTranslations('Dashboard.settings.credits.packages');
|
||||
const [loadingCredits, setLoadingCredits] = useState(true);
|
||||
const [credits, setCredits] = useState<number | null>(null);
|
||||
const { refreshTrigger, triggerRefresh } = useTransactionStore();
|
||||
const { refreshTrigger, triggerRefresh } = useCreditTransactionStore();
|
||||
const currentUser = useCurrentUser();
|
||||
const searchParams = useSearchParams();
|
||||
const localeRouter = useLocaleRouter();
|
||||
|
@ -3,7 +3,7 @@
|
||||
import { getCreditTransactionsAction } from '@/actions/get-credit-transactions';
|
||||
import type { CreditTransaction } from '@/components/settings/credits/credit-transactions-table';
|
||||
import { CreditTransactionsTable } from '@/components/settings/credits/credit-transactions-table';
|
||||
import { useTransactionStore } from '@/stores/transaction-store';
|
||||
import { useCreditTransactionStore } from '@/stores/transaction-store';
|
||||
import type { SortingState } from '@tanstack/react-table';
|
||||
import { useTranslations } from 'next-intl';
|
||||
import { useEffect, useState } from 'react';
|
||||
@ -20,7 +20,7 @@ export function CreditTransactionsPageClient() {
|
||||
{ id: 'createdAt', desc: true },
|
||||
]);
|
||||
const [loading, setLoading] = useState(false);
|
||||
const { refreshTrigger } = useTransactionStore();
|
||||
const { refreshTrigger } = useCreditTransactionStore();
|
||||
|
||||
const fetchData = async () => {
|
||||
setLoading(true);
|
||||
|
@ -1,11 +1,14 @@
|
||||
import { create } from "zustand";
|
||||
import { create } from 'zustand';
|
||||
|
||||
interface TransactionStore {
|
||||
interface CreditTransactionStore {
|
||||
refreshTrigger: number;
|
||||
triggerRefresh: () => void;
|
||||
}
|
||||
|
||||
export const useTransactionStore = create<TransactionStore>((set) => ({
|
||||
refreshTrigger: 0,
|
||||
triggerRefresh: () => set((state) => ({ refreshTrigger: state.refreshTrigger + 1 })),
|
||||
}));
|
||||
export const useCreditTransactionStore = create<CreditTransactionStore>(
|
||||
(set) => ({
|
||||
refreshTrigger: 0,
|
||||
triggerRefresh: () =>
|
||||
set((state) => ({ refreshTrigger: state.refreshTrigger + 1 })),
|
||||
})
|
||||
);
|
||||
|
Loading…
Reference in New Issue
Block a user