diff --git a/docs/src/components/CustomSocialIcons.astro b/docs/src/components/CustomSocialIcons.astro
new file mode 100644
index 00000000000..3eb94af4667
--- /dev/null
+++ b/docs/src/components/CustomSocialIcons.astro
@@ -0,0 +1,21 @@
+---
+import type { Props } from '@astrojs/starlight/props';
+import Default from '@astrojs/starlight/components/SocialIcons.astro';
+---
+
+
+ Bluesky
+
+
+
+
diff --git a/docs/src/components/DownloadButton.astro b/docs/src/components/DownloadButton.astro
new file mode 100644
index 00000000000..55ce2b042b8
--- /dev/null
+++ b/docs/src/components/DownloadButton.astro
@@ -0,0 +1,34 @@
+---
+import { LinkCard } from "@astrojs/starlight/components";
+
+export interface Props {
+ title: string;
+ href: string;
+ after?: string;
+}
+
+const { title, href, after } = Astro.props;
+---
+
+
+
+
diff --git a/docs/src/components/Footer.astro b/docs/src/components/Footer.astro
new file mode 100644
index 00000000000..4cfd8035fc8
--- /dev/null
+++ b/docs/src/components/Footer.astro
@@ -0,0 +1,62 @@
+---
+import type { Props } from "@astrojs/starlight/props";
+import StarlightFooter from "@astrojs/starlight/components/Footer.astro";
+import { Image } from "astro:assets";
+---
+
+
+
+
+
+
+
diff --git a/docs/src/components/Head.astro b/docs/src/components/Head.astro
new file mode 100644
index 00000000000..8bf7bb70cab
--- /dev/null
+++ b/docs/src/components/Head.astro
@@ -0,0 +1,8 @@
+---
+import type { Props } from '@astrojs/starlight/props';
+import StarlightHead from '@astrojs/starlight/components/Head.astro';
+import { ViewTransitions } from 'astro:transitions';
+---
+
+
+
\ No newline at end of file
diff --git a/docs/src/content/docs/downloads/android.mdx b/docs/src/content/docs/downloads/android.mdx
new file mode 100644
index 00000000000..cf4964b9834
--- /dev/null
+++ b/docs/src/content/docs/downloads/android.mdx
@@ -0,0 +1,46 @@
+---
+title: Android
+---
+
+![Nightly release version](https://img.shields.io/badge/dynamic/yaml?color=f7d28c&label=Nightly&query=%24.version&url=https%3A%2F%2Fraw.githubusercontent.com%2FLinwoodDev%2FFlow%2Fnightly%2Fapp%2Fpubspec.yaml&style=for-the-badge)
+
+
+import {CardGrid, LinkCard, TabItem, Tabs} from '@astrojs/starlight/components';
+import DownloadButton from '/src/components/DownloadButton.astro';
+
+## Minimum system requirements
+
+* Android 5.0 (API level 21) or higher.
+
+## Binaries
+
+
+
+
+
+
+
+
+
+
+
+
+
+Read more about the nightly version of Flow [here](/community/nightly).
+
+:::tip[What apk should I use?]
+
+**Universal** should work on all devices. If you want a smaller apk, use the one that matches your device's architecture.
+
+:::
+
+## Stores
+
+
+
+
+
+
+## The beta program on play store
+
+Click on [this link](https://play.google.com/apps/testing/dev.linwood.flow) to register for the [nightly](/community/nightly) version of the app. Please note that this version can have bugs. The play store version will automatically be updated when a new nightly version is released.
diff --git a/docs/src/content/docs/downloads/build-your-own.md b/docs/src/content/docs/downloads/build-your-own.md
new file mode 100644
index 00000000000..cf8b4240231
--- /dev/null
+++ b/docs/src/content/docs/downloads/build-your-own.md
@@ -0,0 +1,16 @@
+---
+title: "Build your own"
+---
+
+1. Install git and flutter (beta)
+2. Clone the repository
+3. Navigate to the app directory
+4. Use the flutter tool to compile the application
+ * `flutter build apk`
+ * `flutter build appbundle`
+ * `flutter build web`
+ * `flutter build linux`
+ * `flutter build windows`
+ * `flutter build ios --release --no-codesign`\
+ after that, create a folder named "Payload", copy Runner.app into it and zip the payload folder. Then rename ".zip" to ".ipa".
+5. The compiled files are in the build directory
diff --git a/docs/src/content/docs/downloads/index.mdx b/docs/src/content/docs/downloads/index.mdx
new file mode 100644
index 00000000000..46c60430ebf
--- /dev/null
+++ b/docs/src/content/docs/downloads/index.mdx
@@ -0,0 +1,30 @@
+---
+title: Downloads
+---
+
+
+![Nightly release version](https://img.shields.io/badge/dynamic/yaml?color=f7d28c&label=Nightly&query=%24.version&url=https%3A%2F%2Fraw.githubusercontent.com%2FLinwoodDev%2FFlow%2Fnightly%2Fapp%2Fpubspec.yaml&style=for-the-badge)
+
+## Choose your platform
+
+import { LinkCard, CardGrid } from '@astrojs/starlight/components';
+
+
+
+
+
+
+
+
+
+
+
+
+
+## Useful links
+
+- [Changelog](/community/changelog)
+- [Older releases](https://github.com/LinwoodDev/Flow/releases)
+- [Latest release](https://github.com/LinwoodDev/Flow/releases/latest)
+- [Support](https://discord.linwood.dev)
+- [FAQ](/community/faq)
\ No newline at end of file
diff --git a/docs/src/content/docs/downloads/ios.mdx b/docs/src/content/docs/downloads/ios.mdx
new file mode 100644
index 00000000000..80b7580221f
--- /dev/null
+++ b/docs/src/content/docs/downloads/ios.mdx
@@ -0,0 +1,50 @@
+---
+title: iOS
+---
+
+![Nightly release version](https://img.shields.io/badge/dynamic/yaml?color=f7d28c&label=Nightly&query=%24.version&url=https%3A%2F%2Fraw.githubusercontent.com%2FLinwoodDev%2FFlow%2Fnightly%2Fapp%2Fpubspec.yaml&style=for-the-badge)
+
+
+import {CardGrid, TabItem, Tabs} from '@astrojs/starlight/components';
+import DownloadButton from '/src/components/DownloadButton.astro';
+
+:::warning
+
+The iOS version of Flow is in preview and may not work as expected.
+Click [here](https://github.com/LinwoodDev/Flow/issues/244) to visit the issue on GitHub to find current known bugs and updates. Please report any issues there.
+
+:::
+
+## Links
+
+
+
+
+
+
+
+
+
+Read more about the nightly version of Flow [here](/community/nightly).
+
+## Installing
+
+The IPA file we distribute is unsigned. This means you'll have to sign it yourself before being able to install it onto your iOS device. \
+Fortunately, there are projects like [AltStore](https://altstore.io) (open source) or [sideloadly](https://sideloadly.io) (closed source). \
+\
+You do need an Apple ID for sideloading Flow. We recommend creating a new one especially for this purpose. Please log into [Apple Developer](https://developer.apple.com) at least once and accept their terms.
+\
+If your device is running iOS 16.0 or newer, enable developer mode in Settings/Privacy/Developer Mode.
+
+## Installing (AltStore)
+
+1. Set up AltStore using the instructions provided on the AltStore website.
+2. Get a copy of the IPA file onto your device. The best way is to download it using a web browser or sending a zip file containing the IPA to yourself. Do not use Airdrop. Also, do not send the file directly to yourself. You might not be able to open it.
+3. Open the IPA file, use the "share" menu and tap "AltStore". If your device is connected to your PC running AltServer (wired or wirelessly) it'll install automatically.
+
+## Installing (Sideloadly)
+
+1. Set up Sideloadly using the guides provided on sideloadly.io.
+2. Open sideloadly on your PC.
+3. Add the IPA in the top right corner, select your device and Apple ID. Click Start. The app will be installed onto your device.
+If you get a popup saying a developer isn't trusted go to Settings/General/VPN and Device Management and change that.
diff --git a/docs/src/content/docs/downloads/linux.mdx b/docs/src/content/docs/downloads/linux.mdx
new file mode 100644
index 00000000000..deecb3bf4b2
--- /dev/null
+++ b/docs/src/content/docs/downloads/linux.mdx
@@ -0,0 +1,31 @@
+---
+title: Linux
+---
+
+![Nightly release version](https://img.shields.io/badge/dynamic/yaml?color=f7d28c&label=Nightly&query=%24.version&url=https%3A%2F%2Fraw.githubusercontent.com%2FLinwoodDev%2FFlow%2Fnightly%2Fapp%2Fpubspec.yaml&style=for-the-badge)
+
+
+import {CardGrid, LinkCard, TabItem, Tabs} from '@astrojs/starlight/components';
+import DownloadButton from '/src/components/DownloadButton.astro';
+
+:::note
+
+Please use the flatpak version if possible.
+Otherwise you need to install `libsecret-1-dev` and `libjsoncpp-dev`.
+
+:::
+
+## Binaries
+
+
+
+
+
+
+
+
+
+
+
+
+Read more about the nightly version of Flow [here](/community/nightly).
diff --git a/docs/src/content/docs/downloads/macos.mdx b/docs/src/content/docs/downloads/macos.mdx
new file mode 100644
index 00000000000..8667f6fc7a5
--- /dev/null
+++ b/docs/src/content/docs/downloads/macos.mdx
@@ -0,0 +1,21 @@
+---
+title: MacOS
+---
+
+![Nightly release version](https://img.shields.io/badge/dynamic/yaml?color=f7d28c&label=Nightly&query=%24.version&url=https%3A%2F%2Fraw.githubusercontent.com%2FLinwoodDev%2FFlow%2Fnightly%2Fapp%2Fpubspec.yaml&style=for-the-badge)
+
+import { Tabs, TabItem, CardGrid } from '@astrojs/starlight/components';
+import DownloadButton from '/src/components/DownloadButton.astro';
+
+## Links
+
+
+
+
+
+
+
+
+
+
+Read more about the nightly version of Flow [here](/community/nightly).
diff --git a/docs/src/content/docs/downloads/post-windows.mdx b/docs/src/content/docs/downloads/post-windows.mdx
new file mode 100644
index 00000000000..fa37f5e4a6c
--- /dev/null
+++ b/docs/src/content/docs/downloads/post-windows.mdx
@@ -0,0 +1,22 @@
+---
+title: Thank you for downloading
+---
+
+import { LinkCard, CardGrid } from '@astrojs/starlight/components';
+
+
+
+
+
+
+## Windows SmartScreen
+
+Windows warns users when installing software without a certificate.
+
+![Smart screen](@assets/img/smart-screen.png)
+
+To install the app, you need to click on "More info".
+
+![Smart screen more info](@assets/img/smart-screen-more-info.png)
+
+Then, click on "Run anyway".
diff --git a/docs/src/content/docs/downloads/selfhosting.md b/docs/src/content/docs/downloads/selfhosting.md
new file mode 100644
index 00000000000..27bb4874a1f
--- /dev/null
+++ b/docs/src/content/docs/downloads/selfhosting.md
@@ -0,0 +1,24 @@
+---
+title: Selfhosting
+---
+
+![Nightly release version](https://img.shields.io/badge/dynamic/yaml?color=f7d28c&label=Nightly&query=%24.version&url=https%3A%2F%2Fraw.githubusercontent.com%2FLinwoodDev%2FFlow%2Fnightly%2Fapp%2Fpubspec.yaml&style=for-the-badge)
+
+It is very easy to host your own Flow web server.
+
+## Simple server
+
+Install flutter and build the app using:
+
+```bash
+cd app
+flutter pub get
+flutter build web
+```
+
+All the files are in the `app/build/web` directory.
+
+## Docker
+
+Clone the repository and build the `Dockerfile` using: `docker build -t linwood-flow`.
+Start the server using: `docker run -p 8080:8080 -d linwood-flow`.
diff --git a/docs/src/content/docs/downloads/thank-you.mdx b/docs/src/content/docs/downloads/thank-you.mdx
new file mode 100644
index 00000000000..ff4b9c04787
--- /dev/null
+++ b/docs/src/content/docs/downloads/thank-you.mdx
@@ -0,0 +1,10 @@
+---
+title: Thank you for downloading
+---
+
+import { LinkCard, CardGrid } from '@astrojs/starlight/components';
+
+
+
+
+
diff --git a/docs/src/content/docs/downloads/web.mdx b/docs/src/content/docs/downloads/web.mdx
new file mode 100644
index 00000000000..bfdad33d69f
--- /dev/null
+++ b/docs/src/content/docs/downloads/web.mdx
@@ -0,0 +1,26 @@
+---
+title: Web
+---
+
+![Nightly release version](https://img.shields.io/badge/dynamic/yaml?color=f7d28c&label=Nightly&query=%24.version&url=https%3A%2F%2Fraw.githubusercontent.com%2FLinwoodDev%2FFlow%2Fnightly%2Fapp%2Fpubspec.yaml&style=for-the-badge)
+
+import { CardGrid } from '@astrojs/starlight/components';
+import DownloadButton from '/src/components/DownloadButton.astro';
+
+:::note
+
+This is a progressive web application. You can install it on your browser and use it offline.
+All data is stored in your browser.
+
+:::
+
+## Links
+
+
+
+
+
+## Versions
+
+The main and the preview (develop) versions of Flow are not the same as the stable and nightly versions.
+They are not directly associated with a release. They are updated as soon as a new commit is pushed to the repository.
diff --git a/docs/src/content/docs/downloads/windows.mdx b/docs/src/content/docs/downloads/windows.mdx
new file mode 100644
index 00000000000..49d07de81e1
--- /dev/null
+++ b/docs/src/content/docs/downloads/windows.mdx
@@ -0,0 +1,26 @@
+---
+title: Windows
+---
+
+![Nightly release version](https://img.shields.io/badge/dynamic/yaml?color=f7d28c&label=Nightly&query=%24.version&url=https%3A%2F%2Fraw.githubusercontent.com%2FLinwoodDev%2FFlow%2Fnightly%2Fapp%2Fpubspec.yaml&style=for-the-badge)
+
+
+import {CardGrid, TabItem, Tabs} from '@astrojs/starlight/components';
+import DownloadButton from '/src/components/DownloadButton.astro';
+
+## Minimum system requirements
+
+* Windows 10 or higher.
+
+## Binaries
+
+
+
+
+
+
+
+
+
+
+Read more about the nightly version of Flow [here](/community/nightly).
diff --git a/docs/src/content/docs/index.mdx b/docs/src/content/docs/index.mdx
index 5757fb5ee11..eae811f760b 100644
--- a/docs/src/content/docs/index.mdx
+++ b/docs/src/content/docs/index.mdx
@@ -1,19 +1,22 @@
---
-title: Welcome to Starlight
-description: Get started building your docs site with Starlight.
+title: Linwood Flow
+description: ⌚ A feature rich event and time managment system ⌚
template: splash
hero:
- tagline: Congrats on setting up a new Starlight project!
+ tagline: ⌚ A feature rich event and time managment system ⌚
image:
file: /public/img/logo.svg
actions:
- - text: Example Guide
- link: /docs/v1/intro/
+ - text: Download
+ link: /downloads/
icon: right-arrow
- - text: Read the Starlight docs
- link: https://starlight.astro.build
- icon: external
- variant: minimal
+ variant: primary
+ - text: Getting started
+ link: /docs/v1/intro/
+ icon: document
+ - text: Web App
+ link: https://web.flow.linwood.dev
+ icon: rocket
---
import { Card, CardGrid } from '@astrojs/starlight/components';
diff --git a/docs/src/styles/custom.css b/docs/src/styles/custom.css
new file mode 100644
index 00000000000..8d6bb6bf9d6
--- /dev/null
+++ b/docs/src/styles/custom.css
@@ -0,0 +1,155 @@
+/* Dark mode colors. */
+:root {
+ --sl-color-accent-low: #0f282e;
+ --sl-color-accent: #00768d;
+ --sl-color-accent-high: #b1ced7;
+ --sl-color-white: #ffffff;
+ --sl-color-gray-1: #eceef2;
+ --sl-color-gray-2: #c0c2c7;
+ --sl-color-gray-3: #888b96;
+ --sl-color-gray-4: #545861;
+ --sl-color-gray-5: #353841;
+ --sl-color-gray-6: #24272f;
+ --sl-color-black: #17181c;
+}
+/* Light mode colors. */
+:root[data-theme="light"] {
+ --sl-color-accent-low: #c5dbe2;
+ --sl-color-accent: #00758b;
+ --sl-color-accent-high: #0c3843;
+ --sl-color-white: #17181c;
+ --sl-color-gray-1: #24272f;
+ --sl-color-gray-2: #353841;
+ --sl-color-gray-3: #545861;
+ --sl-color-gray-4: #888b96;
+ --sl-color-gray-5: #c0c2c7;
+ --sl-color-gray-6: #eceef2;
+ --sl-color-gray-7: #f5f6f8;
+ --sl-color-black: #ffffff;
+}
+
+.inline-icon {
+ display: inline !important;
+ vertical-align: sub;
+ margin: 0 !important;
+ padding: 0;
+}
+
+br {
+ display: block;
+}
+
+@font-face {
+ font-family: "Barlow";
+ src: url("/fonts/Barlow-Regular.ttf") format("truetype");
+}
+
+@font-face {
+ font-family: "Barlow";
+ src: url("/fonts/Barlow-Bold.ttf") format("truetype");
+ font-weight: bold;
+}
+
+@font-face {
+ font-family: "Barlow";
+ src: url("/fonts/Barlow-Italic.ttf") format("truetype");
+ font-style: italic;
+}
+
+@font-face {
+ font-family: "Barlow";
+ src: url("/fonts/Barlow-BoldItalic.ttf") format("truetype");
+ font-weight: bold;
+ font-style: italic;
+}
+
+@font-face {
+ font-family: "Barlow";
+ src: url("/fonts/Barlow-Light.ttf") format("truetype");
+ font-weight: 300;
+}
+
+@font-face {
+ font-family: "Barlow";
+ src: url("/fonts/Barlow-LightItalic.ttf") format("truetype");
+ font-weight: 300;
+ font-style: italic;
+}
+
+@font-face {
+ font-family: "Barlow";
+ src: url("/fonts/Barlow-SemiBold.ttf") format("truetype");
+ font-weight: 600;
+}
+
+@font-face {
+ font-family: "Barlow";
+ src: url("/fonts/Barlow-SemiBoldItalic.ttf") format("truetype");
+ font-weight: 600;
+ font-style: italic;
+}
+
+@font-face {
+ font-family: "Barlow";
+ src: url("/fonts/Barlow-ExtraBold.ttf") format("truetype");
+ font-weight: 800;
+}
+
+@font-face {
+ font-family: "Barlow";
+ src: url("/fonts/Barlow-ExtraBoldItalic.ttf") format("truetype");
+ font-weight: 800;
+ font-style: italic;
+}
+
+@font-face {
+ font-family: "Barlow";
+ src: url("/fonts/Barlow-Black.ttf") format("truetype");
+ font-weight: 900;
+}
+
+@font-face {
+ font-family: "Barlow";
+ src: url("/fonts/Barlow-BlackItalic.ttf") format("truetype");
+ font-weight: 900;
+ font-style: italic;
+}
+
+@font-face {
+ font-family: "Barlow";
+ src: url("/fonts/Barlow-Thin.ttf") format("truetype");
+ font-weight: 100;
+}
+
+@font-face {
+ font-family: "Barlow";
+ src: url("/fonts/Barlow-ThinItalic.ttf") format("truetype");
+ font-weight: 100;
+ font-style: italic;
+}
+
+@font-face {
+ font-family: "Barlow";
+ src: url("/fonts/Barlow-ExtraLight.ttf") format("truetype");
+ font-weight: 200;
+}
+
+@font-face {
+ font-family: "Barlow";
+ src: url("/fonts/Barlow-ExtraLightItalic.ttf") format("truetype");
+ font-weight: 200;
+ font-style: italic;
+}
+
+@font-face {
+ font-family: "Barlow";
+ src: url("/fonts/Barlow-Medium.ttf") format("truetype");
+ font-weight: 500;
+}
+
+@font-face {
+ font-family: "Barlow";
+ src: url("/fonts/Barlow-MediumItalic.ttf") format("truetype");
+ font-weight: 500;
+ font-style: italic;
+}