From d57571667793cf568a923aa137b05560d036b471 Mon Sep 17 00:00:00 2001 From: KMKoushik Date: Sun, 20 Oct 2024 07:24:41 +1100 Subject: [PATCH] new landing page --- .vscode/extensions.json | 4 ++ apps/landing/.gitignore | 24 ++++++++++ apps/landing/README.md | 54 ++++++++++++++++++++++ apps/landing/astro.config.mjs | 9 ++++ apps/landing/package.json | 20 ++++++++ apps/landing/public/favicon.ico | Bin 0 -> 15406 bytes apps/landing/src/components/Card.astro | 61 +++++++++++++++++++++++++ apps/landing/src/env.d.ts | 1 + apps/landing/src/layouts/Layout.astro | 41 +++++++++++++++++ apps/landing/src/pages/index.astro | 36 +++++++++++++++ apps/landing/tailwind.config.ts | 5 ++ apps/landing/tsconfig.json | 3 ++ 12 files changed, 258 insertions(+) create mode 100644 .vscode/extensions.json create mode 100644 apps/landing/.gitignore create mode 100644 apps/landing/README.md create mode 100644 apps/landing/astro.config.mjs create mode 100644 apps/landing/package.json create mode 100644 apps/landing/public/favicon.ico create mode 100644 apps/landing/src/components/Card.astro create mode 100644 apps/landing/src/env.d.ts create mode 100644 apps/landing/src/layouts/Layout.astro create mode 100644 apps/landing/src/pages/index.astro create mode 100644 apps/landing/tailwind.config.ts create mode 100644 apps/landing/tsconfig.json diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..22a1505 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,4 @@ +{ + "recommendations": ["astro-build.astro-vscode"], + "unwantedRecommendations": [] +} diff --git a/apps/landing/.gitignore b/apps/landing/.gitignore new file mode 100644 index 0000000..016b59e --- /dev/null +++ b/apps/landing/.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/apps/landing/README.md b/apps/landing/README.md new file mode 100644 index 0000000..1db3fb3 --- /dev/null +++ b/apps/landing/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/apps/landing/astro.config.mjs b/apps/landing/astro.config.mjs new file mode 100644 index 0000000..6f7f837 --- /dev/null +++ b/apps/landing/astro.config.mjs @@ -0,0 +1,9 @@ +// @ts-check +import { defineConfig } from 'astro/config'; + +import tailwind from '@astrojs/tailwind'; + +// https://astro.build/config +export default defineConfig({ + integrations: [tailwind()] +}); \ No newline at end of file diff --git a/apps/landing/package.json b/apps/landing/package.json new file mode 100644 index 0000000..0ecea3a --- /dev/null +++ b/apps/landing/package.json @@ -0,0 +1,20 @@ +{ + "name": "landing", + "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.9.4", + "@astrojs/tailwind": "^5.1.2", + "@unsend/tailwind-config": "workspace:*", + "astro": "^4.16.5", + "tailwindcss": "^3.4.14", + "typescript": "^5.6.3" + } +} \ No newline at end of file diff --git a/apps/landing/public/favicon.ico b/apps/landing/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..fc8bb5180e0dc060c47517b26ff85edb4b3084c7 GIT binary patch literal 15406 zcmeI22Z&Tj5Qg8Hvun<{26Qp5f(dgzMNu&;ih^PSBdB1)oKe95Dko;lf+7ckix_y&RTP(zy3iO}w{(H^ z!sQ!C9~5(wCQW4j{{3?M_H8+K?3fH3I53dT@w-Ql9`gPBciFjfr;HdeLY6OIE+0RB zlqE}+IMSFg%atpaJbn69X3d)ASGR53w(|4mPpMOO<%BJLHYFQlN>*O+>sWXl`B`4-Me=Ot+RIRS{XceaImtVGHAv$ zL~7Piuy)<#`L4lma2UR}vXUmpNI(P0YckbM= zam<@H&o1{m_MA5e?EmSVSBexVB9|{;)^!=5>eZ`z#!#kA8Ts+!hi-H8=FK77t68(A zU4O-j6(Q?~8XNj+LW2ekT(x)f=uu5_^X5%g_0z*JW5x{K7W1AnXU?GQA@9tQS$~|P z2w%Q@vFnc?KVEwG?rndk$J4irbxz=%>6;(;|J=EA(!YOy89H>R%$zw>(;zRMI(3qA z<;uyud-tS6hYsns5!fc*Zuw7{GDYj7Y15_&<4%D8#fuk(d3*WtrQ`So<7@KV@~>L8 zs(kqHL0Y$Nt$CZDef#zaYjM-2O=0&voc>dnb9kRVedN`vSBAZe8Z}DaHM(@^5_A5@ z>W&>d^gI{-@0{6&YnGM^S^fO zn)K}1GsE~JYxLU$WHNvL{29i-UcGvTwN5!BFfNfsx9iWek1o7>_pXfron*=)Nx7dA zo;`c!x}BvOUYTDj(5v0_CzaNvN99Xr-FO{DmuM3^pPl^+lKJru?a zDaU40sZu3r-@d(mZ=5q{jy|IgA3j_fH*T!$V3FQ;V=3R*?yy&JM^8&j({?|7QStfV z&4@cIwzL*4T150_5{o|Y4!CE}9(}*}f$R8}_cH9A+=rw278`EgxQ}8dDaNOet#Y| zY?!QGy;{HZ1=i>ND={%KL;C=~UAuPq$@$l>UuD9C34*OQm|U=KS=;N^ueaZk=?m)u z+d|;@#PYjaw{Ci@%~3a+O=y;@uM@14aG37Ql*M3p7@W{ty|ZxE_6$<~zQ>FiBM%=w6l|TQ939MFL12HFK7G1f zR<>+eIe-4V9655t&NFn8rug(28wxy`bGL2v>(@{3Y1jhTvp6Hwu3g(tkIkMvTiUg2 zr`G}Y0qnMJe3;x~@PZ%RfB*h{!JfswjSd?$XpkTNEnBw8)vH%^IXV_wCv)T$U#NOs z@S_`fbLZ^Sym@mi7Y`mh@Y~C6}h=inRI z!&oQeBR@_)f3y=x^eR8_M87c3y?XVMz`gL`!GqeKf=*@q!Y>k>PBhWLk1r+T3s(AK z^gr`}uEe(i*+G9g;fORp8u;_&%cuQhrQpj(ZO QG;0-%|A+raASxs9H__ZGtN;K2 literal 0 HcmV?d00001 diff --git a/apps/landing/src/components/Card.astro b/apps/landing/src/components/Card.astro new file mode 100644 index 0000000..bd6d597 --- /dev/null +++ b/apps/landing/src/components/Card.astro @@ -0,0 +1,61 @@ +--- +interface Props { + title: string; + body: string; + href: string; +} + +const { href, title, body } = Astro.props; +--- + + + diff --git a/apps/landing/src/env.d.ts b/apps/landing/src/env.d.ts new file mode 100644 index 0000000..9bc5cb4 --- /dev/null +++ b/apps/landing/src/env.d.ts @@ -0,0 +1 @@ +/// \ No newline at end of file diff --git a/apps/landing/src/layouts/Layout.astro b/apps/landing/src/layouts/Layout.astro new file mode 100644 index 0000000..26655eb --- /dev/null +++ b/apps/landing/src/layouts/Layout.astro @@ -0,0 +1,41 @@ +--- +interface Props { + title: string; +} + +const { title } = Astro.props; +--- + + + + + + + + + + {title} + + +
+

