Skip to content

Homepage 2025 #1845

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 300 commits into
base: main
Choose a base branch
from
Draft
Changes from all commits
Commits
Show all changes
300 commits
Select commit Hold shift + click to select a range
250ff5c
clean up pricing section
thejessewinton Feb 24, 2025
def1ec5
Merge branch 'main' into homepage-2025
thejessewinton Feb 25, 2025
ac45a7b
dashboard
thejessewinton Feb 25, 2025
fd3e516
Update network-map.svelte
thejessewinton Feb 25, 2025
c7d1097
Merge branch 'main' into homepage-2025
thejessewinton Feb 26, 2025
270a90d
Merge branch 'main' into homepage-2025
thejessewinton Feb 27, 2025
10c58a6
Merge branch 'main' into homepage-2025
thejessewinton Feb 28, 2025
9bea9a7
Merge branch 'main' into homepage-2025
thejessewinton Mar 3, 2025
93a2073
Merge branch 'main' into homepage-2025
thejessewinton Mar 3, 2025
d2c8583
Merge branch 'main' into homepage-2025
thejessewinton Mar 4, 2025
3b7c9df
Merge branch 'main' into homepage-2025
thejessewinton Mar 4, 2025
d37ac16
update the animations
thejessewinton Mar 4, 2025
5bca8d3
Update functions.svelte
thejessewinton Mar 5, 2025
cee3000
Merge branch 'main' into homepage-2025
thejessewinton Mar 5, 2025
92f34df
updates
thejessewinton Mar 5, 2025
1ec4027
Merge branch 'main' into homepage-2025
thejessewinton Mar 5, 2025
efeed6d
Merge branch 'main' into homepage-2025
thejessewinton Mar 6, 2025
316e6d0
Merge branch 'main' into homepage-2025
thejessewinton Mar 6, 2025
1c9fd60
tweaks?
thejessewinton Mar 6, 2025
bc61474
Merge branch 'main' into homepage-2025
thejessewinton Mar 7, 2025
07f3618
Merge branch 'main' into homepage-2025
thejessewinton Mar 7, 2025
fd6d331
Merge branch 'main' into homepage-2025
thejessewinton Mar 10, 2025
15aed09
Merge branch 'main' into homepage-2025
thejessewinton Mar 10, 2025
295e73d
update
thejessewinton Mar 10, 2025
b61f0be
update
thejessewinton Mar 11, 2025
cb7f7ee
structure for databases
thejessewinton Mar 11, 2025
e08b848
update
thejessewinton Mar 11, 2025
20299e3
auth and db
thejessewinton Mar 11, 2025
9767525
work on auth
thejessewinton Mar 11, 2025
20bcac6
start messaging
thejessewinton Mar 11, 2025
2c40e0e
update
thejessewinton Mar 11, 2025
1d33fd5
Merge branch 'main' into homepage-2025
thejessewinton Mar 11, 2025
2c1de15
update classes
thejessewinton Mar 12, 2025
3925eec
Merge branch 'main' into homepage-2025
thejessewinton Mar 12, 2025
c8cc92d
Merge branch 'main' into homepage-2025
thejessewinton Mar 13, 2025
c547986
Merge branch 'main' into homepage-2025
thejessewinton Mar 14, 2025
a98946d
Merge branch 'main' into homepage-2025
thejessewinton Mar 14, 2025
a74771d
update formatting
thejessewinton Mar 14, 2025
096224c
Update package.json
thejessewinton Mar 14, 2025
34b6d3f
Update messaging.svelte
thejessewinton Mar 14, 2025
ae1b0a8
Merge branch 'main' into homepage-2025
thejessewinton Mar 17, 2025
0ccda05
Merge branch 'main' into homepage-2025
thejessewinton Mar 18, 2025
78f715e
working vertical marquee
thejessewinton Mar 18, 2025
edc5767
marquee finally
thejessewinton Mar 18, 2025
3ad6fbd
Update functions.svelte
thejessewinton Mar 18, 2025
5608c8b
Update functions.svelte
thejessewinton Mar 19, 2025
6bbad77
updating animations
thejessewinton Mar 19, 2025
e6ddf44
mobile animations
thejessewinton Mar 19, 2025
4719ebe
Update functions.svelte
thejessewinton Mar 19, 2025
f117c0a
tweaks
thejessewinton Mar 20, 2025
d50c70d
Update functions.svelte
thejessewinton Mar 20, 2025
2259110
Merge branch 'main' into homepage-2025
thejessewinton Mar 21, 2025
248f1b5
Update package.json
thejessewinton Mar 21, 2025
8f97f1f
update folders
thejessewinton Mar 21, 2025
62a5b81
updating
thejessewinton Mar 21, 2025
12ed0d3
realtime animation
thejessewinton Mar 21, 2025
d3082c2
updates
thejessewinton Mar 21, 2025
775c174
clean up functions
thejessewinton Mar 21, 2025
5a1d445
Update functions.svelte
thejessewinton Mar 21, 2025
1feca00
Update functions.svelte
thejessewinton Mar 21, 2025
a55d0f9
Update functions.svelte
thejessewinton Mar 21, 2025
e356b97
Merge branch 'main' into homepage-2025
thejessewinton Mar 24, 2025
e33205f
update storage
thejessewinton Mar 24, 2025
0b136c0
Update storage.svelte
thejessewinton Mar 24, 2025
bcbdaaa
update
thejessewinton Mar 24, 2025
5a7c4ae
update storage
thejessewinton Mar 24, 2025
ccc299a
Update storage.svelte
thejessewinton Mar 24, 2025
76eb89a
update
thejessewinton Mar 25, 2025
37635ab
Merge branch 'main' into homepage-2025
thejessewinton Mar 25, 2025
7a71906
updates
thejessewinton Mar 25, 2025
770d773
Merge branch 'main' into homepage-2025
thejessewinton Mar 26, 2025
ca27cde
Merge branch 'main' into homepage-2025
thejessewinton Mar 26, 2025
ff5f895
tweaks
thejessewinton Mar 26, 2025
06e3242
updates
thejessewinton Mar 26, 2025
3540261
Merge branch 'main' into homepage-2025
thejessewinton Mar 27, 2025
30550a5
update
thejessewinton Mar 27, 2025
18a818d
Merge branch 'main' into homepage-2025
thejessewinton Apr 1, 2025
0f528ef
Merge branch 'main' into homepage-2025
thejessewinton Apr 1, 2025
ee52547
Merge branch 'main' into homepage-2025
thejessewinton Apr 2, 2025
7bf0d09
Merge branch 'main' into homepage-2025
thejessewinton Apr 2, 2025
2cba4f5
Merge branch 'main' into homepage-2025
thejessewinton Apr 2, 2025
b35e818
Merge branch 'main' into homepage-2025
thejessewinton Apr 7, 2025
9a25cbd
Merge branch 'main' into homepage-2025
thejessewinton Apr 7, 2025
2cf0915
updates
thejessewinton Apr 7, 2025
292fba0
update syntax
thejessewinton Apr 7, 2025
ee640a7
Update case-studies.svelte
thejessewinton Apr 7, 2025
5e4cfc5
formatting
thejessewinton Apr 7, 2025
9fe690b
new variant syntax
thejessewinton Apr 7, 2025
d12c624
updates
thejessewinton Apr 7, 2025
7236379
update bg texture
thejessewinton Apr 7, 2025
4a41d82
Merge branch 'main' into homepage-2025
thejessewinton Apr 9, 2025
37299d3
update
thejessewinton Apr 9, 2025
39c678c
Merge branch 'main' into homepage-2025
thejessewinton Apr 9, 2025
d519340
Update scripts.js
thejessewinton Apr 10, 2025
89229c0
Update scripts.js
thejessewinton Apr 10, 2025
3464028
Merge branch 'main' into homepage-2025
thejessewinton Apr 10, 2025
0bd4604
format
thejessewinton Apr 10, 2025
b12b454
updated nav menu?
thejessewinton Apr 10, 2025
14259b2
updates
thejessewinton Apr 10, 2025
9528d9e
Update app.css
thejessewinton Apr 10, 2025
ad1eae7
updates
thejessewinton Apr 10, 2025
c933f85
Merge branch 'main' into homepage-2025
thejessewinton Apr 11, 2025
2b12982
nav tweaks
thejessewinton Apr 11, 2025
1910666
updates
thejessewinton Apr 11, 2025
82ba758
some tweaks
thejessewinton Apr 11, 2025
b584d86
tweaks
thejessewinton Apr 11, 2025
c0dfd48
Merge branch 'main' into homepage-2025
thejessewinton Apr 16, 2025
22474e2
Update noise.svelte
thejessewinton Apr 16, 2025
3fc48c0
Merge branch 'main' into homepage-2025
thejessewinton Apr 16, 2025
5b90b7c
reusable nav menu
thejessewinton Apr 16, 2025
abf13d6
so much better
thejessewinton Apr 16, 2025
f3059b9
better organization
thejessewinton Apr 16, 2025
77e3e77
animate texts
thejessewinton Apr 16, 2025
fd84818
better font handling
thejessewinton Apr 17, 2025
063565e
trigger build
thejessewinton Apr 17, 2025
4871395
update versions and remove errors
thejessewinton Apr 17, 2025
4b2d979
Merge branch 'main' into homepage-2025
thejessewinton Apr 17, 2025
9e2e695
Update +page.svelte
thejessewinton Apr 17, 2025
a360b94
Update +page.svelte
thejessewinton Apr 17, 2025
432545b
fixes
thejessewinton Apr 17, 2025
389a335
update
thejessewinton Apr 17, 2025
0a19922
update case studies
thejessewinton Apr 17, 2025
d9c3e60
homepage on homepage route
thejessewinton Apr 17, 2025
759b5c0
updates
thejessewinton Apr 17, 2025
6da782d
update
thejessewinton Apr 17, 2025
c3b1f39
Update +page.svelte
thejessewinton Apr 17, 2025
f3a6004
Merge branch 'main' into homepage-2025
thejessewinton Apr 17, 2025
2ded592
updates
thejessewinton Apr 18, 2025
7150a3a
Update scale.svelte
thejessewinton Apr 18, 2025
331f29e
update
thejessewinton Apr 18, 2025
7b0fe17
timed animations
thejessewinton Apr 18, 2025
460e52d
Update functions.svelte
thejessewinton Apr 18, 2025
309312f
step animation
thejessewinton Apr 18, 2025
e6ba4e3
Update functions.svelte
thejessewinton Apr 18, 2025
63827f6
Merge branch 'main' into homepage-2025
thejessewinton Apr 21, 2025
4777a1c
Update package.json
thejessewinton Apr 21, 2025
14f28cc
come back to functions, jeez
thejessewinton Apr 21, 2025
2293555
update hydration
thejessewinton Apr 21, 2025
365c87b
Update scale.svelte
thejessewinton Apr 21, 2025
7d59ef7
Update storage.svelte
thejessewinton Apr 21, 2025
9e23e16
auth animation
thejessewinton Apr 21, 2025
2cd99a2
Update auth.svelte
thejessewinton Apr 21, 2025
597f268
update
thejessewinton Apr 22, 2025
87eb690
Merge branch 'main' into homepage-2025
thejessewinton Apr 23, 2025
066d876
update
thejessewinton Apr 23, 2025
af13ce5
Merge branch 'main' into homepage-2025
thejessewinton Apr 24, 2025
1e6b039
db animation
thejessewinton Apr 24, 2025
ae9643d
overflow and pricing section
thejessewinton Apr 24, 2025
5b87886
Update functions.svelte
thejessewinton Apr 24, 2025
beaeb50
finish homepage details
thejessewinton Apr 24, 2025
a638b05
Update hero.svelte
thejessewinton Apr 24, 2025
10be11a
Update sites.svelte
thejessewinton Apr 25, 2025
e263b9e
update hero and map
thejessewinton Apr 25, 2025
8bf4eaf
add description text to pins
thejessewinton Apr 25, 2025
742958c
svg instead of custom
thejessewinton Apr 25, 2025
7f8e715
Update scale.svelte
thejessewinton Apr 25, 2025
9ca5925
updates
thejessewinton Apr 25, 2025
f563874
Update scale.svelte
thejessewinton Apr 25, 2025
b472413
nice
thejessewinton Apr 25, 2025
e625a6a
Update scale.svelte
thejessewinton Apr 25, 2025
83e31cf
Update scale.svelte
thejessewinton Apr 25, 2025
f12a334
Update scale.svelte
thejessewinton Apr 25, 2025
9ea3a8c
Merge branch 'main' into homepage-2025
thejessewinton Apr 28, 2025
5c5e908
update to scale
thejessewinton Apr 28, 2025
0ae59e1
Update dashboard.svelte
thejessewinton Apr 28, 2025
fd14c0e
update sites icon
thejessewinton Apr 29, 2025
32016e0
Merge branch 'main' into homepage-2025
thejessewinton May 7, 2025
e54af8f
updates
thejessewinton May 7, 2025
610776a
update
thejessewinton May 8, 2025
5d5f7d2
Merge branch 'main' into homepage-2025
thejessewinton May 8, 2025
53b7eb9
updates
thejessewinton May 8, 2025
65b0b89
update packages
thejessewinton May 8, 2025
d9825e2
updates
thejessewinton May 8, 2025
3d781c4
Update scale.svelte
thejessewinton May 8, 2025
2e2ef5a
Merge branch 'main' into homepage-2025
thejessewinton May 8, 2025
7c13b4c
Update case-studies.svelte
thejessewinton May 8, 2025
2a06f8c
Merge branch 'main' into homepage-2025
thejessewinton May 8, 2025
f401030
update
thejessewinton May 8, 2025
f90ec66
update
thejessewinton May 8, 2025
81030e7
Update platforms.svelte
thejessewinton May 8, 2025
8d80b1f
Update auth.svelte
thejessewinton May 9, 2025
28d2cef
updates
thejessewinton May 9, 2025
2411737
update
thejessewinton May 9, 2025
fb928a7
update
thejessewinton May 9, 2025
54fabbc
Update platforms.svelte
thejessewinton May 9, 2025
2429de5
add more items to dash
thejessewinton May 9, 2025
b8477be
hero done
thejessewinton May 9, 2025
a885b64
Merge branch 'main' into homepage-2025
thejessewinton May 9, 2025
956b0de
trigger build
thejessewinton May 13, 2025
987a172
Merge branch 'main' into homepage-2025
thejessewinton May 21, 2025
3cf8820
fix conflicts
thejessewinton May 21, 2025
379bf64
add footer
thejessewinton May 21, 2025
c2bea57
format
thejessewinton May 21, 2025
e3dfff7
update map
thejessewinton May 21, 2025
ad5d030
update the map
thejessewinton May 21, 2025
fd9376a
updated map
thejessewinton May 21, 2025
61d5e6f
Merge branch 'main' into homepage-2025
thejessewinton May 27, 2025
4de9866
map package
thejessewinton May 27, 2025
f794462
Update map.svelte
thejessewinton May 27, 2025
1c626e8
finish map
thejessewinton May 27, 2025
c3c1d9d
micro letter spacing
thejessewinton May 27, 2025
8f87d22
update text and tooltip
thejessewinton May 27, 2025
e03f75a
updates
thejessewinton May 27, 2025
2924ec6
update scale
thejessewinton May 27, 2025
2cbf830
update scale
thejessewinton May 27, 2025
5199064
updates
thejessewinton May 27, 2025
07f56c1
Update AppwriteIn100Seconds.svelte
thejessewinton May 27, 2025
973c378
add hover state
thejessewinton May 27, 2025
735fdf7
updates
thejessewinton May 27, 2025
c948c62
add logo list
thejessewinton May 27, 2025
bb63c5e
testimonial card hover styles
thejessewinton May 27, 2025
50f1058
borders on features
thejessewinton May 27, 2025
aa8c1c4
update map!
thejessewinton May 27, 2025
d6341a8
tooltip tweaks
thejessewinton May 27, 2025
4572f43
updated tooltip styles
thejessewinton May 27, 2025
f537b12
update bento
thejessewinton May 27, 2025
e349014
storage section
thejessewinton May 27, 2025
fcf63d5
Update storage.svelte
thejessewinton May 27, 2025
c989f80
Update auth.svelte
thejessewinton May 27, 2025
1e4c575
updates
thejessewinton May 27, 2025
55d7f5b
Update sites.svelte
thejessewinton May 27, 2025
5cd5d69
Update databases.svelte
thejessewinton May 28, 2025
8118ce7
Update functions.svelte
thejessewinton May 28, 2025
8bf2e98
Update hooks.server.ts
thejessewinton May 28, 2025
397e72f
fix color tokens
thejessewinton May 28, 2025
b4f7add
tweaks
thejessewinton May 28, 2025
62fd5f2
update
thejessewinton May 28, 2025
bc74f20
Merge branch 'main' into homepage-2025
thejessewinton May 30, 2025
4204b9b
fix bento and add case study link
thejessewinton May 30, 2025
5f0c01b
fix map tooltip
thejessewinton May 30, 2025
0f6d573
update map functionality
thejessewinton May 30, 2025
d1b9b98
fixes
thejessewinton May 30, 2025
a7a782c
Update case-studies.svelte
thejessewinton May 30, 2025
75b6c72
fix
thejessewinton May 30, 2025
e4e0c75
Update dashboard.svelte
thejessewinton May 30, 2025
c455973
fix some spacing
thejessewinton Jun 2, 2025
ed72ee2
Update case-studies.svelte
thejessewinton Jun 2, 2025
deca1e5
fix numbers
thejessewinton Jun 2, 2025
a55e9a3
fix tooltip positioning
thejessewinton Jun 2, 2025
cf6221c
tooltip position
thejessewinton Jun 2, 2025
8b09bc3
Update dashboard.svelte
thejessewinton Jun 2, 2025
c9c8975
correct images
thejessewinton Jun 2, 2025
a7dae9d
update sites icon
thejessewinton Jun 2, 2025
3302fda
old testimonials
thejessewinton Jun 2, 2025
6f162e0
update case studies
thejessewinton Jun 2, 2025
e0869f7
Update case-studies.svelte
thejessewinton Jun 2, 2025
d896b79
update color token
thejessewinton Jun 2, 2025
70c3531
coming soon regions
thejessewinton Jun 2, 2025
31e2301
Update map-tooltip.svelte
thejessewinton Jun 2, 2025
f955337
update pins
thejessewinton Jun 2, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 10 additions & 7 deletions package.json
Original file line number Diff line number Diff line change
@@ -24,9 +24,8 @@
"optimize": "node ./scripts/optimize-assets.js",
"optimize:all": "node ./scripts/optimize-all.js"
},
"packageManager": "pnpm@10.8.1",
"packageManager": "pnpm@10.9.0",
"dependencies": {
"@number-flow/svelte": "^0.3.3",
"h3": "^1.14.0",
"posthog-js": "^1.210.2",
"sharp": "^0.33.5"
@@ -42,17 +41,20 @@
"@internationalized/date": "3.5.0",
"@melt-ui/pp": "^0.3.2",
"@melt-ui/svelte": "^0.86.5",
"@number-flow/svelte": "^0.3.7",
"@playwright/test": "^1.50.0",
"@sveltejs/adapter-node": "^5.2.12",
"@sveltejs/enhanced-img": "^0.4.4",
"@sveltejs/kit": "^2.20.2",
"@sveltejs/vite-plugin-svelte": "^5.0.3",
"@tailwindcss/postcss": "^4.1.2",
"@tailwindcss/postcss": "^4.1.4",
"@turf/boolean-point-in-polygon": "^7.2.0",
"@types/compression": "^1.7.5",
"@types/glob": "^8.1.0",
"@types/jsdom": "^21.1.7",
"@types/markdown-it": "^13.0.9",
"@types/morgan": "^1.9.9",
"@types/proj4": "^2.5.6",
"analytics": "^0.8.16",
"appwrite": "^17.0.1",
"bits-ui": "^1.3.19",
@@ -74,9 +76,8 @@
"markdown-it": "^14.1.0",
"meilisearch": "^0.37.0",
"melt": "^0.29.2",
"motion": "^12.7.3",
"motion-legacy": "npm:motion@^10.18.0",
"node-appwrite": "^15.0.1",
"motion": "^12.7.4",
"node-appwrite": "^16.0.0",
"node-fetch": "^3.3.2",
"node-html-parser": "^6.1.13",
"openapi-types": "^12.1.3",
@@ -88,16 +89,18 @@
"prettier": "^3.4.2",
"prettier-plugin-svelte": "^3.3.3",
"prettier-plugin-tailwindcss": "^0.6.11",
"proj4": "^2.17.0",
"remeda": "^2.20.0",
"reodotdev": "^1.0.0",
"sass": "^1.83.4",
"svelte": "^5.25.6",
"svelte-check": "^4.0.0",
"svelte-markdoc-preprocess": "3.0.0",
"svelte-markdown": "^0.4.1",
"svg-dotted-map": "^2.0.1",
"svgtofont": "^4.2.3",
"tailwind-merge": "^3.0.2",
"tailwindcss": "^4.1.2",
"tailwindcss": "^4.1.4",
"tslib": "^2.8.1",
"typescript": "^5.8.2",
"typescript-eslint": "^8.21.0",
1,324 changes: 652 additions & 672 deletions pnpm-lock.yaml

Large diffs are not rendered by default.

135 changes: 96 additions & 39 deletions src/app.css
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
@import 'tailwindcss';
@import './styles/typography.css';
@variant dark (&:is(.dark *));
@custom-variant dark (&:where(.dark, .dark *));

@theme {
/* Colors */
@@ -38,33 +38,33 @@

/* mint */
--color-mint-200: hsl(var(--color-mint-hue) 56% 88%);
--color-mint-500: hsl(calc(var(--color-mint-hue) + 1), 54%, 69%);
--color-mint-700: hsl(calc(var(--color-mint-hue) + 2), 24%, 41%);
--color-mint-500: hsl(calc(var(--color-mint-hue) + 1) 54% 69%);
--color-mint-700: hsl(calc(var(--color-mint-hue) + 2) 24% 41%);

/* purple */
--color-purple-200: hsl(var(--color-purple-hue) 100% 88%);
--color-purple-500: hsl(calc(var(--color-purple-hue) - 1), 99%, 70%);
--color-purple-700: hsl(calc(var(--color-purple-hue) - 1), 42%, 42%);
--color-purple-500: hsl(calc(var(--color-purple-hue) - 1) 99% 70%);
--color-purple-700: hsl(calc(var(--color-purple-hue) - 1) 42% 42%);

/* yellow */
--color-yellow-200: hsl(var(--color-yellow-hue) 100% 88%);
--color-yellow-500: hsl(var(--color-yellow-hue) 99% 70%);
--color-yellow-700: hsl(calc(var(--color-yellow-hue) + 1), 42%, 42%);
--color-yellow-700: hsl(calc(var(--color-yellow-hue) + 1) 42% 42%);

/* blue */
--color-blue-200: hsl(var(--color-blue-hue) 100% 88%);
--color-blue-500: hsl(calc(var(--color-blue-hue) - 1), 99%, 70%);
--color-blue-700: hsl(calc(var(--color-blue-hue) - 1), 42%, 42%);
--color-blue-500: hsl(calc(var(--color-blue-hue) - 1) 99% 70%);
--color-blue-700: hsl(calc(var(--color-blue-hue) - 1) 42% 42%);

/* green */
--color-green-700: #0a714f;

/* secondary */
--color-secondary-100: hsl(var(--color-secondary-hue) 99% 66%);
--color-accent-200: hsl(var(--color-secondary-hue), 78%, 60%, 0.32);
--color-accent-200: hsl(var(--color-secondary-hue) 78% 60% / 0.32);

/* greyscale */
--color-offset: hsl(var(--color-greyscale-hue) 2%, 11%, 0.94);
--color-offset: hsl(var(--color-greyscale-hue) 2% 11% / 0.94);
--color-greyscale-25: hsl(var(--color-greyscale-hue) 11% 98%);
--color-greyscale-50: hsl(var(--color-greyscale-hue) 11% 94%);
--color-greyscale-100: hsl(var(--color-greyscale-hue) 6% 90%);
@@ -86,6 +86,7 @@

/* Animations */
--animate-scale-in: scale-in 200ms ease-out forwards;
--animate-scale-out: scale-out 200ms ease-out forwards;
--animate-caret-blink: caret-blink 1s ease-in-out infinite;
--animate-enter:
fade-in 0.75s ease-in-out both, blur 0.75s ease-in-out both, up 0.75s ease-in-out both;
@@ -94,18 +95,31 @@
--animate-scroll-y: scroll-y 60s linear infinite forwards;

--animate-fade-in: fade-in 0.5s ease-in-out both;
--animate-marquee: marquee var(--speed, 30s) linear infinite var(--direction, forwards);
--animate-fade-out: fade-out 0.5s ease-in-out both;
--animate-lighting: lighting 1.25s ease-out forwards;
--animate-menu-in: menu-in 0.25s ease-out forwards;
--animate-menu-out: menu-out 0.25s ease-out forwards;
--animate-enter-from-left: enter-from-left 0.2s ease;
--animate-enter-from-right: enter-from-right 0.2s ease;
--animate-exit-to-left: exit-to-left 0.2s ease;
--animate-exit-to-right: exit-to-right 0.2s ease;

/* Keyframes */
@keyframes scale-in {
0% {
transform: scale(0);
transform: rotateX(-10deg) scale(0.9);
}
100% {
transform: scale(1);
transform: rotateX(0) scale(1);
}
}

@keyframes scale-out {
0% {
transform: rotateX(0) scale(1);
}
100% {
transform: rotateX(-10deg) scale(0.9);
}
}

@@ -132,7 +146,7 @@

@keyframes up {
0% {
transform: translateY(8px);
transform: translateY(36px);
}
100% {
transform: translateY(0px);
@@ -148,7 +162,16 @@
}
}

@keyframes scroll {
@keyframes fade-out {
0% {
opacity: 1;
}
100% {
opacity: 0;
}
}

@keyframes scroll-deprecate {
0% {
transform: translateX(0);
}
@@ -157,9 +180,15 @@
}
}

@keyframes marquee {
@keyframes scroll-x {
to {
transform: translateX(-100%);
}
}

@keyframes scroll-y {
to {
transform: translateX(-50%);
transform: translateY(-50%);
}
}

@@ -202,15 +231,47 @@
}
}

@keyframes scroll-x {
@keyframes enter-from-right {
from {
opacity: 0;
transform: translateX(200px);
}
to {
transform: translateX(-100%);
opacity: 1;
transform: translateX(0);
}
}

@keyframes scroll-y {
@keyframes enter-from-left {
from {
opacity: 0;
transform: translateX(-200px);
}
to {
transform: translateY(-50%);
opacity: 1;
transform: translateX(0);
}
}

@keyframes exit-to-right {
from {
opacity: 1;
transform: translateX(0);
}
to {
opacity: 0;
transform: translateX(200px);
}
}

@keyframes exit-to-left {
from {
opacity: 1;
transform: translateX(0);
}
to {
opacity: 0;
transform: translateX(-200px);
}
}

@@ -224,10 +285,10 @@
/* Font sizes */
--text-x-micro: 0.625rem;
--text-x-micro--line-height: 0.875rem;
--text-x-micro--letter-spacing: var(--tracking-loose);
--text-x-micro--letter-spacing: var(--tracking-tighter);
--text-micro: 0.75rem;
--text-micro--line-height: 1rem;
--text-micro--letter-spacing: var(--tracking-loose);
--text-micro--letter-spacing: var(--tracking-tighter);
--text-caption: 0.875rem;
--text-caption--line-height: 1.375rem;
--text-caption--letter-spacing: var(--tracking-tight);
@@ -251,9 +312,15 @@
--text-title: clamp(2rem, 5vw, 2.5rem);
--text-title--line-height: clamp(2.125rem, 5.5vw, 2.75rem);
--text-title--letter-spacing: var(--tracking-squeezed);
--text-title-lg: clamp(3rem, 5vw, 3.25rem);
--text-title-lg--line-height: clamp(2.75rem, 5.5vw, 3.5rem);
--text-title-lg--letter-spacing: var(--tracking-squeezed);
--text-display: clamp(3rem, 7vw, 4rem);
--text-display--line-height: clamp(3.125rem, 7.5vw, 4.25rem);
--text-display--letter-spacing: var(--tracking-compressed);
--text-hero: clamp(3.2rem, 7vw, 4.5rem);
--text-hero--line-height: clamp(3.125rem, 7.5vw, 4.25rem);
--text-hero--letter-spacing: var(--tracking-compressed);
--text-headline: clamp(3.5rem, 8vw, 5.5rem);
--text-headline--line-height: clamp(3.5rem, 8.5vw, 5.75rem);
--text-headline--letter-spacing: var(--tracking-compressed);
@@ -276,12 +343,12 @@

@utility border-gradient {
--border-gradient-before: linear-gradient(
180deg,
var(--to, 180deg),
rgba(255, 255, 255, 0.16) 0%,
rgba(255, 255, 255, 0) 100%
);
--border-gradient-after: linear-gradient(
180deg,
var(--to, 180deg),
rgba(255, 255, 255, 0.12) 0%,
rgba(255, 255, 255, 0) 125.11%
);
@@ -310,16 +377,6 @@
}
}

@utility mask {
mask-image: linear-gradient(
to var(--mask-direction, top),
transparent,
black var(--mask-height, 32px),
black calc(100% - var(--mask-height, 32px)),
black
);
}

:root,
.light {
/* pink polyfills */
@@ -340,14 +397,14 @@
/* base */
--color-primary: var(--color-greyscale-900);
--color-secondary: var(--color-greyscale-700);
--color-accent: var(--color-pink-600);
--color-accent: var(--color-pink-500);
--carousel-gradient: transparent;
--color-badge-bg: var(--color-badge-bg-light);
--color-badge-border: var(--color-badge-border-light);
--color-smooth: hsl(var(--color-greyscale-hue) 6%, 10%, 0.04);
--color-smooth: hsl(var(--color-greyscale-hue) 6% 10% / 0.04);
--color-card: var(--color-greyscale-850);
--color-tertiary: hsl(var(--color-greyscale-600));
--color-offset: hsl(var(--color-greyscale-hue) 2%, 11%, 0.94);
--color-offset: hsl(var(--color-greyscale-hue) 2% 11% / 0.94);
--color-subtle: var(--color-greyscale-850);
}

@@ -356,7 +413,7 @@
--color-secondary: var(--color-greyscale-300);
--carousel-gradient: 23, 23, 26;
--color-primary-bg: var(--color-greyscale-900);
--color-smooth: hsl(0 0%, 100%, 0.06);
--color-smooth: hsl(0 0% 100% / 0.06);
--color-tertiary: hsl(var(--color-greyscale-600));
--color-offset: hsl(0 0% 100% / 0.1);
}
9 changes: 1 addition & 8 deletions src/hooks.server.ts
Original file line number Diff line number Diff line change
@@ -37,7 +37,7 @@ const securityheaders: Handle = async ({ event, resolve }) => {
});

