init
This commit is contained in:
commit
af29e37277
54
README.md
Normal file
54
README.md
Normal file
|
@ -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).
|
10
astro.config.mjs
Normal file
10
astro.config.mjs
Normal file
|
@ -0,0 +1,10 @@
|
|||
import { defineConfig } from 'astro/config';
|
||||
import tailwind from "@astrojs/tailwind";
|
||||
import icon from "astro-icon";
|
||||
|
||||
// https://astro.build/config
|
||||
export default defineConfig({
|
||||
integrations: [tailwind({
|
||||
applyBaseStyles: false,
|
||||
}), icon()]
|
||||
});
|
41
package.json
Normal file
41
package.json
Normal file
|
@ -0,0 +1,41 @@
|
|||
{
|
||||
"name": "leafuswtf",
|
||||
"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.8.2",
|
||||
"@astrojs/react": "^3.6.0",
|
||||
"@astrojs/tailwind": "^5.1.0",
|
||||
"@catppuccin/tailwindcss": "^0.1.6",
|
||||
"@fontsource/poppins": "^5.0.14",
|
||||
"@fontsource/twinkle-star": "^5.0.20",
|
||||
"@iconify-json/mdi": "^1.1.67",
|
||||
"@iconify-json/pajamas": "^1.1.47",
|
||||
"@iconify-json/solar": "^1.1.9",
|
||||
"@radix-ui/react-dialog": "^1.1.1",
|
||||
"@radix-ui/react-popover": "^1.1.1",
|
||||
"@radix-ui/react-slot": "^1.1.0",
|
||||
"@types/react": "^18.3.3",
|
||||
"@types/react-dom": "^18.3.0",
|
||||
"astro": "^4.12.2",
|
||||
"astro-icon": "^1.1.0",
|
||||
"class-variance-authority": "^0.7.0",
|
||||
"clsx": "^2.1.1",
|
||||
"framer-motion": "^11.3.8",
|
||||
"lucide-react": "^0.412.0",
|
||||
"react": "^18.3.1",
|
||||
"react-dom": "^18.3.1",
|
||||
"tailwind-merge": "^2.4.0",
|
||||
"tailwindcss": "^3.4.6",
|
||||
"tailwindcss-animate": "^1.0.7",
|
||||
"typescript": "^5.5.3"
|
||||
},
|
||||
"packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e"
|
||||
}
|
4
public/favicon.svg
Normal file
4
public/favicon.svg
Normal file
|
@ -0,0 +1,4 @@
|
|||
<svg width="1024" height="1024" viewBox="0 0 1024 1024" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<rect width="1024" height="1024" rx="200" fill="#1E1E2E"/>
|
||||
<path d="M385.134 495.084C387.051 493.261 389.35 491.795 391.901 490.768C394.451 489.741 397.203 489.174 399.999 489.098C402.794 489.023 405.579 489.441 408.194 490.329C410.809 491.217 413.202 492.558 415.238 494.274C513.231 576.879 611.556 627.137 727.262 652.754C742.873 614.644 744.257 572.698 730.775 531.777C712.888 477.481 671.232 430.176 610.344 394.984C555.992 363.566 501.665 355.384 449.109 347.476C382.805 337.496 320.174 328.064 260.404 271.434C253.75 265.169 244.687 262.656 236.023 264.693C226.121 267.075 219.48 274.078 216.299 285.654C208.846 312.748 213.637 388.683 234.599 468.847C268.256 597.637 321.971 662.806 361.112 694.807C411.685 736.121 477.723 759 543.348 759C555.718 759.017 568.072 758.205 580.307 756.57C635.817 749.043 682.025 724.093 708.071 687.792C588.971 660.067 487.225 607.343 385.999 522.059C383.959 520.34 382.319 518.279 381.171 515.992C380.023 513.705 379.391 511.238 379.311 508.732C379.23 506.226 379.703 503.731 380.703 501.389C381.702 499.046 383.208 496.904 385.134 495.084ZM792.488 664.426C770.089 661.341 748.396 657.471 727.275 652.79C722.933 663.399 717.53 673.635 711.132 683.374C710.16 684.863 709.122 686.339 708.071 687.792C733.76 693.744 759.786 698.514 786.02 702.084C788.811 702.523 791.673 702.459 794.436 701.895C797.2 701.332 799.81 700.281 802.113 698.803C804.417 697.325 806.367 695.45 807.851 693.289C809.334 691.128 810.32 688.724 810.752 686.217C811.183 683.71 811.051 681.151 810.363 678.691C809.675 676.231 808.445 673.918 806.746 671.888C805.046 669.859 802.91 668.153 800.464 666.872C798.018 665.59 795.298 664.759 792.488 664.426Z" fill="#A6E3A1"/>
|
||||
</svg>
|
After Width: | Height: | Size: 1.7 KiB |
8
src/assets/Global.css
Normal file
8
src/assets/Global.css
Normal file
|
@ -0,0 +1,8 @@
|
|||
@tailwind base;
|
||||
@tailwind components;
|
||||
@tailwind utilities;
|
||||
|
||||
body {
|
||||
@apply bg-ctp-crust text-white;
|
||||
font-family: Poppins;
|
||||
}
|
BIN
src/assets/leafus.png
Normal file
BIN
src/assets/leafus.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 154 KiB |
253
src/components/Footer.astro
Normal file
253
src/components/Footer.astro
Normal file
File diff suppressed because one or more lines are too long
112
src/components/Navbar.astro
Normal file
112
src/components/Navbar.astro
Normal file
|
@ -0,0 +1,112 @@
|
|||
---
|
||||
import { Icon } from "astro-icon/components";
|
||||
---
|
||||
|
||||
<div class="navbar">
|
||||
<div class="mt-6 ml-6 mr-6 flex items-center">
|
||||
<a href="/" class="flex items-center">
|
||||
<svg
|
||||
viewBox="0 0 1024 1024"
|
||||
class="w-[48px]"
|
||||
fill="none"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
>
|
||||
<rect width="1024" height="1024" rx="300" fill="#1E1E2E"></rect>
|
||||
<path
|
||||
d="M385.134 495.084C387.051 493.261 389.35 491.795 391.901 490.768C394.451 489.741 397.203 489.174 399.999 489.098C402.794 489.023 405.579 489.441 408.194 490.329C410.809 491.217 413.202 492.558 415.238 494.274C513.231 576.879 611.556 627.137 727.262 652.754C742.873 614.644 744.257 572.698 730.775 531.777C712.888 477.481 671.232 430.176 610.344 394.984C555.992 363.566 501.665 355.384 449.109 347.476C382.805 337.496 320.174 328.064 260.404 271.434C253.75 265.169 244.687 262.656 236.023 264.693C226.121 267.075 219.48 274.078 216.299 285.654C208.846 312.748 213.637 388.683 234.599 468.847C268.256 597.637 321.971 662.806 361.112 694.807C411.685 736.121 477.723 759 543.348 759C555.718 759.017 568.072 758.205 580.307 756.57C635.817 749.043 682.025 724.093 708.071 687.792C588.971 660.067 487.225 607.343 385.999 522.059C383.959 520.34 382.319 518.279 381.171 515.992C380.023 513.705 379.391 511.238 379.311 508.732C379.23 506.226 379.703 503.731 380.703 501.389C381.702 499.046 383.208 496.904 385.134 495.084ZM792.488 664.426C770.089 661.341 748.396 657.471 727.275 652.79C722.933 663.399 717.53 673.635 711.132 683.374C710.16 684.863 709.122 686.339 708.071 687.792C733.76 693.744 759.786 698.514 786.02 702.084C788.811 702.523 791.673 702.459 794.436 701.895C797.2 701.332 799.81 700.281 802.113 698.803C804.417 697.325 806.367 695.45 807.851 693.289C809.334 691.128 810.32 688.724 810.752 686.217C811.183 683.71 811.051 681.151 810.363 678.691C809.675 676.231 808.445 673.918 806.746 671.888C805.046 669.859 802.91 668.153 800.464 666.872C798.018 665.59 795.298 664.759 792.488 664.426Z"
|
||||
fill="#A6E3A1"></path>
|
||||
</svg>
|
||||
|
||||
<div>
|
||||
<svg
|
||||
width="150"
|
||||
class="ml-2"
|
||||
viewBox="0 0 2526 394"
|
||||
fill="none"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
>
|
||||
<path
|
||||
d="M70.5 313.5C70.5 324.546 79.4543 333.5 90.5 333.5H165.5C176.546 333.5 185.5 342.454 185.5 353.5V369C185.5 380.046 176.546 389 165.5 389H20.5C9.4543 389 0.5 380.046 0.5 369V60C0.5 48.9543 9.45431 40 20.5 40H50.5C61.5457 40 70.5 48.9543 70.5 60V313.5Z"
|
||||
fill="#A6E3A1"></path>
|
||||
<path
|
||||
d="M487.492 244.5C487.492 248.009 487.41 251.395 487.246 254.658C486.755 264.423 478.326 271.5 468.55 271.5H304.728C293.027 271.5 283.472 281.694 287.314 292.746C290.866 302.962 296.425 311.546 303.992 318.5C316.326 329.833 331.492 335.5 349.492 335.5C370.968 335.5 387.328 327.881 398.569 312.643C403.092 306.512 409.817 302 417.436 302H453.612C467.009 302 476.619 315.019 470.222 326.791C461.616 342.629 449.706 356.366 434.492 368C411.826 385 383.992 393.5 350.992 393.5C324.326 393.5 300.326 387.667 278.992 376C257.992 364 241.492 347.167 229.492 325.5C217.826 303.833 211.992 278.833 211.992 250.5C211.992 221.833 217.826 196.667 229.492 175C241.159 153.333 257.492 136.667 278.492 125C299.492 113.333 323.659 107.5 350.992 107.5C377.326 107.5 400.826 113.167 421.492 124.5C442.492 135.833 458.659 152 469.992 173C481.659 193.667 487.492 217.5 487.492 244.5ZM394.618 224.5C405.809 224.5 415.302 215.055 411.577 204.503C408.41 195.53 403.048 187.863 395.492 181.5C382.826 170.5 367.326 165 348.992 165C331.659 165 316.992 170.333 304.992 181C298.444 186.8 293.313 193.912 289.601 202.337C284.692 213.475 294.381 224.5 306.552 224.5H394.618Z"
|
||||
fill="#A6E3A1"></path>
|
||||
<path
|
||||
d="M520.586 249.5C520.586 221.5 526.086 196.667 537.086 175C548.419 153.333 563.586 136.667 582.586 125C601.919 113.333 623.419 107.5 647.086 107.5C667.753 107.5 685.753 111.667 701.086 120C707.079 123.188 712.609 126.693 717.675 130.515C725.204 136.195 738.586 131.201 738.586 121.77V121.77C738.586 116.374 742.96 112 748.356 112H789.086C800.132 112 809.086 120.954 809.086 132V369C809.086 380.046 800.132 389 789.086 389H748.226C742.902 389 738.586 384.684 738.586 379.36V379.36C738.586 369.909 724.759 364.882 717.246 370.615C712.328 374.367 706.941 377.828 701.086 381C685.419 389.333 667.253 393.5 646.586 393.5C623.253 393.5 601.919 387.5 582.586 375.5C563.586 363.5 548.419 346.667 537.086 325C526.086 303 520.586 277.833 520.586 249.5ZM738.586 250.5C738.586 233.5 735.253 219 728.586 207C721.919 194.667 712.919 185.333 701.586 179C690.253 172.333 678.086 169 665.086 169C652.086 169 640.086 172.167 629.086 178.5C618.086 184.833 609.086 194.167 602.086 206.5C595.419 218.5 592.086 232.833 592.086 249.5C592.086 266.167 595.419 280.833 602.086 293.5C609.086 305.833 618.086 315.333 629.086 322C640.419 328.667 652.419 332 665.086 332C678.086 332 690.253 328.833 701.586 322.5C712.919 315.833 721.919 306.5 728.586 294.5C735.253 282.167 738.586 267.5 738.586 250.5Z"
|
||||
fill="#A6E3A1"></path>
|
||||
<path
|
||||
d="M1004.45 149.5C1004.45 160.546 995.499 169.5 984.453 169.5H975.953C964.907 169.5 955.953 178.454 955.953 189.5V369C955.953 380.046 946.999 389 935.953 389H904.953C893.907 389 884.953 380.046 884.953 369V185.25C884.953 176.551 877.902 169.5 869.203 169.5V169.5C860.505 169.5 853.453 162.448 853.453 153.75V127.75C853.453 119.051 860.505 112 869.203 112H870.953C878.685 112 884.953 105.732 884.953 98V98C884.953 64 894.62 39 913.953 23C929.917 9.78829 952.586 2.37217 981.959 0.751603C992.789 0.154126 1001.45 9.14773 1001.45 19.9937V39.104C1001.45 50.3031 992.113 58.743 981.159 61.0742C974.601 62.47 969.532 64.7785 965.953 68C959.286 74 955.953 84.8333 955.953 100.5V100.5C955.953 106.851 961.102 112 967.453 112H984.453C995.499 112 1004.45 120.954 1004.45 132V149.5Z"
|
||||
fill="#A6E3A1"></path>
|
||||
<path
|
||||
d="M1291.32 112C1302.36 112 1311.32 120.954 1311.32 132V369C1311.32 380.046 1302.36 389 1291.32 389H1249.57C1244.73 389 1240.82 385.082 1240.82 380.25V380.25C1240.82 371.841 1228.99 367.407 1222.23 372.406C1217.09 376.208 1211.45 379.572 1205.32 382.5C1190.98 389.167 1175.32 392.5 1158.32 392.5C1136.65 392.5 1117.48 388 1100.82 379C1084.15 369.667 1070.98 356.167 1061.32 338.5C1051.98 320.5 1047.32 299.167 1047.32 274.5V132C1047.32 120.954 1056.27 112 1067.32 112H1097.32C1108.36 112 1117.32 120.954 1117.32 132V264.5C1117.32 286.5 1122.82 303.5 1133.82 315.5C1144.82 327.167 1159.82 333 1178.82 333C1198.15 333 1213.32 327.167 1224.32 315.5C1235.32 303.5 1240.82 286.5 1240.82 264.5V132C1240.82 120.954 1249.77 112 1260.82 112H1291.32Z"
|
||||
fill="#A6E3A1"></path>
|
||||
<path
|
||||
d="M1486.38 393.5C1463.72 393.5 1443.38 389.5 1425.38 381.5C1407.38 373.167 1393.05 362 1382.38 348C1376.43 339.936 1372.03 331.374 1369.17 322.315C1365.71 311.34 1375.09 301.5 1386.59 301.5H1418.23C1428.31 301.5 1436.31 309.531 1441.89 317.934C1444.34 321.629 1447.51 324.985 1451.38 328C1460.72 335 1472.22 338.5 1485.88 338.5C1499.22 338.5 1509.55 335.833 1516.88 330.5C1524.55 325.167 1528.38 318.333 1528.38 310C1528.38 301 1523.72 294.333 1514.38 290C1505.38 285.333 1490.88 280.333 1470.88 275C1450.22 270 1433.22 264.833 1419.88 259.5C1406.88 254.167 1395.55 246 1385.88 235C1376.55 224 1371.88 209.167 1371.88 190.5C1371.88 175.167 1376.22 161.167 1384.88 148.5C1393.88 135.833 1406.55 125.833 1422.88 118.5C1439.55 111.167 1459.05 107.5 1481.38 107.5C1514.38 107.5 1540.72 115.833 1560.38 132.5C1574.8 144.476 1584.47 159.588 1589.4 177.836C1592.42 189.042 1583.01 199 1571.4 199H1544.15C1533.8 199 1525.85 190.498 1520.2 181.836C1518.03 178.508 1515.26 175.563 1511.88 173C1503.88 166.333 1493.05 163 1479.38 163C1466.72 163 1456.88 165.333 1449.88 170C1443.22 174.667 1439.88 181.167 1439.88 189.5C1439.88 198.833 1444.55 206 1453.88 211C1463.22 215.667 1477.72 220.5 1497.38 225.5C1517.38 230.5 1533.88 235.667 1546.88 241C1559.88 246.333 1571.05 254.667 1580.38 266C1590.05 277 1595.05 291.667 1595.38 310C1595.38 326 1590.88 340.333 1581.88 353C1573.22 365.667 1560.55 375.667 1543.88 383C1527.55 390 1508.38 393.5 1486.38 393.5Z"
|
||||
fill="#A6E3A1"></path>
|
||||
<path
|
||||
d="M1683.84 392.5C1671.18 392.5 1660.68 388.667 1652.34 381C1644.34 373 1640.34 363.167 1640.34 351.5C1640.34 339.833 1644.34 330.167 1652.34 322.5C1660.68 314.5 1671.18 310.5 1683.84 310.5C1696.18 310.5 1706.34 314.5 1714.34 322.5C1722.34 330.167 1726.34 339.833 1726.34 351.5C1726.34 363.167 1722.34 373 1714.34 381C1706.34 388.667 1696.18 392.5 1683.84 392.5Z"
|
||||
fill="#A6E3A1"></path>
|
||||
<path
|
||||
d="M2140.04 112C2153.38 112 2162.98 124.81 2159.24 137.613L2089.93 374.613C2087.44 383.14 2079.62 389 2070.74 389H2025.68C2016.58 389 2008.62 382.856 2006.33 374.05L1979.08 269.65C1973.88 249.717 1945.58 249.717 1940.37 269.65L1913.13 374.05C1910.83 382.856 1902.88 389 1893.78 389H1848.19C1839.32 389 1831.51 383.156 1829 374.645L1759.27 137.645C1755.5 124.835 1765.11 112 1778.46 112H1806.84C1816.14 112 1824.22 118.414 1826.32 127.476L1853.01 242.393C1857.76 262.838 1886.77 263.098 1891.89 242.741L1920.93 127.128C1923.16 118.235 1931.16 112 1940.32 112H1983.07C1992.26 112 2000.28 118.274 2002.48 127.204L2030.73 241.563C2035.78 261.975 2064.86 261.779 2069.63 241.301L2096.13 127.466C2098.23 118.409 2106.31 112 2115.61 112H2140.04Z"
|
||||
fill="#A6E3A1"></path>
|
||||
<path
|
||||
d="M2306.1 169.5C2295.06 169.5 2286.1 178.454 2286.1 189.5V303.5C2286.1 312.833 2288.27 319.667 2292.6 324C2297.27 328 2304.93 330 2315.6 330H2328.1C2339.15 330 2348.1 338.954 2348.1 350V369C2348.1 380.046 2339.15 389 2328.1 389H2304.1C2245.1 389 2215.6 360.333 2215.6 303V186C2215.6 176.887 2208.21 169.5 2199.1 169.5V169.5C2189.99 169.5 2182.6 162.113 2182.6 153V128.5C2182.6 119.387 2189.99 112 2199.1 112V112C2208.21 112 2215.6 104.613 2215.6 95.5V63.5C2215.6 52.4543 2224.56 43.5 2235.6 43.5H2266.1C2277.15 43.5 2286.1 52.4543 2286.1 63.5V92C2286.1 103.046 2295.06 112 2306.1 112H2328.1C2339.15 112 2348.1 120.954 2348.1 132V149.5C2348.1 160.546 2339.15 169.5 2328.1 169.5H2306.1Z"
|
||||
fill="#A6E3A1"></path>
|
||||
<path
|
||||
d="M2525.45 149.5C2525.45 160.546 2516.49 169.5 2505.45 169.5H2496.95C2485.9 169.5 2476.95 178.454 2476.95 189.5V369C2476.95 380.046 2467.99 389 2456.95 389H2425.95C2414.9 389 2405.95 380.046 2405.95 369V185.25C2405.95 176.551 2398.9 169.5 2390.2 169.5V169.5C2381.5 169.5 2374.45 162.448 2374.45 153.75V127.75C2374.45 119.051 2381.5 112 2390.2 112H2391.95C2399.68 112 2405.95 105.732 2405.95 98V98C2405.95 64 2415.62 39 2434.95 23C2450.91 9.78829 2473.58 2.37217 2502.96 0.751603C2513.79 0.154126 2522.45 9.14773 2522.45 19.9937V39.104C2522.45 50.3031 2513.11 58.743 2502.16 61.0742C2495.6 62.47 2490.53 64.7785 2486.95 68C2480.28 74 2476.95 84.8333 2476.95 100.5V100.5C2476.95 106.851 2482.1 112 2488.45 112H2505.45C2516.49 112 2525.45 120.954 2525.45 132V149.5Z"
|
||||
fill="#A6E3A1"></path>
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
<div class="ml-auto flex items-center gap-3 navItems-pc">
|
||||
<a href="/services">
|
||||
<div
|
||||
class="navItem flex items-center justify-center h-[40px] pl-3 pr-3"
|
||||
>
|
||||
<Icon
|
||||
class="text-[24px]"
|
||||
name="solar:server-square-cloud-bold"
|
||||
/>
|
||||
<div class="ml-2 font-semibold">Services</div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="ml-auto flex items-center gap-3 navItems-mb">
|
||||
<a href="/services">
|
||||
<div
|
||||
class="navItem flex items-center justify-center h-[40px] pl-3 pr-3"
|
||||
>
|
||||
<Icon
|
||||
class="text-[24px]"
|
||||
name="solar:server-square-cloud-bold"
|
||||
/>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<style>
|
||||
.navItem {
|
||||
@apply transition-all duration-300 rounded-[15px];
|
||||
}
|
||||
|
||||
.navItem:hover {
|
||||
@apply bg-ctp-green transition-all duration-300;
|
||||
}
|
||||
|
||||
.navItems-mb {
|
||||
display: none;
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 600px) {
|
||||
.navItems-pc {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.navItems-mb {
|
||||
display: flex;
|
||||
}
|
||||
}
|
||||
</style>
|
1
src/env.d.ts
vendored
Normal file
1
src/env.d.ts
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
/// <reference types="astro/client" />
|
37
src/layouts/Global.astro
Normal file
37
src/layouts/Global.astro
Normal file
|
@ -0,0 +1,37 @@
|
|||
---
|
||||
interface Props {
|
||||
title: string;
|
||||
}
|
||||
|
||||
const { title } = Astro.props;
|
||||
import "@/assets/Global.css";
|
||||
import Navbar from "@/components/Navbar.astro";
|
||||
import Footer from "@/components/Footer.astro"
|
||||
import "@fontsource/poppins/400.css";
|
||||
import "@fontsource/poppins/500.css";
|
||||
import "@fontsource/poppins/600.css";
|
||||
import "@fontsource/poppins/700.css";
|
||||
import { ViewTransitions } from "astro:transitions";
|
||||
---
|
||||
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<ViewTransitions />
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="description" content="Astro description" />
|
||||
<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-[100vh]">
|
||||
<div class="absolute w-full z-10"><Navbar /></div>
|
||||
|
||||
<div class="w-full relative flex items-center h-full">
|
||||
<slot />
|
||||
</div>
|
||||
|
||||
<Footer />
|
||||
</body>
|
||||
</html>
|
6
src/lib/utils.ts
Normal file
6
src/lib/utils.ts
Normal file
|
@ -0,0 +1,6 @@
|
|||
import { type ClassValue, clsx } from "clsx"
|
||||
import { twMerge } from "tailwind-merge"
|
||||
|
||||
export function cn(...inputs: ClassValue[]) {
|
||||
return twMerge(clsx(inputs))
|
||||
}
|
71
src/pages/index.astro
Normal file
71
src/pages/index.astro
Normal file
|
@ -0,0 +1,71 @@
|
|||
---
|
||||
import Layout from "@/layouts/Global.astro";
|
||||
import Pfp from "@/assets/leafus.png";
|
||||
---
|
||||
|
||||
<Layout title="leafus.wtf">
|
||||
<div class="text-left w-full max-w-[60%] m-auto mainPc">
|
||||
<div class="flex items-center w-full">
|
||||
<div class="">
|
||||
<div class="font-semibold text-[56px] text-ctp-text">
|
||||
Hello im <span class="text-ctp-green">Leafus</span>
|
||||
<span class="uwu">>~<</span>
|
||||
</div>
|
||||
<div class="font-semibold text-[30px] text-ctp-text">
|
||||
I'm an 16 year old Full Stack web developer from poland.
|
||||
Also im a <span class="text-ctp-mauve">furry</span> :3
|
||||
</div>
|
||||
<div class="text-ctp-pink font-semibold text-[20px]">
|
||||
I use arch btw.
|
||||
</div>
|
||||
</div>
|
||||
<div class="bg-ctp-base p-3 rounded-[30px] ml-auto">
|
||||
<img class="w-[380px] rounded-[30px]" src={Pfp.src} alt="" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="text-left w-full ml-6 m-auto mainMob">
|
||||
<div class="">
|
||||
<div class="">
|
||||
<div class="font-semibold text-[56px] text-ctp-text">
|
||||
Hello im <span class="text-ctp-green">Leafus</span>
|
||||
<span class="uwu">>~<</span>
|
||||
</div>
|
||||
<div class="font-semibold text-[30px] text-ctp-text">
|
||||
I'm an 16 year old Full Stack web developer from poland.
|
||||
Also im a <span class="text-ctp-mauve">furry</span> :3
|
||||
</div>
|
||||
<div class="text-ctp-pink font-semibold text-[20px]">
|
||||
I use arch btw.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</Layout>
|
||||
|
||||
<style>
|
||||
.uwu {
|
||||
background-image: linear-gradient(
|
||||
120deg,
|
||||
rgba(var(--ctp-pink)),
|
||||
rgba(var(--ctp-mauve))
|
||||
);
|
||||
background-clip: text;
|
||||
color: transparent;
|
||||
}
|
||||
|
||||
.mainMob {
|
||||
display: none;
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 600px) {
|
||||
.mainPc {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.mainMob {
|
||||
display: flex;
|
||||
}
|
||||
}
|
||||
</style>
|
52
src/pages/services.astro
Normal file
52
src/pages/services.astro
Normal file
|
@ -0,0 +1,52 @@
|
|||
---
|
||||
import Layout from "@/layouts/Global.astro";
|
||||
import { Icon } from "astro-icon/components";
|
||||
---
|
||||
|
||||
<Layout title="leafus.wtf / services">
|
||||
<div class="ml-6 w-full mr-6">
|
||||
<div class="text-ctp-mauve text-[50px] font-semibold">Services</div>
|
||||
<div class="text-[20px] font-semibold text-ctp-subtext1">
|
||||
Here are some of my services, not much but something mainly stuff
|
||||
that its useful for me
|
||||
</div>
|
||||
<div class="window bg-ctp-mantle p-5 rounded-[20px] mt-3">
|
||||
<div
|
||||
class="flex items-center gap-[530px] text-ctp-subtext1 font-semibold mb-3 headers"
|
||||
>
|
||||
<div>Service</div>
|
||||
<div>Description</div>
|
||||
</div>
|
||||
<a href="https://git.fluffy.pw" target="_blank">
|
||||
<div
|
||||
class="bg-ctp-crust duration-300 hover:bg-ctp-base transition-all cursor-pointer rounded-[15px] p-3"
|
||||
>
|
||||
<div class="flex items-center gap-[500px] service">
|
||||
<div class="flex items-center">
|
||||
<Icon
|
||||
class="text-[25px] text-green-300"
|
||||
name="pajamas:gitea"
|
||||
/>
|
||||
<div class="ml-2 font-medium">Gitea</div>
|
||||
</div>
|
||||
<div class="text-ctp-subtext1 font-medium">
|
||||
Gitea is an selfhosted github alternative
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</Layout>
|
||||
|
||||
<style>
|
||||
@media only screen and (max-width: 600px) {
|
||||
.headers {
|
||||
gap: 75px;
|
||||
}
|
||||
|
||||
.service {
|
||||
gap: 50px;
|
||||
}
|
||||
}
|
||||
</style>
|
20
tailwind.config.mjs
Normal file
20
tailwind.config.mjs
Normal file
|
@ -0,0 +1,20 @@
|
|||
/** @type {import('tailwindcss').Config} */
|
||||
import defaultTheme from 'tailwindcss/defaultTheme'
|
||||
|
||||
export default {
|
||||
content: ['./src/**/*.{astro,html,js,jsx,md,mdx,svelte,ts,tsx,vue}'],
|
||||
theme: {
|
||||
extend: {
|
||||
|
||||
},
|
||||
},
|
||||
plugins: [
|
||||
require("@catppuccin/tailwindcss")({
|
||||
// prefix to use, e.g. `text-pink` becomes `text-ctp-pink`.
|
||||
// default is `false`, which means no prefix
|
||||
prefix: "ctp",
|
||||
// which flavour of colours to use by default, in the `:root`
|
||||
defaultFlavour: "mocha",
|
||||
}),
|
||||
],
|
||||
}
|
10
tsconfig.json
Normal file
10
tsconfig.json
Normal file
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
"compilerOptions": {
|
||||
"baseUrl": ".",
|
||||
"paths": {
|
||||
"@/*": [
|
||||
"src/*"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user