refactor: rename PURCHASE to PURCHASE_PACKAGE in transaction types
This commit is contained in:
parent
de1ccca27b
commit
59c7c807db
@ -46,15 +46,17 @@ import {
|
|||||||
} from '@tanstack/react-table';
|
} from '@tanstack/react-table';
|
||||||
import {
|
import {
|
||||||
ArrowUpDownIcon,
|
ArrowUpDownIcon,
|
||||||
|
BanknoteIcon,
|
||||||
ChevronDownIcon,
|
ChevronDownIcon,
|
||||||
ChevronLeftIcon,
|
ChevronLeftIcon,
|
||||||
ChevronRightIcon,
|
ChevronRightIcon,
|
||||||
ChevronsLeftIcon,
|
ChevronsLeftIcon,
|
||||||
ChevronsRightIcon,
|
ChevronsRightIcon,
|
||||||
ClockIcon,
|
ClockIcon,
|
||||||
|
CoinsIcon,
|
||||||
|
GemIcon,
|
||||||
GiftIcon,
|
GiftIcon,
|
||||||
MinusCircleIcon,
|
HandCoinsIcon,
|
||||||
RefreshCwIcon,
|
|
||||||
ShoppingCartIcon,
|
ShoppingCartIcon,
|
||||||
} from 'lucide-react';
|
} from 'lucide-react';
|
||||||
import { useTranslations } from 'next-intl';
|
import { useTranslations } from 'next-intl';
|
||||||
@ -156,19 +158,19 @@ export function CreditTransactionsTable({
|
|||||||
const getTransactionTypeIcon = (type: string) => {
|
const getTransactionTypeIcon = (type: string) => {
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case CREDIT_TRANSACTION_TYPE.MONTHLY_REFRESH:
|
case CREDIT_TRANSACTION_TYPE.MONTHLY_REFRESH:
|
||||||
return <RefreshCwIcon className="h-4 w-4" />;
|
return <HandCoinsIcon className="h-5 w-5" />;
|
||||||
case CREDIT_TRANSACTION_TYPE.REGISTER_GIFT:
|
case CREDIT_TRANSACTION_TYPE.REGISTER_GIFT:
|
||||||
return <GiftIcon className="h-4 w-4" />;
|
return <GiftIcon className="h-5 w-5" />;
|
||||||
case CREDIT_TRANSACTION_TYPE.PURCHASE:
|
case CREDIT_TRANSACTION_TYPE.PURCHASE_PACKAGE:
|
||||||
return <ShoppingCartIcon className="h-4 w-4" />;
|
return <ShoppingCartIcon className="h-5 w-5" />;
|
||||||
case CREDIT_TRANSACTION_TYPE.USAGE:
|
case CREDIT_TRANSACTION_TYPE.USAGE:
|
||||||
return <MinusCircleIcon className="h-4 w-4" />;
|
return <CoinsIcon className="h-5 w-5" />;
|
||||||
case CREDIT_TRANSACTION_TYPE.EXPIRE:
|
case CREDIT_TRANSACTION_TYPE.EXPIRE:
|
||||||
return <ClockIcon className="h-4 w-4" />;
|
return <ClockIcon className="h-5 w-5" />;
|
||||||
case CREDIT_TRANSACTION_TYPE.SUBSCRIPTION_RENEWAL:
|
case CREDIT_TRANSACTION_TYPE.SUBSCRIPTION_RENEWAL:
|
||||||
return <RefreshCwIcon className="h-4 w-4" />;
|
return <BanknoteIcon className="h-5 w-5" />;
|
||||||
case CREDIT_TRANSACTION_TYPE.LIFETIME_MONTHLY:
|
case CREDIT_TRANSACTION_TYPE.LIFETIME_MONTHLY:
|
||||||
return <GiftIcon className="h-4 w-4" />;
|
return <GemIcon className="h-5 w-5" />;
|
||||||
default:
|
default:
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
@ -177,12 +179,6 @@ export function CreditTransactionsTable({
|
|||||||
// Get transaction type badge variant
|
// Get transaction type badge variant
|
||||||
const getTransactionTypeBadgeVariant = (type: string) => {
|
const getTransactionTypeBadgeVariant = (type: string) => {
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case CREDIT_TRANSACTION_TYPE.REGISTER_GIFT:
|
|
||||||
case CREDIT_TRANSACTION_TYPE.PURCHASE:
|
|
||||||
case CREDIT_TRANSACTION_TYPE.MONTHLY_REFRESH:
|
|
||||||
case CREDIT_TRANSACTION_TYPE.SUBSCRIPTION_RENEWAL:
|
|
||||||
case CREDIT_TRANSACTION_TYPE.LIFETIME_MONTHLY:
|
|
||||||
return 'outline' as const;
|
|
||||||
case CREDIT_TRANSACTION_TYPE.USAGE:
|
case CREDIT_TRANSACTION_TYPE.USAGE:
|
||||||
case CREDIT_TRANSACTION_TYPE.EXPIRE:
|
case CREDIT_TRANSACTION_TYPE.EXPIRE:
|
||||||
return 'destructive' as const;
|
return 'destructive' as const;
|
||||||
@ -198,7 +194,7 @@ export function CreditTransactionsTable({
|
|||||||
return t('types.MONTHLY_REFRESH');
|
return t('types.MONTHLY_REFRESH');
|
||||||
case CREDIT_TRANSACTION_TYPE.REGISTER_GIFT:
|
case CREDIT_TRANSACTION_TYPE.REGISTER_GIFT:
|
||||||
return t('types.REGISTER_GIFT');
|
return t('types.REGISTER_GIFT');
|
||||||
case CREDIT_TRANSACTION_TYPE.PURCHASE:
|
case CREDIT_TRANSACTION_TYPE.PURCHASE_PACKAGE:
|
||||||
return t('types.PURCHASE');
|
return t('types.PURCHASE');
|
||||||
case CREDIT_TRANSACTION_TYPE.USAGE:
|
case CREDIT_TRANSACTION_TYPE.USAGE:
|
||||||
return t('types.USAGE');
|
return t('types.USAGE');
|
||||||
|
@ -4,7 +4,6 @@ import {
|
|||||||
Drawer,
|
Drawer,
|
||||||
DrawerClose,
|
DrawerClose,
|
||||||
DrawerContent,
|
DrawerContent,
|
||||||
DrawerDescription,
|
|
||||||
DrawerFooter,
|
DrawerFooter,
|
||||||
DrawerHeader,
|
DrawerHeader,
|
||||||
DrawerTitle,
|
DrawerTitle,
|
||||||
@ -14,10 +13,12 @@ import { Separator } from '@/components/ui/separator';
|
|||||||
import { useIsMobile } from '@/hooks/use-mobile';
|
import { useIsMobile } from '@/hooks/use-mobile';
|
||||||
import { formatDate } from '@/lib/formatter';
|
import { formatDate } from '@/lib/formatter';
|
||||||
import {
|
import {
|
||||||
|
BanknoteIcon,
|
||||||
ClockIcon,
|
ClockIcon,
|
||||||
|
CoinsIcon,
|
||||||
|
GemIcon,
|
||||||
GiftIcon,
|
GiftIcon,
|
||||||
MinusCircleIcon,
|
HandCoinsIcon,
|
||||||
RefreshCwIcon,
|
|
||||||
ShoppingCartIcon,
|
ShoppingCartIcon,
|
||||||
} from 'lucide-react';
|
} from 'lucide-react';
|
||||||
import { useTranslations } from 'next-intl';
|
import { useTranslations } from 'next-intl';
|
||||||
@ -51,19 +52,19 @@ export function CreditDetailViewer({ transaction }: CreditDetailViewerProps) {
|
|||||||
const getTransactionTypeIcon = (type: string) => {
|
const getTransactionTypeIcon = (type: string) => {
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case CREDIT_TRANSACTION_TYPE.MONTHLY_REFRESH:
|
case CREDIT_TRANSACTION_TYPE.MONTHLY_REFRESH:
|
||||||
return <RefreshCwIcon className="h-5 w-5" />;
|
return <HandCoinsIcon className="h-5 w-5" />;
|
||||||
case CREDIT_TRANSACTION_TYPE.REGISTER_GIFT:
|
case CREDIT_TRANSACTION_TYPE.REGISTER_GIFT:
|
||||||
return <GiftIcon className="h-5 w-5" />;
|
return <GiftIcon className="h-5 w-5" />;
|
||||||
case CREDIT_TRANSACTION_TYPE.PURCHASE:
|
case CREDIT_TRANSACTION_TYPE.PURCHASE_PACKAGE:
|
||||||
return <ShoppingCartIcon className="h-5 w-5" />;
|
return <ShoppingCartIcon className="h-5 w-5" />;
|
||||||
case CREDIT_TRANSACTION_TYPE.USAGE:
|
case CREDIT_TRANSACTION_TYPE.USAGE:
|
||||||
return <MinusCircleIcon className="h-5 w-5" />;
|
return <CoinsIcon className="h-5 w-5" />;
|
||||||
case CREDIT_TRANSACTION_TYPE.EXPIRE:
|
case CREDIT_TRANSACTION_TYPE.EXPIRE:
|
||||||
return <ClockIcon className="h-5 w-5" />;
|
return <ClockIcon className="h-5 w-5" />;
|
||||||
case CREDIT_TRANSACTION_TYPE.SUBSCRIPTION_RENEWAL:
|
case CREDIT_TRANSACTION_TYPE.SUBSCRIPTION_RENEWAL:
|
||||||
return <RefreshCwIcon className="h-5 w-5" />;
|
return <BanknoteIcon className="h-5 w-5" />;
|
||||||
case CREDIT_TRANSACTION_TYPE.LIFETIME_MONTHLY:
|
case CREDIT_TRANSACTION_TYPE.LIFETIME_MONTHLY:
|
||||||
return <GiftIcon className="h-5 w-5" />;
|
return <GemIcon className="h-5 w-5" />;
|
||||||
default:
|
default:
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
@ -72,12 +73,6 @@ export function CreditDetailViewer({ transaction }: CreditDetailViewerProps) {
|
|||||||
// Get transaction type badge variant
|
// Get transaction type badge variant
|
||||||
const getTransactionTypeBadgeVariant = (type: string) => {
|
const getTransactionTypeBadgeVariant = (type: string) => {
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case CREDIT_TRANSACTION_TYPE.REGISTER_GIFT:
|
|
||||||
case CREDIT_TRANSACTION_TYPE.PURCHASE:
|
|
||||||
case CREDIT_TRANSACTION_TYPE.MONTHLY_REFRESH:
|
|
||||||
case CREDIT_TRANSACTION_TYPE.SUBSCRIPTION_RENEWAL:
|
|
||||||
case CREDIT_TRANSACTION_TYPE.LIFETIME_MONTHLY:
|
|
||||||
return 'outline' as const;
|
|
||||||
case CREDIT_TRANSACTION_TYPE.USAGE:
|
case CREDIT_TRANSACTION_TYPE.USAGE:
|
||||||
case CREDIT_TRANSACTION_TYPE.EXPIRE:
|
case CREDIT_TRANSACTION_TYPE.EXPIRE:
|
||||||
return 'destructive' as const;
|
return 'destructive' as const;
|
||||||
@ -93,7 +88,7 @@ export function CreditDetailViewer({ transaction }: CreditDetailViewerProps) {
|
|||||||
return t('types.MONTHLY_REFRESH');
|
return t('types.MONTHLY_REFRESH');
|
||||||
case CREDIT_TRANSACTION_TYPE.REGISTER_GIFT:
|
case CREDIT_TRANSACTION_TYPE.REGISTER_GIFT:
|
||||||
return t('types.REGISTER_GIFT');
|
return t('types.REGISTER_GIFT');
|
||||||
case CREDIT_TRANSACTION_TYPE.PURCHASE:
|
case CREDIT_TRANSACTION_TYPE.PURCHASE_PACKAGE:
|
||||||
return t('types.PURCHASE');
|
return t('types.PURCHASE');
|
||||||
case CREDIT_TRANSACTION_TYPE.USAGE:
|
case CREDIT_TRANSACTION_TYPE.USAGE:
|
||||||
return t('types.USAGE');
|
return t('types.USAGE');
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
export enum CREDIT_TRANSACTION_TYPE {
|
export enum CREDIT_TRANSACTION_TYPE {
|
||||||
MONTHLY_REFRESH = 'MONTHLY_REFRESH', // Credits earned by monthly refresh (free users)
|
MONTHLY_REFRESH = 'MONTHLY_REFRESH', // Credits earned by monthly refresh (free users)
|
||||||
REGISTER_GIFT = 'REGISTER_GIFT', // Credits earned by register gift
|
REGISTER_GIFT = 'REGISTER_GIFT', // Credits earned by register gift
|
||||||
PURCHASE = 'PURCHASE', // Credits earned by purchase
|
PURCHASE_PACKAGE = 'PURCHASE_PACKAGE', // Credits earned by purchase package
|
||||||
SUBSCRIPTION_RENEWAL = 'SUBSCRIPTION_RENEWAL', // Credits earned by subscription renewal
|
SUBSCRIPTION_RENEWAL = 'SUBSCRIPTION_RENEWAL', // Credits earned by subscription renewal
|
||||||
LIFETIME_MONTHLY = 'LIFETIME_MONTHLY', // Credits earned by lifetime plan monthly distribution
|
LIFETIME_MONTHLY = 'LIFETIME_MONTHLY', // Credits earned by lifetime plan monthly distribution
|
||||||
USAGE = 'USAGE', // Credits spent by usage
|
USAGE = 'USAGE', // Credits spent by usage
|
||||||
|
@ -827,7 +827,7 @@ export class StripeProvider implements PaymentProvider {
|
|||||||
await addCredits({
|
await addCredits({
|
||||||
userId,
|
userId,
|
||||||
amount: Number.parseInt(credits),
|
amount: Number.parseInt(credits),
|
||||||
type: CREDIT_TRANSACTION_TYPE.PURCHASE,
|
type: CREDIT_TRANSACTION_TYPE.PURCHASE_PACKAGE,
|
||||||
description: `+${credits} credits for package ${packageId} ($${amount.toLocaleString()})`,
|
description: `+${credits} credits for package ${packageId} ($${amount.toLocaleString()})`,
|
||||||
paymentId: session.id,
|
paymentId: session.id,
|
||||||
expireDays: creditPackage.expireDays,
|
expireDays: creditPackage.expireDays,
|
||||||
|
Loading…
Reference in New Issue
Block a user