0
0
Fork 0
mirror of https://git.verdigado.com/NB-Public/simple-wkd.git synced 2024-10-30 05:05:52 +01:00

Merge website into master

This commit is contained in:
Delta1925 2023-04-16 16:22:29 +02:00
commit 7dc3109c72
No known key found for this signature in database
GPG key ID: 1C21ACE44193CB25
20 changed files with 5285 additions and 0 deletions

21
website/.gitignore vendored Normal file
View file

@ -0,0 +1,21 @@
# 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

14
website/.prettierrc.cjs Normal file
View file

@ -0,0 +1,14 @@
module.exports = {
plugins: [
require.resolve("prettier-plugin-astro"),
require.resolve("prettier-plugin-tailwindcss"),
],
overrides: [
{
files: "*.astro",
options: {
parser: "astro",
},
},
],
};

4
website/.vscode/extensions.json vendored Normal file
View file

@ -0,0 +1,4 @@
{
"recommendations": ["astro-build.astro-vscode"],
"unwantedRecommendations": []
}

11
website/.vscode/launch.json vendored Normal file
View file

@ -0,0 +1,11 @@
{
"version": "0.2.0",
"configurations": [
{
"command": "./node_modules/.bin/astro dev",
"name": "Development server",
"request": "launch",
"type": "node-terminal"
}
]
}

6
website/.vscode/settings.json vendored Normal file
View file

@ -0,0 +1,6 @@
{
"prettier.documentSelectors": ["**/*.astro"],
"[astro]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
}
}

54
website/README.md Normal file
View file

@ -0,0 +1,54 @@
# Astro Starter Kit: Basics
```
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!
![basics](https://user-images.githubusercontent.com/4677417/186188965-73453154-fdec-4d6b-9c34-cb35c248ae5b.png)
## 🚀 Project Structure
Inside of your Astro project, you'll see the following folders and files:
```
/
├── 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:3000` |
| `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).

9
website/astro.config.mjs Normal file
View file

@ -0,0 +1,9 @@
import { defineConfig } from "astro/config";
import tailwind from "@astrojs/tailwind";
import critters from "astro-critters";
// https://astro.build/config
export default defineConfig({
integrations: [tailwind(), critters({ critters: { preload: "swap" } })],
});

24
website/package.json Normal file
View file

@ -0,0 +1,24 @@
{
"name": "",
"type": "module",
"version": "0.0.1",
"scripts": {
"dev": "astro dev",
"start": "astro dev",
"build": "astro build",
"preview": "astro preview",
"astro": "astro"
},
"dependencies": {
"@astrojs/tailwind": "^3.1.1",
"@tailwindcss/forms": "^0.5.3",
"astro": "^2.3.0",
"astro-critters": "^1.1.31",
"tailwindcss": "^3.0.24"
},
"devDependencies": {
"prettier": "^2.8.7",
"prettier-plugin-astro": "^0.8.0",
"prettier-plugin-tailwindcss": "^0.2.7"
}
}

4970
website/pnpm-lock.yaml Normal file

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,8 @@
---
---
<div class="flex h-full flex-row items-center px-8 py-4">
<div class="flex w-full flex-col items-center">
<slot />
</div>
</div>

View file

@ -0,0 +1,9 @@
---
export interface Props {
id: string;
}
const { id } = Astro.props;
---
<div class="absolute hidden h-full w-full cursor-wait" id={id}></div>

1
website/src/env.d.ts vendored Normal file
View file

@ -0,0 +1 @@
/// <reference types="astro/client" />

View file

@ -0,0 +1,24 @@
---
export interface Props {
title: string;
}
const { title } = Astro.props;
---
<!DOCTYPE html>
<html lang="en" class="h-full">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width" />
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
<meta name="generator" content={Astro.generator} />
<title>{title}</title>
</head>
<body
class="h-full font-mono dark:bg-neutral-800 dark:text-neutral-300"
id="body"
>
<slot />
</body>
</html>

