Skip to content
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

Auth product page #1407

Merged
merged 129 commits into from
Nov 25, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
129 commits
Select commit Hold shift + click to select a range
594f799
update
thejessewinton Aug 30, 2024
9249091
Merge branch 'main' into auth-product-page
thejessewinton Aug 30, 2024
c6f291e
update started auth page
thejessewinton Aug 30, 2024
0a1a169
updates
thejessewinton Aug 30, 2024
9cd56c5
updates
thejessewinton Aug 31, 2024
b0468ac
Merge branch 'main' into auth-product-page
thejessewinton Sep 3, 2024
ec26257
updates
thejessewinton Sep 3, 2024
058e880
Update SessionManagement.svelte
thejessewinton Sep 3, 2024
b49bd28
Update Bento.svelte
thejessewinton Sep 3, 2024
b2d4498
Merge branch 'main' into auth-product-page
thejessewinton Sep 4, 2024
d2a6710
Update SessionManagement.svelte
thejessewinton Sep 4, 2024
01e3eb3
Update SessionManagement.svelte
thejessewinton Sep 4, 2024
cc36f28
add dictionary
thejessewinton Sep 4, 2024
4289de4
finish bento v1
thejessewinton Sep 4, 2024
6ee021f
update
thejessewinton Sep 4, 2024
121a6d9
Merge branch 'main' into auth-product-page
thejessewinton Sep 6, 2024
2602489
Merge branch 'main' into auth-product-page
thejessewinton Sep 9, 2024
ca2abaa
Merge branch 'main' into auth-product-page
thejessewinton Sep 16, 2024
5f8e6f9
updates
thejessewinton Sep 16, 2024
4769afe
updates
thejessewinton Sep 16, 2024
0ea1491
add components
thejessewinton Sep 16, 2024
bf272e8
Merge branch 'main' into auth-product-page
thejessewinton Sep 25, 2024
1948adc
finish the last component
thejessewinton Sep 25, 2024
831ff27
Update PasswordDictionary.svelte
thejessewinton Sep 25, 2024
4d1b8b4
Merge branch 'main' into auth-product-page
thejessewinton Sep 26, 2024
04b7efc
add components
thejessewinton Sep 26, 2024
77ed8b2
Merge branch 'main' into auth-product-page
thejessewinton Oct 2, 2024
faabf70
update hero components
thejessewinton Oct 2, 2024
a238a7b
work on the hero
thejessewinton Oct 2, 2024
b49e587
update to hero
thejessewinton Oct 3, 2024
5a77030
finish desktop version
thejessewinton Oct 3, 2024
af87ffb
Update Identity.svelte
thejessewinton Oct 3, 2024
b227d0b
Merge branch 'main' into auth-product-page
thejessewinton Oct 4, 2024
7834cfa
Update Identity.svelte
thejessewinton Oct 4, 2024
7368f02
Update Identity.svelte
thejessewinton Oct 4, 2024
8978e0f
Merge branch 'main' into auth-product-page
thejessewinton Oct 4, 2024
875a4ec
updates
thejessewinton Oct 4, 2024
1f55ecc
hero complete
thejessewinton Oct 4, 2024
03bf12b
update features section
thejessewinton Oct 4, 2024
35b48ba
update features section
thejessewinton Oct 4, 2024
3891931
finish features section
thejessewinton Oct 4, 2024
4448a4c
update
thejessewinton Oct 4, 2024
867b1d5
add multi-framework code
thejessewinton Oct 5, 2024
c2f3ae9
Merge branch 'main' into auth-product-page
thejessewinton Oct 7, 2024
9988859
update snippets
thejessewinton Oct 7, 2024
d60e997
rebuild
thejessewinton Oct 8, 2024
a922fe2
Merge branch 'main' into auth-product-page
thejessewinton Oct 8, 2024
8e582bc
Merge branch 'main' into auth-product-page
thejessewinton Oct 9, 2024
68dfef5
empty
thejessewinton Oct 9, 2024
43c66d8
Merge branch 'main' into auth-product-page
thejessewinton Oct 9, 2024
783fba9
Merge branch 'main' into auth-product-page
thejessewinton Oct 10, 2024
9581a12
Merge branch 'main' into auth-product-page
thejessewinton Oct 15, 2024
77eb10b
build
thejessewinton Oct 15, 2024
8d11e92
reset pnpm-lock
thejessewinton Oct 15, 2024
b103e46
Update MultiFactor.svelte
thejessewinton Oct 15, 2024
b52cf3d
Merge branch 'main' into auth-product-page
thejessewinton Oct 15, 2024
f2dc4ee
Merge branch 'main' into auth-product-page
thejessewinton Oct 16, 2024
7bd06cc
rm svg
thejessewinton Oct 16, 2024
6c177a3
pnpm dedupe
thejessewinton Oct 16, 2024
15cafa4
Merge branch 'main' into auth-product-page
thejessewinton Oct 21, 2024
2fc4e2d
update some styles
thejessewinton Oct 21, 2024
f197005
update illustrations
thejessewinton Oct 21, 2024
292e007
Update Phone.svelte
thejessewinton Oct 21, 2024
3ec0b79
Update Identity.svelte
thejessewinton Oct 21, 2024
e0e0417
updates
thejessewinton Oct 21, 2024
026a2ee
clean up and start on animation
thejessewinton Oct 21, 2024
ed7c107
updates
thejessewinton Oct 22, 2024
94f1dc4
tweak footer spacing
thejessewinton Oct 22, 2024
ff9f423
fix snippets section
thejessewinton Oct 22, 2024
4dd18c1
add basic testimonials
thejessewinton Oct 22, 2024
91ce3ad
tweaks
thejessewinton Oct 22, 2024
0b708a9
fix product shot
thejessewinton Oct 22, 2024
5ac2e03
update features
thejessewinton Oct 22, 2024
1775f40
Update Features.svelte
thejessewinton Oct 22, 2024
dd1ef7d
fix code snippets
thejessewinton Oct 22, 2024
4b49c6d
last piece
thejessewinton Oct 22, 2024
736ab53
testimonials
thejessewinton Oct 22, 2024
f1f9f4c
updates
thejessewinton Oct 23, 2024
190610a
Merge branch 'main' into auth-product-page
thejessewinton Oct 23, 2024
1bc9b04
update?
thejessewinton Oct 23, 2024
5a5d52e
try rm'ing svgs
thejessewinton Oct 23, 2024
0e361f4
Update Testimonials.svelte
thejessewinton Oct 23, 2024
7baedc7
Merge branch 'main' into auth-product-page
thejessewinton Oct 23, 2024
c19b5e5
get rid of inlined svg code
thejessewinton Oct 23, 2024
934028f
update
thejessewinton Oct 23, 2024
1ae2392
remove trackEvent
thejessewinton Oct 23, 2024
7a7fbc0
icons
thejessewinton Oct 23, 2024
8bd8f35
update?
thejessewinton Oct 23, 2024
f0d1fc3
Revert "icons"
thejessewinton Oct 23, 2024
33b7ac4
Update SSR.svelte
thejessewinton Oct 23, 2024
d214992
fix?
thejessewinton Oct 23, 2024
f29d6d7
Merge branch 'main' into auth-product-page
thejessewinton Oct 23, 2024
e52a740
Update OpenSource.svelte
thejessewinton Oct 23, 2024
ce1f625
fix?
thejessewinton Oct 23, 2024
1a2f2b3
update
thejessewinton Oct 23, 2024
c8c0094
reverts
thejessewinton Oct 23, 2024
b206a95
Update SecurePasswords.svelte
thejessewinton Oct 23, 2024
9f21d72
Revert "update"
thejessewinton Oct 23, 2024
3e13fec
remove non-existent quickstarts
thejessewinton Oct 23, 2024
3201352
Merge branch 'main' into auth-product-page
thejessewinton Oct 24, 2024
bae1e39
rm prerender
thejessewinton Oct 24, 2024
881513b
Update UseCases.svelte
thejessewinton Oct 25, 2024
938d929
tweaks
thejessewinton Oct 25, 2024
a88c5d8
tweaks
thejessewinton Oct 25, 2024
fc3b8be
tweaks again
thejessewinton Oct 25, 2024
656e3b0
tweak stylings
thejessewinton Oct 25, 2024
f5bd864
update styling on access
thejessewinton Oct 25, 2024
301bc98
Update SSR.svelte
thejessewinton Oct 25, 2024
82c5aac
final tweaks
thejessewinton Oct 25, 2024
ee247a5
Merge branch 'main' into auth-product-page
thejessewinton Oct 25, 2024
5623478
Merge branch 'main' into auth-product-page
thejessewinton Oct 28, 2024
76ad22b
update copy
thejessewinton Oct 28, 2024
e39e18b
Update SSR.svelte
thejessewinton Oct 29, 2024
ca0a515
Merge branch 'main' into auth-product-page
thejessewinton Oct 29, 2024
83272d9
tweaks
thejessewinton Oct 29, 2024
9fa5649
Merge branch 'main' into auth-product-page
thejessewinton Nov 4, 2024
2232b24
Merge branch 'main' into auth-product-page
thejessewinton Nov 5, 2024
cbc6afc
update button spacing
thejessewinton Nov 5, 2024
56fbcb0
update notes
thejessewinton Nov 5, 2024
f91b3ea
Merge branch 'main' into auth-product-page
thejessewinton Nov 6, 2024
e845ac6
Update Access.svelte
thejessewinton Nov 6, 2024
5760ea2
compress images
thejessewinton Nov 18, 2024
da5ac1d
Merge branch 'main' into auth-product-page
thejessewinton Nov 18, 2024
1d05a34
Merge branch 'main' into auth-product-page
thejessewinton Nov 20, 2024
069b381
Merge branch 'main' into auth-product-page
thejessewinton Nov 22, 2024
af77bae
update
thejessewinton Nov 22, 2024
24691e9
udpate
thejessewinton Nov 22, 2024
d8b3693
Update testimonials.svelte
thejessewinton Nov 25, 2024
12a086b
Merge branch 'main' into auth-product-page
thejessewinton Nov 25, 2024
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
41 changes: 21 additions & 20 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,35 +23,36 @@
},
"packageManager": "[email protected]+sha512.f549b8a52c9d2b8536762f99c0722205efc5af913e77835dbccc3b0b0b2ca9e7dc8022b78062c17291c48e88749c70ce88eb5a74f1fa8c4bf5e18bb46c8bd83a",
"dependencies": {
"@sentry/sveltekit": "^8.12.0",
"h3": "^1.12.0",
"sharp": "^0.33.4"
"@sentry/sveltekit": "^8.35.0",
"h3": "^1.13.0",
"sharp": "^0.33.5"
},
"devDependencies": {
"@appwrite.io/console": "^0.6.2",
"@appwrite.io/console": "^0.6.4",
"@appwrite.io/pink": "~0.26.0",
"@appwrite.io/pink-icons": "~0.26.0",
"@appwrite.io/repo": "github:appwrite/appwrite#1.6.x",
"@internationalized/date": "3.5.0",
"@melt-ui/pp": "^0.3.2",
"@melt-ui/svelte": "^0.74.4",
"@playwright/test": "^1.44.1",
"@playwright/test": "^1.48.1",
"@sveltejs/adapter-node": "^4.0.1",
"@sveltejs/enhanced-img": "^0.1.9",
"@sveltejs/kit": "^2.5.17",
"@sveltejs/vite-plugin-svelte": "^3.1.1",
"@sveltejs/kit": "^2.7.2",
"@sveltejs/vite-plugin-svelte": "^3.1.2",
"@tailwindcss/postcss": "4.0.0-alpha.17",
"@types/compression": "^1.7.5",
"@types/glob": "^8.1.0",
"@types/markdown-it": "^13.0.8",
"@types/markdown-it": "^13.0.9",
"@types/morgan": "^1.9.9",
"analytics": "^0.8.14",
"clsx": "^2.1.1",
"cva": "npm:class-variance-authority@^0.7.0",
"date-fns": "^3.6.0",
"dequal": "^2.0.3",
"embla-carousel": "^8.1.5",
"embla-carousel-svelte": "^8.1.5",
"embla-carousel": "^8.3.0",
"embla-carousel-auto-scroll": "^8.3.0",
"embla-carousel-svelte": "^8.3.0",
"embla-carousel-wheel-gestures": "^8.0.1",
"eslint": "^9.7.0",
"eslint-config-prettier": "^9.1.0",
Expand All @@ -66,18 +67,18 @@
"openapi-types": "^12.1.3",
"oslllo-svg-fixer": "^3.0.0",
"plausible-tracker": "^0.3.9",
"postcss": "^8.4.39",
"postcss": "^8.4.47",
"prettier": "^3.3.3",
"prettier-plugin-svelte": "^3.2.5",
"prettier-plugin-tailwindcss": "^0.6.6",
"remeda": "^2.10.0",
"sass": "^1.77.6",
"svelte": "^4.2.18",
"svelte-check": "^3.8.1",
"svelte-markdoc-preprocess": "^2.0.0",
"prettier-plugin-svelte": "^3.2.7",
"prettier-plugin-tailwindcss": "^0.6.8",
"remeda": "^2.16.0",
"sass": "^1.80.3",
"svelte": "^4.2.19",
"svelte-check": "^3.8.6",
"svelte-markdoc-preprocess": "^2.1.0",
"svelte-markdown": "^0.4.1",
"svgtofont": "^4.2.1",
"tailwind-merge": "^2.5.2",
"svgtofont": "^4.2.2",
"tailwind-merge": "^2.5.4",
"tailwindcss": "4.0.0-alpha.17",
"tslib": "^2.6.3",
"typescript": "^5.5.2",
Expand Down
966 changes: 494 additions & 472 deletions pnpm-lock.yaml

Large diffs are not rendered by default.

32 changes: 31 additions & 1 deletion src/app.css
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,18 @@
}
}

