- Added validation to prevent duplicate approval requests for the same target, ensuring that only one active or completed approval exists at a time. - Implemented a check to disallow self-approval in the approval line unless the approval type is 'self'. - Integrated the ApprovalDetailModal component into the main layout for improved user experience. - Updated the SalesOrderPage to include approval status in the data structure, enhancing visibility of approval states. - Enhanced BOM management modals across multiple company implementations to accommodate new UI requirements.
25 lines
953 B
TypeScript
25 lines
953 B
TypeScript
import { AuthProvider } from "@/contexts/AuthContext";
|
|
import { MenuProvider } from "@/contexts/MenuContext";
|
|
import { MessengerProvider } from "@/contexts/MessengerContext";
|
|
import { AppLayout } from "@/components/layout/AppLayout";
|
|
import { ApprovalGlobalListener } from "@/components/approval/ApprovalGlobalListener";
|
|
import { ApprovalDetailModal } from "@/components/approval/ApprovalDetailModal";
|
|
import { MessengerFAB } from "@/components/messenger/MessengerFAB";
|
|
import { MessengerModal } from "@/components/messenger/MessengerModal";
|
|
|
|
export default function MainLayout({ children }: { children: React.ReactNode }) {
|
|
return (
|
|
<AuthProvider>
|
|
<MenuProvider>
|
|
<MessengerProvider>
|
|
<AppLayout>{children}</AppLayout>
|
|
<ApprovalGlobalListener />
|
|
<ApprovalDetailModal />
|
|
<MessengerFAB />
|
|
<MessengerModal />
|
|
</MessengerProvider>
|
|
</MenuProvider>
|
|
</AuthProvider>
|
|
);
|
|
}
|