finshing architecture for project now we have all layers to build profitionl project app,components ,hooks ,lib,services,styel ,types

This commit is contained in:
m7amedez5511
2026-06-08 23:05:19 +03:00
parent 70853958f5
commit 53c03e9867
45 changed files with 1408 additions and 78 deletions

View File

@@ -1,33 +1,46 @@
// app/layout.tsx
// Root layout — single location for font loading and global metadata.
// No inline styles, no @import in CSS.
import type { Metadata } from "next";
import { Geist, Geist_Mono } from "next/font/google";
import { Plus_Jakarta_Sans, IBM_Plex_Mono } from "next/font/google";
import "./globals.css";
const geistSans = Geist({
variable: "--font-geist-sans",
const jakartaSans = Plus_Jakarta_Sans({
subsets: ["latin"],
weight: ["400", "500", "600", "700"],
variable: "--font-sans",
display: "swap",
});
const geistMono = Geist_Mono({
variable: "--font-geist-mono",
const ibmPlexMono = IBM_Plex_Mono({
subsets: ["latin"],
weight: ["400", "500"],
variable: "--font-mono",
display: "swap",
});
export const metadata: Metadata = {
title: "Logistics Client Portal",
description: "Modern frontend for the LogisticsApp backend with dashboard and client views.",
title: {
default: "Slash.sa — Logistics Management",
template: "%s | Slash.sa",
},
description:
"Modern logistics client portal — manage deliveries, drivers, and fleet operations.",
};
export default function RootLayout({
children,
}: Readonly<{
}: {
children: React.ReactNode;
}>) {
}) {
return (
// dir is set per route-group (ar = RTL, en = LTR) not globally
<html
lang="en"
className={`${geistSans.variable} ${geistMono.variable} h-full antialiased`}
lang="ar"
className={`${jakartaSans.variable} ${ibmPlexMono.variable} h-full antialiased`}
>
<body className="min-h-full flex flex-col">{children}</body>
</html>
);
}
}