@keyframes caret-blink {
0%,
70%,
100% {
opacity: 1;
}
20%,
50% {
opacity: 0;
}
}

@keyframes blur {
0% {
filter: blur(5px);
Expand Down Expand Up @@ -120,6 +132,22 @@
}
}

@keyframes scroll {
0% {
transform: translateX(0);
}
100% {
transform: translateX(-100%);
}
}

/* Animations */
--animate-scale-in: scale-in 200ms ease-out forwards;
--animate-caret-blink: caret-blink 1s ease-in-out infinite;
--animate-text: fade-in 0.75s ease-in-out both, blur 0.75s ease-in-out both,
up 0.75s ease-in-out both;
--animate-scroll: scroll 60s linear infinite;

/* Fonts */
--font-family-sans: 'Inter', arial, sans-serif;
--font-family-mono: 'Fira Code', monospace;
Expand All @@ -130,7 +158,7 @@
/* Font sizes */
--font-size-micro: 0.75rem;
--font-size-micro--line-height: 1rem;
--font-size-micro--letter-spacing: var(--letter-spacing-loose);
--font-size-micro--letter-spacing: var(--letter-spacing-tight);
--font-size-caption: 0.875rem;
--font-size-caption--line-height: 1.375rem;
--font-size-caption--letter-spacing: var(--letter-spacing-tight);
Expand Down Expand Up @@ -188,6 +216,7 @@
--color-primary: var(--color-greyscale-900);
--color-secondary: var(--color-greyscale-700);
--color-accent: var(--color-pink-600);
--carousel-gradient: transparent;
--color-badge-bg: var(--color-badge-bg-light);
--color-badge-border: var(--color-badge-border-light);
}
Expand All @@ -196,6 +225,7 @@
.dark {
--color-primary: var(--color-greyscale-100);
--color-secondary: var(--color-greyscale-300);
--carousel-gradient: 23, 23, 26;
--color-badge-bg: var(--color-badge-bg-dark);
--color-badge-border: var(--color-badge-border-dark);
}
Expand Down
14 changes: 14 additions & 0 deletions src/lib/animations/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -231,6 +231,20 @@ export function write(text: string, cb: (v: string) => void, duration = 500) {
});
}

