-
-
Notifications
You must be signed in to change notification settings - Fork 13
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #22 from SkidGod4444/feature/app
App UI
- Loading branch information
Showing
57 changed files
with
5,329 additions
and
227 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -5,6 +5,7 @@ node_modules | |
.pnp | ||
.pnp.js | ||
|
||
|
||
# Local env files | ||
.env | ||
.env.local | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +0,0 @@ | ||
public-hoist-pattern[]=* | ||
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,125 @@ | ||
"use client"; | ||
import { IconCoins, IconInfoSquareRounded } from "@tabler/icons-react"; | ||
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; | ||
import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs"; | ||
|
||
export default function Home() { | ||
return ( | ||
<div className="flex flex-col h-full w-full items-start overflow-hidden px-5 md:px-2"> | ||
<Tabs defaultValue="overview" className="space-y-5"> | ||
<TabsList> | ||
<TabsTrigger value="overview">Overview</TabsTrigger> | ||
<TabsTrigger value="analytics">Analytics</TabsTrigger> | ||
<TabsTrigger value="reports">Reports</TabsTrigger> | ||
<TabsTrigger value="notifications">Notifications</TabsTrigger> | ||
</TabsList> | ||
<TabsContent value="overview" className="space-y-4"> | ||
<div className="grid gap-4 md:grid-cols-3 lg:grid-cols-5"> | ||
<Card> | ||
<CardHeader className="flex flex-row items-center justify-between space-y-0 pb-2"> | ||
<CardTitle className="text-sm font-medium"> | ||
Queries Resolved | ||
</CardTitle> | ||
<IconInfoSquareRounded className="size-5 text-muted-foreground" /> | ||
</CardHeader> | ||
<CardContent> | ||
<div className="text-2xl font-bold">45,321</div> | ||
<p className="text-xs text-muted-foreground"> | ||
+20.1% from last month | ||
</p> | ||
</CardContent> | ||
</Card> | ||
<Card> | ||
<CardHeader className="flex flex-row items-center justify-between space-y-0 pb-2"> | ||
<CardTitle className="text-sm font-medium">Mails</CardTitle> | ||
<svg | ||
xmlns="http://www.w3.org/2000/svg" | ||
viewBox="0 0 24 24" | ||
fill="none" | ||
stroke="currentColor" | ||
strokeLinecap="round" | ||
strokeLinejoin="round" | ||
strokeWidth="2" | ||
className="h-4 w-4 text-muted-foreground" | ||
> | ||
<path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2" /> | ||
<circle cx="9" cy="7" r="4" /> | ||
<path d="M22 21v-2a4 4 0 0 0-3-3.87M16 3.13a4 4 0 0 1 0 7.75" /> | ||
</svg> | ||
</CardHeader> | ||
<CardContent> | ||
<div className="text-2xl font-bold">+2350</div> | ||
<p className="text-xs text-muted-foreground"> | ||
+180.1% from last month | ||
</p> | ||
</CardContent> | ||
</Card> | ||
<Card> | ||
<CardHeader className="flex flex-row items-center justify-between space-y-0 pb-2"> | ||
<CardTitle className="text-sm font-medium">Sales</CardTitle> | ||
<svg | ||
xmlns="http://www.w3.org/2000/svg" | ||
viewBox="0 0 24 24" | ||
fill="none" | ||
stroke="currentColor" | ||
strokeLinecap="round" | ||
strokeLinejoin="round" | ||
strokeWidth="2" | ||
className="h-4 w-4 text-muted-foreground" | ||
> | ||
<rect width="20" height="14" x="2" y="5" rx="2" /> | ||
<path d="M2 10h20" /> | ||
</svg> | ||
</CardHeader> | ||
<CardContent> | ||
<div className="text-2xl font-bold">+12,234</div> | ||
<p className="text-xs text-muted-foreground"> | ||
+19% from last month | ||
</p> | ||
</CardContent> | ||
</Card> | ||
<Card> | ||
<CardHeader className="flex flex-row items-center justify-between space-y-0 pb-2"> | ||
<CardTitle className="text-sm font-medium"> | ||
Events Logged | ||
</CardTitle> | ||
<svg | ||
xmlns="http://www.w3.org/2000/svg" | ||
viewBox="0 0 24 24" | ||
fill="none" | ||
stroke="currentColor" | ||
strokeLinecap="round" | ||
strokeLinejoin="round" | ||
strokeWidth="2" | ||
className="h-4 w-4 text-muted-foreground" | ||
> | ||
<path d="M22 12h-4l-3 9L9 3l-3 9H2" /> | ||
</svg> | ||
</CardHeader> | ||
<CardContent> | ||
<div className="text-2xl font-bold">+573</div> | ||
<p className="text-xs text-muted-foreground"> | ||
+201 since last hour | ||
</p> | ||
</CardContent> | ||
</Card> | ||
<Card> | ||
<CardHeader className="flex flex-row items-center justify-between space-y-0 pb-2"> | ||
<CardTitle className="text-sm font-medium"> | ||
Credits Left | ||
</CardTitle> | ||
<IconCoins className="size-5 text-muted-foreground" /> | ||
</CardHeader> | ||
<CardContent> | ||
<div className="text-2xl font-bold">2346</div> | ||
<p className="text-xs text-muted-foreground"> | ||
+201 since last hour | ||
</p> | ||
</CardContent> | ||
</Card> | ||
</div> | ||
</TabsContent> | ||
</Tabs> | ||
</div> | ||
); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
"use client"; | ||
import InfoBreadCrumb from "@/components/custom/infobar/bread-crumb"; | ||
import BillingSettings from "@/components/custom/settings/billing.settings"; | ||
import ThemeSettings from "@/components/custom/settings/theme.settings"; | ||
import React from "react"; | ||
|
||
export default function SettingsPage() { | ||
return ( | ||
<div className="flex flex-col h-full w-full items-start overflow-hidden px-5 md:px-2"> | ||
<InfoBreadCrumb /> | ||
<div className="flex flex-col gap-10"> | ||
<BillingSettings /> | ||
<ThemeSettings /> | ||
</div> | ||
</div> | ||
); | ||
} |
Binary file not shown.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,35 +1,49 @@ | ||
import type { Metadata } from "next"; | ||
import localFont from "next/font/local"; | ||
import { GeistSans } from "geist/font/sans"; | ||
import "./globals.css"; | ||
|
||
const geistSans = localFont({ | ||
src: "./fonts/GeistVF.woff", | ||
variable: "--font-geist-sans", | ||
weight: "100 900", | ||
}); | ||
const geistMono = localFont({ | ||
src: "./fonts/GeistMonoVF.woff", | ||
variable: "--font-geist-mono", | ||
weight: "100 900", | ||
}); | ||
import { ThemeProvider } from "@/hooks/theme-provider"; | ||
import { SidebarProvider } from "@/components/ui/sidebar"; | ||
import { AppSidebar } from "@/components/custom/sidebar/sidebar"; | ||
import { cookies } from "next/headers"; | ||
import Infobar from "@/components/custom/infobar/infobar"; | ||
import ProgressBar from "@/components/custom/progress.bar"; | ||
|
||
export const metadata: Metadata = { | ||
title: "Create Next App", | ||
title: "Plura", | ||
description: "Generated by create next app", | ||
}; | ||
|
||
export default function RootLayout({ | ||
async function RootLayout({ | ||
children, | ||
}: Readonly<{ | ||
children: React.ReactNode; | ||
}>) { | ||
const cookieStore = await cookies(); | ||
const defaultOpen = cookieStore.get("plura-sidebar:state")?.value === "true"; | ||
|
||
return ( | ||
<html lang="en"> | ||
<html lang="en" suppressHydrationWarning> | ||
<body | ||
className={`${geistSans.variable} ${geistMono.variable} antialiased`} | ||
className={`min-h-screen bg-background font-sans ${GeistSans.variable} antialiased`} | ||
> | ||
{children} | ||
<ThemeProvider | ||
attribute="class" | ||
defaultTheme="dark" | ||
enableSystem | ||
disableTransitionOnChange | ||
> | ||
<SidebarProvider defaultOpen={defaultOpen}> | ||
<AppSidebar /> | ||
<div className="p-2"> | ||
<ProgressBar /> | ||
<Infobar /> | ||
{children} | ||
</div> | ||
</SidebarProvider> | ||
</ThemeProvider> | ||
</body> | ||
</html> | ||
); | ||
} | ||
|
||
export default RootLayout; |
Oops, something went wrong.