Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| eab95de092 | |||
| 5a8abe5518 | |||
| c61b6a36d1 | |||
| 5236dd3326 | |||
| fdfda6959c | |||
| 7e3d75eeea |
@@ -1,48 +1,20 @@
|
||||
import type { Metadata } from "next";
|
||||
import { Halant } from "next/font/google";
|
||||
import { Inter } from "next/font/google";
|
||||
import { Roboto } from "next/font/google";
|
||||
import "./globals.css";
|
||||
import { ServiceWrapper } from "@/components/ServiceWrapper";
|
||||
import Tag from "@/tag/Tag";
|
||||
|
||||
const halant = Halant({
|
||||
variable: "--font-halant", subsets: ["latin"],
|
||||
weight: ["300", "400", "500", "600", "700"],
|
||||
});
|
||||
|
||||
const inter = Inter({
|
||||
variable: "--font-inter", subsets: ["latin"],
|
||||
});
|
||||
|
||||
const roboto = Roboto({
|
||||
variable: "--font-roboto", subsets: ["latin"],
|
||||
weight: ["100", "300", "400", "500", "700", "900"],
|
||||
});
|
||||
const inter = Inter({ subsets: ["latin"] });
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: "RoboLab Manager - Mobile Robotics Lab Management", description: "Professional mobile app for robotics lab managers to monitor robot status, assign tasks, track maintenance, and manage error logs in real-time.", keywords: "robotics, lab management, mobile app, robot monitoring, task assignment, maintenance tracking", robots: {
|
||||
index: true,
|
||||
follow: true,
|
||||
},
|
||||
openGraph: {
|
||||
title: "RoboLab Manager - Lab Management Made Easy", description: "Real-time robotics laboratory management on your mobile device", type: "website", siteName: "RoboLab Manager"},
|
||||
};
|
||||
title: "RoboLab Manager", description: "Professional robotics lab management system"};
|
||||
|
||||
export default function RootLayout({
|
||||
children,
|
||||
}: Readonly<{
|
||||
}: {
|
||||
children: React.ReactNode;
|
||||
}>) {
|
||||
}) {
|
||||
return (
|
||||
<html lang="en" suppressHydrationWarning>
|
||||
<ServiceWrapper>
|
||||
<body
|
||||
className={`${halant.variable} ${inter.variable} ${roboto.variable} antialiased`}
|
||||
>
|
||||
<Tag />
|
||||
{children}
|
||||
|
||||
<html lang="en">
|
||||
<body className={inter.className}>{children}
|
||||
<script
|
||||
dangerouslySetInnerHTML={{
|
||||
__html: `
|
||||
@@ -1410,7 +1382,6 @@ export default function RootLayout({
|
||||
}}
|
||||
/>
|
||||
</body>
|
||||
</ServiceWrapper>
|
||||
</html>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -57,6 +57,8 @@ const socialLinks = [
|
||||
];
|
||||
|
||||
export default function LandingPage() {
|
||||
const criticalCount = criticalAlerts.filter(alert => alert.category === "Error" || alert.category === "Warning").length;
|
||||
|
||||
return (
|
||||
<ThemeProvider
|
||||
defaultButtonVariant="text-stagger"
|
||||
@@ -126,7 +128,7 @@ export default function LandingPage() {
|
||||
<BlogCardOne
|
||||
blogs={criticalAlerts}
|
||||
title="Critical Alerts"
|
||||
description="Urgent robot issues requiring immediate attention with real-time notifications"
|
||||
description={`${criticalCount} alerts require immediate action - Urgent robot issues requiring immediate attention with real-time notifications`}
|
||||
tag="High Priority"
|
||||
tagIcon={AlertCircle}
|
||||
animationType="slide-up"
|
||||
@@ -174,4 +176,4 @@ export default function LandingPage() {
|
||||
</div>
|
||||
</ThemeProvider>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user