mirror of
https://github.com/MODSetter/SurfSense.git
synced 2026-04-29 02:46:25 +02:00
Initial commit
This commit is contained in:
commit
55332d1ddb
168 changed files with 18456 additions and 0 deletions
13
apps/web/app/globals.css
Normal file
13
apps/web/app/globals.css
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
@tailwind base;
|
||||
@tailwind components;
|
||||
@tailwind utilities;
|
||||
@import "../components/theme/theme.css";
|
||||
|
||||
@layer base {
|
||||
* {
|
||||
@apply border-border;
|
||||
}
|
||||
body {
|
||||
@apply bg-background text-foreground;
|
||||
}
|
||||
}
|
||||
49
apps/web/app/layout.tsx
Normal file
49
apps/web/app/layout.tsx
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
import "./globals.css";
|
||||
import type { Metadata } from "next";
|
||||
import { Inter as FontSans } from "next/font/google";
|
||||
import { DashboardLayout } from "@/components/layouts/dashboard";
|
||||
import { cn } from "@/lib/utils";
|
||||
import { ThemeProvider } from "@/components/theme/theme-provider";
|
||||
import { OpenAPI } from "@/lib/api/client";
|
||||
import { TailwindIndicator } from "@/components/tailwind-indicator";
|
||||
|
||||
export const fontSans = FontSans({
|
||||
subsets: ["latin"],
|
||||
variable: "--font-sans",
|
||||
});
|
||||
|
||||
if (process.env.NODE_ENV === "production") {
|
||||
OpenAPI.BASE = "https://next-fast-turbo.vercel.app";
|
||||
}
|
||||
|
||||
console.log("Using OpenAPI.base", OpenAPI.BASE);
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: "Next-Fast-Turbo",
|
||||
description: "A Next.js, FastAPI and Turbo project scaffol",
|
||||
icons: {
|
||||
icon: ["/favicon.png"],
|
||||
},
|
||||
};
|
||||
|
||||
export default function RootLayout({
|
||||
children,
|
||||
}: {
|
||||
children: React.ReactNode;
|
||||
}): JSX.Element {
|
||||
return (
|
||||
<html lang="en" suppressHydrationWarning>
|
||||
<body className={cn(fontSans.variable, "bg-background font-sans")}>
|
||||
<ThemeProvider
|
||||
attribute="class"
|
||||
defaultTheme="system"
|
||||
enableSystem
|
||||
disableTransitionOnChange
|
||||
>
|
||||
<DashboardLayout>{children}</DashboardLayout>
|
||||
<TailwindIndicator />
|
||||
</ThemeProvider>
|
||||
</body>
|
||||
</html>
|
||||
);
|
||||
}
|
||||
11
apps/web/app/page.tsx
Normal file
11
apps/web/app/page.tsx
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
import { CardsStats } from "./placeholder-stats";
|
||||
import SearchUsers from "@/components/search-users";
|
||||
|
||||
export default async function Page() {
|
||||
return (
|
||||
<div className="flex flex-col gap-4">
|
||||
<CardsStats />
|
||||
<SearchUsers />
|
||||
</div>
|
||||
);
|
||||
}
|
||||
17
apps/web/app/placeholder-stats.tsx
Normal file
17
apps/web/app/placeholder-stats.tsx
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
// Example cards from ShadCN: https://github.com/shadcn-ui/ui/tree/0fae3fd93ae749aca708bdfbbbeddc5d576bfb2e/apps/www/registry/default/example/cards
|
||||
import { FlexWrapper } from "@/components/flex-wrapper";
|
||||
import { DemoRevenue } from "@/components/demo-revenue";
|
||||
import { DemoSubscriptions } from "@/components/demo-subscriptions";
|
||||
import { DemoExercise } from "@/components/demo-exercise";
|
||||
import { DemoGoal } from "@/components/demo-goal";
|
||||
|
||||
export function CardsStats() {
|
||||
return (
|
||||
<FlexWrapper columns="4">
|
||||
<DemoRevenue />
|
||||
<DemoSubscriptions />
|
||||
<DemoExercise />
|
||||
<DemoGoal />
|
||||
</FlexWrapper>
|
||||
);
|
||||
}
|
||||
3
apps/web/app/settings/page.tsx
Normal file
3
apps/web/app/settings/page.tsx
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
export default function Page() {
|
||||
return <div>Settings page</div>;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue