no more tag duplication in layouts

This commit is contained in:
corgifist 2025-07-30 01:10:22 +03:00
parent e95f14e6eb
commit 2b7713085d
3 changed files with 12 additions and 25 deletions

View File

@ -1,5 +1,5 @@
"use client"; "use client";
import { createContext, Dispatch, ReactNode, SetStateAction, useContext, useState } from "react"; import { createContext, Dispatch, forwardRef, ReactNode, SetStateAction, useContext, useState } from "react";
import { useLiveQuery } from "dexie-react-hooks"; import { useLiveQuery } from "dexie-react-hooks";
import { addProject, db, deleteProject } from "@/lib/db"; import { addProject, db, deleteProject } from "@/lib/db";
import { Label } from "@/components/ui/label"; import { Label } from "@/components/ui/label";
@ -435,7 +435,9 @@ const ProjectContainer = ({
return selecting return selecting
? projectComponent ? projectComponent
: (<Link href={`/editor/${project.uuid}`}>{projectComponent}</Link>); : (<Link href={`/editor/${project.uuid}`} onClick={(e: React.MouseEvent<HTMLAnchorElement>) => {
if ((e.target as HTMLDivElement).getAttribute("data-selectable") != "true") e.preventDefault();
}}>{projectComponent}</Link>);
}; };
export default function Home(): ReactNode { export default function Home(): ReactNode {

View File

@ -34,24 +34,13 @@ export const viewport: Viewport = {
export default async function RootLayout({ export default async function RootLayout({
children, children,
}: Readonly<{ }: Readonly<{
children: ReactNode; children: ReactNode
}>) { }>) {
return ( return (
<html lang="en" suppressHydrationWarning> <main className="relative h-screen">
<head> <PersistenceProvider>
<PWAHead /> {children}
<Analytics /> </PersistenceProvider>
</head> </main>
<body className={`${geist.variable} ${geistMono.variable} antialiased`}>
<ThemeProvider>
<main className="relative h-screen">
<PersistenceProvider>
{children}
</PersistenceProvider>
</main>
<Toaster />
</ThemeProvider>
</body>
</html>
); );
} }

View File

@ -44,11 +44,7 @@ export default async function RootLayout({
</head> </head>
<body className={`${geist.variable} ${geistMono.variable} antialiased`}> <body className={`${geist.variable} ${geistMono.variable} antialiased`}>
<ThemeProvider> <ThemeProvider>
<main className="relative h-screen"> {children}
<PersistenceProvider>
{children}
</PersistenceProvider>
</main>
<Toaster/> <Toaster/>
</ThemeProvider> </ThemeProvider>
</body> </body>