This commit is contained in:
Benjamin Toby 2026-03-04 18:00:26 +01:00
parent 86cfe54f6e
commit c8c4d1e97d
17 changed files with 604 additions and 210 deletions

3
.gitmodules vendored Normal file
View File

@ -0,0 +1,3 @@
[submodule "twui"]
path = twui
url = https://git.tben.me/Moduletrace/tailwind-ui-library.git

669
bun.lock

File diff suppressed because it is too large Load Diff

View File

@ -3,27 +3,43 @@
"version": "0.1.0",
"private": true,
"scripts": {
"dev": "next dev",
"pm2:dev": "pm2 start --name turboci-web 'bunx next dev' && pm2 start --name turboci-cron 'bun --watch src/cron/index.ts'",
"pm2:start": "pm2 start --name turboci-web 'bunx next start' && pm2 start --name turboci-cron 'bun src/cron/index.ts'",
"pm2:kill": "pm2 kill",
"twui:update": "git submodule update --remote twui",
"build": "next build"
},
"dependencies": {
"@moduletrace/bun-sqlite": "^1.0.5",
"@moduletrace/datasquirel": "^5.7.57",
"@radix-ui/themes": "^3.3.0",
"gray-matter": "^4.0.3",
"html-to-react": "^1.7.0",
"lodash": "^4.17.23",
"lucide-react": "^0.577.0",
"mdx": "^0.3.1",
"next": "16.1.6",
"next-mdx-remote": "^6.0.0",
"openai": "^6.25.0",
"react": "19.2.3",
"react-dom": "19.2.3"
"react-code-blocks": "^0.1.6",
"react-dom": "19.2.3",
"react-responsive-modal": "^7.1.0",
"rehype-prism-plus": "^2.0.2",
"remark-gfm": "^4.0.1",
"tailwind-merge": "^3.5.0"
},
"devDependencies": {
"@next/mdx": "^16.1.6",
"@tailwindcss/postcss": "^4",
"@types/ace": "^0.0.52",
"@types/bun": "^1.3.10",
"@types/mdx": "^2.0.13",
"@types/node": "^20",
"@types/react": "^19",
"@types/react-dom": "^19",
"tailwindcss": "^4",
"typescript": "^5"
"@types/react": "^19.2.14",
"@types/react-dom": "^19.2.3",
"tailwindcss": "^4.2.1",
"typescript": "^5.9.3"
},
"ignoreScripts": [
"sharp",

View File

@ -0,0 +1,5 @@
import Stack from "@/twui/components/layout/Stack";
export default function LoginForm() {
return <Stack></Stack>;
}

View File

@ -1,11 +1,13 @@
import { Box, Card, Heading } from "@radix-ui/themes";
import Paper from "@/twui/components/elements/Paper";
import H2 from "@/twui/components/layout/H2";
import Stack from "@/twui/components/layout/Stack";
export default function Main() {
return (
<Card>
<Box>
<Heading size={"5"}>Home</Heading>
</Box>
</Card>
<Paper>
<Stack>
<H2>Home</H2>
</Stack>
</Paper>
);
}

View File

@ -1,11 +1,21 @@
import { Box, Card, Heading } from "@radix-ui/themes";
import Stack from "@/twui/components/layout/Stack";
import LoginForm from "../auth/login/(partials)/login-form";
import H2 from "@/twui/components/layout/H2";
import Section from "@/twui/components/layout/Section";
import Container from "@/twui/components/layout/Container";
import Center from "@/twui/components/layout/Center";
export default function Main() {
return (
<Card className="max-w-4xl w-full xl:p-8">
<Box>
<Heading size={"5"}>Login</Heading>
</Box>
</Card>
<Section className="w-full h-full">
<Container className="w-full h-full">
<Center>
<Stack className="flex-col" gap={"5"}>
<H2>Welcome</H2>
<LoginForm />
</Stack>
</Center>
</Container>
</Section>
);
}

View File

@ -1,4 +1,4 @@
import grabTurboCiConfig from "@/utils/grab-turboci-config";
import grabTurboCiConfig from "@/src/utils/grab-turboci-config";
export default async function cronCheckServices() {
const config = grabTurboCiConfig();

View File

@ -1,4 +1,4 @@
import { AppData } from "@/data/app-data";
import { AppData } from "@/src/data/app-data";
import cronCheckServices from "./functions/check-services";
while (true) {

View File

@ -1,14 +1,13 @@
import { Box, Container, Section } from "@radix-ui/themes";
import Center from "@/twui/components/layout/Center";
import Main from "@/twui/components/layout/Main";
import { PropsWithChildren } from "react";
type Props = PropsWithChildren & {};
export default function Layout({ children }: Props) {
return (
<Section className="w-screen h-screen flex flex-col items-center justify-center">
<Container className="flex flex-col items-center justify-center">
<Box>{children}</Box>
</Container>
</Section>
<Main className="w-screen h-screen overflow-hidden">
<Center>{children}</Center>
</Main>
);
}

View File

@ -1,13 +1,7 @@
import "@/styles/globals.css";
import "@radix-ui/themes/styles.css";
import "@/src/styles/globals.css";
import type { AppProps } from "next/app";
import { Theme } from "@radix-ui/themes";
export default function App({ Component, pageProps }: AppProps) {
return (
<Theme>
<Component {...pageProps} />
</Theme>
);
return <Component {...pageProps} />;
}

View File

@ -1,5 +1,5 @@
import Main from "@/components/pages/auth/login";
import Layout from "@/layouts/login";
import Main from "@/src/components/pages/auth/login";
import Layout from "@/src/layouts/login";
export default function LoginPage() {
return (

View File

@ -1,6 +1,5 @@
import Main from "@/components/pages/home";
import Layout from "@/layouts/login";
import { Heading } from "@radix-ui/themes";
import Main from "@/src/components/pages/home";
import Layout from "@/src/layouts/login";
export default function Home() {
return (

View File

@ -1,26 +1,13 @@
@import "tailwindcss";
:root {
--background: #ffffff;
--foreground: #171717;
}
@import "../../twui/components/base.css";
@theme inline {
--color-background: var(--background);
--color-foreground: var(--foreground);
--font-sans: var(--font-geist-sans);
--font-mono: var(--font-geist-mono);
}
--breakpoint-xs: 350px;
@media (prefers-color-scheme: dark) {
:root {
--background: #0a0a0a;
--foreground: #ededed;
}
}
--color-background-light: #ffffff;
--color-foreground-light: #171717;
--color-background-dark: #0c0e11;
--color-foreground-dark: #ededed;
body {
background: var(--background);
color: var(--foreground);
font-family: Arial, Helvetica, sans-serif;
--color-price: #16946a;
--color-price-dark: #77ceb1;
}

View File

@ -1,3 +1,5 @@
import { AppData } from "../data/app-data";
type Params = {
cmd: string;
cwd?: string;

View File

@ -1,6 +1,6 @@
import fs from "fs";
import grabDirNames from "./grab-dir-names";
import { TCIGlobalConfig } from "@/types";
import { TCIGlobalConfig } from "@/src/types";
export default function grabTurboCiConfig() {
const { TURBOCI_CONFIG_JSON_FILE } = grabDirNames();

View File

@ -14,7 +14,7 @@
"jsx": "react-jsx",
"incremental": true,
"paths": {
"@/*": ["./src/*"]
"@/*": ["./*"]
}
},
"include": [
@ -23,8 +23,7 @@
"**/*.tsx",
".next/types/**/*.ts",
".next/dev/types/**/*.ts",
"**/*.mts",
"src"
"**/*.mts"
],
"exclude": ["node_modules"]
}

1
twui Submodule

@ -0,0 +1 @@
Subproject commit 89e673bb59809ba2be04a43ed8c9b5775c580237