From 7beee4c3a1f56b5c4c41eacd38156b6378ca1498 Mon Sep 17 00:00:00 2001 From: ferdiansyah783 Date: Fri, 8 Aug 2025 01:49:00 +0700 Subject: [PATCH] feat: refacotor ui --- public/images/logos/logo.png | Bin 0 -> 17924 bytes src/@core/svg/Logo.tsx | 29 +-------- src/@core/theme/colorSchemes.ts | 4 +- .../apps/ecommerce/products/add/page.tsx | 10 +-- .../apps/ecommerce/products/list/page.tsx | 4 -- .../[lang]/(dashboard)/(private)/layout.tsx | 2 +- src/app/[lang]/layout.tsx | 4 +- src/app/favicon.ico | Bin 4286 -> 197006 bytes src/components/layout/horizontal/Footer.tsx | 7 ++- src/components/layout/shared/Loading.tsx | 2 +- src/components/layout/vertical/Footer.tsx | 7 ++- src/configs/primaryColorConfig.ts | 2 +- src/configs/themeConfig.ts | 2 +- src/services/mutations/ingredients.ts | 52 +++++++++++++++ src/services/queries/ingredients.ts | 36 +++++++++++ src/types/services/ingredient.ts | 38 +++++++++++ .../customers/list/CustomerListTable.tsx | 8 +-- .../ingredient/ProductIngredientTable.tsx | 59 +++++++++++------- .../ecommerce/stock/list/StockListTable.tsx | 21 +++---- 19 files changed, 196 insertions(+), 91 deletions(-) create mode 100644 public/images/logos/logo.png create mode 100644 src/services/mutations/ingredients.ts create mode 100644 src/services/queries/ingredients.ts create mode 100644 src/types/services/ingredient.ts diff --git a/public/images/logos/logo.png b/public/images/logos/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..f9d7a0efd31eb410bc88f314f3e7163d439d4d0b GIT binary patch literal 17924 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 => { return ( - - - - - - + ) } diff --git a/src/@core/theme/colorSchemes.ts b/src/@core/theme/colorSchemes.ts index 14d3341..8b34306 100644 --- a/src/@core/theme/colorSchemes.ts +++ b/src/@core/theme/colorSchemes.ts @@ -9,7 +9,7 @@ const colorSchemes = (skin: Skin): Theme['colorSchemes'] => { light: { palette: { primary: { - main: '#7367F0', + main: '#36175e', light: '#8F85F3', dark: '#675DD8', lighterOpacity: 'rgb(var(--mui-palette-primary-mainChannel) / 0.08)', @@ -161,7 +161,7 @@ const colorSchemes = (skin: Skin): Theme['colorSchemes'] => { dark: { palette: { primary: { - main: '#7367F0', + main: '#36175e', light: '#8F85F3', dark: '#675DD8', lighterOpacity: 'rgb(var(--mui-palette-primary-mainChannel) / 0.08)', diff --git a/src/app/[lang]/(dashboard)/(private)/apps/ecommerce/products/add/page.tsx b/src/app/[lang]/(dashboard)/(private)/apps/ecommerce/products/add/page.tsx index 2f43b9a..fd936e5 100644 --- a/src/app/[lang]/(dashboard)/(private)/apps/ecommerce/products/add/page.tsx +++ b/src/app/[lang]/(dashboard)/(private)/apps/ecommerce/products/add/page.tsx @@ -3,12 +3,11 @@ import Grid from '@mui/material/Grid2' // Component Imports import ProductAddHeader from '@views/apps/ecommerce/products/add/ProductAddHeader' -import ProductInformation from '@views/apps/ecommerce/products/add/ProductInformation' import ProductImage from '@views/apps/ecommerce/products/add/ProductImage' -import ProductVariants from '@views/apps/ecommerce/products/add/ProductVariants' -import ProductInventory from '@views/apps/ecommerce/products/add/ProductInventory' -import ProductPricing from '@views/apps/ecommerce/products/add/ProductPricing' +import ProductInformation from '@views/apps/ecommerce/products/add/ProductInformation' import ProductOrganize from '@views/apps/ecommerce/products/add/ProductOrganize' +import ProductPricing from '@views/apps/ecommerce/products/add/ProductPricing' +import ProductVariants from '@views/apps/ecommerce/products/add/ProductVariants' const eCommerceProductsAdd = () => { return ( @@ -27,9 +26,6 @@ const eCommerceProductsAdd = () => { - - - diff --git a/src/app/[lang]/(dashboard)/(private)/apps/ecommerce/products/list/page.tsx b/src/app/[lang]/(dashboard)/(private)/apps/ecommerce/products/list/page.tsx index 988f940..cb570ce 100644 --- a/src/app/[lang]/(dashboard)/(private)/apps/ecommerce/products/list/page.tsx +++ b/src/app/[lang]/(dashboard)/(private)/apps/ecommerce/products/list/page.tsx @@ -2,7 +2,6 @@ import Grid from '@mui/material/Grid2' // Component Imports -import ProductCard from '@views/apps/ecommerce/products/list/ProductCard' import ProductListTable from '@views/apps/ecommerce/products/list/ProductListTable' // Data Imports @@ -29,9 +28,6 @@ const eCommerceProductsList = async () => { return ( - - - diff --git a/src/app/[lang]/(dashboard)/(private)/layout.tsx b/src/app/[lang]/(dashboard)/(private)/layout.tsx index 6932bde..22bbca4 100644 --- a/src/app/[lang]/(dashboard)/(private)/layout.tsx +++ b/src/app/[lang]/(dashboard)/(private)/layout.tsx @@ -67,7 +67,7 @@ const Layout = async (props: ChildrenType & { params: Promise<{ lang: Locale }> - + {/* */} ) diff --git a/src/app/[lang]/layout.tsx b/src/app/[lang]/layout.tsx index 919865e..2650c16 100644 --- a/src/app/[lang]/layout.tsx +++ b/src/app/[lang]/layout.tsx @@ -30,9 +30,9 @@ import '@assets/iconify-icons/generated-icons.css' import { ReactQueryProvider } from '../../providers/ReactQueryProvider' export const metadata = { - title: 'Vuexy - MUI Next.js Admin Dashboard Template', + title: 'APSKEL', description: - 'Vuexy - MUI Next.js Admin Dashboard Template - is the most developer friendly & highly customizable Admin Dashboard Template based on MUI v5.' + 'Apsekel' } const RootLayout = async (props: ChildrenType & { params: Promise<{ lang: Locale }> }) => { diff --git a/src/app/favicon.ico b/src/app/favicon.ico index 60a94e927bf93acb9f265a2caf9f11ad956122ec..d4af67f6bf4c490c09eedb1801988178725f9804 100644 GIT binary patch literal 197006 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 gt?!ku7gitZcy|3oUNOTfdG!{)Ynvh8Gdywp2Wc { return ( - - - + // + // + // + <> ) } diff --git a/src/components/layout/shared/Loading.tsx b/src/components/layout/shared/Loading.tsx index 41b2770..7df9989 100644 --- a/src/components/layout/shared/Loading.tsx +++ b/src/components/layout/shared/Loading.tsx @@ -3,7 +3,7 @@ import { CircularProgress } from '@mui/material' export default function Loading({ size = 60 }: { size?: number }) { return (
- +
) } diff --git a/src/components/layout/vertical/Footer.tsx b/src/components/layout/vertical/Footer.tsx index 32138dc..0d1d956 100644 --- a/src/components/layout/vertical/Footer.tsx +++ b/src/components/layout/vertical/Footer.tsx @@ -4,9 +4,10 @@ import FooterContent from './FooterContent' const Footer = () => { return ( - - - + // + // + // + <> ) } diff --git a/src/configs/primaryColorConfig.ts b/src/configs/primaryColorConfig.ts index ccfd296..4d89f7c 100644 --- a/src/configs/primaryColorConfig.ts +++ b/src/configs/primaryColorConfig.ts @@ -10,7 +10,7 @@ const primaryColorConfig: PrimaryColorConfig[] = [ { name: 'primary-1', light: '#8F85F3', - main: '#7367F0', + main: '#36175e', dark: '#675DD8' }, { diff --git a/src/configs/themeConfig.ts b/src/configs/themeConfig.ts index dd686b4..1242763 100644 --- a/src/configs/themeConfig.ts +++ b/src/configs/themeConfig.ts @@ -54,7 +54,7 @@ export type Config = { } const themeConfig: Config = { - templateName: 'Vuexy', + templateName: 'APSKEL', homePageUrl: '/dashboards/crm', settingsCookieName: 'vuexy-mui-next-demo-1', mode: 'system', // 'system', 'light', 'dark' diff --git a/src/services/mutations/ingredients.ts b/src/services/mutations/ingredients.ts new file mode 100644 index 0000000..0486f8a --- /dev/null +++ b/src/services/mutations/ingredients.ts @@ -0,0 +1,52 @@ +import { useMutation, useQueryClient } from '@tanstack/react-query' +import { CustomerRequest } from '../../types/services/customer' +import { api } from '../api' +import { toast } from 'react-toastify' + +export const useIngredientsMutation = () => { + const queryClient = useQueryClient() + + const createCustomer = useMutation({ + mutationFn: async (newCustomer: CustomerRequest) => { + const response = await api.post('/customers', newCustomer) + return response.data + }, + onSuccess: () => { + toast.success('Customer created successfully!') + queryClient.invalidateQueries({ queryKey: ['customers'] }) + }, + onError: (error: any) => { + toast.error(error.response?.data?.errors?.[0]?.cause || 'Create failed') + } + }) + + const updateCustomer = useMutation({ + mutationFn: async ({ id, payload }: { id: string; payload: CustomerRequest }) => { + const response = await api.put(`/customers/${id}`, payload) + return response.data + }, + onSuccess: () => { + toast.success('Customer updated successfully!') + queryClient.invalidateQueries({ queryKey: ['customers'] }) + }, + onError: (error: any) => { + toast.error(error.response?.data?.errors?.[0]?.cause || 'Update failed') + } + }) + + const deleteCustomer = useMutation({ + mutationFn: async (id: string) => { + const response = await api.delete(`/customers/${id}`) + return response.data + }, + onSuccess: () => { + toast.success('Customer deleted successfully!') + queryClient.invalidateQueries({ queryKey: ['customers'] }) + }, + onError: (error: any) => { + toast.error(error.response?.data?.errors?.[0]?.cause || 'Delete failed') + } + }) + + return { createCustomer, updateCustomer, deleteCustomer } +} diff --git a/src/services/queries/ingredients.ts b/src/services/queries/ingredients.ts new file mode 100644 index 0000000..f355566 --- /dev/null +++ b/src/services/queries/ingredients.ts @@ -0,0 +1,36 @@ +import { useQuery } from '@tanstack/react-query' +import { Ingredients } from '../../types/services/ingredient' +import { api } from '../api' + +interface IngredientsQueryParams { + page?: number + limit?: number + search?: string +} + +export function useIngredients(params: IngredientsQueryParams = {}) { + const { page = 1, limit = 10, search = '', ...filters } = params + + return useQuery({ + queryKey: ['ingredients', { page, limit, search, ...filters }], + queryFn: async () => { + const queryParams = new URLSearchParams() + + queryParams.append('page', page.toString()) + queryParams.append('limit', limit.toString()) + + if (search) { + queryParams.append('search', search) + } + + Object.entries(filters).forEach(([key, value]) => { + if (value !== undefined && value !== null && value !== '') { + queryParams.append(key, value.toString()) + } + }) + + const res = await api.get(`/ingredients?${queryParams.toString()}`) + return res.data.data + } + }) +} diff --git a/src/types/services/ingredient.ts b/src/types/services/ingredient.ts new file mode 100644 index 0000000..9204cd5 --- /dev/null +++ b/src/types/services/ingredient.ts @@ -0,0 +1,38 @@ +export type Unit = { + id: string + organization_id: string + outlet_id: string + name: string + abbreviation: string + is_active: boolean + created_at: string + updated_at: string +} + +export type IngredientItem = { + id: string + organization_id: string + outlet_id: string + name: string + unit_id: string + cost: number + stock: number + is_semi_finished: boolean + is_active: boolean + metadata: Record // bisa diganti jika metadata memiliki struktur spesifik + created_at: string + updated_at: string + unit: Unit +} + +export type Pagination = { + page: number + limit: number + total_count: number + total_pages: number +} + +export type Ingredients = { + data: IngredientItem[] + pagination: Pagination +} diff --git a/src/views/apps/ecommerce/customers/list/CustomerListTable.tsx b/src/views/apps/ecommerce/customers/list/CustomerListTable.tsx index 8214fd4..3a75941 100644 --- a/src/views/apps/ecommerce/customers/list/CustomerListTable.tsx +++ b/src/views/apps/ecommerce/customers/list/CustomerListTable.tsx @@ -181,10 +181,6 @@ const CustomerListTable = () => { header: 'Phone', cell: ({ row }) => {row.original.phone || '-'} }), - columnHelper.accessor('address', { - header: 'Address', - cell: ({ row }) => {row.original.address || '-'} - }), columnHelper.accessor('is_active', { header: 'Status', cell: ({ row }) => ( @@ -196,6 +192,10 @@ const CustomerListTable = () => { /> ) }), + columnHelper.accessor('address', { + header: 'Address', + cell: ({ row }) => {row.original.address || '-'} + }), columnHelper.accessor('actions', { header: 'Actions', cell: ({ row }) => ( diff --git a/src/views/apps/ecommerce/products/ingredient/ProductIngredientTable.tsx b/src/views/apps/ecommerce/products/ingredient/ProductIngredientTable.tsx index 2cc908d..6b54716 100644 --- a/src/views/apps/ecommerce/products/ingredient/ProductIngredientTable.tsx +++ b/src/views/apps/ecommerce/products/ingredient/ProductIngredientTable.tsx @@ -31,9 +31,9 @@ import { Box, Chip, CircularProgress } from '@mui/material' import ConfirmDeleteDialog from '../../../../../components/dialogs/confirm-delete' import Loading from '../../../../../components/layout/shared/Loading' import { useUnitsMutation } from '../../../../../services/mutations/units' -import { useUnits } from '../../../../../services/queries/units' -import { Unit } from '../../../../../types/services/unit' -import { formatDate } from '../../../../../utils/transform' +import { useIngredients } from '../../../../../services/queries/ingredients' +import { IngredientItem } from '../../../../../types/services/ingredient' +import { formatCurrency } from '../../../../../utils/transform' declare module '@tanstack/table-core' { interface FilterFns { @@ -44,7 +44,7 @@ declare module '@tanstack/table-core' { } } -type UnitWithActionsType = Unit & { +type IngredientWithActionsType = IngredientItem & { actions?: string } @@ -91,7 +91,7 @@ const DebouncedInput = ({ } // Column Definitions -const columnHelper = createColumnHelper() +const columnHelper = createColumnHelper() const ProductIngredientTable = () => { // States @@ -102,17 +102,18 @@ const ProductIngredientTable = () => { const [pageSize, setPageSize] = useState(10) const [unitId, setUnitId] = useState('') const [openConfirm, setOpenConfirm] = useState(false) - const [currentUnit, setCurrentUnit] = useState() + const [search, setSearch] = useState('') // Fetch products with pagination and search - const { data, isLoading, error, isFetching } = useUnits({ + const { data, isLoading, error, isFetching } = useIngredients({ page: currentPage, - limit: pageSize + limit: pageSize, + search }) const { mutate: deleteUnit, isPending: isDeleting } = useUnitsMutation().deleteUnit - const units = data?.data ?? [] + const ingredients = data?.data ?? [] const totalCount = data?.pagination.total_count ?? 0 const handlePageChange = useCallback((event: unknown, newPage: number) => { @@ -132,7 +133,7 @@ const ProductIngredientTable = () => { }) } - const columns = useMemo[]>( + const columns = useMemo[]>( () => [ { id: 'select', @@ -169,9 +170,17 @@ const ProductIngredientTable = () => { ) }), - columnHelper.accessor('abbreviation', { - header: 'Abbreviation', - cell: ({ row }) => {row.original.abbreviation || '-'} + columnHelper.accessor('cost', { + header: 'Cost', + cell: ({ row }) => {formatCurrency(row.original.cost) || '-'} + }), + columnHelper.accessor('stock', { + header: 'Stock', + cell: ({ row }) => {row.original.stock} + }), + columnHelper.accessor('unit', { + header: 'Unit', + cell: ({ row }) => {row.original.unit.name} }), columnHelper.accessor('is_active', { header: 'Status', @@ -184,9 +193,16 @@ const ProductIngredientTable = () => { /> ) }), - columnHelper.accessor('created_at', { - header: 'Created Date', - cell: ({ row }) => {formatDate(row.original.created_at)} + columnHelper.accessor('is_semi_finished', { + header: 'Semi Finished', + cell: ({ row }) => ( + + ) }), columnHelper.accessor('actions', { header: 'Actions', @@ -194,7 +210,6 @@ const ProductIngredientTable = () => {
{ - setCurrentUnit(row.original) setEditUnitOpen(!editUnitOpen) }} > @@ -228,7 +243,7 @@ const ProductIngredientTable = () => { ) const table = useReactTable({ - data: units as Unit[], + data: ingredients as IngredientItem[], columns, filterFns: { fuzzy: fuzzyFilter @@ -253,16 +268,16 @@ const ProductIngredientTable = () => {
console.log(value)} + value={search} + onChange={value => setSearch(value as string)} placeholder='Search Product' className='max-sm:is-full' />
table.setPageSize(Number(e.target.value))} + value={pageSize} + onChange={handlePageSizeChange} className='flex-auto max-sm:is-full sm:is-[70px]' > 10 diff --git a/src/views/apps/ecommerce/stock/list/StockListTable.tsx b/src/views/apps/ecommerce/stock/list/StockListTable.tsx index d56eaac..0fd21d8 100644 --- a/src/views/apps/ecommerce/stock/list/StockListTable.tsx +++ b/src/views/apps/ecommerce/stock/list/StockListTable.tsx @@ -8,7 +8,6 @@ import { useCallback, useEffect, useMemo, useState } from 'react' // MUI Imports import Button from '@mui/material/Button' import Card from '@mui/material/Card' -import CardHeader from '@mui/material/CardHeader' import Checkbox from '@mui/material/Checkbox' import Chip from '@mui/material/Chip' import Divider from '@mui/material/Divider' @@ -36,12 +35,12 @@ import OptionMenu from '@core/components/option-menu' // Style Imports import tableStyles from '@core/styles/table.module.css' import { Box, CircularProgress } from '@mui/material' -import AddStockDrawer from './AddStockDrawer' import ConfirmDeleteDialog from '../../../../../components/dialogs/confirm-delete' import Loading from '../../../../../components/layout/shared/Loading' import { useInventoriesMutation } from '../../../../../services/mutations/inventories' import { useInventories } from '../../../../../services/queries/inventories' import { Inventory } from '../../../../../types/services/inventory' +import AddStockDrawer from './AddStockDrawer' declare module '@tanstack/table-core' { interface FilterFns { @@ -165,14 +164,6 @@ const StockListTable = () => { header: 'Product', cell: ({ row }) => {row.original.product_id} }), - columnHelper.accessor('quantity', { - header: 'Quantity', - cell: ({ row }) => {row.original.quantity} - }), - columnHelper.accessor('reorder_level', { - header: 'Reorder Level', - cell: ({ row }) => {row.original.reorder_level} - }), columnHelper.accessor('is_low_stock', { header: 'Status', cell: ({ row }) => ( @@ -184,6 +175,14 @@ const StockListTable = () => { /> ) }), + columnHelper.accessor('quantity', { + header: 'Quantity', + cell: ({ row }) => {row.original.quantity} + }), + columnHelper.accessor('reorder_level', { + header: 'Reorder Level', + cell: ({ row }) => {row.original.reorder_level} + }), columnHelper.accessor('actions', { header: 'Actions', cell: ({ row }) => ( @@ -239,8 +238,6 @@ const StockListTable = () => { return ( <> - - {/* {}} productData={[]} /> */}