Compare commits

...

3 Commits

Author SHA1 Message Date
9398738067 chore(deps): pin dependencies
All checks were successful
Lint / Lint (push) Successful in 1m20s
2024-09-03 21:01:19 +00:00
cece444d67 plausible tracker, main layout
Some checks failed
SonarQube Scan / SonarQube Trigger (push) Failing after 33s
2024-09-03 22:34:03 +02:00
8f0cdbaa21 base page
Some checks failed
SonarQube Scan / SonarQube Trigger (push) Failing after 43s
2024-09-03 22:00:14 +02:00
6 changed files with 61 additions and 14 deletions

View File

@ -1,9 +1,19 @@
import type { Metadata } from "next"; import type { Metadata, Viewport } from "next";
import { Inter } from "next/font/google"; import { Inter } from "next/font/google";
import PlausibleProvider from "next-plausible";
import "./globals.css"; import "./globals.css";
import { cn } from "@/lib/utils";
const inter = Inter({ subsets: ["latin"] }); const inter = Inter({ subsets: ["latin"], variable: "--font-sans" });
export const viewport: Viewport = {
colorScheme: "dark",
themeColor: [
//{ media: "(prefers-color-scheme: light)", color: "#f5f5f5" },
//{ media: "(prefers-color-scheme: dark)", color: "#171717" },
{ color: "#052e16" },
],
};
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Track Every Day!", title: "Track Every Day!",
description: "A web app for tracking habits, activities and vices.", description: "A web app for tracking habits, activities and vices.",
@ -15,8 +25,24 @@ export default function RootLayout({
children: React.ReactNode; children: React.ReactNode;
}>) { }>) {
return ( return (
<html lang="en"> <html lang="en" className="scroll-smooth">
<body className={inter.className}>{children}</body> <head>
<PlausibleProvider
domain="trackevery.day"
customDomain="https://analytics.schulze.network"
selfHosted={true}
enabled={true}
trackOutboundLinks={true}
/>
</head>
<body
className={cn(
"min-h-screen bg-background font-sans antialiased",
inter.variable
)}
>
{children}
</body>
</html> </html>
); );
} }

View File

@ -1,9 +1,5 @@
import Image from "next/image"; import { redirect } from "next/navigation";
export default function Home() { export default function Home() {
return ( redirect("/welcome");
<main className="flex min-h-screen flex-col items-center justify-between p-24">
<div className="z-10 w-full max-w-5xl items-center justify-between font-mono text-sm lg:flex"></div>
</main>
);
} }

11
app/welcome/layout.tsx Normal file
View File

@ -0,0 +1,11 @@
export default function Layout({
children,
}: Readonly<{
children: React.ReactNode;
}>) {
return (
<div className="flex flex-col h-screen w-screen block bg-emerald-950 text-neutral-300">
<div className="m-4 md:my-16 md:mx-auto max-w-96">{children}</div>
</div>
);
}

12
app/welcome/page.tsx Normal file
View File

@ -0,0 +1,12 @@
export default function Home() {
return (
<div className="shadow-xl rounded-lg w-full border px-6 py-12 bg-emerald-900 border-emerald-700 ">
<div className="flex flex-col">
<span className="text-4xl font-bold">📅 Track Every Day</span>
<span className="mt-4 text-center">
A web app for logging your habits, vices and activities.
</span>
</div>
</div>
);
}

6
package-lock.json generated
View File

@ -25,8 +25,8 @@
}, },
"devDependencies": { "devDependencies": {
"@types/node": "^20", "@types/node": "^20",
"@types/react": "^18", "@types/react": "18.3.5",
"@types/react-dom": "^18", "@types/react-dom": "18.3.0",
"eslint": "^8", "eslint": "^8",
"eslint-config-next": "14.2.7", "eslint-config-next": "14.2.7",
"postcss": "^8", "postcss": "^8",
@ -1799,6 +1799,7 @@
"resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.5.tgz", "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.5.tgz",
"integrity": "sha512-WeqMfGJLGuLCqHGYRGHxnKrXcTitc6L/nBUWfWPcTarG3t9PsquqUMuVeXZeca+mglY4Vo5GZjCi0A3Or2lnxA==", "integrity": "sha512-WeqMfGJLGuLCqHGYRGHxnKrXcTitc6L/nBUWfWPcTarG3t9PsquqUMuVeXZeca+mglY4Vo5GZjCi0A3Or2lnxA==",
"dev": true, "dev": true,
"license": "MIT",
"dependencies": { "dependencies": {
"@types/prop-types": "*", "@types/prop-types": "*",
"csstype": "^3.0.2" "csstype": "^3.0.2"
@ -1809,6 +1810,7 @@
"resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.0.tgz", "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.0.tgz",
"integrity": "sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==", "integrity": "sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==",
"dev": true, "dev": true,
"license": "MIT",
"dependencies": { "dependencies": {
"@types/react": "*" "@types/react": "*"
} }

View File

@ -26,8 +26,8 @@
}, },
"devDependencies": { "devDependencies": {
"@types/node": "^20", "@types/node": "^20",
"@types/react": "^18", "@types/react": "18.3.5",
"@types/react-dom": "^18", "@types/react-dom": "18.3.0",
"eslint": "^8", "eslint": "^8",
"eslint-config-next": "14.2.7", "eslint-config-next": "14.2.7",
"postcss": "^8", "postcss": "^8",