feat: implement configuration management with CRUD operations
- Added configuration management page with table view and modal forms for adding/editing configurations. - Integrated Zustand for state management of configurations. - Implemented user management drawer for organizations with user addition/removal functionality. - Created user management page with CRUD operations for users. - Introduced admin store for user-related actions including user creation, deletion, and updates. - Developed reusable drawer component for UI consistency across user management. - Enhanced error handling and user feedback with toast notifications.
This commit is contained in:
@@ -1,8 +1,10 @@
|
||||
'use client';
|
||||
import { MenuOutlined, SwapOutlined } from '@ant-design/icons';
|
||||
import { LayoutMenu, useQuickMenu } from './Menu';
|
||||
import { useLayoutStore, usePlatformStore } from './store';
|
||||
import { useShallow } from 'zustand/react/shallow';
|
||||
import { useEffect, useLayoutEffect, useState } from 'react';
|
||||
import { usePathname } from 'next/navigation';
|
||||
import { LayoutUser } from './LayoutUser';
|
||||
import PandaPNG from '@/assets/panda.jpg';
|
||||
import QRCodePNG from '@/assets/qrcode-8x8.jpg';
|
||||
@@ -53,6 +55,7 @@ export const LayoutMain = (props: LayoutMainProps) => {
|
||||
);
|
||||
const { isMac, mount, isElectron } = platformStore;
|
||||
const quickMenu = useQuickMenu();
|
||||
const pathname = usePathname();
|
||||
|
||||
useLayoutEffect(() => {
|
||||
platformStore.init();
|
||||
@@ -74,8 +77,7 @@ export const LayoutMain = (props: LayoutMainProps) => {
|
||||
<div className='text-xl font-bold '>{props.title}</div>
|
||||
<div className='flex items-center gap-2 text-sm '>
|
||||
{quickMenu.map((item, index) => {
|
||||
if (typeof window === 'undefined') return null;
|
||||
const isActive = location?.pathname === item.link;
|
||||
const isActive = pathname === item.link;
|
||||
return (
|
||||
<div
|
||||
key={index}
|
||||
|
||||
Reference in New Issue
Block a user