sarlink-portal/lib/atoms.ts
i701 75ad431160 Enhance payment processing and device management features
- Introduced wallet payment option in verifyPayment function to allow users to pay using their wallet balance.
- Added new BlockDeviceDialog component for managing device blocking and unblocking actions.
- Updated DeviceCard component to display device status and integrate blocking functionality.
- Refactored DevicesTable to utilize DeviceCard for better UI representation of devices.
- Implemented Wallet component to manage wallet balance and top-up functionality.
- Enhanced API routes and Prisma schema to support wallet transactions and device blocking reasons.
- Improved overall user experience with responsive design adjustments and new UI elements.

These changes improve user control over payments and device management, enhancing the overall functionality of the application.
2024-12-25 17:21:04 +05:00

31 lines
881 B
TypeScript

import type { Device } from "@prisma/client";
import { atom, createStore } from "jotai";
// Create a single store instance
export const store = createStore();
// Create atoms with the store
export const initialPriceAtom = atom(100);
export const discountPercentageAtom = atom(75);
export const numberOfDevicesAtom = atom(1);
export const numberOfDaysAtom = atom(30);
export const numberOfMonths = atom(1);
export const walletTopUpValue = atom(1);
export const formulaResultAtom = atom("");
export const deviceCartAtom = atom<Device[]>([]);
export const cartDrawerOpenAtom = atom(false);
export const WalletDrawerOpenAtom = atom(false);
// Export the atoms with their store
export const atoms = {
initialPriceAtom,
discountPercentageAtom,
numberOfDevicesAtom,
numberOfDaysAtom,
numberOfMonths,
formulaResultAtom,
deviceCartAtom,
cartDrawerOpenAtom,
walletTopUpValue,
};