Unsend

+ +
+
+ +
+ + diff --git a/apps/landing/src/pages/index.astro b/apps/landing/src/pages/index.astro new file mode 100644 index 0000000..aab4657 --- /dev/null +++ b/apps/landing/src/pages/index.astro @@ -0,0 +1,36 @@ +--- +import Layout from "../layouts/Layout.astro"; +import Card from "../components/Card.astro"; +--- + + +
+

+ Open source sending infrastructure
+ for your business +

+

+ Unsend is the most affordable way to send your transactional, marketing + emails, product updates, newsletters, and more. +

+
+ +
+ + Join waitlist + + + +
+ +
+ +
+
diff --git a/apps/landing/tailwind.config.ts b/apps/landing/tailwind.config.ts new file mode 100644 index 0000000..32cf024 --- /dev/null +++ b/apps/landing/tailwind.config.ts @@ -0,0 +1,5 @@ +import { type Config } from "tailwindcss"; + +export default { + content: ["./src/**/*.{astro,html,js,jsx,md,mdx,svelte,ts,tsx,vue}"], +} satisfies Config; diff --git a/apps/landing/tsconfig.json b/apps/landing/tsconfig.json new file mode 100644 index 0000000..bcbf8b5 --- /dev/null +++ b/apps/landing/tsconfig.json @@ -0,0 +1,3 @@ +{ + "extends": "astro/tsconfigs/strict" +}