ff891af927
- 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
59 lines
1.8 KiB
TypeScript
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>
|
|
);
|
|
}
|