From 2cb10d475cb1f7f1afcb0ecdeb7d6c1a82f2012c Mon Sep 17 00:00:00 2001 From: enricobuehler Date: Thu, 27 Jun 2024 10:21:45 +0200 Subject: [PATCH] add web --- web/.gitignore | 24 ++++++ web/.vscode/extensions.json | 4 + web/.vscode/launch.json | 11 +++ web/README.md | 54 +++++++++++++ web/astro.config.mjs | 12 +++ web/bun.lockb | Bin 0 -> 214437 bytes web/package.json | 28 +++++++ web/postcss.config.cjs | 11 +++ web/public/favicon.svg | 9 +++ web/src/components/Button.astro | 46 +++++++++++ web/src/components/Card.astro | 36 +++++++++ web/src/components/Heading.astro | 52 +++++++++++++ web/src/components/Layout/Footer.astro | 92 ++++++++++++++++++++++ web/src/components/Layout/Header.astro | 18 +++++ web/src/components/Logo/Logo.astro | 20 +++++ web/src/components/Section.astro | 27 +++++++ web/src/env.d.ts | 1 + web/src/layouts/RootLayout.astro | 32 ++++++++ web/src/lib/space-api.ts | 27 +++++++ web/src/lib/utils.ts | 6 ++ web/src/pages/index.astro | 21 +++++ web/src/sections/Introduction.astro | 18 +++++ web/src/sections/LandingHeader.astro | 3 + web/src/sections/SpaceState.astro | 17 ++++ web/src/styles/breakpoints.css | 5 ++ web/src/styles/global.css | 104 +++++++++++++++++++++++++ web/tailwind.config.cjs | 65 ++++++++++++++++ web/tsconfig.json | 11 +++ 28 files changed, 754 insertions(+) create mode 100644 web/.gitignore create mode 100644 web/.vscode/extensions.json create mode 100644 web/.vscode/launch.json create mode 100644 web/README.md create mode 100644 web/astro.config.mjs create mode 100755 web/bun.lockb create mode 100644 web/package.json create mode 100644 web/postcss.config.cjs create mode 100644 web/public/favicon.svg create mode 100644 web/src/components/Button.astro create mode 100644 web/src/components/Card.astro create mode 100644 web/src/components/Heading.astro create mode 100644 web/src/components/Layout/Footer.astro create mode 100644 web/src/components/Layout/Header.astro create mode 100644 web/src/components/Logo/Logo.astro create mode 100644 web/src/components/Section.astro create mode 100644 web/src/env.d.ts create mode 100644 web/src/layouts/RootLayout.astro create mode 100644 web/src/lib/space-api.ts create mode 100644 web/src/lib/utils.ts create mode 100644 web/src/pages/index.astro create mode 100644 web/src/sections/Introduction.astro create mode 100644 web/src/sections/LandingHeader.astro create mode 100644 web/src/sections/SpaceState.astro create mode 100644 web/src/styles/breakpoints.css create mode 100644 web/src/styles/global.css create mode 100644 web/tailwind.config.cjs create mode 100644 web/tsconfig.json diff --git a/web/.gitignore b/web/.gitignore new file mode 100644 index 0000000..016b59e --- /dev/null +++ b/web/.gitignore @@ -0,0 +1,24 @@ +# build output +dist/ + +# generated types +.astro/ + +# dependencies +node_modules/ + +# logs +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* + +# environment variables +.env +.env.production + +# macOS-specific files +.DS_Store + +# jetbrains setting folder +.idea/ diff --git a/web/.vscode/extensions.json b/web/.vscode/extensions.json new file mode 100644 index 0000000..22a1505 --- /dev/null +++ b/web/.vscode/extensions.json @@ -0,0 +1,4 @@ +{ + "recommendations": ["astro-build.astro-vscode"], + "unwantedRecommendations": [] +} diff --git a/web/.vscode/launch.json b/web/.vscode/launch.json new file mode 100644 index 0000000..d642209 --- /dev/null +++ b/web/.vscode/launch.json @@ -0,0 +1,11 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "command": "./node_modules/.bin/astro dev", + "name": "Development server", + "request": "launch", + "type": "node-terminal" + } + ] +} diff --git a/web/README.md b/web/README.md new file mode 100644 index 0000000..1db3fb3 --- /dev/null +++ b/web/README.md @@ -0,0 +1,54 @@ +# Astro Starter Kit: Basics + +```sh +npm create astro@latest -- --template basics +``` + +[![Open in StackBlitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/withastro/astro/tree/latest/examples/basics) +[![Open with CodeSandbox](https://assets.codesandbox.io/github/button-edit-lime.svg)](https://codesandbox.io/p/sandbox/github/withastro/astro/tree/latest/examples/basics) +[![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/withastro/astro?devcontainer_path=.devcontainer/basics/devcontainer.json) + +> 🧑‍🚀 **Seasoned astronaut?** Delete this file. Have fun! + +![just-the-basics](https://github.com/withastro/astro/assets/2244813/a0a5533c-a856-4198-8470-2d67b1d7c554) + +## 🚀 Project Structure + +Inside of your Astro project, you'll see the following folders and files: + +```text +/ +├── public/ +│ └── favicon.svg +├── src/ +│ ├── components/ +│ │ └── Card.astro +│ ├── layouts/ +│ │ └── Layout.astro +│ └── pages/ +│ └── index.astro +└── package.json +``` + +Astro looks for `.astro` or `.md` files in the `src/pages/` directory. Each page is exposed as a route based on its file name. + +There's nothing special about `src/components/`, but that's where we like to put any Astro/React/Vue/Svelte/Preact components. + +Any static assets, like images, can be placed in the `public/` directory. + +## 🧞 Commands + +All commands are run from the root of the project, from a terminal: + +| Command | Action | +| :------------------------ | :----------------------------------------------- | +| `npm install` | Installs dependencies | +| `npm run dev` | Starts local dev server at `localhost:4321` | +| `npm run build` | Build your production site to `./dist/` | +| `npm run preview` | Preview your build locally, before deploying | +| `npm run astro ...` | Run CLI commands like `astro add`, `astro check` | +| `npm run astro -- --help` | Get help using the Astro CLI | + +## 👀 Want to learn more? + +Feel free to check [our documentation](https://docs.astro.build) or jump into our [Discord server](https://astro.build/chat). diff --git a/web/astro.config.mjs b/web/astro.config.mjs new file mode 100644 index 0000000..1e8d329 --- /dev/null +++ b/web/astro.config.mjs @@ -0,0 +1,12 @@ +import { defineConfig } from "astro/config"; + +import tailwind from "@astrojs/tailwind"; + +// https://astro.build/config +export default defineConfig({ + integrations: [ + tailwind({ + applyBaseStyles: false, + }), + ], +}); diff --git a/web/bun.lockb b/web/bun.lockb new file mode 100755 index 0000000000000000000000000000000000000000..9a279605c4f790f79f2fe98b55777c91ed65313b GIT binary patch literal 214437 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 literal 0 HcmV?d00001 diff --git a/web/package.json b/web/package.json new file mode 100644 index 0000000..8728dbe --- /dev/null +++ b/web/package.json @@ -0,0 +1,28 @@ +{ + "name": "web", + "type": "module", + "version": "0.0.1", + "scripts": { + "dev": "astro dev", + "start": "astro dev", + "build": "astro check && astro build", + "preview": "astro preview", + "astro": "astro" + }, + "dependencies": { + "@astrojs/check": "^0.7.0", + "@astrojs/tailwind": "^5.1.0", + "astro": "^4.11.3", + "autoprefixer": "^10.4.19", + "class-variance-authority": "^0.7.0", + "clsx": "^2.1.1", + "marked": "^13.0.1", + "motion": "^10.18.0", + "postcss": "^8.4.38", + "postcss-custom-media": "^10.0.6", + "postcss-import": "^16.1.0", + "tailwind-merge": "^2.3.0", + "tailwindcss": "^3.4.4", + "typescript": "^5.5.2" + } +} \ No newline at end of file diff --git a/web/postcss.config.cjs b/web/postcss.config.cjs new file mode 100644 index 0000000..228a086 --- /dev/null +++ b/web/postcss.config.cjs @@ -0,0 +1,11 @@ +const postcssImport = require("postcss-import"); +const nesting = require("tailwindcss/nesting"); +const tailwind = require("tailwindcss"); +const autoprefixer = require("autoprefixer"); +const customMedia = require("postcss-custom-media"); + +const config = { + plugins: [postcssImport, nesting, tailwind, autoprefixer, customMedia], +}; + +module.exports = config; diff --git a/web/public/favicon.svg b/web/public/favicon.svg new file mode 100644 index 0000000..f157bd1 --- /dev/null +++ b/web/public/favicon.svg @@ -0,0 +1,9 @@ + + + + diff --git a/web/src/components/Button.astro b/web/src/components/Button.astro new file mode 100644 index 0000000..1e7dd08 --- /dev/null +++ b/web/src/components/Button.astro @@ -0,0 +1,46 @@ +--- +import type { HTMLAttributes } from "astro/types"; +import { cva, type VariantProps } from "class-variance-authority"; +import { cn } from "@/lib/utils"; + +export const button = cva( + cn( + "inline-flex items-center justify-center rounded-md text-sm font-medium", + "transition-colors focus-visible:outline-none", + "ring-main focus-visible:ring-2 focus-visible:ring-ring", + "focus-visible:ring-offset-2 disabled:opacity-50", + "disabled:pointer-events-none ring-offset-background" + ), + { + variants: { + variant: { + default: "bg-main text-neutral hocus:bg-main/80", + primary: + "bg-primary dark:bg-primary/50 text-neutral dark:text-main hocus:bg-primary/80 dark:hocus:bg-primary/80", + destructive: + "bg-error text-destructive-foreground hocus:bg-destructive/90", + outline: + "border border-input hover:bg-accent hover:text-accent-foreground", + secondary: "bg-main/10 text-main hocus:bg-main/20", + ghost: "hocus:bg-accent hocus:text-accent-foreground", + link: "underline-offset-4 hocus:underline text-primary", + }, + size: { + default: "h-10 text-base py-2 px-4", + sm: "h-9 px-3 rounded-md", + lg: "h-11 px-8 rounded-md", + }, + }, + } +); + +export interface Props + extends HTMLAttributes<"button">, + VariantProps {} + +const { variant = "default", size = "default", ...props } = Astro.props; +--- + + diff --git a/web/src/components/Card.astro b/web/src/components/Card.astro new file mode 100644 index 0000000..973b8bd --- /dev/null +++ b/web/src/components/Card.astro @@ -0,0 +1,36 @@ +--- +import type { HTMLAttributes } from "astro/types"; +import { type VariantProps, cva } from "class-variance-authority"; + +const card = cva( + "card rounded-card transition-colors bg-neutral-accent ring-2 ring-main/10", + { + variants: { + interactable: { + false: "transition-shadow focus-within:shadow-lg ring-2 ring-neutral", + true: "cursor-pointer shadow-sm hocus:bg-neutral-accent/50 \ + hocus:shadow-lg hocus:ring-2 hocus:outline-none", + }, + padding: { + true: "py-6 px-8", + false: "p-0", + }, + }, + } +); + +export interface Props + extends HTMLAttributes<"div">, + VariantProps {} + +const { + interactable = false, + padding = true, + class: _class, + ...props +} = Astro.props; +--- + +
+ +
diff --git a/web/src/components/Heading.astro b/web/src/components/Heading.astro new file mode 100644 index 0000000..f90ca39 --- /dev/null +++ b/web/src/components/Heading.astro @@ -0,0 +1,52 @@ +--- +import { cn } from "@/lib/utils"; +import type { HTMLAttributes } from "astro/types"; +import { VariantProps, cva } from "class-variance-authority"; + +const heading = cva("max-w-3xl m-[var(--section-heading-margin)]", { + variants: { + main: { + true: "font-bold", + false: "font-semibold", + }, + padding: { + true: "py-4", + false: "p-0", + }, + }, +}); + +export interface Props + extends HTMLAttributes<"h1" | "h2">, + VariantProps { + subtitle?: string; +} + +const { main = false, padding = true, subtitle } = Astro.props; + +const titleClass = cn( + heading({ main, padding }), + subtitle ? "mb-[calc(var(--section_heading-margin-bottom)_/_2)]" : "" +); +--- + +
+ { + main ? ( +

+ +

+ ) : ( +

+ +

+ ) + } + { + subtitle && ( +

+ {subtitle} +

+ ) + } +
diff --git a/web/src/components/Layout/Footer.astro b/web/src/components/Layout/Footer.astro new file mode 100644 index 0000000..f7f9522 --- /dev/null +++ b/web/src/components/Layout/Footer.astro @@ -0,0 +1,92 @@ +--- +import Section from "../Section.astro"; + +enum NavigationItemType { + Link, + Text, +} + +type NavigationItem = + | { + path: string; + label: string; + type: NavigationItemType.Link; + } + | { + type: NavigationItemType.Text; + content: string; + }; + +type NavigationGroup = { + title: string; + class?: string; + items: Array; +}; + +const tree: Array = [ + { + title: "Overview", + items: [ + { + path: "/", + type: NavigationItemType.Link, + label: "Landing", + }, + { + path: "https://github.com/tempblade/creator", + type: NavigationItemType.Link, + label: "GitHub", + }, + { + path: "https://tempblade.com", + type: NavigationItemType.Link, + label: "tempblade", + }, + ], + }, + { + title: "Legal", + items: [ + { + path: "/legal/imprint", + label: "Imprint", + type: NavigationItemType.Link, + }, + ], + }, + { + title: "", + class: "ml-auto mr-0 self-end", + items: [ + { + type: NavigationItemType.Text, + content: "Made with ❤️ in Rottweil", + }, + ], + }, +]; +--- + +
diff --git a/web/src/components/Layout/Header.astro b/web/src/components/Layout/Header.astro new file mode 100644 index 0000000..2847ccb --- /dev/null +++ b/web/src/components/Layout/Header.astro @@ -0,0 +1,18 @@ +--- +import { button } from "../Button.astro"; +import Logo from "components/Logo/Logo.astro"; +--- + +
+
+
+ +
+ Download +
+
diff --git a/web/src/components/Logo/Logo.astro b/web/src/components/Logo/Logo.astro new file mode 100644 index 0000000..70ea964 --- /dev/null +++ b/web/src/components/Logo/Logo.astro @@ -0,0 +1,20 @@ + + + + + + + + + diff --git a/web/src/components/Section.astro b/web/src/components/Section.astro new file mode 100644 index 0000000..d612a9b --- /dev/null +++ b/web/src/components/Section.astro @@ -0,0 +1,27 @@ +--- +import type { HTMLAttributes } from "astro/types"; +import { cva, type VariantProps } from "class-variance-authority"; + +const section = cva("relative w-full", { + variants: { + padding: { + true: "p-main", + false: "p-0", + }, + maxWidth: { + true: "max-w-section mx-auto", + false: "", + }, + }, +}); + +export interface Props + extends HTMLAttributes<"section">, + VariantProps {} + +const { padding = true, maxWidth = true, ...props } = Astro.props; +--- + +
+ +
diff --git a/web/src/env.d.ts b/web/src/env.d.ts new file mode 100644 index 0000000..f964fe0 --- /dev/null +++ b/web/src/env.d.ts @@ -0,0 +1 @@ +/// diff --git a/web/src/layouts/RootLayout.astro b/web/src/layouts/RootLayout.astro new file mode 100644 index 0000000..b501596 --- /dev/null +++ b/web/src/layouts/RootLayout.astro @@ -0,0 +1,32 @@ +--- +import Footer from "@/components/Layout/Footer.astro"; +import Header from "@/components/Layout/Header.astro"; +import "@/styles/global.css"; + +export interface Props { + title: string; +} + +const { title } = Astro.props; +--- + + + + + + + + + + + {title} + + +
+ +