Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 33 additions & 0 deletions packages/ui/.dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# Dependencies
node_modules
.pnp
.pnp.js

# Next.js build output
.next
out

# Environment files
.env
.env.local
.env.development.local
.env.test.local
.env.production.local

# Debug logs
npm-debug.log*
yarn-debug.log*
yarn-error.log*

# Editor and OS artifacts
.DS_Store
*.pem
.vscode
.idea

# Testing
coverage

# TypeScript
*.tsbuildinfo
next-env.d.ts
5 changes: 5 additions & 0 deletions packages/ui/.prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
.next
out
node_modules
public
*.min.js
8 changes: 8 additions & 0 deletions packages/ui/.prettierrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"semi": true,
"singleQuote": true,
"trailingComma": "all",
"printWidth": 100,
"tabWidth": 2,
"useTabs": false
}
19 changes: 5 additions & 14 deletions packages/ui/eslint.config.mjs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { dirname } from "path";
import { fileURLToPath } from "url";
import { FlatCompat } from "@eslint/eslintrc";
import { dirname } from 'path';
import { fileURLToPath } from 'url';
import { FlatCompat } from '@eslint/eslintrc';

const __filename = fileURLToPath(import.meta.url);
const __dirname = dirname(__filename);
Expand All @@ -10,16 +10,7 @@ const compat = new FlatCompat({
});

const eslintConfig = [
...compat.extends("next/core-web-vitals", "next/typescript"),
{
ignores: [
"node_modules/**",
".next/**",
"out/**",
"build/**",
"next-env.d.ts",
],
},
...compat.extends('next/core-web-vitals', 'next/typescript', 'prettier'),
];

export default eslintConfig;
export default eslintConfig;
49 changes: 46 additions & 3 deletions packages/ui/src/app/page.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,47 @@
import { redirect } from "next/navigation";
export default function Home() {
redirect("/app");
'use client";';
import HeroSection from '@/components/landing/HeroSection';
import Navbar from '@/components/landing/Navbar';

export default function LandingPage() {
return (
<div
className="min-h-screen bg-[#080c12] text-white overflow-x-hidden"
style={{ fontFamily: "'IBM Plex Sans', system-ui, sans-serif" }}
>
{/* ── Background layers ── */}
<div
className="fixed inset-0 pointer-events-none"
style={{
backgroundImage:
'linear-gradient(rgba(255,255,255,0.018) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.018) 1px, transparent 1px)',
backgroundSize: '48px 48px',
}}
/>
<div
className="fixed inset-0 pointer-events-none opacity-30"
style={{
backgroundImage:
'linear-gradient(135deg, rgba(56,189,248,0.03) 25%, transparent 25%), linear-gradient(225deg, rgba(56,189,248,0.03) 25%, transparent 25%)',
backgroundSize: '96px 96px',
}}
/>
<div
className="fixed top-0 left-1/2 -translate-x-1/2 w-[900px] h-[500px] pointer-events-none"
style={{
background:
'radial-gradient(ellipse at 50% 0%, rgba(56,189,248,0.08) 0%, transparent 65%)',
}}
/>
<div
className="fixed bottom-0 left-0 w-[500px] h-[400px] pointer-events-none"
style={{
background:
'radial-gradient(ellipse at 0% 100%, rgba(56,189,248,0.04) 0%, transparent 60%)',
}}
/>

<Navbar />
<HeroSection />
</div>
);
}
Loading
Loading