// `true` if deployed via Coolify.
const isPreview = !!process.env.COOLIFY_FQDN;
const isPreview = !!process.env.COOLIFY_FQDN || process.env.NODE_ENV === 'development';
// COOLIFY_FQDN already includes `http`.
const previewDomain = isPreview ? `${process.env.COOLIFY_FQDN}` : null;
const join = (arr: string[]) => arr.join(' ');
@@ -122,13 +122,6 @@ const securityheaders: Handle = async ({ event, resolve }) => {
return response;
};

// const bannerRewriter: Handle = async ({ event, resolve }) => {
// const response = await resolve(event, {
// transformPageChunk: ({ html }) => html.replace('%aw_banner_key%', BANNER_KEY)
// });
// return response;
// };

const initSession: Handle = async ({ event, resolve }) => {
const session = await createInitSessionClient(event.cookies);

1 change: 1 addition & 0 deletions src/icons/optimized/sparkle.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
86 changes: 46 additions & 40 deletions src/icons/output/_variables.scss
Original file line number Diff line number Diff line change
@@ -15,43 +15,49 @@ $web-icon-chevron-up: "\ea0e";
$web-icon-close: "\ea0f";
$web-icon-command: "\ea10";
$web-icon-copy: "\ea11";
$web-icon-daily-dev: "\ea12";
$web-icon-dark: "\ea13";
$web-icon-discord: "\ea14";
$web-icon-divider-vertical: "\ea15";
$web-icon-download: "\ea16";
$web-icon-ext-link: "\ea17";
$web-icon-firebase: "\ea18";
$web-icon-github: "\ea19";
$web-icon-google: "\ea1a";
$web-icon-hamburger-menu: "\ea1b";
$web-icon-instagram: "\ea1c";
$web-icon-light: "\ea1d";
$web-icon-linkedin: "\ea1e";
$web-icon-location: "\ea1f";
$web-icon-logout-left: "\ea20";
$web-icon-logout-right: "\ea21";
$web-icon-mailgun: "\ea22";
$web-icon-mcp: "\ea23";
$web-icon-message: "\ea24";
$web-icon-microsoft: "\ea25";
$web-icon-minus: "\ea26";
$web-icon-nuxt: "\ea27";
$web-icon-platform: "\ea28";
$web-icon-play: "\ea29";
$web-icon-plus: "\ea2a";
$web-icon-product-hunt: "\ea2b";
$web-icon-refine: "\ea2c";
$web-icon-remix: "\ea2d";
$web-icon-rest: "\ea2e";
$web-icon-search: "\ea2f";
$web-icon-sendgrid: "\ea30";
$web-icon-star: "\ea31";
$web-icon-system: "\ea32";
$web-icon-textmagic: "\ea33";
$web-icon-tiktok: "\ea34";
$web-icon-twitter: "\ea35";
$web-icon-vue: "\ea36";
$web-icon-x: "\ea37";
$web-icon-ycombinator: "\ea38";
$web-icon-youtube: "\ea39";
$web-icon-customize: "\ea12";
$web-icon-daily-dev: "\ea13";
$web-icon-dark: "\ea14";
$web-icon-discord: "\ea15";
$web-icon-divider-vertical: "\ea16";
$web-icon-download: "\ea17";
$web-icon-edge: "\ea18";
$web-icon-ext-link: "\ea19";
$web-icon-firebase: "\ea1a";
$web-icon-github: "\ea1b";
$web-icon-google: "\ea1c";
$web-icon-hamburger-menu: "\ea1d";
$web-icon-instagram: "\ea1e";
$web-icon-light: "\ea1f";
$web-icon-linkedin: "\ea20";
$web-icon-location: "\ea21";
$web-icon-logout-left: "\ea22";
$web-icon-logout-right: "\ea23";
$web-icon-mailgun: "\ea24";
$web-icon-mcp: "\ea25";
$web-icon-message: "\ea26";
$web-icon-microsoft: "\ea27";
$web-icon-minus: "\ea28";
$web-icon-nuxt: "\ea29";
$web-icon-platform: "\ea2a";
$web-icon-play: "\ea2b";
$web-icon-plus: "\ea2c";
$web-icon-pop-locations: "\ea2d";
$web-icon-product-hunt: "\ea2e";
$web-icon-refine: "\ea2f";
$web-icon-regions: "\ea30";
$web-icon-remix: "\ea31";
$web-icon-rest: "\ea32";
$web-icon-search: "\ea33";
$web-icon-sendgrid: "\ea34";
$web-icon-sparkle: "\ea35";
$web-icon-star: "\ea36";
$web-icon-system: "\ea37";
$web-icon-textmagic: "\ea38";
$web-icon-ticket: "\ea39";
$web-icon-tiktok: "\ea3a";
$web-icon-twitter: "\ea3b";
$web-icon-vue: "\ea3c";
$web-icon-x: "\ea3d";
$web-icon-ycombinator: "\ea3e";
$web-icon-youtube: "\ea3f";
196 changes: 116 additions & 80 deletions src/icons/output/info.json
Original file line number Diff line number Diff line change
@@ -101,244 +101,280 @@
"className": "web-icon-copy",
"unicode": ""
},
"daily-dev": {
"customize": {
"encodedCode": "\\ea12",
"prefix": "web-icon",
"className": "web-icon-daily-dev",
"className": "web-icon-customize",
"unicode": ""
},
"dark": {
"daily-dev": {
"encodedCode": "\\ea13",
"prefix": "web-icon",
"className": "web-icon-dark",
"className": "web-icon-daily-dev",
"unicode": ""
},
"discord": {
"dark": {
"encodedCode": "\\ea14",
"prefix": "web-icon",
"className": "web-icon-discord",
"className": "web-icon-dark",
"unicode": ""
},
"divider-vertical": {
"discord": {
"encodedCode": "\\ea15",
"prefix": "web-icon",
"className": "web-icon-divider-vertical",
"className": "web-icon-discord",
"unicode": ""
},
"download": {
"divider-vertical": {
"encodedCode": "\\ea16",
"prefix": "web-icon",
"className": "web-icon-download",
"className": "web-icon-divider-vertical",
"unicode": ""
},
"ext-link": {
"download": {
"encodedCode": "\\ea17",
"prefix": "web-icon",
"className": "web-icon-ext-link",
"className": "web-icon-download",
"unicode": ""
},
"firebase": {
"edge": {
"encodedCode": "\\ea18",
"prefix": "web-icon",
"className": "web-icon-firebase",
"className": "web-icon-edge",
"unicode": ""
},
"github": {
"ext-link": {
"encodedCode": "\\ea19",
"prefix": "web-icon",
"className": "web-icon-github",
"className": "web-icon-ext-link",
"unicode": ""
},
"google": {
"firebase": {
"encodedCode": "\\ea1a",
"prefix": "web-icon",
"className": "web-icon-google",
"className": "web-icon-firebase",
"unicode": ""
},
"hamburger-menu": {
"github": {
"encodedCode": "\\ea1b",
"prefix": "web-icon",
"className": "web-icon-hamburger-menu",
"className": "web-icon-github",
"unicode": ""
},
"instagram": {
"google": {
"encodedCode": "\\ea1c",
"prefix": "web-icon",
"className": "web-icon-instagram",
"className": "web-icon-google",
"unicode": ""
},
"light": {
"hamburger-menu": {
"encodedCode": "\\ea1d",
"prefix": "web-icon",
"className": "web-icon-light",
"className": "web-icon-hamburger-menu",
"unicode": ""
},
"linkedin": {
"instagram": {
"encodedCode": "\\ea1e",
"prefix": "web-icon",
"className": "web-icon-linkedin",
"className": "web-icon-instagram",
"unicode": ""
},
"location": {
"light": {
"encodedCode": "\\ea1f",
"prefix": "web-icon",
"className": "web-icon-location",
"className": "web-icon-light",
"unicode": ""
},
"logout-left": {
"linkedin": {
"encodedCode": "\\ea20",
"prefix": "web-icon",
"className": "web-icon-logout-left",
"className": "web-icon-linkedin",
"unicode": ""
},
"logout-right": {
"location": {
"encodedCode": "\\ea21",
"prefix": "web-icon",
"className": "web-icon-logout-right",
"className": "web-icon-location",
"unicode": ""
},
"mailgun": {
"logout-left": {
"encodedCode": "\\ea22",
"prefix": "web-icon",
"className": "web-icon-mailgun",
"className": "web-icon-logout-left",
"unicode": ""
},
"mcp": {
"logout-right": {
"encodedCode": "\\ea23",
"prefix": "web-icon",
"className": "web-icon-mcp",
"className": "web-icon-logout-right",
"unicode": ""
},
"message": {
"mailgun": {
"encodedCode": "\\ea24",
"prefix": "web-icon",
"className": "web-icon-message",
"className": "web-icon-mailgun",
"unicode": ""
},
"microsoft": {
"mcp": {
"encodedCode": "\\ea25",
"prefix": "web-icon",
"className": "web-icon-microsoft",
"className": "web-icon-mcp",
"unicode": ""
},
"minus": {
"message": {
"encodedCode": "\\ea26",
"prefix": "web-icon",
"className": "web-icon-minus",
"className": "web-icon-message",
"unicode": ""
},
"nuxt": {
"microsoft": {
"encodedCode": "\\ea27",
"prefix": "web-icon",
"className": "web-icon-nuxt",
"className": "web-icon-microsoft",
"unicode": ""
},
"platform": {
"minus": {
"encodedCode": "\\ea28",
"prefix": "web-icon",
"className": "web-icon-platform",
"className": "web-icon-minus",
"unicode": ""
},
"play": {
"nuxt": {
"encodedCode": "\\ea29",
"prefix": "web-icon",
"className": "web-icon-play",
"className": "web-icon-nuxt",
"unicode": ""
},
"plus": {
"platform": {
"encodedCode": "\\ea2a",
"prefix": "web-icon",
"className": "web-icon-plus",
"className": "web-icon-platform",
"unicode": ""
},
"product-hunt": {
"play": {
"encodedCode": "\\ea2b",
"prefix": "web-icon",
"className": "web-icon-product-hunt",
"className": "web-icon-play",
"unicode": ""
},
"refine": {
"plus": {
"encodedCode": "\\ea2c",
"prefix": "web-icon",
"className": "web-icon-refine",
"className": "web-icon-plus",
"unicode": ""
},
"remix": {
"pop-locations": {
"encodedCode": "\\ea2d",
"prefix": "web-icon",
"className": "web-icon-remix",
"className": "web-icon-pop-locations",
"unicode": ""
},
"rest": {
"product-hunt": {
"encodedCode": "\\ea2e",
"prefix": "web-icon",
"className": "web-icon-rest",
"className": "web-icon-product-hunt",
"unicode": ""
},
"search": {
"refine": {
"encodedCode": "\\ea2f",
"prefix": "web-icon",
"className": "web-icon-search",
"className": "web-icon-refine",
"unicode": ""
},
"sendgrid": {
"regions": {
"encodedCode": "\\ea30",
"prefix": "web-icon",
"className": "web-icon-sendgrid",
"className": "web-icon-regions",
"unicode": ""
},
"star": {
"remix": {
"encodedCode": "\\ea31",
"prefix": "web-icon",
"className": "web-icon-star",
"className": "web-icon-remix",
"unicode": ""
},
"system": {
"rest": {
"encodedCode": "\\ea32",
"prefix": "web-icon",
"className": "web-icon-system",
"className": "web-icon-rest",
"unicode": ""
},
"textmagic": {
"search": {
"encodedCode": "\\ea33",
"prefix": "web-icon",
"className": "web-icon-textmagic",
"className": "web-icon-search",
"unicode": ""
},
"tiktok": {
"sendgrid": {
"encodedCode": "\\ea34",
"prefix": "web-icon",
"className": "web-icon-tiktok",
"className": "web-icon-sendgrid",
"unicode": ""
},
"twitter": {
"sparkle": {
"encodedCode": "\\ea35",
"prefix": "web-icon",
"className": "web-icon-twitter",
"className": "web-icon-sparkle",
"unicode": ""
},
"vue": {
"star": {
"encodedCode": "\\ea36",
"prefix": "web-icon",
"className": "web-icon-vue",
"className": "web-icon-star",
"unicode": ""
},
"x": {
"system": {
"encodedCode": "\\ea37",
"prefix": "web-icon",
"className": "web-icon-x",
"className": "web-icon-system",
"unicode": ""
},
"ycombinator": {
"textmagic": {
"encodedCode": "\\ea38",
"prefix": "web-icon",
"className": "web-icon-ycombinator",
"className": "web-icon-textmagic",
"unicode": ""
},
"youtube": {
"ticket": {
"encodedCode": "\\ea39",
"prefix": "web-icon",
"className": "web-icon-youtube",
"className": "web-icon-ticket",
"unicode": ""
},
"tiktok": {
"encodedCode": "\\ea3a",
"prefix": "web-icon",
"className": "web-icon-tiktok",
"unicode": ""
},
"twitter": {
"encodedCode": "\\ea3b",
"prefix": "web-icon",
"className": "web-icon-twitter",
"unicode": ""
},
"vue": {
"encodedCode": "\\ea3c",
"prefix": "web-icon",
"className": "web-icon-vue",
"unicode": ""
},
"x": {
"encodedCode": "\\ea3d",
"prefix": "web-icon",
"className": "web-icon-x",
"unicode": ""
},
"ycombinator": {
"encodedCode": "\\ea3e",
"prefix": "web-icon",
"className": "web-icon-ycombinator",
"unicode": ""
},
"youtube": {
"encodedCode": "\\ea3f",
"prefix": "web-icon",
"className": "web-icon-youtube",
"unicode": ""
}
}
98 changes: 58 additions & 40 deletions src/icons/output/web-icon.css
Original file line number Diff line number Diff line change
@@ -71,123 +71,141 @@
.web-icon-copy:before {
content: '\ea11';
}
.web-icon-daily-dev:before {
.web-icon-customize:before {
content: '\ea12';
}
.web-icon-dark:before {
.web-icon-daily-dev:before {
content: '\ea13';
}
.web-icon-discord:before {
.web-icon-dark:before {
content: '\ea14';
}
.web-icon-divider-vertical:before {
.web-icon-discord:before {
content: '\ea15';
}
.web-icon-download:before {
.web-icon-divider-vertical:before {
content: '\ea16';
}
.web-icon-ext-link:before {
.web-icon-download:before {
content: '\ea17';
}
.web-icon-firebase:before {
.web-icon-edge:before {
content: '\ea18';
}
.web-icon-github:before {
.web-icon-ext-link:before {
content: '\ea19';
}
.web-icon-google:before {
.web-icon-firebase:before {
content: '\ea1a';
}
.web-icon-hamburger-menu:before {
.web-icon-github:before {
content: '\ea1b';
}
.web-icon-instagram:before {
.web-icon-google:before {
content: '\ea1c';
}
.web-icon-light:before {
.web-icon-hamburger-menu:before {
content: '\ea1d';
}
.web-icon-linkedin:before {
.web-icon-instagram:before {
content: '\ea1e';
}
.web-icon-location:before {
.web-icon-light:before {
content: '\ea1f';
}
.web-icon-logout-left:before {
.web-icon-linkedin:before {
content: '\ea20';
}
.web-icon-logout-right:before {
.web-icon-location:before {
content: '\ea21';
}
.web-icon-mailgun:before {
.web-icon-logout-left:before {
content: '\ea22';
}
.web-icon-mcp:before {
.web-icon-logout-right:before {
content: '\ea23';
}
.web-icon-message:before {
.web-icon-mailgun:before {
content: '\ea24';
}
.web-icon-microsoft:before {
.web-icon-mcp:before {
content: '\ea25';
}
.web-icon-minus:before {
.web-icon-message:before {
content: '\ea26';
}
.web-icon-nuxt:before {
.web-icon-microsoft:before {
content: '\ea27';
}
.web-icon-platform:before {
.web-icon-minus:before {
content: '\ea28';
}
.web-icon-play:before {
.web-icon-nuxt:before {
content: '\ea29';
}
.web-icon-plus:before {
.web-icon-platform:before {
content: '\ea2a';
}
.web-icon-product-hunt:before {
.web-icon-play:before {
content: '\ea2b';
}
.web-icon-refine:before {
.web-icon-plus:before {
content: '\ea2c';
}
.web-icon-remix:before {
.web-icon-pop-locations:before {
content: '\ea2d';
}
.web-icon-rest:before {
.web-icon-product-hunt:before {
content: '\ea2e';
}
.web-icon-search:before {
.web-icon-refine:before {
content: '\ea2f';
}
.web-icon-sendgrid:before {
.web-icon-regions:before {
content: '\ea30';
}
.web-icon-star:before {
.web-icon-remix:before {
content: '\ea31';
}
.web-icon-system:before {
.web-icon-rest:before {
content: '\ea32';
}
.web-icon-textmagic:before {
.web-icon-search:before {
content: '\ea33';
}
.web-icon-tiktok:before {
.web-icon-sendgrid:before {
content: '\ea34';
}
.web-icon-twitter:before {
.web-icon-sparkle:before {
content: '\ea35';
}
.web-icon-vue:before {
.web-icon-star:before {
content: '\ea36';
}
.web-icon-x:before {
.web-icon-system:before {
content: '\ea37';
}
.web-icon-ycombinator:before {
.web-icon-textmagic:before {
content: '\ea38';
}
.web-icon-youtube:before {
.web-icon-ticket:before {
content: '\ea39';
}
.web-icon-tiktok:before {
content: '\ea3a';
}
.web-icon-twitter:before {
content: '\ea3b';
}
.web-icon-vue:before {
content: '\ea3c';
}
.web-icon-x:before {
content: '\ea3d';
}
.web-icon-ycombinator:before {
content: '\ea3e';
}
.web-icon-youtube:before {
content: '\ea3f';
}
Binary file modified src/icons/output/web-icon.eot
Binary file not shown.
172 changes: 92 additions & 80 deletions src/icons/output/web-icon.scss
Original file line number Diff line number Diff line change
@@ -33,46 +33,52 @@
.web-icon-close:before { content: "\ea0f"; }
.web-icon-command:before { content: "\ea10"; }
.web-icon-copy:before { content: "\ea11"; }
.web-icon-daily-dev:before { content: "\ea12"; }
.web-icon-dark:before { content: "\ea13"; }
.web-icon-discord:before { content: "\ea14"; }
.web-icon-divider-vertical:before { content: "\ea15"; }
.web-icon-download:before { content: "\ea16"; }
.web-icon-ext-link:before { content: "\ea17"; }
.web-icon-firebase:before { content: "\ea18"; }
.web-icon-github:before { content: "\ea19"; }
.web-icon-google:before { content: "\ea1a"; }
.web-icon-hamburger-menu:before { content: "\ea1b"; }
.web-icon-instagram:before { content: "\ea1c"; }
.web-icon-light:before { content: "\ea1d"; }
.web-icon-linkedin:before { content: "\ea1e"; }
.web-icon-location:before { content: "\ea1f"; }
.web-icon-logout-left:before { content: "\ea20"; }
.web-icon-logout-right:before { content: "\ea21"; }
.web-icon-mailgun:before { content: "\ea22"; }
.web-icon-mcp:before { content: "\ea23"; }
.web-icon-message:before { content: "\ea24"; }
.web-icon-microsoft:before { content: "\ea25"; }
.web-icon-minus:before { content: "\ea26"; }
.web-icon-nuxt:before { content: "\ea27"; }
.web-icon-platform:before { content: "\ea28"; }
.web-icon-play:before { content: "\ea29"; }
.web-icon-plus:before { content: "\ea2a"; }
.web-icon-product-hunt:before { content: "\ea2b"; }
.web-icon-refine:before { content: "\ea2c"; }
.web-icon-remix:before { content: "\ea2d"; }
.web-icon-rest:before { content: "\ea2e"; }
.web-icon-search:before { content: "\ea2f"; }
.web-icon-sendgrid:before { content: "\ea30"; }
.web-icon-star:before { content: "\ea31"; }
.web-icon-system:before { content: "\ea32"; }
.web-icon-textmagic:before { content: "\ea33"; }
.web-icon-tiktok:before { content: "\ea34"; }
.web-icon-twitter:before { content: "\ea35"; }
.web-icon-vue:before { content: "\ea36"; }
.web-icon-x:before { content: "\ea37"; }
.web-icon-ycombinator:before { content: "\ea38"; }
.web-icon-youtube:before { content: "\ea39"; }
.web-icon-customize:before { content: "\ea12"; }
.web-icon-daily-dev:before { content: "\ea13"; }
.web-icon-dark:before { content: "\ea14"; }
.web-icon-discord:before { content: "\ea15"; }
.web-icon-divider-vertical:before { content: "\ea16"; }
.web-icon-download:before { content: "\ea17"; }
.web-icon-edge:before { content: "\ea18"; }
.web-icon-ext-link:before { content: "\ea19"; }
.web-icon-firebase:before { content: "\ea1a"; }
.web-icon-github:before { content: "\ea1b"; }
.web-icon-google:before { content: "\ea1c"; }
.web-icon-hamburger-menu:before { content: "\ea1d"; }
.web-icon-instagram:before { content: "\ea1e"; }
.web-icon-light:before { content: "\ea1f"; }
.web-icon-linkedin:before { content: "\ea20"; }
.web-icon-location:before { content: "\ea21"; }
.web-icon-logout-left:before { content: "\ea22"; }
.web-icon-logout-right:before { content: "\ea23"; }
.web-icon-mailgun:before { content: "\ea24"; }
.web-icon-mcp:before { content: "\ea25"; }
.web-icon-message:before { content: "\ea26"; }
.web-icon-microsoft:before { content: "\ea27"; }
.web-icon-minus:before { content: "\ea28"; }
.web-icon-nuxt:before { content: "\ea29"; }
.web-icon-platform:before { content: "\ea2a"; }
.web-icon-play:before { content: "\ea2b"; }
.web-icon-plus:before { content: "\ea2c"; }
.web-icon-pop-locations:before { content: "\ea2d"; }
.web-icon-product-hunt:before { content: "\ea2e"; }
.web-icon-refine:before { content: "\ea2f"; }
.web-icon-regions:before { content: "\ea30"; }
.web-icon-remix:before { content: "\ea31"; }
.web-icon-rest:before { content: "\ea32"; }
.web-icon-search:before { content: "\ea33"; }
.web-icon-sendgrid:before { content: "\ea34"; }
.web-icon-sparkle:before { content: "\ea35"; }
.web-icon-star:before { content: "\ea36"; }
.web-icon-system:before { content: "\ea37"; }
.web-icon-textmagic:before { content: "\ea38"; }
.web-icon-ticket:before { content: "\ea39"; }
.web-icon-tiktok:before { content: "\ea3a"; }
.web-icon-twitter:before { content: "\ea3b"; }
.web-icon-vue:before { content: "\ea3c"; }
.web-icon-x:before { content: "\ea3d"; }
.web-icon-ycombinator:before { content: "\ea3e"; }
.web-icon-youtube:before { content: "\ea3f"; }

$web-icon-apple: "\ea01";
$web-icon-appwrite: "\ea02";
@@ -91,43 +97,49 @@ $web-icon-chevron-up: "\ea0e";
$web-icon-close: "\ea0f";
$web-icon-command: "\ea10";
$web-icon-copy: "\ea11";
$web-icon-daily-dev: "\ea12";
$web-icon-dark: "\ea13";
$web-icon-discord: "\ea14";
$web-icon-divider-vertical: "\ea15";
$web-icon-download: "\ea16";
$web-icon-ext-link: "\ea17";
$web-icon-firebase: "\ea18";
$web-icon-github: "\ea19";
$web-icon-google: "\ea1a";
$web-icon-hamburger-menu: "\ea1b";
$web-icon-instagram: "\ea1c";
$web-icon-light: "\ea1d";
$web-icon-linkedin: "\ea1e";
$web-icon-location: "\ea1f";
$web-icon-logout-left: "\ea20";
$web-icon-logout-right: "\ea21";
$web-icon-mailgun: "\ea22";
$web-icon-mcp: "\ea23";
$web-icon-message: "\ea24";
$web-icon-microsoft: "\ea25";
$web-icon-minus: "\ea26";
$web-icon-nuxt: "\ea27";
$web-icon-platform: "\ea28";
$web-icon-play: "\ea29";
$web-icon-plus: "\ea2a";
$web-icon-product-hunt: "\ea2b";
$web-icon-refine: "\ea2c";
$web-icon-remix: "\ea2d";
$web-icon-rest: "\ea2e";
$web-icon-search: "\ea2f";
$web-icon-sendgrid: "\ea30";
$web-icon-star: "\ea31";
$web-icon-system: "\ea32";
$web-icon-textmagic: "\ea33";
$web-icon-tiktok: "\ea34";
$web-icon-twitter: "\ea35";
$web-icon-vue: "\ea36";
$web-icon-x: "\ea37";
$web-icon-ycombinator: "\ea38";
$web-icon-youtube: "\ea39";
$web-icon-customize: "\ea12";
$web-icon-daily-dev: "\ea13";
$web-icon-dark: "\ea14";
$web-icon-discord: "\ea15";
$web-icon-divider-vertical: "\ea16";
$web-icon-download: "\ea17";
$web-icon-edge: "\ea18";
$web-icon-ext-link: "\ea19";
$web-icon-firebase: "\ea1a";
$web-icon-github: "\ea1b";
$web-icon-google: "\ea1c";
$web-icon-hamburger-menu: "\ea1d";
$web-icon-instagram: "\ea1e";
$web-icon-light: "\ea1f";
$web-icon-linkedin: "\ea20";
$web-icon-location: "\ea21";
$web-icon-logout-left: "\ea22";
$web-icon-logout-right: "\ea23";
$web-icon-mailgun: "\ea24";
$web-icon-mcp: "\ea25";
$web-icon-message: "\ea26";
$web-icon-microsoft: "\ea27";
$web-icon-minus: "\ea28";
$web-icon-nuxt: "\ea29";
$web-icon-platform: "\ea2a";
$web-icon-play: "\ea2b";
$web-icon-plus: "\ea2c";
$web-icon-pop-locations: "\ea2d";
$web-icon-product-hunt: "\ea2e";
$web-icon-refine: "\ea2f";
$web-icon-regions: "\ea30";
$web-icon-remix: "\ea31";
$web-icon-rest: "\ea32";
$web-icon-search: "\ea33";
$web-icon-sendgrid: "\ea34";
$web-icon-sparkle: "\ea35";
$web-icon-star: "\ea36";
$web-icon-system: "\ea37";
$web-icon-textmagic: "\ea38";
$web-icon-ticket: "\ea39";
$web-icon-tiktok: "\ea3a";
$web-icon-twitter: "\ea3b";
$web-icon-vue: "\ea3c";
$web-icon-x: "\ea3d";
$web-icon-ycombinator: "\ea3e";
$web-icon-youtube: "\ea3f";
98 changes: 58 additions & 40 deletions src/icons/output/web-icon.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions src/icons/output/web-icon.symbol.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified src/icons/output/web-icon.ttf
Binary file not shown.
Binary file modified src/icons/output/web-icon.woff
Binary file not shown.
Binary file modified src/icons/output/web-icon.woff2
Binary file not shown.
5 changes: 5 additions & 0 deletions src/icons/svg/sparkle.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion src/lib/actions/animate-in-view.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { inView, type InViewOptions } from 'motion-legacy';
import { inView, type InViewOptions } from 'motion';
import { writable } from 'svelte/store';

export const useAnimateInView = ({ options }: { options?: InViewOptions }) => {
49 changes: 49 additions & 0 deletions src/lib/actions/mouse-position.svelte.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
import { hover } from 'motion';
import { writable } from 'svelte/store';

export interface Position {
x: number;
y: number;
}

export const useMousePosition = () => {
let position = $state<Position>({
x: 0,
y: 0
});

const action = (node: HTMLElement | SVGSVGElement) => {
const handleMouseMove = (event: MouseEvent) => {
const { clientX, clientY } = event;
const tooltipWidth = 190;
const rect = node.getBoundingClientRect();
let tooltipX = event.clientX - rect.left + 12;

if (tooltipX + tooltipWidth > window.innerWidth) {
tooltipX = clientX - tooltipWidth - 10;
}

position = {
x: tooltipX,
y: event.clientY - rect.top + 12
};
};

hover(node, () => {
document.addEventListener('mousemove', handleMouseMove);
});

return {
destroy() {
document.removeEventListener('mousemove', handleMouseMove);
}
};
};

return {
action,
position: () => {
return position;
}
};
};
34 changes: 0 additions & 34 deletions src/lib/actions/mouse-position.ts

This file was deleted.

34 changes: 0 additions & 34 deletions src/lib/animations/AutoBox.svelte

This file was deleted.

11 changes: 0 additions & 11 deletions src/lib/animations/CodeWindow/Code.svelte

This file was deleted.

96 changes: 0 additions & 96 deletions src/lib/animations/CodeWindow/CodeWindow.svelte

This file was deleted.

395 changes: 0 additions & 395 deletions src/lib/animations/OpenSource.svelte

This file was deleted.

9 changes: 0 additions & 9 deletions src/lib/animations/Phone.svelte

This file was deleted.

Binary file removed src/lib/animations/Products/(assets)/auth-shot.png
Binary file not shown.
Binary file removed src/lib/animations/Products/(assets)/db-shot.png
Binary file not shown.
Binary file removed src/lib/animations/Products/(assets)/fn-shot.png
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
55 changes: 0 additions & 55 deletions src/lib/animations/Products/AnimatedBox.svelte

This file was deleted.

695 changes: 0 additions & 695 deletions src/lib/animations/Products/Products.svelte

This file was deleted.

218 changes: 0 additions & 218 deletions src/lib/animations/Products/ProductsMobile.svelte

This file was deleted.

61 changes: 0 additions & 61 deletions src/lib/animations/Products/TaskCheckbox.svelte

This file was deleted.

64 changes: 0 additions & 64 deletions src/lib/animations/Products/auth/box.svelte

This file was deleted.

16 changes: 0 additions & 16 deletions src/lib/animations/Products/auth/code.svelte

This file was deleted.

81 changes: 0 additions & 81 deletions src/lib/animations/Products/auth/controls.svelte

This file was deleted.

95 changes: 0 additions & 95 deletions src/lib/animations/Products/auth/index.ts

This file was deleted.

220 changes: 0 additions & 220 deletions src/lib/animations/Products/auth/phone.svelte

This file was deleted.

54 changes: 0 additions & 54 deletions src/lib/animations/Products/databases/box.svelte

This file was deleted.

16 changes: 0 additions & 16 deletions src/lib/animations/Products/databases/code.svelte

This file was deleted.

94 changes: 0 additions & 94 deletions src/lib/animations/Products/databases/index.ts

This file was deleted.

127 changes: 0 additions & 127 deletions src/lib/animations/Products/databases/phone.svelte

This file was deleted.

56 changes: 0 additions & 56 deletions src/lib/animations/Products/functions/code.svelte

This file was deleted.

58 changes: 0 additions & 58 deletions src/lib/animations/Products/functions/index.ts

This file was deleted.

Loading