Files
Synapsis/src/app/layout.tsx
T
AskIt ff891af927 feat(branding,auth): Update app description and improve authentication flow
- Update manifest.json and layout metadata with comprehensive Synapsis description emphasizing decentralized infrastructure and global signal layer concept
- Expand login page default node description to match updated branding messaging
- Replace Next.js router navigation with hard window.location.href redirect to ensure authentication cookies are properly picked up after login/import
- Remove unused router and ShieldAlert imports from login page
- Add accent color luminance detection to ToastContext for dynamic text color contrast
- Implement intelligent text color selection in success toasts based on accent color brightness to ensure readability
- These changes improve authentication reliability and ensure consistent branding messaging across the application
2026-01-26 01:03:55 +01:00

59 lines
1.8 KiB
TypeScript

import type { Metadata } from "next";
import { Inter, Saira_Condensed } from "next/font/google";
import "./globals.css";
const inter = Inter({
subsets: ["latin"],
variable: "--font-inter",
});
const sairaCondensed = Saira_Condensed({
subsets: ["latin"],
weight: ["700"],
variable: "--font-saira",
});
export const metadata: Metadata = {
title: "Synapsis",
description: "Synapsis is designed to function like a global signal layer rather than a culture-bound platform. Anyone can run their own node and still participate in a shared, interconnected network, with global identity, clean terminology, and a modern interface that feels current rather than experimental.",
manifest: "/manifest.json",
icons: {
icon: "/favicon.png",
},
themeColor: "#0a0a0a",
viewport: "width=device-width, initial-scale=1, maximum-scale=1",
};
// Force all routes to be dynamic (no static generation at build time)
// This is appropriate for a social network where all content is user-generated
export const dynamic = 'force-dynamic';
// This is appropriate for a social network where all content is user-generated
import { AuthProvider } from '@/lib/contexts/AuthContext';
import { ToastProvider } from '@/lib/contexts/ToastContext';
import { AccentColorProvider } from '@/lib/contexts/AccentColorContext';
import { LayoutWrapper } from '@/components/LayoutWrapper';
export default function RootLayout({
children,
}: {
children: React.ReactNode;
}) {
return (
<html lang="en" className={`${inter.variable} ${sairaCondensed.variable}`}>
<body>
<AuthProvider>
<AccentColorProvider>
<ToastProvider>
<LayoutWrapper>
{children}
</LayoutWrapper>
</ToastProvider>
</AccentColorProvider>
</AuthProvider>
</body>
</html>
);
}