mirror of
https://github.com/linsa-io/linsa.git
synced 2026-03-17 23:03:55 +01:00
* feat: keyboard nav * fix: link update * feat: reusable learning state * chore: use new learning state * feat: add to my profile * . * . * feat: on enter open the link * fix: lint * fix: use eslint v8 instead of v9 * fix: add to my profile * chore: update personal link schema * chore: update personal page schema * fix: update detail wrapper * fix: update page section * removing option for learning status * removing option for learning status for topic * feat: add createdAt and updatedAt for personal Page * chore: update page section component * chore: remove chevron from sub menu * fix: sidebar * chore: add focus and disable toast * feat: la editor add execption for no command class * fix: la editor style and fix page detail * fix: title * fix: topic learning state * chore: add showSearch for learning state * fix: bunch stuff * chore: link list and item handle learning state * chore: set expand to false * feat: personal link for topic detail * chore: hook use topic data * chore: go to list * fix: link and topic * feat(utils): new keyboard utils * feat(store): add linkOpenPopoverForIdAtom for link * chore: using memo for use topic data * fix: remove duplicate component * chore: performance for topic detail lint item * refactor: remove LinkOptions component * chore: improve performance for list * feat: added LinkRoute copmonent * chore: link manage * feat: bottom bar * fix: link * fix: page wrapper * fix: import thing * chore: added a displayname * refactor: page detail * refactor: page detail * fix: add topic to personal link form link * fix: only show page count if more than zero * fix: sidebar topic section --------- Co-authored-by: Nikita <github@nikiv.dev> Co-authored-by: marshennikovaolga <marshennikova@gmail.com>
43 lines
1.2 KiB
TypeScript
43 lines
1.2 KiB
TypeScript
import type { Metadata } from "next"
|
|
import { Inter as FontSans } from "next/font/google"
|
|
import { cn } from "@/lib/utils"
|
|
import { ThemeProvider } from "@/lib/providers/theme-provider"
|
|
import "./globals.css"
|
|
import { JazzProvider } from "@/lib/providers/jazz-provider"
|
|
import { JotaiProvider } from "@/lib/providers/jotai-provider"
|
|
import { Toaster } from "@/components/ui/sonner"
|
|
import { ConfirmProvider } from "@/lib/providers/confirm-provider"
|
|
|
|
const fontSans = FontSans({
|
|
subsets: ["latin"],
|
|
variable: "--font-sans"
|
|
})
|
|
|
|
export const metadata: Metadata = {
|
|
title: "Learn Anything",
|
|
description: "Organize world's knowledge, explore connections and curate learning paths"
|
|
}
|
|
|
|
export default function RootLayout({
|
|
children
|
|
}: Readonly<{
|
|
children: React.ReactNode
|
|
}>) {
|
|
return (
|
|
<html lang="en" className="h-full w-full" suppressHydrationWarning>
|
|
<body className={cn("h-full w-full font-sans antialiased", fontSans.variable)}>
|
|
<JazzProvider>
|
|
<ThemeProvider attribute="class" defaultTheme="system" enableSystem>
|
|
<JotaiProvider>
|
|
<ConfirmProvider>
|
|
{children}
|
|
<Toaster expand={false} />
|
|
</ConfirmProvider>
|
|
</JotaiProvider>
|
|
</ThemeProvider>
|
|
</JazzProvider>
|
|
</body>
|
|
</html>
|
|
)
|
|
}
|