aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLynithDev <61880709+LynithDev@users.noreply.github.com>2023-12-26 20:29:16 +0100
committerLynithDev <61880709+LynithDev@users.noreply.github.com>2023-12-26 20:29:16 +0100
commit530634fea254c344684d42fe7a1d5b4020f6a3ab (patch)
treebeff3954c244bb2c89245a63d984fdea7c338659
parent542fb33102902fd7461bee0c0ca8ab4d9ef58de0 (diff)
downloadNexus-530634fea254c344684d42fe7a1d5b4020f6a3ab.tar.gz
Nexus-530634fea254c344684d42fe7a1d5b4020f6a3ab.tar.bz2
Nexus-530634fea254c344684d42fe7a1d5b4020f6a3ab.zip
Footer + small tweaks
-rw-r--r--apps/website/config.ts53
-rw-r--r--apps/website/public/media/polyfrost/full.svg22
-rw-r--r--apps/website/src/components/base/Footer.astro39
-rw-r--r--apps/website/src/components/base/Link.astro17
-rw-r--r--apps/website/src/components/base/Paragraph.astro6
-rw-r--r--apps/website/src/components/base/Slider.astro2
-rw-r--r--apps/website/src/components/base/navbar/Navbar.astro (renamed from apps/website/src/components/base/Navbar.astro)2
-rw-r--r--apps/website/src/components/base/navbar/NavbarElement.astro (renamed from apps/website/src/components/base/NavbarElement.astro)8
-rw-r--r--apps/website/src/components/icons/Icon.astro21
-rw-r--r--apps/website/src/components/icons/impl/discord.svg1
-rw-r--r--apps/website/src/components/icons/impl/github.svg3
-rw-r--r--apps/website/src/components/icons/impl/youtube.svg3
-rw-r--r--apps/website/src/components/logos/Logo.astro2
-rw-r--r--apps/website/src/layouts/Layout.astro2
-rw-r--r--apps/website/src/types/Config.d.ts11
-rw-r--r--apps/website/tailwind.config.ts1
16 files changed, 160 insertions, 33 deletions
diff --git a/apps/website/config.ts b/apps/website/config.ts
index e74d7aa..8e4a47e 100644
--- a/apps/website/config.ts
+++ b/apps/website/config.ts
@@ -24,6 +24,59 @@ export const configConst = {
},
],
},
+ footer: [
+ {
+ header: "Products",
+ links: [
+ {
+ text: "OneConfig",
+ url: "/projects/oneconfig",
+ },
+ {
+ text: "OneLauncher",
+ url: "/projects/onelauncher",
+ },
+ ]
+ },
+ {
+ header: "Organization",
+ links: [
+ {
+ text: "About us",
+ url: "/about",
+ },
+ {
+ text: "Branding",
+ url: "/branding",
+ },
+ {
+ text: "Contact us",
+ url: "/contact",
+ },
+ {
+ text: "Documentation",
+ url: "/documentation",
+ }
+ ]
+ },
+ {
+ header: "Legal",
+ links: [
+ {
+ text: "Terms of service",
+ url: "/terms",
+ },
+ {
+ text: "Privacy policy",
+ url: "/privacy",
+ },
+ {
+ text: "Licenses",
+ url: "/licenses",
+ },
+ ]
+ }
+ ]
} satisfies Config;
function getProjects(): Project[] {
diff --git a/apps/website/public/media/polyfrost/full.svg b/apps/website/public/media/polyfrost/full.svg
index 8c51156..a9c05fe 100644
--- a/apps/website/public/media/polyfrost/full.svg
+++ b/apps/website/public/media/polyfrost/full.svg
@@ -1,12 +1,12 @@
-<svg width="210" height="64" viewBox="0 0 210 64" fill="none" xmlns="http://www.w3.org/2000/svg">
-<path fill-rule="evenodd" clip-rule="evenodd" d="M40.86 32.6282L31.8843 17.0816C31.0516 15.6393 29.689 15.6393 28.8564 17.0816L18.9471 34.2463C16.2562 38.9073 19.6196 44.7331 25.0015 44.7331H33.8719L40.8601 32.6288L47.8482 44.733H52.7491C56.7858 44.733 59.3082 40.3635 57.2898 36.868L49.3646 23.1415C48.532 21.6999 47.1701 21.6999 46.3374 23.1415L40.86 32.6282Z" fill="#0A5BE8"/>
-<path d="M135.79 27.03H138.95V30.6499H135.92V40.3499H131.26V30.6499H129.32V27.03H131.26V26.6699C131.26 25 131.74 23.6699 132.69 22.6799C133.65 21.6799 135.02 21.1799 136.8 21.1799C137.37 21.1799 137.93 21.24 138.49 21.3599C139.04 21.48 139.51 21.6599 139.89 21.8999L138.73 25.3198C138.54 25.2 138.32 25.0999 138.07 25.02C137.83 24.95 137.58 24.9099 137.34 24.9099C136.85 24.9099 136.47 25.0598 136.2 25.3599C135.93 25.6499 135.79 26.1099 135.79 26.72V27.03Z" fill="#0A5BE8"/>
-<path d="M149.74 26.29V30.6501L149.626 30.6343C149.457 30.6104 149.313 30.5901 149.19 30.5901C149.03 30.5801 148.86 30.5701 148.68 30.5701C147.74 30.5701 146.97 30.8401 146.38 31.3801C145.79 31.9102 145.5 32.79 145.5 33.99V40.3501H140.84V26.52H145.28V28.1799C145.61 27.72 146.03 27.3501 146.53 27.0601C147.41 26.55 148.48 26.29 149.74 26.29Z" fill="#0A5BE8"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M158.19 40.5701C156.74 40.5701 155.44 40.26 154.32 39.6501C153.19 39.04 152.31 38.1899 151.66 37.1101C151.01 36.03 150.69 34.79 150.69 33.4001C150.69 32.01 151.01 30.77 151.66 29.7C152.31 28.6301 153.19 27.79 154.32 27.1899C155.45 26.5901 156.74 26.28 158.19 26.28C159.64 26.28 160.94 26.5801 162.07 27.1899C163.2 27.79 164.09 28.6301 164.73 29.7C165.37 30.77 165.69 32.01 165.69 33.4001C165.69 34.79 165.37 36.03 164.73 37.1101C164.09 38.1899 163.21 39.04 162.07 39.6501C160.94 40.27 159.65 40.5701 158.19 40.5701ZM158.19 36.72C158.73 36.72 159.21 36.5901 159.62 36.3401C160.04 36.0801 160.37 35.71 160.61 35.2C160.85 34.6899 160.98 34.1001 160.98 33.4001C160.98 32.7 160.86 32.1101 160.61 31.6301C160.36 31.1401 160.03 30.77 159.62 30.52C159.403 30.3909 159.172 30.2937 158.926 30.23C158.695 30.1704 158.451 30.1401 158.19 30.1401C157.953 30.1401 157.727 30.167 157.51 30.22C157.252 30.2834 157.008 30.384 156.78 30.52C156.36 30.77 156.03 31.1401 155.78 31.6301C155.53 32.1101 155.4 32.71 155.4 33.4001C155.4 34.0901 155.53 34.7 155.78 35.2C156.03 35.7 156.37 36.0801 156.78 36.3401C157.2 36.5901 157.67 36.72 158.19 36.72Z" fill="#0A5BE8"/>
-<path d="M172.68 40.5701C171.55 40.5701 170.45 40.4299 169.38 40.1599C168.31 39.8901 167.45 39.55 166.8 39.1401L168.2 35.8201C168.82 36.21 169.55 36.52 170.38 36.75C171.21 36.98 172.03 37.0901 172.83 37.0901C173.61 37.0901 174.16 37.01 174.46 36.8301C174.76 36.6599 174.91 36.4299 174.91 36.1401C174.91 35.8701 174.77 35.6699 174.48 35.54C174.344 35.479 174.191 35.4248 174.018 35.3782C173.821 35.3252 173.6 35.282 173.35 35.25L172.92 35.1873L172.912 35.1858L172.893 35.1831C172.555 35.1339 172.196 35.0816 171.82 35.02C171.529 34.9724 171.235 34.9192 170.938 34.8589C170.674 34.8052 170.408 34.7458 170.14 34.6799C169.58 34.54 169.06 34.3101 168.6 34.02C168.14 33.73 167.76 33.3201 167.48 32.8101C167.2 32.3 167.06 31.6501 167.06 30.8701C167.06 29.99 167.31 29.2 167.81 28.51C168.31 27.8201 169.04 27.28 170 26.8801C170.96 26.48 172.14 26.28 173.53 26.28C173.979 26.28 174.433 26.3035 174.89 26.3489C175.378 26.3977 175.869 26.4719 176.36 26.5701C176.938 26.6855 177.463 26.8418 177.933 27.0339C178.236 27.158 178.515 27.2971 178.77 27.45L177.37 30.74C177.039 30.5415 176.706 30.374 176.372 30.239C176.05 30.1089 175.729 30.0088 175.41 29.9399C174.76 29.8 174.14 29.72 173.55 29.72C172.77 29.72 172.22 29.8101 171.9 30C171.58 30.1899 171.42 30.4199 171.42 30.6899C171.42 30.96 171.56 31.1699 171.84 31.3101C171.894 31.3369 171.95 31.3625 172.01 31.3872C172.265 31.491 172.578 31.5754 172.95 31.6401C173.32 31.7029 173.714 31.7598 174.134 31.8201L174.48 31.8701C174.8 31.9165 175.126 31.9731 175.454 32.042C175.689 32.0916 175.925 32.1472 176.16 32.21C176.401 32.2747 176.635 32.3542 176.86 32.448C177.157 32.5715 177.438 32.7195 177.7 32.8901C178.17 33.1899 178.54 33.5901 178.82 34.0901C179.1 34.5901 179.24 35.23 179.24 36.02C179.24 36.8701 178.99 37.6401 178.49 38.3201C177.99 39 177.26 39.54 176.28 39.95C175.32 40.3701 174.11 40.5701 172.68 40.5701Z" fill="#0A5BE8"/>
-<path d="M190.91 39.79C190.749 39.9014 190.573 40.0007 190.38 40.0876C190.107 40.2114 189.801 40.3096 189.46 40.3799C189.26 40.4255 189.058 40.4636 188.852 40.4941C188.471 40.5503 188.079 40.5798 187.67 40.5798C185.98 40.5798 184.65 40.1399 183.71 39.26C182.76 38.3899 182.28 37.0598 182.28 35.29V30.6499H180.35V27.03H182.28V23.4299H186.94V27.03H189.98V30.6499H186.94V35.24C186.94 35.74 187.07 36.1199 187.33 36.3999C187.59 36.6799 187.93 36.8298 188.34 36.8298C188.89 36.8298 189.37 36.6799 189.76 36.3899L190.91 39.79Z" fill="#0A5BE8"/>
-<path d="M105.89 21.4099V40.3398H110.55V21.4099H105.89Z" fill="#0A5BE8"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M86.5298 25.5601C85.9102 24.5601 85.0298 23.8 83.8999 23.28C82.7598 22.75 81.4102 22.48 79.8398 22.48H72V40.3501H76.8501V35.6799H79.8398C81.4102 35.6799 82.7598 35.4099 83.8999 34.8699C85.0298 34.3401 85.9102 33.5801 86.5298 32.5901C87.1499 31.6001 87.46 30.4399 87.46 29.0901C87.46 27.73 87.1499 26.55 86.5298 25.5601ZM81.8101 31.01C81.3198 31.47 80.5601 31.7 79.5498 31.7H76.8501V26.46H79.5498C80.5601 26.46 81.3198 26.7 81.8101 27.1499C82.3101 27.6099 82.5601 28.26 82.5601 29.0901C82.5601 29.9099 82.3101 30.55 81.8101 31.01Z" fill="#0A5BE8"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M92.3696 39.6501C93.4897 40.26 94.7896 40.5701 96.2397 40.5701C97.6899 40.5701 98.9897 40.27 100.12 39.6501C101.26 39.04 102.14 38.1899 102.78 37.1101C103.42 36.03 103.74 34.79 103.74 33.4001C103.74 32.01 103.42 30.77 102.78 29.7C102.14 28.6301 101.25 27.79 100.12 27.1899C98.9897 26.5801 97.6899 26.28 96.2397 26.28C94.7896 26.28 93.4995 26.5901 92.3696 27.1899C91.2397 27.79 90.3599 28.6301 89.71 29.7C89.0596 30.77 88.7397 32.01 88.7397 33.4001C88.7397 34.79 89.0596 36.03 89.71 37.1101C90.3599 38.1899 91.2397 39.04 92.3696 39.6501ZM97.6699 36.3401C97.2598 36.5901 96.7798 36.72 96.2397 36.72C95.71 36.72 95.2397 36.5901 94.8296 36.3401C94.4199 36.0801 94.0796 35.7 93.8296 35.2C93.6797 34.9001 93.5728 34.5608 93.5112 34.1882C93.4702 33.9397 93.4497 33.6763 93.4497 33.4001C93.4497 32.71 93.5796 32.1101 93.8296 31.6301C93.9697 31.3555 94.1348 31.1187 94.3267 30.9194C94.3916 30.8521 94.46 30.7888 94.5312 30.73C94.625 30.6526 94.7246 30.5825 94.8296 30.52C95.2495 30.27 95.7197 30.1401 96.2397 30.1401C96.4727 30.1401 96.6924 30.1643 96.9009 30.2119C97.1758 30.2747 97.4307 30.3779 97.6699 30.52C97.7417 30.564 97.811 30.6116 97.8784 30.6628C98.0581 30.8005 98.2202 30.9648 98.3643 31.1555C98.4146 31.2217 98.4624 31.291 98.5083 31.3638C98.5615 31.4482 98.6123 31.5369 98.6597 31.6301C98.7949 31.8894 98.8921 32.1807 98.9526 32.5042C99.0044 32.7795 99.0298 33.0781 99.0298 33.4001C99.0298 34.1001 98.8999 34.6899 98.6597 35.2C98.5703 35.3896 98.4688 35.5601 98.3545 35.7124C98.2446 35.8591 98.1235 35.9895 97.9907 36.1047C97.8901 36.1917 97.7832 36.2698 97.6699 36.3401Z" fill="#0A5BE8"/>
-<path d="M128.05 26.52L122.31 40.9099C122.09 41.4912 121.852 42.0103 121.595 42.4675C121.326 42.9463 121.037 43.3572 120.73 43.7C120.14 44.3701 119.47 44.8501 118.75 45.1201C118.02 45.3901 117.21 45.53 116.33 45.53C115.63 45.53 114.92 45.4099 114.21 45.1799C113.5 44.95 112.93 44.6499 112.49 44.28L114.1 40.8801C114.38 41.1401 114.7 41.3401 115.07 41.48C115.277 41.564 115.48 41.6228 115.683 41.6582C115.843 41.6863 116.001 41.7 116.16 41.7C116.67 41.7 117.07 41.5801 117.36 41.3401C117.465 41.2563 117.565 41.1555 117.658 41.0378C117.777 40.8882 117.885 40.7117 117.98 40.51L112.29 26.52H117.07L120.33 34.97L123.61 26.52H128.05Z" fill="#0A5BE8"/>
+<svg width="174" height="30" viewBox="0 0 174 30" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path fill-rule="evenodd" clip-rule="evenodd" d="M22.86 16.6283L13.8843 1.08171C13.0516 -0.36057 11.689 -0.36057 10.8564 1.08171L0.947095 18.2464C-1.74381 22.9075 1.61965 28.7332 7.00145 28.7332H15.8719L22.8601 16.629L29.8482 28.7331H34.7491C38.7858 28.7331 41.3082 24.3637 39.2898 20.8681L31.3646 7.14161C30.532 5.70003 29.1701 5.70003 28.3374 7.14161L22.86 16.6283Z" fill="#2567D8"/>
+<path d="M117.79 11.03H120.95V14.6499H117.92V24.3499H113.26V14.6499H111.32V11.03H113.26V10.6699C113.26 9 113.74 7.66992 114.69 6.67993C115.65 5.67993 117.02 5.17993 118.8 5.17993C119.37 5.17993 119.93 5.23999 120.49 5.35986C121.04 5.47998 121.51 5.65991 121.89 5.8999L120.73 9.31982C120.54 9.19995 120.32 9.09985 120.07 9.02002C119.83 8.94995 119.58 8.90991 119.34 8.90991C118.85 8.90991 118.47 9.05981 118.2 9.35986C117.93 9.6499 117.79 10.1099 117.79 10.72V11.03Z" fill="#2567D8"/>
+<path d="M131.74 10.29V14.6501L131.626 14.6343C131.457 14.6104 131.313 14.5901 131.19 14.5901C131.03 14.5801 130.86 14.5701 130.68 14.5701C129.74 14.5701 128.97 14.8401 128.38 15.3801C127.79 15.9102 127.5 16.79 127.5 17.99V24.3501H122.84V10.52H127.28V12.1799C127.61 11.72 128.03 11.3501 128.53 11.0601C129.41 10.55 130.48 10.29 131.74 10.29Z" fill="#2567D8"/>
+<path fill-rule="evenodd" clip-rule="evenodd" d="M140.19 24.5701C138.74 24.5701 137.44 24.26 136.32 23.6501C135.19 23.04 134.31 22.1899 133.66 21.1101C133.01 20.03 132.69 18.79 132.69 17.4001C132.69 16.01 133.01 14.77 133.66 13.7C134.31 12.6301 135.19 11.79 136.32 11.1899C137.45 10.5901 138.74 10.28 140.19 10.28C141.64 10.28 142.94 10.5801 144.07 11.1899C145.2 11.79 146.09 12.6301 146.73 13.7C147.37 14.77 147.69 16.01 147.69 17.4001C147.69 18.79 147.37 20.03 146.73 21.1101C146.09 22.1899 145.21 23.04 144.07 23.6501C142.94 24.27 141.65 24.5701 140.19 24.5701ZM140.19 20.72C140.73 20.72 141.21 20.5901 141.62 20.3401C142.04 20.0801 142.37 19.71 142.61 19.2C142.85 18.6899 142.98 18.1001 142.98 17.4001C142.98 16.7 142.86 16.1101 142.61 15.6301C142.36 15.1401 142.03 14.77 141.62 14.52C141.403 14.3909 141.172 14.2937 140.926 14.23C140.695 14.1704 140.451 14.1401 140.19 14.1401C139.953 14.1401 139.727 14.167 139.51 14.22C139.252 14.2834 139.008 14.384 138.78 14.52C138.36 14.77 138.03 15.1401 137.78 15.6301C137.53 16.1101 137.4 16.71 137.4 17.4001C137.4 18.0901 137.53 18.7 137.78 19.2C138.03 19.7 138.37 20.0801 138.78 20.3401C139.2 20.5901 139.67 20.72 140.19 20.72Z" fill="#2567D8"/>
+<path d="M154.68 24.5701C153.55 24.5701 152.45 24.4299 151.38 24.1599C150.31 23.8901 149.45 23.55 148.8 23.1401L150.2 19.8201C150.82 20.21 151.55 20.52 152.38 20.75C153.21 20.98 154.03 21.0901 154.83 21.0901C155.61 21.0901 156.16 21.01 156.46 20.8301C156.76 20.6599 156.91 20.4299 156.91 20.1401C156.91 19.8701 156.77 19.6699 156.48 19.54C156.344 19.479 156.191 19.4248 156.018 19.3782C155.821 19.3252 155.6 19.282 155.35 19.25L154.92 19.1873L154.912 19.1858L154.893 19.1831C154.555 19.1339 154.196 19.0816 153.82 19.02C153.529 18.9724 153.235 18.9192 152.938 18.8589C152.674 18.8052 152.408 18.7458 152.14 18.6799C151.58 18.54 151.06 18.3101 150.6 18.02C150.14 17.73 149.76 17.3201 149.48 16.8101C149.2 16.3 149.06 15.6501 149.06 14.8701C149.06 13.99 149.31 13.2 149.81 12.51C150.31 11.8201 151.04 11.28 152 10.8801C152.96 10.48 154.14 10.28 155.53 10.28C155.979 10.28 156.433 10.3035 156.89 10.3489C157.378 10.3977 157.869 10.4719 158.36 10.5701C158.938 10.6855 159.463 10.8418 159.933 11.0339C160.236 11.158 160.515 11.2971 160.77 11.45L159.37 14.74C159.039 14.5415 158.706 14.374 158.372 14.239C158.05 14.1089 157.729 14.0088 157.41 13.9399C156.76 13.8 156.14 13.72 155.55 13.72C154.77 13.72 154.22 13.8101 153.9 14C153.58 14.1899 153.42 14.4199 153.42 14.6899C153.42 14.96 153.56 15.1699 153.84 15.3101C153.894 15.3369 153.95 15.3625 154.01 15.3872C154.265 15.491 154.578 15.5754 154.95 15.6401C155.32 15.7029 155.714 15.7598 156.134 15.8201L156.48 15.8701C156.8 15.9165 157.126 15.9731 157.454 16.042C157.689 16.0916 157.925 16.1472 158.16 16.21C158.401 16.2747 158.635 16.3542 158.86 16.448C159.157 16.5715 159.438 16.7195 159.7 16.8901C160.17 17.1899 160.54 17.5901 160.82 18.0901C161.1 18.5901 161.24 19.23 161.24 20.02C161.24 20.8701 160.99 21.6401 160.49 22.3201C159.99 23 159.26 23.54 158.28 23.95C157.32 24.3701 156.11 24.5701 154.68 24.5701Z" fill="#2567D8"/>
+<path d="M172.91 23.79C172.749 23.9014 172.573 24.0007 172.38 24.0876C172.107 24.2114 171.801 24.3096 171.46 24.3799C171.26 24.4255 171.058 24.4636 170.852 24.4941C170.471 24.5503 170.079 24.5798 169.67 24.5798C167.98 24.5798 166.65 24.1399 165.71 23.26C164.76 22.3899 164.28 21.0598 164.28 19.29V14.6499H162.35V11.03H164.28V7.42993H168.94V11.03H171.98V14.6499H168.94V19.24C168.94 19.74 169.07 20.1199 169.33 20.3999C169.59 20.6799 169.93 20.8298 170.34 20.8298C170.89 20.8298 171.37 20.6799 171.76 20.3899L172.91 23.79Z" fill="#2567D8"/>
+<path d="M87.8901 5.40991V24.3398H92.5503V5.40991H87.8901Z" fill="#2567D8"/>
+<path fill-rule="evenodd" clip-rule="evenodd" d="M68.5298 9.56006C67.9102 8.56006 67.0298 7.80005 65.8999 7.28003C64.7598 6.75 63.4102 6.47998 61.8398 6.47998H54V24.3501H58.8501V19.6799H61.8398C63.4102 19.6799 64.7598 19.4099 65.8999 18.8699C67.0298 18.3401 67.9102 17.5801 68.5298 16.5901C69.1499 15.6001 69.46 14.4399 69.46 13.0901C69.46 11.73 69.1499 10.55 68.5298 9.56006ZM63.8101 15.01C63.3198 15.47 62.5601 15.7 61.5498 15.7H58.8501V10.46H61.5498C62.5601 10.46 63.3198 10.7 63.8101 11.1499C64.3101 11.6099 64.5601 12.26 64.5601 13.0901C64.5601 13.9099 64.3101 14.55 63.8101 15.01Z" fill="#2567D8"/>
+<path fill-rule="evenodd" clip-rule="evenodd" d="M74.3696 23.6501C75.4897 24.26 76.7896 24.5701 78.2397 24.5701C79.6899 24.5701 80.9897 24.27 82.1196 23.6501C83.2598 23.04 84.1396 22.1899 84.7798 21.1101C85.4199 20.03 85.7397 18.79 85.7397 17.4001C85.7397 16.01 85.4199 14.77 84.7798 13.7C84.1396 12.6301 83.2495 11.79 82.1196 11.1899C80.9897 10.5801 79.6899 10.28 78.2397 10.28C76.7896 10.28 75.4995 10.5901 74.3696 11.1899C73.2397 11.79 72.3599 12.6301 71.71 13.7C71.0596 14.77 70.7397 16.01 70.7397 17.4001C70.7397 18.79 71.0596 20.03 71.71 21.1101C72.3599 22.1899 73.2397 23.04 74.3696 23.6501ZM79.6699 20.3401C79.2598 20.5901 78.7798 20.72 78.2397 20.72C77.71 20.72 77.2397 20.5901 76.8296 20.3401C76.4199 20.0801 76.0796 19.7 75.8296 19.2C75.6797 18.9001 75.5728 18.5608 75.5112 18.1882C75.4702 17.9397 75.4497 17.6763 75.4497 17.4001C75.4497 16.71 75.5796 16.1101 75.8296 15.6301C75.9697 15.3555 76.1348 15.1187 76.3267 14.9194C76.3916 14.8521 76.46 14.7888 76.5312 14.73C76.625 14.6526 76.7246 14.5825 76.8296 14.52C77.2495 14.27 77.7197 14.1401 78.2397 14.1401C78.4727 14.1401 78.6924 14.1643 78.9009 14.2119C79.1758 14.2747 79.4307 14.3779 79.6699 14.52C79.7417 14.564 79.811 14.6116 79.8784 14.6628C80.0581 14.8005 80.2202 14.9648 80.3643 15.1555C80.4146 15.2217 80.4624 15.291 80.5083 15.3638C80.5615 15.4482 80.6123 15.5369 80.6597 15.6301C80.7949 15.8894 80.8921 16.1807 80.9526 16.5042C81.0044 16.7795 81.0298 17.0781 81.0298 17.4001C81.0298 18.1001 80.8999 18.6899 80.6597 19.2C80.5703 19.3896 80.4688 19.5601 80.3545 19.7124C80.2446 19.8591 80.1235 19.9895 79.9907 20.1047C79.8901 20.1917 79.7832 20.2698 79.6699 20.3401Z" fill="#2567D8"/>
+<path d="M110.05 10.52L104.31 24.9099C104.09 25.4912 103.852 26.0103 103.595 26.4675C103.326 26.9463 103.037 27.3572 102.73 27.7C102.14 28.3701 101.47 28.8501 100.75 29.1201C100.02 29.3901 99.21 29.53 98.3301 29.53C97.6299 29.53 96.9199 29.4099 96.21 29.1799C95.5 28.95 94.9302 28.6499 94.4902 28.28L96.1001 24.8801C96.3799 25.1401 96.7002 25.3401 97.0698 25.48C97.2769 25.564 97.4805 25.6228 97.6831 25.6582C97.8428 25.6863 98.0015 25.7 98.1602 25.7C98.6699 25.7 99.0698 25.5801 99.3599 25.3401C99.4653 25.2563 99.5654 25.1555 99.6582 25.0378C99.7769 24.8882 99.8848 24.7117 99.98 24.51L94.29 10.52H99.0698L102.33 18.97L105.61 10.52H110.05Z" fill="#2567D8"/>
</svg>
diff --git a/apps/website/src/components/base/Footer.astro b/apps/website/src/components/base/Footer.astro
index 0eaa4ba..bf019ac 100644
--- a/apps/website/src/components/base/Footer.astro
+++ b/apps/website/src/components/base/Footer.astro
@@ -1,15 +1,42 @@
---
-
+import Icon from "@components/icons/Icon.astro";
+import Logo from "@components/logos/Logo.astro";
+import configConst from "@config";
+import Link from "./Link.astro";
---
-<footer class="flex flex-row justify-between items-start min-h-[400px] bg-blue-100 mt-4">
- <div class="p-20 max-w-[1024px]">
- <div class="flex-1">
+<footer class="flex justify-center items-center bg-blue-100 mt-4 pt-20 pb-8 px-20">
+ <div class="max-w-[1024px] w-full flex flex-col gap-y-24">
+ <div class="flex flex-col gap-y-20 justify-center items-start md:flex-row md:items-start md:justify-between">
+ <div class="flex-1 flex flex-col gap-y-3 text-blue-gray">
+ <Logo logo="polyfrost.full" />
+ <p>English, USA</p> {/* hardcoded for now */}
+ <div class="flex flex-row gap-3">
+ <a href="" class="hover:text-[#5865F2]"><Icon icon="discord" /></a>
+ <a href="" class="hover:text-[#ff0000]"><Icon icon="youtube" /></a>
+ <a href="" class="hover:text-[#000000]"><Icon icon="github" /></a>
+ </div>
+ </div>
+ <div class="flex-1 flex flex-col md:flex-row justify-end gap-8">
+ {configConst.footer.map((column) => (
+ <div class="flex flex-col gap-y-3">
+ <h3 class="text-gray-700 text-md">{column.header}</h3>
+ <ul class="flex flex-col gap-y-1">
+ {column.links.map((link) => (
+ <li>
+ <Link href={link.url} class="text-blue-gray text-sm text-nowrap">{link.text}</Link>
+ </li>
+ ))}
+ </ul>
+ </div>
+ ))}
+ </div>
</div>
- <div class="flex-1 ">
-
+ <div class="flex flex-col items-center md:flex-row md: items-start md:justify-between">
+ <p class="text-blue-gray text-sm">© {new Date().getFullYear()} Polyfrost. All rights reserved.</p>
+ <p class="text-blue-gray text-sm">Not affiliated with Mojang Studios.</p>
</div>
</div>
</footer>
diff --git a/apps/website/src/components/base/Link.astro b/apps/website/src/components/base/Link.astro
new file mode 100644
index 0000000..5fa6d75
--- /dev/null
+++ b/apps/website/src/components/base/Link.astro
@@ -0,0 +1,17 @@
+---
+import type { HTMLAttributes } from "astro/types";
+
+interface Props extends HTMLAttributes<"a"> {
+
+}
+
+const props = Astro.props;
+const className = [
+ "hover:text-blue-500 hover:underline transition-colors",
+ props.class,
+].join(' ');
+---
+
+<a class={className} {...props}>
+ <slot />
+</a>
diff --git a/apps/website/src/components/base/Paragraph.astro b/apps/website/src/components/base/Paragraph.astro
index ffb1030..5ceaf6e 100644
--- a/apps/website/src/components/base/Paragraph.astro
+++ b/apps/website/src/components/base/Paragraph.astro
@@ -26,6 +26,6 @@ const className = [
].join(' ');
---
- <p class={className} {...props}>
- {text || <slot/>}
- </p>
+<p class={className} {...props}>
+ {text || <slot/>}
+</p>
diff --git a/apps/website/src/components/base/Slider.astro b/apps/website/src/components/base/Slider.astro
index 3fbca91..625d7ff 100644
--- a/apps/website/src/components/base/Slider.astro
+++ b/apps/website/src/components/base/Slider.astro
@@ -14,7 +14,7 @@ const {
wrapperClass = '',
childrenNum,
childrenSize = '256px',
- speed = '20s',
+ speed = '25s',
} = Astro.props;
---
diff --git a/apps/website/src/components/base/Navbar.astro b/apps/website/src/components/base/navbar/Navbar.astro
index 15f7638..ca39f2b 100644
--- a/apps/website/src/components/base/Navbar.astro
+++ b/apps/website/src/components/base/navbar/Navbar.astro
@@ -1,7 +1,7 @@
---
import type { Config } from '@webtypes/Config';
import config from 'config';
-import NavbarElement from './NavbarElement.astro';
+import NavbarElement from '../navbar/NavbarElement.astro';
---
diff --git a/apps/website/src/components/base/NavbarElement.astro b/apps/website/src/components/base/navbar/NavbarElement.astro
index 8a254d6..8a455de 100644
--- a/apps/website/src/components/base/NavbarElement.astro
+++ b/apps/website/src/components/base/navbar/NavbarElement.astro
@@ -2,10 +2,10 @@
import Icon from '@components/icons/Icon.astro';
import Logo from '@components/logos/Logo.astro';
import type { LogoType, NavbarElement } from '@webtypes/Config';
-import Header from './Header.astro';
-import ScreenOverlay from './ScreenOverlay.astro';
-import ScrollbarOverlayContainer from './ScrollbarOverlayContainer.astro';
-import Tag from './Tag.astro';
+import Header from '../Header.astro';
+import ScreenOverlay from '../ScreenOverlay.astro';
+import ScrollbarOverlayContainer from '../ScrollbarOverlayContainer.astro';
+import Tag from '../Tag.astro';
interface Props {
element: NavbarElement
diff --git a/apps/website/src/components/icons/Icon.astro b/apps/website/src/components/icons/Icon.astro
index b9a9b34..858b605 100644
--- a/apps/website/src/components/icons/Icon.astro
+++ b/apps/website/src/components/icons/Icon.astro
@@ -1,6 +1,7 @@
---
import type { HTMLAttributes } from 'astro/types';
import { parse } from 'node-html-parser';
+import Test from "./impl/book-open.svg";
type _ModIcons =
| 'chatting'
@@ -12,21 +13,32 @@ type _ModIcons =
| 'polyweather'
| 'keystrokes';
export type ModIcons = _ModIcons; // bypass for Astro compiler issue https://github.com/withastro/compiler/issues/554#issuecomment-1741702411
+
+type _External =
+ | 'discord'
+ | 'github'
+ | 'youtube'
+ | 'twitter';
+
+export type External = _External;
+
type _Icons =
| 'chevron-down'
| 'download'
| 'book-open'
| 'link-external'
+ | External
| ModIcons;
export type Icons = _Icons; // bypass for Astro compiler issue https://github.com/withastro/compiler/issues/554#issuecomment-1741702411
interface Props extends HTMLAttributes<'svg'> {
- icon: Icons
+ icon: Icons,
+ path?: string,
size?: number | [number, number]
}
-async function getSVG(name: string) {
- const file = await import(/* @vite-ignore */ `./impl/${name}.svg?raw`);
+async function getSVG(name: string, path = 'impl') {
+ const file = await import(`./${path}/${name}.svg?raw`);
if (!file)
throw new Error(`${name} not found`);
@@ -49,6 +61,7 @@ async function getSVG(name: string) {
const {
icon,
size,
+ path = 'impl',
...attributes
} = Astro.props as Props;
@@ -73,7 +86,7 @@ try {
};
};
- const { attributes: baseAttributes, innerHTML } = await getSVG(icon);
+ const { attributes: baseAttributes, innerHTML } = await getSVG(icon, path);
svgAttributes = {
...baseAttributes,
...attributes,
diff --git a/apps/website/src/components/icons/impl/discord.svg b/apps/website/src/components/icons/impl/discord.svg
new file mode 100644
index 0000000..7fcddad
--- /dev/null
+++ b/apps/website/src/components/icons/impl/discord.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 127.14 96.36"><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>
diff --git a/apps/website/src/components/icons/impl/github.svg b/apps/website/src/components/icons/impl/github.svg
new file mode 100644
index 0000000..cb3681d
--- /dev/null
+++ b/apps/website/src/components/icons/impl/github.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="currentColor" viewBox="0 0 16 16">
+ <path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.012 8.012 0 0 0 16 8c0-4.42-3.58-8-8-8"/>
+ </svg>
diff --git a/apps/website/src/components/icons/impl/youtube.svg b/apps/website/src/components/icons/impl/youtube.svg
new file mode 100644
index 0000000..827dc58
--- /dev/null
+++ b/apps/website/src/components/icons/impl/youtube.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="currentColor" viewBox="0 0 16 16">
+ <path d="M8.051 1.999h.089c.822.003 4.987.033 6.11.335a2.01 2.01 0 0 1 1.415 1.42c.101.38.172.883.22 1.402l.01.104.022.26.008.104c.065.914.073 1.77.074 1.957v.075c-.001.194-.01 1.108-.082 2.06l-.008.105-.009.104c-.05.572-.124 1.14-.235 1.558a2.007 2.007 0 0 1-1.415 1.42c-1.16.312-5.569.334-6.18.335h-.142c-.309 0-1.587-.006-2.927-.052l-.17-.006-.087-.004-.171-.007-.171-.007c-1.11-.049-2.167-.128-2.654-.26a2.007 2.007 0 0 1-1.415-1.419c-.111-.417-.185-.986-.235-1.558L.09 9.82l-.008-.104A31.4 31.4 0 0 1 0 7.68v-.123c.002-.215.01-.958.064-1.778l.007-.103.003-.052.008-.104.022-.26.01-.104c.048-.519.119-1.023.22-1.402a2.007 2.007 0 0 1 1.415-1.42c.487-.13 1.544-.21 2.654-.26l.17-.007.172-.006.086-.003.171-.007A99.788 99.788 0 0 1 7.858 2h.193zM6.4 5.209v4.818l4.157-2.408z"/>
+ </svg>
diff --git a/apps/website/src/components/logos/Logo.astro b/apps/website/src/components/logos/Logo.astro
index c2333e1..7988092 100644
--- a/apps/website/src/components/logos/Logo.astro
+++ b/apps/website/src/components/logos/Logo.astro
@@ -51,4 +51,4 @@ catch (err) {
---
- <Fragment set:html={svg}/>
+<Fragment set:html={svg}/>
diff --git a/apps/website/src/layouts/Layout.astro b/apps/website/src/layouts/Layout.astro
index 56b4abc..ccce067 100644
--- a/apps/website/src/layouts/Layout.astro
+++ b/apps/website/src/layouts/Layout.astro
@@ -1,7 +1,7 @@
---
import '../styles/global.css';
import Footer from '@components/base/Footer.astro';
-import Navbar from '../components/base/Navbar.astro';
+import Navbar from '../components/base/navbar/Navbar.astro';
import Favicon from '/media/polyfrost/minimal_bg.svg?url';
interface Props {
diff --git a/apps/website/src/types/Config.d.ts b/apps/website/src/types/Config.d.ts
index 8d76ff7..f53967a 100644
--- a/apps/website/src/types/Config.d.ts
+++ b/apps/website/src/types/Config.d.ts
@@ -24,11 +24,20 @@ export interface NavbarElement {
dropdown?: NavbarDropdown[]
}
+export interface FooterColumn {
+ header: string
+ links: {
+ text: string,
+ url: string,
+ }[]
+}
+
export interface Config {
projects: Project[]
logos: string[]
navbar: {
left: NavbarElement[]
right: NavbarElement[]
- }
+ },
+ footer: FooterColumn[]
}
diff --git a/apps/website/tailwind.config.ts b/apps/website/tailwind.config.ts
index 542f10c..e0c91a0 100644
--- a/apps/website/tailwind.config.ts
+++ b/apps/website/tailwind.config.ts
@@ -40,6 +40,7 @@ const config: Config = {
},
// Other
'navy-peony': 'rgba(32, 55, 91, 1)',
+ 'blue-gray': 'rgba(119, 143, 183, 1)',
'primary': {
600: 'rgba(20, 82, 204, 1)',
},