Merge branch 'astro'

# Conflicts:
#	.gitignore
#	README.md
#	package.json
#	tsconfig.json
This commit is contained in:
Derrick Hammer 2023-06-17 23:15:08 -04:00
commit 52973ccb30
Signed by: pcfreak30
GPG Key ID: C997C339BE476FF2
61 changed files with 1909 additions and 21 deletions

2
.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
node_modules
dist

21
LICENSE
View File

@ -1,21 +0,0 @@
MIT License
Copyright (c) 2022 Hammer Technologies LLC
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

47
README.md Normal file
View File

@ -0,0 +1,47 @@
# Astro Starter Kit: Minimal
```
npm create astro@latest -- --template minimal
```
[![Open in StackBlitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/withastro/astro/tree/latest/examples/minimal)
[![Open with CodeSandbox](https://assets.codesandbox.io/github/button-edit-lime.svg)](https://codesandbox.io/p/sandbox/github/withastro/astro/tree/latest/examples/minimal)
[![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/withastro/astro?devcontainer_path=.devcontainer/minimal/devcontainer.json)
> 🧑‍🚀 **Seasoned astronaut?** Delete this file. Have fun!
## 🚀 Project Structure
Inside of your Astro project, you'll see the following folders and files:
```
/
├── public/
├── src/
│ └── 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
astro.config.mjs Normal file
View File

@ -0,0 +1,9 @@
import { defineConfig } from 'astro/config';
import tailwind from '@astrojs/tailwind';
import react from '@astrojs/react';
import image from '@astrojs/image';
// https://astro.build/config
export default defineConfig({
integrations: [tailwind({ config: { applyBaseStyles: false } }), image(), react()],
});

22
package.json Normal file
View File

@ -0,0 +1,22 @@
{
"name": "lume-web3extension",
"type": "module",
"version": "0.0.1",
"private": true,
"scripts": {
"dev": "TAILWIND_MODE=watch astro dev",
"start": "astro dev",
"build": "astro build",
"preview": "astro preview",
"astro": "astro"
},
"dependencies": {
"@astrojs/image": "^0.16.6",
"@astrojs/react": "^2.1.1",
"@astrojs/tailwind": "^3.1.1",
"astro": "^2.3.2",
"autoprefixer": "^10.4.14",
"sass": "^1.62.1",
"tailwindcss": "^3.3.2"
}
}

7
postcss.config.cjs Normal file
View File

@ -0,0 +1,7 @@
module.exports = {
plugins: [
require('tailwindcss/nesting'),
require('tailwindcss'),
require('autoprefixer')
]
};

9
public/favicon.svg Normal file
View File

@ -0,0 +1,9 @@
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 128 128">
<path d="M50.4 78.5a75.1 75.1 0 0 0-28.5 6.9l24.2-65.7c.7-2 1.9-3.2 3.4-3.2h29c1.5 0 2.7 1.2 3.4 3.2l24.2 65.7s-11.6-7-28.5-7L67 45.5c-.4-1.7-1.6-2.8-2.9-2.8-1.3 0-2.5 1.1-2.9 2.7L50.4 78.5Zm-1.1 28.2Zm-4.2-20.2c-2 6.6-.6 15.8 4.2 20.2a17.5 17.5 0 0 1 .2-.7 5.5 5.5 0 0 1 5.7-4.5c2.8.1 4.3 1.5 4.7 4.7.2 1.1.2 2.3.2 3.5v.4c0 2.7.7 5.2 2.2 7.4a13 13 0 0 0 5.7 4.9v-.3l-.2-.3c-1.8-5.6-.5-9.5 4.4-12.8l1.5-1a73 73 0 0 0 3.2-2.2 16 16 0 0 0 6.8-11.4c.3-2 .1-4-.6-6l-.8.6-1.6 1a37 37 0 0 1-22.4 2.7c-5-.7-9.7-2-13.2-6.2Z" />
<style>
path { fill: #000; }
@media (prefers-color-scheme: dark) {
path { fill: #FFF; }
}
</style>
</svg>

After

Width:  |  Height:  |  Size: 749 B

2
public/robots.txt Normal file
View File

@ -0,0 +1,2 @@
User-Agent: *
Allow: /

BIN
src/assets/access-bg.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

BIN
src/assets/astronaut.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 262 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 544 KiB

3
src/assets/discord.svg Normal file
View File

@ -0,0 +1,3 @@
<svg viewBox="0 0 127.14 96.36" xmlns="http://www.w3.org/2000/svg">
<path fill="currentcolor" d="M107.7,8.07A105.15,105.15,0,0,0,81.47,0a72.06,72.06,0,0,0-3.36,6.83A97.68,97.68,0,0,0,49,6.83,72.37,72.37,0,0,0,45.64,0,105.89,105.89,0,0,0,19.39,8.09C2.79,32.65-1.71,56.6.54,80.21h0A105.73,105.73,0,0,0,32.71,96.36,77.7,77.7,0,0,0,39.6,85.25a68.42,68.42,0,0,1-10.85-5.18c.91-.66,1.8-1.34,2.66-2a75.57,75.57,0,0,0,64.32,0c.87.71,1.76,1.39,2.66,2a68.68,68.68,0,0,1-10.87,5.19,77,77,0,0,0,6.89,11.1A105.25,105.25,0,0,0,126.6,80.22h0C129.24,52.84,122.09,29.11,107.7,8.07ZM42.45,65.69C36.18,65.69,31,60,31,53s5-12.74,11.43-12.74S54,46,53.89,53,48.84,65.69,42.45,65.69Zm42.24,0C78.41,65.69,73.25,60,73.25,53s5-12.74,11.44-12.74S96.23,46,96.12,53,91.08,65.69,84.69,65.69Z"/>
</svg>

After

Width:  |  Height:  |  Size: 773 B

4
src/assets/facebook.svg Normal file
View File

@ -0,0 +1,4 @@
<svg viewBox="0 0 40 40" xmlns="http://www.w3.org/2000/svg">
<path fill="currentcolor" d="M16.7 39.8C7.2 38.1 0 29.9 0 20 0 9 9 0 20 0s20 9 20 20c0 9.9-7.2 18.1-16.7 19.8l-1.1-.9h-4.4l-1.1.9z"/>
<path fill="#031418" d="m27.8 25.6.9-5.6h-5.3v-3.9c0-1.6.6-2.8 3-2.8H29V8.2c-1.4-.2-3-.4-4.4-.4-4.6 0-7.8 2.8-7.8 7.8V20h-5v5.6h5v14.1c1.1.2 2.2.3 3.3.3 1.1 0 2.2-.1 3.3-.3V25.6h4.4z"/>
</svg>

After

Width:  |  Height:  |  Size: 391 B

BIN
src/assets/footer-icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

3
src/assets/github.svg Normal file
View File

@ -0,0 +1,3 @@
<svg viewBox="0 0 98 96" xmlns="http://www.w3.org/2000/svg">
<path fill="currentcolor" fill-rule="evenodd" clip-rule="evenodd" d="M48.854 0C21.839 0 0 22 0 49.217c0 21.756 13.993 40.172 33.405 46.69 2.427.49 3.316-1.059 3.316-2.362 0-1.141-.08-5.052-.08-9.127-13.59 2.934-16.42-5.867-16.42-5.867-2.184-5.704-5.42-7.17-5.42-7.17-4.448-3.015.324-3.015.324-3.015 4.934.326 7.523 5.052 7.523 5.052 4.367 7.496 11.404 5.378 14.235 4.074.404-3.178 1.699-5.378 3.074-6.6-10.839-1.141-22.243-5.378-22.243-24.283 0-5.378 1.94-9.778 5.014-13.2-.485-1.222-2.184-6.275.486-13.038 0 0 4.125-1.304 13.426 5.052a46.97 46.97 0 0 1 12.214-1.63c4.125 0 8.33.571 12.213 1.63 9.302-6.356 13.427-5.052 13.427-5.052 2.67 6.763.97 11.816.485 13.038 3.155 3.422 5.015 7.822 5.015 13.2 0 18.905-11.404 23.06-22.324 24.283 1.78 1.548 3.316 4.481 3.316 9.126 0 6.6-.08 11.897-.08 13.526 0 1.304.89 2.853 3.316 2.364 19.412-6.52 33.405-24.935 33.405-46.691C97.707 22 75.788 0 48.854 0z"/>
</svg>

After

Width:  |  Height:  |  Size: 969 B

3
src/assets/hns.svg Normal file
View File

@ -0,0 +1,3 @@
<svg version="1.1" viewBox="0 0 2000 2088.9" xmlns="http://www.w3.org/2000/svg">
<path fill="currentColor" clip="evenodd" d="M1726.6,681.4l-129.8-230.6l251.5,0.1c6.7,0,14.6,4.5,18.2,10.5c4,6.6,24.4,40.3,49,80.7 c29.4,48.4,64.5,106.3,84.6,139.3H1726.6z M1261.4,2078c-6.1,10.9-14,10.9-16.6,10.9h-102.8c-54.4,0-117.1-0.1-154.5-0.1 l399.6-717.4c10.4-18.5,3.7-42-14.8-52.3c-5.7-3.2-12.1-4.9-18.6-4.9l0,0l-681,0.9l-135.5-234.5h992c0.1,0,0.2,0,0.3,0s0.2,0,0.3,0 c0.6,0,1.1-0.2,1.6-0.2c2.2-0.1,4.4-0.4,6.6-0.9c1.6-0.4,3.3-0.9,4.8-1.5c0.8-0.3,1.7-0.7,2.5-1c7.7-3.3,14.1-9.1,18.2-16.5 L1727,758.2h270L1261.4,2078z M921.1,2050.7c-8.7-14.3-20-32.9-32.3-53.1c-41.3-68.2-94.2-155.5-100.2-165.1 c-2-3.2-2.9-11.1,1.3-18.7c9.6-17.2,190.4-343,234.5-422.4l264.1-0.3L921.1,2050.7z M470.8,1601.8l-131.3-233.2l132.3-248 l132.7,229.7C563.3,1428,498.9,1549.1,470.8,1601.8z M294.6,1638.1c-66.8,0-133.3,0-143,0l0,0c-6.5,0-14.4-4.6-18-10.5l-42.7-70.4 C60.4,1507,21.5,1442.9,0,1407.5h273.4l129.8,230.6C374.9,1638.1,334.8,1638.1,294.6,1638.1L294.6,1638.1z M738.6,11 c6.1-11,14-11,16.5-11h258.3L612.7,717.4c-0.3,0.6-0.5,1.2-0.8,1.9c-0.6,1.2-1.1,2.4-1.6,3.7c-0.4,1.2-0.8,2.4-1.1,3.7 s-0.6,2.3-0.8,3.5c-0.2,1.4-0.4,2.8-0.4,4.3c0,0.6-0.2,1.2-0.2,1.9c0,0.5,0.1,0.9,0.2,1.4c0,1.4,0.2,2.8,0.4,4.2 c0.1,1.2,0.3,2.3,0.6,3.5c0.3,1.2,0.7,2.4,1.1,3.6c0.4,1.2,0.8,2.3,1.3,3.5s1.1,2.2,1.7,3.2s1.2,2.1,2,3.1c0.7,1,1.5,2,2.4,2.9 c0.8,0.9,1.6,1.8,2.5,2.7s1.8,1.5,2.8,2.3c1.1,0.8,2.2,1.6,3.3,2.3c0.4,0.3,0.8,0.6,1.2,0.9s0.9,0.3,1.4,0.6c2,1,4.1,1.9,6.2,2.5 c0.8,0.2,1.5,0.5,2.3,0.7c2.8,0.7,5.7,1.1,8.7,1.1c0,0,0,0,0.1,0h0.1h17c0.1,0,0.2,0,0.2,0l0,0l663.9-0.9 c17.6,30.5,50.4,88,78.3,136.9c21.4,37.6,39.2,68.6,53.2,93h-988c-0.4,0-0.8,0.1-1.3,0.2c-13.9,0.1-26.6,7.9-33.2,20.1l-163.6,306.6 H3.1C120.8,1119.3,730.7,25,738.6,11z M1079.4,39.1l24,39.5c42.1,69.5,101.6,167.6,107.9,177.8c2,3.2,2.9,11.1-1.3,18.7L975.6,697.3 l-264,0.3L1079.4,39.1z M1529.1,486.9l131.3,233.3l-133.9,247.5c-16-27.8-35.8-62.6-54.4-95.2c-36.8-64.4-63.6-111.3-78.7-137.5 C1422.1,682.8,1497.5,544.5,1529.1,486.9z"/>
</svg>

After

Width:  |  Height:  |  Size: 2.0 KiB

BIN
src/assets/home-bg.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 252 KiB

BIN
src/assets/home-left-bg.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

BIN
src/assets/icon-gateway.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

BIN
src/assets/icon-growth.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

BIN
src/assets/icon-private.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.8 KiB

BIN
src/assets/lume-logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.0 KiB

26
src/assets/osi.svg Normal file
View File

@ -0,0 +1,26 @@
<svg version="1.2" viewBox="0 0 468.1909 614.0127" xmlns="http://www.w3.org/2000/svg">
<path d="m262.006 307.1224c32.25781-11.98047 49.09765-35.05078 49.09765-74.75781s-33.46093-74.69531-75.26953-74.76563c-44.12109-0.0703-77.40234 34.91407-76.87109 74.76563s19.53906 66.36328 49.95703 75.94922l-53.88672 132.5703c-72.12109-18.67187-145.4727-103.7539-145.4727-208.5195 0-124.0859 99.70313-224.6797 224.6719-224.6797s226.2734 100.5937 226.2734 224.6797c0 106.3945-72.65625 190.293-146.3164 208.8906zm0 0" style="fill:currentcolor;stroke-linecap:round;stroke-linejoin:round;stroke-width:15.3697;stroke:currentcolor"/>
<g id="text" transform="matrix(1.082924 0 0 1.148944 -55.53372 -162.9183)" style="fill:currentcolor;stroke-width:.75px">
<path id="o1" d="m91.04297 583.3072q0 9.77344-5.273438 15.25781-5.238281 5.44922-14.69531 5.44922-9.070313 0-14.44922-5.58984-5.34375-5.58985-5.34375-15.11719 0-9.73828 5.238281-15.11719 5.273438-5.41406 14.76562-5.41406 5.871094 0 10.37109 2.49609 4.5 2.4961 6.925781 7.17188 2.460938 4.64062 2.460938 10.86328zm-25.80469 0q0 5.13281 1.371094 7.83984 1.371094 2.67188 4.605469 2.67188 3.199218 0 4.5-2.67188 1.335937-2.70703 1.335937-7.83984 0-5.09766-1.335937-7.69922-1.335938-2.60156-4.570313-2.60156-3.164062 0-4.535156 2.60156-1.371094 2.56641-1.371094 7.69922z" style="font-feature-settings:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal"/>
<path id="p" d="m122.7539 604.0143q-3.02344 0-5.41407-0.98437-2.39062-1.01953-4.74609-3.6211h-0.63281q0.63281 4.1836 0.63281 5.20313v15.99609h-13.74609v-57.1289h11.17968l1.9336 5.0625h0.63281q3.83203-5.76563 10.58203-5.76563 6.60938 0 10.37109 5.48438 3.76172 5.48437 3.76172 15.04687 0 9.63281-3.9375 15.1875-3.90234 5.51953-10.61718 5.51953zm-4.60547-30.44531q-3.02344 0-4.25391 2.17969-1.19531 2.14453-1.30078 6.39843v1.08985q0 5.13281 1.37109 7.41797 1.3711 2.28515 4.32422 2.28515 2.63672 0 3.83203-2.25 1.19532-2.28515 1.19532-7.52343 0-5.13282-1.19532-7.34766-1.19531-2.25-3.97265-2.25z" style="font-feature-settings:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal"/>
<path id="e1" d="m164.3438 604.0143q-9.94922 0-15.46875-5.27344-5.48438-5.30859-5.48438-15.08203 0-10.08984 5.09766-15.46875 5.09766-5.41406 14.55469-5.41406 9 0 13.88672 4.71094 4.92187 4.67578 4.92187 13.5v6.11719h-24.57422q0.14063 3.33984 2.42578 5.23828 2.32032 1.89843 6.29297 1.89843 3.6211 0 6.64453-0.66796 3.0586-0.70313 6.60938-2.35547v9.8789q-3.23438 1.65235-6.67969 2.28516t-8.22656 0.63281zm-0.80859-31.88672q-2.42579 0-4.07813 1.54688-1.61719 1.51172-1.89844 4.78125h11.8125q-0.0703-2.88281-1.65234-4.60547-1.54688-1.72266-4.18359-1.72266z" style="font-feature-settings:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal"/>
<path id="n1" d="m214.8281 603.3112v-21.72657q0-3.97265-1.16015-5.97656-1.125-2.03906-3.65625-2.03906-3.48047 0-5.02735 2.77734-1.54687 2.77735-1.54687 9.52735v17.4375h-13.74609v-39.83203h10.37109l1.72266 4.92187h0.80859q1.75781-2.8125 4.85156-4.21875 3.12891-1.40625 7.17188-1.40625 6.60937 0 10.26562 3.83203 3.69141 3.83203 3.69141 10.79297v25.91016z" style="font-feature-settings:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal"/>
<path id="s" d="m283.9102 592.2369q0 5.69531-4.14844 8.7539-4.14844 3.02344-11.88281 3.02344-7.76954 0-12.48047-2.35547v-7.13672q6.85547 3.16407 12.76172 3.16407 7.6289 0 7.6289-4.60547 0-1.47656-0.84375-2.46094-0.84375-0.98437-2.77734-2.03906-1.9336-1.05469-5.37891-2.39063-6.71484-2.60156-9.10547-5.20312-2.35547-2.60156-2.35547-6.75 0-4.99219 4.00782-7.73438 4.04297-2.77734 10.96875-2.77734 6.85547 0 12.97265 2.77734l-2.67187 6.22266q-6.29297-2.60156-10.58203-2.60156-6.53907 0-6.53907 3.72656 0 1.82812 1.6875 3.09375 1.72266 1.26562 7.45313 3.48047 4.81641 1.86328 6.99609 3.41015 2.17969 1.54688 3.23438 3.58594 1.05469 2.00391 1.05469 4.81641z" style="font-feature-settings:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal"/>
<path id="o2" d="m327.293 583.7994q0 9.52734-4.88672 14.87109t-13.60547 5.34375q-5.44922 0-9.63281-2.46094-4.1836-2.46093-6.4336-7.0664t-2.25-10.6875q0-9.45703 4.85157-14.76563 4.85156-5.30859 13.67578-5.30859 8.4375 0 13.35937 5.44922 4.92188 5.41406 4.92188 14.625zm-28.30078 0q0 13.46484 9.94922 13.46484 9.84375 0 9.84375-13.46484 0-13.32422-9.91407-13.32422-5.20312 0-7.55859 3.44531-2.32031 3.44531-2.32031 9.87891z" style="font-feature-settings:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal"/>
<path id="u" d="m364.2422 603.3112-1.16016-5.09766h-0.42187q-1.72266 2.70703-4.92188 4.25391-3.16406 1.54687-7.24219 1.54687-7.0664 0-10.54687-3.51562-3.48047-3.51563-3.48047-10.65235v-25.41797h8.33203v23.97657q0 4.46484 1.82813 6.71484 1.82812 2.21484 5.73046 2.21484 5.20313 0 7.62891-3.09375 2.46094-3.1289 2.46094-10.4414v-19.3711h8.29687v38.88282z" style="font-feature-settings:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal"/>
<path id="r" d="m402.2461 563.7252q2.4961 0 4.11328 0.35156l-0.80859 7.69922q-1.75781-0.42187-3.65625-0.42187-4.95703 0-8.05078 3.23437-3.05859 3.23438-3.05859 8.40234v20.32032h-8.26172v-38.88282h6.46875l1.08984 6.85547h0.42188q1.93359-3.48047 5.02734-5.51953 3.12891-2.03906 6.71484-2.03906z" style="font-feature-settings:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal"/>
<path id="c" d="m429.2812 604.0143q-8.82422 0-13.42969-5.13281-4.57031-5.16797-4.57031-14.80078 0-9.8086 4.78125-15.08203 4.81641-5.27344 13.88672-5.27344 6.15234 0 11.07422 2.28516l-2.4961 6.64453q-5.23828-2.03907-8.64843-2.03907-10.08985 0-10.08985 13.39454 0 6.53906 2.4961 9.84375 2.53125 3.26953 7.38281 3.26953 5.51953 0 10.4414-2.74219v7.20703q-2.21484 1.30078-4.74609 1.86328-2.49609 0.5625-6.08203 0.5625z" style="font-feature-settings:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal"/>
<path id="e2" d="m466.3008 604.0143q-9.07031 0-14.20312-5.27344-5.09766-5.30859-5.09766-14.58984 0-9.52734 4.74609-14.97656 4.7461-5.44922 13.04297-5.44922 7.69922 0 12.16406 4.67578 4.46485 4.67578 4.46485 12.86719v4.46484h-25.91016q0.17578 5.66016 3.0586 8.71875 2.88281 3.02344 8.12109 3.02344 3.44531 0 6.39844-0.63281 2.98828-0.66797 6.39843-2.17969v6.71484q-3.02343 1.44141-6.11718 2.03907-3.09375 0.59765-7.06641 0.59765zm-1.51172-34.03125q-3.9375 0-6.32812 2.4961-2.35547 2.49609-2.8125 7.27734h17.64843q-0.0703-4.81641-2.32031-7.27734-2.25-2.4961-6.1875-2.4961z" style="font-feature-settings:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal"/>
<path id="i1" d="m128.5195 675.51h-8.26172v-38.88281h8.26172zm-8.7539-49.18359q0-2.21485 1.19531-3.41016 1.23047-1.19531 3.48047-1.19531 2.17968 0 3.375 1.19531 1.23046 1.19531 1.23046 3.41016 0 2.10937-1.23046 3.33984-1.19532 1.19531-3.375 1.19531-2.25 0-3.48047-1.19531-1.19531-1.23047-1.19531-3.33984z" style="font-feature-settings:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;stroke-width:.75px"/>
<path id="n2" d="m174.5742 675.51h-8.29688v-23.90625q0-4.5-1.82812-6.71484-1.79297-2.21485-5.73047-2.21485-5.23828 0-7.66406 3.09375t-2.42578 10.3711v19.37109h-8.26172v-38.88281h6.46875l1.16015 5.09765h0.42188q1.75781-2.77734 4.99219-4.28906 3.23437-1.51172 7.17187-1.51172 13.99219 0 13.99219 14.23828z" style="font-feature-settings:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;stroke-width:.75px"/>
<path id="i2" d="m194.332 675.51h-8.26172v-38.88281h8.26172zm-8.75391-49.18359q0-2.21485 1.19532-3.41016 1.23047-1.19531 3.48047-1.19531 2.17968 0 3.375 1.19531 1.23046 1.19531 1.23046 3.41016 0 2.10937-1.23046 3.33984-1.19532 1.19531-3.375 1.19531-2.25 0-3.48047-1.19531-1.19532-1.23047-1.19532-3.33984z" style="font-feature-settings:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;stroke-width:.75px"/>
<path id="t1" d="m220.6641 669.5334q3.02344 0 6.04688-0.94922v6.22265q-1.3711 0.59766-3.55078 0.98438-2.14454 0.42187-4.46485 0.42187-11.74219 0-11.74219-12.375v-20.95312h-5.30859v-3.65625l5.69531-3.02344 2.8125-8.22656h5.09766v8.64844h11.07422v6.25781h-11.07422v20.8125q0 2.98828 1.47656 4.42969 1.51172 1.40625 3.9375 1.40625z" style="font-feature-settings:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;stroke-width:.75px"/>
<path id="i3" d="m242.707 675.51h-8.26172v-38.88281h8.26172zm-8.75391-49.18359q0-2.21485 1.19532-3.41016 1.23047-1.19531 3.48047-1.19531 2.17968 0 3.375 1.19531 1.23046 1.19531 1.23046 3.41016 0 2.10937-1.23046 3.33984-1.19532 1.19531-3.375 1.19531-2.25 0-3.48047-1.19531-1.19532-1.23047-1.19532-3.33984z" style="font-feature-settings:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;stroke-width:.75px"/>
<path id="a" d="m278.8828 675.51-1.65234-5.41406h-0.28125q-2.8125 3.55078-5.66016 4.85156-2.84765 1.26562-7.3125 1.26562-5.73047 0-8.96484-3.09375-3.19922-3.09375-3.19922-8.7539 0-6.01172 4.46484-9.07031 4.46485-3.0586 13.60547-3.33985l6.71485-0.21094v-2.07421q0-3.72657-1.75782-5.55469-1.72265-1.86328-5.3789-1.86328-2.98828 0-5.73047 0.8789-2.74219 0.87891-5.27344 2.07422l-2.67187-5.90625q3.16406-1.65234 6.92578-2.49609 3.76172-0.87891 7.10156-0.87891 7.41797 0 11.17969 3.23438 3.79687 3.23437 3.79687 10.16015v26.19141zm-12.30469-5.625q4.5 0 7.20704-2.49609 2.74218-2.53125 2.74218-7.06641v-3.375l-4.99218 0.21094q-5.83594 0.21093-8.50782 1.96875-2.63672 1.72265-2.63672 5.30859 0 2.60156 1.54688 4.04297 1.54687 1.40625 4.64062 1.40625z" style="font-feature-settings:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;stroke-width:.75px"/>
<path id="t2" d="m310.8047 669.5334q3.02343 0 6.04687-0.94922v6.22265q-1.37109 0.59766-3.55078 0.98438-2.14453 0.42187-4.46484 0.42187-11.74219 0-11.74219-12.375v-20.95312h-5.30859v-3.65625l5.69531-3.02344 2.8125-8.22656h5.09765v8.64844h11.07422v6.25781h-11.07422v20.8125q0 2.98828 1.47657 4.42969 1.51172 1.40625 3.9375 1.40625z" style="font-feature-settings:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;stroke-width:.75px"/>
<path id="i4" d="m332.8477 675.51h-8.26172v-38.88281h8.26172zm-8.75391-49.18359q0-2.21485 1.19531-3.41016 1.23047-1.19531 3.48047-1.19531 2.17969 0 3.375 1.19531 1.23047 1.19531 1.23047 3.41016 0 2.10937-1.23047 3.33984-1.19531 1.19531-3.375 1.19531-2.25 0-3.48047-1.19531-1.19531-1.23047-1.19531-3.33984z" style="font-feature-settings:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;stroke-width:.75px"/>
<path id="v" d="m353.5547 675.51-14.76563-38.88281h8.71875l7.91016 22.60547q2.03906 5.69531 2.46094 9.21093h0.28125q0.3164-2.53125 2.46093-9.21093l7.91016-22.60547h8.78906l-14.83594 38.88281z" style="font-feature-settings:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;stroke-width:.75px"/>
<path id="e3" d="m400.207 676.2131q-9.07031 0-14.20312-5.27343-5.09766-5.3086-5.09766-14.58985 0-9.52734 4.74609-14.97656 4.7461-5.44922 13.04297-5.44922 7.69922 0 12.16406 4.67578 4.46485 4.67578 4.46485 12.86719v4.46484h-25.91016q0.17578 5.66016 3.0586 8.71875 2.88281 3.02344 8.12109 3.02344 3.44531 0 6.39844-0.63281 2.98828-0.66797 6.39843-2.17969v6.71485q-3.02343 1.4414-6.11718 2.03906-3.09375 0.59765-7.06641 0.59765zm-1.51172-34.03125q-3.9375 0-6.32812 2.4961-2.35547 2.49609-2.8125 7.27734h17.64843q-0.0703-4.8164-2.32031-7.27734-2.25-2.4961-6.1875-2.4961z" style="font-feature-settings:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;stroke-width:.75px"/>
<path id="registered_tm" d="m431.7151 631.1344h1.75306q1.29857 0 2.07771-0.62727 0.79537-0.64258 0.79537-1.62174 0-1.14745-0.69798-1.63703-0.69798-0.50488-2.20756-0.50488h-1.7206zm7.04472-2.31021q0 1.22395-0.69798 2.17252-0.68174 0.93326-1.93162 1.39224l3.86324 6.04325h-2.72699l-3.36004-5.41597h-2.19133v5.41597h-2.40235v-13.63174h4.23657q2.69453 0 3.9444 0.99446 1.2661 0.99446 1.2661 3.02927zm-17.15731 2.78449q0-3.05987 1.62321-5.73727 1.6232-2.67739 4.46382-4.22262 2.84061-1.54524 6.1195-1.54524 3.24641 0 6.08703 1.52994 2.84061 1.52994 4.48005 4.20733 1.63945 2.67739 1.63945 5.76786 0 3.01398-1.57452 5.66077-1.57451 2.64679-4.41512 4.23793-2.84062 1.59113-6.21689 1.59113-3.36005 0-6.20066-1.57583-2.84062-1.59114-4.43136-4.23793-1.57451-2.64679-1.57451-5.67607zm1.70437 0q0 2.64679 1.41219 4.957 1.41219 2.2949 3.847 3.62595 2.45105 1.31575 5.24297 1.31575 2.82438 0 5.24296-1.33105t3.83077-3.59535q1.42843-2.27961 1.42843-4.9723 0-2.66209-1.4122-4.9417-1.41219-2.2796-3.83077-3.61065-2.40235-1.34635-5.25919-1.34635-2.82439 0-5.24297 1.33105t-3.847 3.61066q-1.41219 2.2643-1.41219 4.95699z" style="fill:currentcolor;font-feature-settings:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 13 KiB

5
src/assets/sia.svg Normal file
View File

@ -0,0 +1,5 @@
<svg viewBox="0 0 65 39" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M0 33.1034C2.44131 36.5305 6.36863 39 12.0473 39C18.2567 39 22.3963 35.6233 22.3963 31.1379C22.3963 27.7613 20.1673 24.8886 14.9132 23.2759L10.7736 22.0159C9.28758 21.5623 8.27922 20.8064 8.27922 19.5968C8.27922 18.3873 9.49987 17.3793 11.5697 17.3793C13.9048 17.3793 15.8685 18.8408 16.8238 20.0504L21.2818 16.5225C19.5835 14.3554 16.0277 12.0371 11.4105 12.0371C5.67869 12.0371 1.75137 15.6154 1.75137 19.5968C1.75137 22.7719 3.98039 25.695 8.4915 27.1565L12.2065 28.366C15.0193 29.2732 15.8685 30.1804 15.8685 31.3395C15.8685 32.7003 14.4886 33.6578 12.0473 33.6578C9.0753 33.6578 6.84628 32.4987 4.7234 29.8276L0 33.1034Z" fill="currentColor"/>
<path d="M26.519 4.77984C26.519 6.84615 28.2703 8.61008 30.4993 8.61008C32.6753 8.61008 34.4797 6.84615 34.4797 4.77984C34.4797 2.71353 32.6753 1 30.4993 1C28.2703 1 26.519 2.71353 26.519 4.77984ZM27.1558 38.244H33.8429V12.7931H27.1558V38.244Z" fill="currentColor"/>
<path d="M62.025 26.5L62.025 36.025L51 36.025C45.4633 36.025 40.975 31.5367 40.975 26C40.975 20.4633 45.4633 15.975 51 15.975L51.5 15.975C57.3128 15.975 62.025 20.6872 62.025 26.5Z" stroke="currentColor" stroke-width="5.95"/>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

3
src/assets/twitter.svg Normal file
View File

@ -0,0 +1,3 @@
<svg version="1.1" viewBox="0 0 400 400" xmlns="http://www.w3.org/2000/svg">
<path fill="currentcolor" d="M400,200c0,110.5-89.5,200-200,200S0,310.5,0,200S89.5,0,200,0S400,89.5,400,200z M163.4,305.5 c88.7,0,137.2-73.5,137.2-137.2c0-2.1,0-4.2-0.1-6.2c9.4-6.8,17.6-15.3,24.1-25c-8.6,3.8-17.9,6.4-27.7,7.6 c10-6,17.6-15.4,21.2-26.7c-9.3,5.5-19.6,9.5-30.6,11.7c-8.8-9.4-21.3-15.2-35.2-15.2c-26.6,0-48.2,21.6-48.2,48.2 c0,3.8,0.4,7.5,1.3,11c-40.1-2-75.6-21.2-99.4-50.4c-4.1,7.1-6.5,15.4-6.5,24.2c0,16.7,8.5,31.5,21.5,40.1c-7.9-0.2-15.3-2.4-21.8-6 c0,0.2,0,0.4,0,0.6c0,23.4,16.6,42.8,38.7,47.3c-4,1.1-8.3,1.7-12.7,1.7c-3.1,0-6.1-0.3-9.1-0.9c6.1,19.2,23.9,33.1,45,33.5 c-16.5,12.9-37.3,20.6-59.9,20.6c-3.9,0-7.7-0.2-11.5-0.7C110.8,297.5,136.2,305.5,163.4,305.5"/>
</svg>

After

Width:  |  Height:  |  Size: 764 B

View File

@ -0,0 +1,19 @@
---
import './Difference.scss';
---
<section id="difference" class="tilted-bg-r">
<div>
<div class="feature-group">
<h2>
Powered by you
</h2>
<h3>
How we&rsquo;re different
</h3>
<p>
The .com boom/bubble/bust was a gold rush for VC's and everyone looking to get rich. We've entered that era again with crypto, web3, and the "metaverse". The metaverse is PR hype and not worth pursuing. Lume Web has no VC equity and will never give out equity to investment companies since their interests go against a user-owned internet.
</p>
</div>
</div>
</section>

View File

@ -0,0 +1,64 @@
@import "/src/styles/mixins.scss";
@import "/src/styles/vars.scss";
#difference {
padding: 12em 7.5% 7em;
max-width: 192em;
margin: 0 auto;
&::before {
bottom: -12%;
}
> div {
position: relative;
display: flex;
justify-content: flex-end;
align-items: center;
min-height: 34em;
margin: 0 auto;
&::before {
content: "";
position: absolute;
top: 0;
bottom: 0;
left: min(0em, calc((100% - 68.9em) / 2));
width: calc(100% - 72em - 7.5%);
min-width: calc(68.9em);
background-image: url("/src/assets/difference-bg.png");
background-position: 50% 50%;
background-repeat: no-repeat;
background-size: contain;
z-index: -1;
}
&::after {
content: "";
position: absolute;
top: 0;
bottom: 0;
left: min(0em, calc((100% - 68.9em) / 2));
width: calc(100% - 72em - 7.5%);
min-width: calc(68.9em);
background: radial-gradient(50% 50% at 50% 50%, rgba($color-blue-charcoal, 0) 48.31%, $color-blue-charcoal 100%);
z-index: -1;
}
.feature-group {
margin: 2em 0;
max-width: 72em;
h3 {
font-weight: 400;
}
p {
padding: 0.3em 0.5em;
margin: -0.3em -0.5em;
background: rgba($color-blue-charcoal-2, 0.8);
border-radius: 0.5em;
}
}
}
}

View File

@ -0,0 +1,12 @@
---
import './HowToSupport.scss';
---
<section id="how-to-support">
<h2>
How to support Lume Web
</h2>
<p>
We aren't picky &#128521;. If there is a way you want to pay us, we are happy to take it. The project is funded through Hammer Technologies LLC, in the USA, and so crypto, FOSS platforms, and traditional payment methods are all accepted! Just click donate at the top to see your options, and to contact us if needed.
</p>
</section>

View File

@ -0,0 +1,23 @@
@import "/src/styles/mixins.scss";
@import "/src/styles/vars.scss";
#how-to-support {
padding: 5em 7.5%;
background: $color-brand;
color: $color-blue-charcoal-2;
h2 {
margin-bottom: 0.25em;
@include fluid-font-size(2rem);
font-weight: 700;
line-height: 153%;
text-transform: none;
color: inherit;
}
p {
font-family: $font-family-jaldi;
@include fluid-font-size(1.5rem);
line-height: 165%;
}
}

View File

@ -0,0 +1,54 @@
---
import './Purposes.scss';
---
<section id="purposes" class="feature-grid">
<div class="purpose-development">
<div>
<img src="/src/assets/icon-development.png" />
</div>
<div class="feature-group">
<h2>
Community Services
</h2>
<h3>
Development Spending
</h3>
<p>
All donations are spent on active development of Lume Web and maintaining community services.
</p>
</div>
</div>
<div class="purpose-pioneering">
<div>
<img src="/src/assets/icon-pioneering.png" />
</div>
<div class="feature-group">
<h2>
Build what you want
</h2>
<h3>
Help pioneer Web3
</h3>
<p>
The Web3 is taking back the internet to be the user-owned internet. If we, the users, don't fund and build what we want, it will be again, decided for us, and benefit others and become centralized to a few, not decentralized for the many.
</p>
</div>
</div>
<div class="purpose-growth">
<div>
<img src="/src/assets/icon-growth.png" />
</div>
<div class="feature-group">
<h2>
Open gateway
</h2>
<h3>
Help us grow
</h3>
<p>
We need the communities voice and hands. Lume Web is your open gateway and platform, so it must be built by those who are going to use it the most.
</p>
</div>
</div>
</section>

View File

@ -0,0 +1,18 @@
@import "/src/styles/mixins.scss";
@import "/src/styles/vars.scss";
#purposes {
background: $color-black;
.purpose-development img {
@include fluid-width(3.4375rem);
}
.purpose-pioneering img {
@include fluid-width(3.4375rem);
}
.purpose-growth img {
@include fluid-width(3.4375rem);
}
}

View File

@ -0,0 +1,39 @@
---
import './Support.scss';
import svgSia from '/src/assets/sia.svg?raw';
import svgHns from '/src/assets/hns.svg?raw';
import svgOsi from '/src/assets/osi.svg?raw';
---
<section id="support">
<div>
<div class="powered-by">
<a href="https://sia.tech" title="Sia" class="sia-logo">
<Fragment set:html={svgSia} />
</a>
<a href="https://handshake.org" title="Handshake" class="hns-logo">
<Fragment set:html={svgHns} />
</a>
<a href="https://opensource.org/osd/" title="Open Source Initiative" class="osi-logo">
<Fragment set:html={svgOsi} />
</a>
</div>
<div class="feature-group">
<h2>
Access Web3
</h2>
<h3>
Support Lume Web, help us build
</h3>
<p>
There's a lot of hype around "Web3" and "The Metaverse" as people see money in it, similar to the second .com boom. However, many platforms claiming to be "Web3" are just trying to make money off you and aren't truly secure or decentralized.
</p>
<p>
While some services have technology that can be building blocks for the next internet, many become centralized "SaaS" services that aim to sell something, creating another walled garden with blockchain technology mixed in.
</p>
<div>
<a href="https://lumeweb.com/donation" class="btn-main">Make a donation</a>
</div>
</div>
</div>
</section>

View File

@ -0,0 +1,70 @@
@import "/src/styles/mixins.scss";
@import "/src/styles/vars.scss";
#support {
padding: 10.6em 7.5%;
> div {
display: flex;
gap: 7.5%;
max-width: 152em;
margin: 0 auto;
@media screen and (max-width: 47.99999rem) {
flex-direction: column;
flex-flow: column-reverse;
align-items: flex-end;
gap: 4em;
}
}
.powered-by {
flex-grow: 1;
display: flex;
align-items: center;
justify-content: center;
gap: 4em;
@media screen and (min-width: 48rem) and (max-width: 56rem) {
flex-direction: column;
}
a {
color: $color-alto;
&:hover {
color: $color-white;
}
}
.sia-logo svg {
@include fluid-width(7.5rem);
}
.hns-logo svg {
@include fluid-width(5.5rem);
}
.osi-logo svg {
@include fluid-width(5.5rem);
}
@media screen and (max-width: 47.99999rem) {
.sia-logo svg {
@include fluid-width(3.75rem);
}
.hns-logo svg {
@include fluid-width(2.75rem);
}
.osi-logo svg {
@include fluid-width(2.75rem);
}
}
}
.feature-group {
max-width: 80em;
}
}

View File

@ -0,0 +1,38 @@
---
import './Why.scss';
import svgGithub from '/src/assets/github.svg?raw';
import svgDiscord from '/src/assets/discord.svg?raw';
import svgTwitter from '/src/assets/twitter.svg?raw';
import svgFacebook from '/src/assets/facebook.svg?raw';
---
<section id="why">
<div>
<div class="feature-group">
<h2>
Powered by you
</h2>
<h3>
Why we ask for your donations
</h3>
<p>
Lume Web is a small initiative with big ideas and a unique vision. We rely on the community and crypto whales to support us in building technology that empowers internet users. The current internet is controlled by a few, turning users into products in exchange for "free" services, making us batteries in the matrix.
</p>
<div class="socials">
<a href="#" title="GitHub" class="github-logo">
<Fragment set:html={svgGithub} />
</a>
<a href="#" title="Discord" class="discord-logo">
<Fragment set:html={svgDiscord} />
</a>
<a href="#" title="Twitter" class="twitter-logo">
<Fragment set:html={svgTwitter} />
</a>
<a href="#" title="Facebook" class="facebook-logo">
<Fragment set:html={svgFacebook} />
</a>
</div>
</div>
</div>
</section>

View File

@ -0,0 +1,79 @@
@import "/src/styles/mixins.scss";
@import "/src/styles/vars.scss";
#why {
padding: 8em 7.5% 7em;
max-width: 192em;
margin: 0 auto;
> div {
position: relative;
display: flex;
align-items: center;
min-height: 42em;
margin: 0 auto;
&::before {
content: "";
position: absolute;
top: 0;
bottom: 0;
right: min(0em, calc((100% - 56em) / 2));
width: calc(100% - 72em - 7.5%);
min-width: calc(56em);
background-image: url("/src/assets/astronaut.png");
background-position: 50% 50%;
background-repeat: no-repeat;
background-size: contain;
z-index: -1;
}
}
.socials {
display: flex;
align-items: center;
gap: 2em;
margin: 4em -0.5em -0.5em;
a {
padding: 0.5em;
color: $color-alto;
&:hover {
color: $color-brand;
}
}
.github-logo svg {
@include fluid-width(2.75rem);
}
.discord-logo svg {
@include fluid-width(2.75rem);
}
.twitter-logo svg {
@include fluid-width(2.75rem);
}
.facebook-logo svg {
@include fluid-width(2.75rem);
}
}
.feature-group {
margin: 2em 0;
max-width: 72em;
h3 {
font-weight: 400;
}
p {
padding: 0.3em 0.5em;
margin: -0.3em -0.5em;
background: rgba($color-blue-charcoal-2, 0.8);
border-radius: 0.5em;
}
}
}

View File

@ -0,0 +1,22 @@
---
import './Access.scss';
---
<section id="access" class="tilted-bg">
<div>
<div class="feature-group">
<h2>
Access Web3
</h2>
<h3>
Lume Web grants you access to Web3
</h3>
<p>
There's a lot of hype around "Web3" and "The Metaverse" as people see money in it, similar to the second .com boom. However, many platforms claiming to be "Web3" are just trying to make money off you and aren't truly secure or decentralized.
</p>
<p>
While some services have technology that can be building blocks for the next internet, many become centralized "SaaS" services that aim to sell something, creating another walled garden with blockchain technology mixed in.
</p>
</div>
</div>
</section>

View File

@ -0,0 +1,88 @@
@import "/src/styles/vars.scss";
#access {
position: relative;
padding: 10em 0;
z-index: -1;
&::after {
content: "";
position: absolute;
top: -47.5em;
left: 0;
width: 52.11em;
height: 117.1em;
background-image: url("/src/assets/home-left-bg.png");
background-position: 0 0;
background-repeat: no-repeat;
background-size: contain;
}
> div {
position: relative;
display: flex;
justify-content: flex-end;
align-items: center;
max-width: 152em;
min-height: 45.2em;
margin: 0 auto;
z-index: 1;
&::before {
content: "";
position: absolute;
top: 0;
bottom: 0;
left: min(0em, calc((100% - 45.2em) / 2));
width: calc(100% - 80em - 7.5%);
min-width: 45.2em;
background-image: url("/src/assets/access-bg.png");
background-position: 50% 50%;
background-repeat: no-repeat;
background-size: contain;
animation: spin 7s infinite linear;
z-index: -1;
}
.feature-group {
box-sizing: content-box;
margin: 2em 7.5%;
max-width: 80em;
p {
padding: 0.3em 0.5em;
margin: -0.3em -0.5em;
background: rgba($color-black, 0.8);
border-radius: 0.5em;
}
}
}
@media screen and (max-width: 56rem) {
&::after {
top: -56em;
height: 78em;
}
> div {
&::before {
top: 0;
bottom: auto;
left: calc((100% - 45.2em) / 2);
width: 45.2em;
height: 45.2em;
}
.feature-group {
margin-top: 52.2em;
max-width: none;
}
}
}
}
@keyframes spin {
0% {
transform: rotate(359deg);
}
}

View File

@ -0,0 +1,54 @@
---
import './Features.scss';
---
<section id="features" class="feature-grid">
<div class="feature-private">
<div>
<img src="/src/assets/icon-private.png" />
</div>
<div class="feature-group">
<h2>
Encrypted Data
</h2>
<h3>
It&rsquo;s private
</h3>
<p>
There is no sign-up required to browse web3. You do not even need to provide an email for basic use. Additionally, if you do create an account, all data is encrypted with your password.
</p>
</div>
</div>
<div class="feature-personal">
<div>
<img src="/src/assets/icon-personal.png" />
</div>
<div class="feature-group">
<h2>
Owned by You
</h2>
<h3>
It&rsquo;s personal
</h3>
<p>
Everything you do is owned by you. Your data is not controlled or owned by others. You are free to share copies to let others own a version or keep encrypted in your account.
</p>
</div>
</div>
<div class="feature-gateway">
<div>
<img src="/src/assets/icon-gateway.png" />
</div>
<div class="feature-group">
<h2>
Privacy Built-in
</h2>
<h3>
It&rsquo;s your gateway
</h3>
<p>
Gain freedom on a new web, owned by its users, and with privacy and control built-in.
</p>
</div>
</div>
</section>

View File

@ -0,0 +1,15 @@
@import "/src/styles/mixins.scss";
#features {
.feature-private img {
@include fluid-width(3.4375rem);
}
.feature-personal img {
@include fluid-width(3.4375rem);
}
.feature-gateway img {
@include fluid-width(3.4375rem);
}
}

View File

@ -0,0 +1,64 @@
---
import './Install.scss';
import svgSia from '/src/assets/sia.svg?raw';
import svgHns from '/src/assets/hns.svg?raw';
import svgOsi from '/src/assets/osi.svg?raw';
import svgGithub from '/src/assets/github.svg?raw';
import svgDiscord from '/src/assets/discord.svg?raw';
import svgTwitter from '/src/assets/twitter.svg?raw';
import svgFacebook from '/src/assets/facebook.svg?raw';
---
<section id="install">
<div>
<h1>
Introducing the private <span class="larger">gateway to <span class="highlight">Web3.</span></span>
</h1>
<p>
Gain freedom on a new web, owned by its users, and with <span class="highlight">privacy</span> and <span class="highlight">control</span> built-in.
</p>
<div class="install">
<a href="#" class="btn-main">Install Web3 Extension</a>
<div class="powered-by">
<a href="https://sia.tech" title="Sia" class="sia-logo">
<Fragment set:html={svgSia} />
</a>
<a href="https://handshake.org" title="Handshake" class="hns-logo">
<Fragment set:html={svgHns} />
</a>
<a href="https://opensource.org/osd/" title="Open Source Initiative" class="osi-logo">
<Fragment set:html={svgOsi} />
</a>
</div>
</div>
</div>
<div class="resources">
<ul class="links">
<li>
<a href="#">View on GitHub</a>
</li>
<li>
<a href="https://lumeweb.com">Learn more about Lume</a>
</li>
<li>
<a href="/donate">Donate</a>
</li>
</ul>
<div class="socials">
<a href="#" title="GitHub" class="github-logo">
<Fragment set:html={svgGithub} />
</a>
<a href="#" title="Discord" class="discord-logo">
<Fragment set:html={svgDiscord} />
</a>
<a href="#" title="Twitter" class="twitter-logo">
<Fragment set:html={svgTwitter} />
</a>
<a href="#" title="Facebook" class="facebook-logo">
<Fragment set:html={svgFacebook} />
</a>
</div>
</div>
</section>

View File

@ -0,0 +1,191 @@
@import "/src/styles/mixins.scss";
@import "/src/styles/vars.scss";
#install {
padding: 7em 7.5% 12.5em;
> div:first-child {
max-width: 120em;
}
h1 {
margin-left: -0.1em;
@include fluid-font-size-s(5.6875rem);
font-weight: 300;
line-height: 122%;
letter-spacing: -0.06em;
.larger {
@include fluid-font-size-s(6.8125rem);
font-weight: 400;
}
.highlight {
color: $color-brand;
}
}
p {
margin: 0.8em 0 1.6em;
padding-right: 2.5em;
font-family: $font-family-jaldi;
@include fluid-font-size(2.4375rem);
line-height: 108%;
color: rgba($color-white, 0.5);
.highlight {
color: $color-white;
}
}
.install {
display: flex;
align-items: center;
gap: 5em;
.btn-main {
padding: 1.2em 2em;
}
.powered-by {
display: flex;
align-items: center;
gap: 2.5em;
a {
color: #4e5b5d;
&:hover {
color: $color-white;
}
}
.sia-logo svg {
@include fluid-width(3.75rem);
}
.hns-logo svg {
@include fluid-width(2.75rem);
}
.osi-logo svg {
@include fluid-width(2.75rem);
}
}
}
.resources {
display: flex;
align-items: center;
justify-content: space-between;
gap: 5.5em;
margin-top: 5em;
.links {
font-family: $font-family-jaldi;
@include fluid-font-size(1.5rem);
a {
color: rgba(169, 169, 169, 0.5);
&:hover {
color: $color-white;
}
}
}
.socials {
display: flex;
align-items: center;
gap: 2em;
margin: -0.5em;
a {
padding: 0.5em;
color: $color-alto;
&:hover {
color: $color-brand;
}
}
.github-logo svg {
@include fluid-width(2.75rem);
}
.discord-logo svg {
@include fluid-width(2.75rem);
}
.twitter-logo svg {
@include fluid-width(2.75rem);
}
.facebook-logo svg {
@include fluid-width(2.75rem);
}
}
}
@media screen and (max-width: 67rem) {
h1 {
font-weight: 400;
.larger {
@include fluid-font-size-s(5.6875rem);
}
}
p {
padding: 0;
}
}
@media screen and (max-width: 56rem) {
padding-top: 14em;
padding-bottom: 10em;
h1 {
line-height: 155%;
}
p {
line-height: 145%;
}
}
@media screen and (max-width: 47.99999rem) {
.install {
flex-direction: column;
align-items: flex-start;
gap: 7.5em;
.btn-main {
padding: 1.2em 1.6em;
letter-spacing: -0.01em;
}
.powered-by {
gap: 4em;
.sia-logo svg {
@include fluid-width(6.75rem);
}
.hns-logo svg {
@include fluid-width(4.95rem);
}
.osi-logo svg {
@include fluid-width(4.95rem);
}
}
}
.resources {
.socials {
display: none;
}
}
}
}

View File

@ -0,0 +1,12 @@
---
import './Message.scss';
---
<section id="message">
<h2>
Free Yourself
</h2>
<p>
We have had decentralized internet for a while now (decades) in various forms, so consider Web3 an upgrade that combines many of these attempts + blockchain, into an evolution for the user-owned internet, rather than us, the user, becoming batteries in the matrix.
</p>
</section>

View File

@ -0,0 +1,23 @@
@import "/src/styles/mixins.scss";
@import "/src/styles/vars.scss";
#message {
padding: 5em 7.5%;
background: $color-brand;
color: $color-blue-charcoal-2;
h2 {
margin-bottom: 0.25em;
@include fluid-font-size(2rem);
font-weight: 700;
line-height: 153%;
text-transform: none;
color: inherit;
}
p {
font-family: $font-family-jaldi;
@include fluid-font-size(1.5rem);
line-height: 165%;
}
}

View File

@ -0,0 +1,25 @@
---
import './Socials.scss';
import svgGithub from '/src/assets/github.svg?raw';
import svgDiscord from '/src/assets/discord.svg?raw';
import svgTwitter from '/src/assets/twitter.svg?raw';
import svgFacebook from '/src/assets/facebook.svg?raw';
---
<section id="socials">
<div>
<a href="#" title="GitHub" class="github-logo">
<Fragment set:html={svgGithub} />
</a>
<a href="#" title="Discord" class="discord-logo">
<Fragment set:html={svgDiscord} />
</a>
<a href="#" title="Twitter" class="twitter-logo">
<Fragment set:html={svgTwitter} />
</a>
<a href="#" title="Facebook" class="facebook-logo">
<Fragment set:html={svgFacebook} />
</a>
</div>
</section>

View File

@ -0,0 +1,46 @@
@import "/src/styles/mixins.scss";
@import "/src/styles/vars.scss";
#socials {
display: none;
padding: 12em 7.5% 0;
@include fluid-font-size(0.625rem);
background: $color-blue-charcoal;
@media screen and (max-width: 47.99999rem) {
display: block;
}
> div {
display: flex;
align-items: center;
justify-content: center;
gap: 3em;
margin: -0.5em;
a {
padding: 0.5em;
color: $color-alto;
&:hover {
color: $color-brand;
}
}
.github-logo svg {
@include fluid-width(3.5rem);
}
.discord-logo svg {
@include fluid-width(3.5rem);
}
.twitter-logo svg {
@include fluid-width(3.5rem);
}
.facebook-logo svg {
@include fluid-width(3.5rem);
}
}
}

View File

@ -0,0 +1,32 @@
---
import "./Footer.scss";
import logo from "/src/assets/lume-logo.png";
import icon from "/src/assets/footer-icon.png";
---
<footer>
<div>
<div class="logo">
<a href="/">
<img src={logo.src} alt="Lume"/>
</a>
</div>
<div class="contact">
<a href="mailto:contact@lumeweb.com">
<svg fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" xmlns="http://www.w3.org/2000/svg">
<path stroke-linecap="round" stroke-linejoin="round" d="M21.75 6.75v10.5a2.25 2.25 0 01-2.25 2.25h-15a2.25 2.25 0 01-2.25-2.25V6.75m19.5 0A2.25 2.25 0 0019.5 4.5h-15a2.25 2.25 0 00-2.25 2.25m19.5 0v.243a2.25 2.25 0 01-1.07 1.916l-7.5 4.615a2.25 2.25 0 01-2.36 0L3.32 8.91a2.25 2.25 0 01-1.07-1.916V6.75">
</svg>
contact@lumeweb.com
</a>
</div>
</div>
<div class="gateway-icon">
<img src={icon.src}/>
</div>
<div>
<div class="phrase">
Freedom. Privacy. Ownership.
</div>
</div>
</footer>

View File

@ -0,0 +1,112 @@
@import "/src/styles/mixins.scss";
@import "/src/styles/vars.scss";
footer {
display: flex;
padding: 7em 7.5% 8em;
font-family: $font-family-jaldi;
@include fluid-font-size(0.625rem);
background: $color-blue-charcoal;
> div {
display: flex;
align-items: center;
@include fluid-font-size(1.375rem);
&:first-child {
flex-grow: 1;
flex-direction: column;
align-items: flex-start;
}
&:last-child {
flex-grow: 1;
justify-content: flex-end;
text-align: right;
}
}
.logo {
a {
display: inline-block;
}
img {
@include fluid-width(8.4375rem);
}
}
.contact {
margin-top: 0.25em;
color: $color-cloud;
a {
display: inline-flex;
align-items: center;
&:hover {
color: $color-white;
}
}
svg {
@include fluid-width-height(1.375rem, 1.375rem);
margin-right: 0.5em;
}
}
.gateway-icon img {
@include fluid-width-height(5rem, 5rem);
}
.phrase {
width: 7em;
font-family: $font-family-jetbrains-mono;
font-weight: 700;
line-height: 140%;
color: $color-brand;
}
}
@media screen and (max-width: 47.99999rem) {
footer {
flex-direction: column;
padding-top: 5rem;
padding-bottom: 5rem;
text-align: center;
> div {
justify-content: center;
font-size: 1.25rem;
}
> div:first-child {
align-items: center;
margin-top: 4rem;
order: 2;
}
> div:last-child {
justify-content: center;
margin-top: 1.25rem;
order: 3;
}
img {
width: 8.4375rem;
}
.contact {
margin-top: 1.25rem;
}
.gateway-icon img {
@include fluid-width-height(2.75rem, 2.75rem);
}
.phrase {
width: auto;
text-align: center;
}
}
}

View File

@ -0,0 +1,73 @@
import React, { useState, useEffect } from 'react';
import './Navbar.scss';
import logo from '/src/assets/lume-logo.png';
function Navbar({ view }) {
const [nav, setNav] = useState(false);
const toggleNav = () => {
if(nav) {
document.body.classList.remove("scroll-lock");
setNav(false);
} else {
document.body.classList.add("scroll-lock");
setNav(true);
}
}
const onMenuClick = function(event) {
if(!nav) {
return;
}
if(event.pageX < event.target.offsetLeft) {
// click outside of menu
toggleNav();
}
}
useEffect(() => {
let resizeTimeout;
const onResize = () => {
clearTimeout(resizeTimeout);
resizeTimeout = setTimeout(() => {
if(nav && window.innerWidth >= 768) {
toggleNav();
}
}, 25);
};
window.addEventListener('resize', onResize);
return () => window.removeEventListener('resize', onResize);
}, [nav]);
return (
<nav>
<div className="logo">
<a href="/">
<img src={logo.src} alt="Lume" />
</a>
</div>
<menu className={nav ? 'active' : undefined} onClick={onMenuClick}>
<li>
<a href="/" className={view === 'home' ? 'current' : undefined} aria-current={view === 'home' ? 'page' : undefined}>Home</a>
</li>
<li>
<a href="/donate" className={view === 'donate' ? 'current' : undefined} aria-current={view === 'donate' ? 'page' : undefined}>Donate</a>
</li>
<li>
<a href="https://lumeweb.com" className="lume">
LumeWeb
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" strokeWidth="2.5" stroke="currentColor">
<path strokeLinecap="round" strokeLinejoin="round" d="M8.25 4.5l7.5 7.5-7.5 7.5" />
</svg>
</a>
</li>
</menu>
<button className="hamburger" onClick={toggleNav}></button>
</nav>
)
}
export default Navbar

View File

@ -0,0 +1,113 @@
@import "/src/styles/mixins.scss";
@import "/src/styles/vars.scss";
nav {
display: flex;
justify-content: space-between;
align-items: center;
padding: 2em 3.75%;
@include fluid-font-size(1.25rem);
white-space: nowrap;
.logo {
flex-shrink: 0;
img {
@include fluid-width-height(13.125rem, 4.375rem);
}
}
}
menu {
display: flex;
align-items: center;
a {
display: block;
padding: 0.55em 0.9em;
@include fluid-font-size(1.375rem);
font-weight: 700;
text-decoration: underline;
text-decoration-color: transparent;
transition: text-decoration-color $transition-duration;
&.current, &:hover, &:active {
text-decoration-color: inherit;
}
}
.lume {
display: flex;
align-items: center;
gap: 0.25em;
color: $color-brand;
}
svg {
@include fluid-width-height(1.5rem, 1.5rem);
}
}
.hamburger {
display: none;
font-size: 2rem;
cursor: pointer;
z-index: 1;
margin: 0 3.75% 0 2rem;
}
@media screen and (max-width: 47.9999rem) {
nav {
position: sticky;
top: 0;
background: rgba($color-blue-charcoal-2, 0.8);
z-index: 2;
}
menu {
display: flex;
align-items: flex-start;
flex-direction: column;
position: fixed;
top: 0;
right: min(-20rem, -100vw);
bottom: 0;
padding: 7.5em 7.5% 1em;
background: rgba($color-blue-charcoal-2, 0.8);
transition: right $transition-duration;
overflow-y: auto;
&.active {
right: 0;
&::before {
content: "";
position: fixed;
inset: 0;
background: $color-black;
animation: $transition-duration bg-opacity forwards;
z-index: -1;
}
}
a {
font-size: 1.25rem;
margin: 0 2.2em 0 1em;
padding: inherit 0.8em;
}
}
.hamburger {
display: block;
}
}
@keyframes bg-opacity {
0% {
opacity: 0;
}
100% {
opacity: 0.8;
}
}

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

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

26
src/layouts/Layout.astro Normal file
View File

@ -0,0 +1,26 @@
---
import '../styles/global.scss';
import Navbar from '../components/Layout/Navbar/Navbar.jsx';
import Footer from '../components/Layout/Footer/Footer.astro';
export interface Props {
view: string;
title: string;
}
const { view, title } = Astro.props;
---
<!DOCTYPE html>
<html lang="en">
<head>
<title>{title}</title>
</head>
<body>
<Navbar view={view} client:load />
<main class={view}>
<slot />
</main>
<Footer />
</body>
</html>

16
src/pages/donate.astro Normal file
View File

@ -0,0 +1,16 @@
---
import Layout from '../layouts/Layout.astro';
import Support from '../components/Donate/Support/Support.astro';
import Purposes from '../components/Donate/Purposes/Purposes.astro';
import Why from '../components/Donate/Why/Why.astro';
import Difference from '../components/Donate/Difference/Difference.astro';
import HowToSupport from '../components/Donate/HowToSupport/HowToSupport.astro';
---
<Layout view="donate" title="Donate - Web3Extension">
<Support />
<Purposes />
<Why />
<Difference />
<HowToSupport />
</Layout>

16
src/pages/index.astro Normal file
View File

@ -0,0 +1,16 @@
---
import Layout from '../layouts/Layout.astro';
import Install from '../components/Home/Install/Install.astro';
import Access from '../components/Home/Access/Access.astro';
import Features from '../components/Home/Features/Features.astro';
import Message from '../components/Home/Message/Message.astro';
import Socials from '../components/Home/Socials/Socials.astro';
---
<Layout view="home" title="Web3Extension - Gateway to Web3">
<Install />
<Access />
<Features />
<Message />
<Socials />
</Layout>

199
src/styles/global.scss Normal file
View File

@ -0,0 +1,199 @@
@import "./mixins.scss";
@import "./vars.scss";
@import url("https://fonts.googleapis.com/css?family=Jaldi:400|JetBrains+Mono:300,400,700");
@tailwind base;
@tailwind components;
@tailwind utilities;
html {
display: flex;
flex-direction: column;
min-width: 20rem;
min-height: 100%;
scroll-behavior: smooth;
}
body {
flex: 1;
display: flex;
flex-direction: column;
font-family: $font-family-jetbrains-mono;
background: $color-blue-charcoal-2;
color: $color-white;
overflow-x: hidden;
overflow-y: scroll;
&.scroll-lock {
overflow-y: hidden;
}
}
main {
@include fluid-font-size(0.625rem);
flex-grow: 1;
}
a, button {
transition: color $transition-duration;
}
.btn-main {
display: inline-block;
padding: 0.5em 2em;
@include fluid-font-size(1.375rem);
color: $color-black;
background: $color-brand;
border: 0.05em solid $color-brand;
border-radius: 0.25em;
transition: color $transition-duration, background $transition-duration;
white-space: nowrap;
&:hover {
color: $color-white;
background: $color-blue-charcoal;
}
}
.feature-group {
h2 {
margin-bottom: 1em;
@include fluid-font-size(1.5rem);
font-weight: 700;
line-height: 100%;
text-transform: uppercase;
color: $color-brand;
}
h3 {
margin-bottom: 0.65em;
@include fluid-font-size(2.8125rem);
font-weight: 700;
line-height: 109%;
}
h2, h3 {
text-shadow: 0.017em 0.017em 0.034em rgba($color-black, 0.65);
}
p {
@include fluid-font-size(1.5rem);
font-family: $font-family-jaldi;
line-height: 148%;
color: $color-cloud;
transition: background $transition-duration;
}
p + p {
margin-top: 0.78em;
}
.btn-main {
font-family: $font-family-jaldi;
margin-top: 1.57em;
}
}
.feature-grid {
display: grid;
grid-template-columns: repeat(1, 1fr);
gap: 6em;
padding: 11em 7.5% 10em;
@media screen and (min-width: 56rem) {
grid-template-columns: repeat(3, 1fr);
grid-auto-rows: 1fr;
gap: 5%;
}
> div {
display: flex;
> div:first-child {
flex-shrink: 0;
}
img {
margin: 4em 2.5em 0 0;
}
@media screen and (min-width: 56rem) and (max-width: 67rem) {
flex-direction: column;
img {
margin: 0 0 2em;
}
}
}
h3 {
@include fluid-font-size(2.25rem);
}
}
.tilted-bg {
position: relative;
&::before {
content: "";
position: absolute;
top: 0;
right: -5%;
bottom: 0;
left: -5%;
margin: 2% 0;
background: $color-blue-charcoal;
transform: matrix(1, -0.04, 0.04, 1, 0, 0);
z-index: -1;
}
}
.tilted-bg-r {
position: relative;
&::before {
content: "";
position: absolute;
top: 0;
right: -5%;
bottom: 0;
left: -5%;
margin: 2% 0;
background: $color-blue-charcoal;
transform: matrix(1, 0.04, -0.04, 1, 0, 0);
z-index: -1;
}
}
main.home {
&::before {
content: "";
position: absolute;
top: 0;
right: min(0em, calc((100% - 96.3em) / 2));
width: 96.3em;
height: 93.9em;
background: url("/src/assets/home-bg.png");
background-position: top right;
background-size: contain;
z-index: -1;
min-width: 20rem;
}
}
main.donate {
&::before {
content: "";
position: absolute;
top: 0;
right: min(0em, calc((100% - 96.3em) / 2));
width: 96.3em;
height: 93.9em;
background: url("/src/assets/home-bg.png");
background-position: top right;
background-size: contain;
z-index: -1;
min-width: 20rem;
}
}

199
src/styles/mixins.scss Normal file
View File

@ -0,0 +1,199 @@
@use "sass:math";
$min-vw: 56rem;
$max-vw: 476rem; // 336rem, 616rem
$screen-min: 24rem; // 384px
$screen-sm: 48rem; // 768px
$screen-md: 64rem; // 1024px
$screen-lg: 80rem; // 1280px
$screen-default: 96rem; // 1536px
@function strip-unit($value) {
@return math.div($value, ($value * 0 + 1));
}
@mixin fluid-font-size($font-size) {
$min-font-size: calc($font-size * 0.75);
$max-font-size: calc($font-size * 2.5);
$u1: unit($min-vw);
$u2: unit($max-vw);
$u3: unit($font-size);
@if $u1 == $u2 and $u1 == $u3 {
& {
font-size: $min-font-size;
@media screen and (min-width: $min-vw) {
font-size: calc(#{$min-font-size} + #{strip-unit($max-font-size - $min-font-size)} * ((100vw - #{$min-vw}) / #{strip-unit($max-vw - $min-vw)}));
}
@media screen and (min-width: $max-vw) {
font-size: $max-font-size;
}
}
}
}
@mixin fluid-font-size-s($font-size) {
$min-font-size: calc($font-size * 0.5);
$medium-font-size: calc($font-size * 0.75);
$max-font-size: calc($font-size * 2.5);
$u1: unit($min-vw);
$u2: unit($max-vw);
$u3: unit($font-size);
@if $u1 == $u2 and $u1 == $u3 {
& {
font-size: $min-font-size;
@media screen and (min-width: 20rem) {
font-size: calc(#{$min-font-size} + #{strip-unit($medium-font-size - $min-font-size)} * ((100vw - 20rem) / (56 - 20)));
}
@media screen and (min-width: $min-vw) {
font-size: calc(#{$medium-font-size} + #{strip-unit($max-font-size - $medium-font-size)} * ((100vw - #{$min-vw}) / #{strip-unit($max-vw - $min-vw)}));
}
@media screen and (min-width: $max-vw) {
font-size: $max-font-size;
}
}
}
}
@mixin fluid-font-size-xs($font-size) {
$min-font-size: calc($font-size * 0.25);
$medium-font-size: calc($font-size * 0.75);
$max-font-size: calc($font-size * 2.5);
$u1: unit($min-vw);
$u2: unit($max-vw);
$u3: unit($font-size);
@if $u1 == $u2 and $u1 == $u3 {
& {
font-size: $min-font-size;
@media screen and (min-width: 20rem) {
font-size: calc(#{$min-font-size} + #{strip-unit($medium-font-size - $min-font-size)} * ((100vw - 20rem) / (56 - 20)));
}
@media screen and (min-width: $min-vw) {
font-size: calc(#{$medium-font-size} + #{strip-unit($max-font-size - $medium-font-size)} * ((100vw - #{$min-vw}) / #{strip-unit($max-vw - $min-vw)}));
}
@media screen and (min-width: $max-vw) {
font-size: $max-font-size;
}
}
}
}
@mixin fluid-width-height($width, $height) {
$min-width: calc($width * 0.75);
$max-width: calc($width * 2.5);
$min-height: calc($height * 0.75);
$max-height: calc($height * 2.5);
$u1: unit($min-vw);
$u2: unit($max-vw);
$u3: unit($width);
$u4: unit($height);
@if $u1 == $u2 and $u1 == $u3 and $u1 == $u4 {
& {
width: $min-width;
height: $min-height;
@media screen and (min-width: $min-vw) {
width: calc(#{$min-width} + #{strip-unit($max-width - $min-width)} * ((100vw - #{$min-vw}) / #{strip-unit($max-vw - $min-vw)}));
height: calc(#{$min-height} + #{strip-unit($max-height - $min-height)} * ((100vw - #{$min-vw}) / #{strip-unit($max-vw - $min-vw)}));
}
@media screen and (min-width: $max-vw) {
width: $max-width;
height: $max-height;
}
}
}
}
@mixin fluid-width($width) {
$min-width: calc($width * 0.75);
$max-width: calc($width * 2.5);
$u1: unit($min-vw);
$u2: unit($max-vw);
$u3: unit($width);
@if $u1 == $u2 and $u1 == $u3 {
& {
width: $min-width;
@media screen and (min-width: $min-vw) {
width: calc(#{$min-width} + #{strip-unit($max-width - $min-width)} * ((100vw - #{$min-vw}) / #{strip-unit($max-vw - $min-vw)}));
}
@media screen and (min-width: $max-vw) {
width: $max-width;
}
}
}
}
@mixin fluid-height($height) {
$min-height: calc($height * 0.75);
$max-height: calc($height * 2.5);
$u1: unit($min-vw);
$u2: unit($max-vw);
$u3: unit($height);
@if $u1 == $u2 and $u1 == $u3 {
& {
height: $min-height;
@media screen and (min-width: $min-vw) {
height: calc(#{$min-height} + #{strip-unit($max-height - $min-height)} * ((100vw - #{$min-vw}) / #{strip-unit($max-vw - $min-vw)}));
}
@media screen and (min-width: $max-vw) {
height: $max-height;
}
}
}
}
@mixin fluid-max-width-height($width, $height) {
$min-width: calc($width * 0.75);
$max-width: calc($width * 2.5);
$min-height: calc($height * 0.75);
$max-height: calc($height * 2.5);
$u1: unit($min-vw);
$u2: unit($max-vw);
$u3: unit($width);
$u4: unit($height);
@if $u1 == $u2 and $u1 == $u3 and $u1 == $u4 {
& {
max-width: $min-width;
max-height: $min-height;
@media screen and (min-width: $min-vw) {
max-width: calc(#{$min-width} + #{strip-unit($max-width - $min-width)} * ((100vw - #{$min-vw}) / #{strip-unit($max-vw - $min-vw)}));
max-height: calc(#{$min-height} + #{strip-unit($max-height - $min-height)} * ((100vw - #{$min-vw}) / #{strip-unit($max-vw - $min-vw)}));
}
@media screen and (min-width: $max-vw) {
max-width: $max-width;
max-height: $max-height;
}
}
}
}

13
src/styles/vars.scss Normal file
View File

@ -0,0 +1,13 @@
$color-black: #000;
$color-white: #fff;
$color-blue-charcoal: #020e10;
$color-blue-charcoal-2: #031418;
$color-aquamarine: #7afcbb;
$color-cloud: #c7c7c7;
$color-alto: #d9d9d9;
$color-brand: #fc8a7a;
$font-family-jaldi: "Jaldi", sans-serif;
$font-family-jetbrains-mono: "JetBrains Mono", sans-serif;
$transition-duration: 250ms;

5
tailwind.config.cjs Normal file
View File

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

3
tsconfig.json Normal file
View File

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