export function unwrite(text: string, cb: (v: string) => void, duration = 500) {
const step = duration / text.length;
let i = text.length;
return new Promise((resolve) => {
const interval = setInterval(() => {
cb(text.slice(0, --i));
if (i === 0) {
clearInterval(interval);
resolve(undefined);
}
}, step);
});
}

export function sleep(duration: number) {
return new Promise((resolve) => {
setTimeout(resolve, duration);
Expand Down
2 changes: 1 addition & 1 deletion src/lib/components/Select.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@
{#if option.icon}
<span class={option.icon} aria-hidden="true" />
{/if}
<span style:text-transform="capitalize">{option.label}</span>
<span>{option.label}</span>
</button>
{/each}
</div>
Expand Down
85 changes: 60 additions & 25 deletions src/lib/components/carousel/Carousel.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,17 @@
type EmblaPluginType
} from 'embla-carousel';
import { WheelGesturesPlugin } from 'embla-carousel-wheel-gestures';
import AutoScrollPlugin, { type AutoScrollOptionsType } from 'embla-carousel-auto-scroll';

let emblaApi: EmblaCarouselType;

let options: EmblaOptionsType = {
export let showGradient: boolean = true;
export let showBullets: boolean = true;
export let showArrows: boolean = true;
export let autoScrollOptions: AutoScrollOptionsType = {
active: false
};
export let options: EmblaOptionsType = {
align: 'center',
skipSnaps: true,
loop: true
Expand All @@ -27,7 +34,7 @@
else hasNext = false;
};

let plugins: EmblaPluginType[] = [WheelGesturesPlugin()];
let plugins: EmblaPluginType[] = [WheelGesturesPlugin(), AutoScrollPlugin(autoScrollOptions)];

let selectedScrollIndex = 0;
const onSelect = (index: number) => {
Expand Down Expand Up @@ -123,35 +130,63 @@
</script>

<div class="embla web-carousel relative overflow-hidden">
{#if hasPrev}
<button class="web-carousel-button web-carousel-button-start" on:click={onPrev}>
<span class="web-icon-arrow-left" aria-hidden="true"></span>
</button>
{/if}
{#if hasNext}
<button class="web-carousel-button web-carousel-button-end" on:click={onNext}>
<span class="web-icon-arrow-right" aria-hidden="true"></span>
</button>
{#if showArrows}
{#if hasPrev}
<button class="web-carousel-button web-carousel-button-start" on:click={onPrev}>
<span class="web-icon-arrow-left" aria-hidden="true"></span>
</button>
{/if}
{#if hasNext}
<button class="web-carousel-button web-carousel-button-end" on:click={onNext}>
<span class="web-icon-arrow-right" aria-hidden="true"></span>
</button>
{/if}
{/if}

<div class="embla__viewport" use:embla={{ options, plugins }} on:emblaInit={onEmblaInit}>
<ul class="embla__container flex">
<slot />
</ul>
</div>
<div class="shadow" />
</div>

<div class="web-carousel-bullets">
<ul class="web-carousel-bullets-list">
{#each Array.from({ length: emblaApi?.scrollSnapList().length }) as _, i}
<li class="web-carousel-bullets-item rounded-full">
<button
class="web-carousel-bullets-button"
class:is-selected={selectedScrollIndex === i}
aria-label={`gallery item ${i + 1}`}
on:click={() => onSelect(i)}
></button>
</li>
{/each}
</ul>
</div>
{#if showBullets}
<div class="web-carousel-bullets">
<ul class="web-carousel-bullets-list">
{#each Array.from({ length: emblaApi?.scrollSnapList().length }) as _, i}
<li class="web-carousel-bullets-item rounded-full">
<button
class="web-carousel-bullets-button"
class:is-selected={selectedScrollIndex === i}
aria-label={`gallery item ${i + 1}`}
on:click={() => onSelect(i)}
></button>
</li>
{/each}
</ul>
</div>
{/if}

<style>
.shadow {
width: 100vw;
height: 80vh;
position: absolute;
top: 50%;
left: 50%;
pointer-events: none;
transform: translateX(-50%) translateY(-50%);
z-index: 10;
backdrop-filter: blur(2px);
background-color: hsl(var(--web-color-background) / 50%);
mask-composite: intersect;
mask-image: linear-gradient(
to right,
rgba(0, 0, 0, 1) 0%,
transparent,
transparent,
rgba(0, 0, 0, 1) 100%
);
}
</style>
15 changes: 14 additions & 1 deletion src/lib/components/carousel/CarouselSlide.svelte
Original file line number Diff line number Diff line change
@@ -1,4 +1,17 @@
<li class="slide web-carousel-item">
<script lang="ts">
import { classNames } from '$lib/utils/classnames';

let className = '';

export { className as class };
</script>

<li
class={classNames(
'slide web-carousel-item mr-2 flex-[0_0_100%] cursor-grab active:cursor-grabbing md:flex-[0_0_50%]',
className
)}
>
<div class="embla__slide__number">
<slot />
</div>
Expand Down
Loading
Loading