View file

@ -0,0 +1,35 @@
---
import Layout from "../layouts/Layout.astro";
import CenterXy from "../components/center-xy.astro";
import CursorCatcher from "../components/cursor-catcher.astro";
import "../styles/global.css";
---
<Layout title="Delete a key">
<CursorCatcher id="cursor-catcher" />
<CenterXy>
<form
action="((%u))api/delete"
method="get"
class="flex max-w-full flex-col"
onsubmit="document.getElementById('submit-button').classList.add('cursor-wait'); document.getElementById('cursor-catcher').classList.remove('hidden')"
>
<label for="email" class="mt-3 text-xl font-bold"
>Request key deletion:</label
>
<input
type="email"
name="email"
id="email-input"
placeholder="user@example.com"
size="65"
class="input mt-3 focus:rounded-lg"
required
/>
<button type="submit" id="submit-button" class="button mt-4 self-end"
>Delete</button
>
</form>
</CenterXy>
</Layout>

View file

@ -0,0 +1,16 @@
---
import Layout from "../layouts/Layout.astro";
import CenterXy from "../components/center-xy.astro";
import "../styles/global.css";
---
<Layout title="Manage keys">
<CenterXy>
<h1 class="text-lg font-bold">What would you like to do?</h1>
<div class="flex flex-row space-x-6">
<a href="/submit" class="button">Submit a key</a>
<a href="/delete" class="button">Delete a key</a>
</div>
</CenterXy>
</Layout>

View file

@ -0,0 +1,10 @@
---
import Layout from "../layouts/Layout.astro";
import CenterXy from "../components/center-xy.astro";
---
<Layout title="((%s))">
<CenterXy>
<h1 class="text-4xl font-bold">((%m))</h1>
</CenterXy>
</Layout>

View file

@ -0,0 +1,35 @@
---
import Layout from "../layouts/Layout.astro";
import CenterXy from "../components/center-xy.astro";
import CursorCatcher from "../components/cursor-catcher.astro";
import "../styles/global.css";
---
<Layout title="Submit a key">
<CursorCatcher id="cursor-catcher" />
<CenterXy>
<form
action="((%u))api/submit"
method="post"
class="flex max-w-full flex-col"
onsubmit="document.getElementById('submit-button').classList.add('cursor-wait'); document.getElementById('cursor-catcher').classList.remove('hidden')"
>
<label for="key" class="text-xl font-bold"
>Paste your pgp keyblock here:</label
>
<textarea
name="key"
id="key-input"
cols="65"
rows="20"
class="input mt-3 resize-none"
placeholder="-----BEGIN PGP PUBLIC KEY BLOCK-----"
spellcheck="false"
required></textarea>
<button type="submit" id="submit-button" class="button mt-6 self-end"
>Submit</button
>
</form>
</CenterXy>
</Layout>

View file

@ -0,0 +1,23 @@
.input {
@apply focus:rounded-lg;
@apply dark:bg-neutral-800;
}
.button {
@apply bg-slate-200;
@apply p-4;
@apply hover:rounded-lg;
@apply hover:drop-shadow-md;
@apply dark:bg-slate-700;
}
.input,
.button {
@apply rounded-bl-lg;
@apply rounded-tr-lg;
@apply border;
@apply border-black;
@apply transition-all;
@apply duration-300;
@apply dark:border-neutral-300;
}

View file

@ -0,0 +1,8 @@
/** @type {import('tailwindcss').Config} */
module.exports = {
content: ["./src/**/*.{astro,html,js,jsx,md,mdx,svelte,ts,tsx,vue}"],
theme: {
extend: {},
},
plugins: [require("@tailwindcss/forms")],
};

3
website/tsconfig.json Normal file
View file

@ -0,0 +1,3 @@
{
"extends": "astro/tsconfigs/strict"
}