Merge version_2 into main #4

Merged
bender merged 2 commits from version_2 into main 2026-03-06 11:09:43 +00:00
2 changed files with 10 additions and 37 deletions

View File

@@ -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>
);
}

View File

@@ -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>
);
}
}