Fix some missing prettier

This commit is contained in:
ernstmul
2024-10-14 17:30:26 +02:00
parent f42bb77236
commit bdb08eceb9
62 changed files with 777 additions and 640 deletions

View File

@@ -1,314 +1,314 @@
{ {
"apple": { "apple": {
"encodedCode": "\\ea01", "encodedCode": "\\ea01",
"prefix": "web-icon", "prefix": "web-icon",
"className": "web-icon-apple", "className": "web-icon-apple",
"unicode": "" "unicode": ""
}, },
"appwrite": { "appwrite": {
"encodedCode": "\\ea02", "encodedCode": "\\ea02",
"prefix": "web-icon", "prefix": "web-icon",
"className": "web-icon-appwrite", "className": "web-icon-appwrite",
"unicode": "" "unicode": ""
}, },
"arrow-down": { "arrow-down": {
"encodedCode": "\\ea03", "encodedCode": "\\ea03",
"prefix": "web-icon", "prefix": "web-icon",
"className": "web-icon-arrow-down", "className": "web-icon-arrow-down",
"unicode": "" "unicode": ""
}, },
"arrow-ext-link": { "arrow-ext-link": {
"encodedCode": "\\ea04", "encodedCode": "\\ea04",
"prefix": "web-icon", "prefix": "web-icon",
"className": "web-icon-arrow-ext-link", "className": "web-icon-arrow-ext-link",
"unicode": "" "unicode": ""
}, },
"arrow-left": { "arrow-left": {
"encodedCode": "\\ea05", "encodedCode": "\\ea05",
"prefix": "web-icon", "prefix": "web-icon",
"className": "web-icon-arrow-left", "className": "web-icon-arrow-left",
"unicode": "" "unicode": ""
}, },
"arrow-right": { "arrow-right": {
"encodedCode": "\\ea06", "encodedCode": "\\ea06",
"prefix": "web-icon", "prefix": "web-icon",
"className": "web-icon-arrow-right", "className": "web-icon-arrow-right",
"unicode": "" "unicode": ""
}, },
"arrow-up": { "arrow-up": {
"encodedCode": "\\ea07", "encodedCode": "\\ea07",
"prefix": "web-icon", "prefix": "web-icon",
"className": "web-icon-arrow-up", "className": "web-icon-arrow-up",
"unicode": "" "unicode": ""
}, },
"calendar": { "calendar": {
"encodedCode": "\\ea08", "encodedCode": "\\ea08",
"prefix": "web-icon", "prefix": "web-icon",
"className": "web-icon-calendar", "className": "web-icon-calendar",
"unicode": "" "unicode": ""
}, },
"check": { "check": {
"encodedCode": "\\ea09", "encodedCode": "\\ea09",
"prefix": "web-icon", "prefix": "web-icon",
"className": "web-icon-check", "className": "web-icon-check",
"unicode": "" "unicode": ""
}, },
"chevron-down": { "chevron-down": {
"encodedCode": "\\ea0a", "encodedCode": "\\ea0a",
"prefix": "web-icon", "prefix": "web-icon",
"className": "web-icon-chevron-down", "className": "web-icon-chevron-down",
"unicode": "" "unicode": ""
}, },
"chevron-left": { "chevron-left": {
"encodedCode": "\\ea0b", "encodedCode": "\\ea0b",
"prefix": "web-icon", "prefix": "web-icon",
"className": "web-icon-chevron-left", "className": "web-icon-chevron-left",
"unicode": "" "unicode": ""
}, },
"chevron-right": { "chevron-right": {
"encodedCode": "\\ea0c", "encodedCode": "\\ea0c",
"prefix": "web-icon", "prefix": "web-icon",
"className": "web-icon-chevron-right", "className": "web-icon-chevron-right",
"unicode": "" "unicode": ""
}, },
"chevron-up": { "chevron-up": {
"encodedCode": "\\ea0d", "encodedCode": "\\ea0d",
"prefix": "web-icon", "prefix": "web-icon",
"className": "web-icon-chevron-up", "className": "web-icon-chevron-up",
"unicode": "" "unicode": ""
}, },
"close": { "close": {
"encodedCode": "\\ea0e", "encodedCode": "\\ea0e",
"prefix": "web-icon", "prefix": "web-icon",
"className": "web-icon-close", "className": "web-icon-close",
"unicode": "" "unicode": ""
}, },
"command": { "command": {
"encodedCode": "\\ea0f", "encodedCode": "\\ea0f",
"prefix": "web-icon", "prefix": "web-icon",
"className": "web-icon-command", "className": "web-icon-command",
"unicode": "" "unicode": ""
}, },
"copy": { "copy": {
"encodedCode": "\\ea10", "encodedCode": "\\ea10",
"prefix": "web-icon", "prefix": "web-icon",
"className": "web-icon-copy", "className": "web-icon-copy",
"unicode": "" "unicode": ""
}, },
"daily-dev": { "daily-dev": {
"encodedCode": "\\ea11", "encodedCode": "\\ea11",
"prefix": "web-icon", "prefix": "web-icon",
"className": "web-icon-daily-dev", "className": "web-icon-daily-dev",
"unicode": "" "unicode": ""
}, },
"dark": { "dark": {
"encodedCode": "\\ea12", "encodedCode": "\\ea12",
"prefix": "web-icon", "prefix": "web-icon",
"className": "web-icon-dark", "className": "web-icon-dark",
"unicode": "" "unicode": ""
}, },
"discord": { "discord": {
"encodedCode": "\\ea13", "encodedCode": "\\ea13",
"prefix": "web-icon", "prefix": "web-icon",
"className": "web-icon-discord", "className": "web-icon-discord",
"unicode": "" "unicode": ""
}, },
"divider-vertical": { "divider-vertical": {
"encodedCode": "\\ea14", "encodedCode": "\\ea14",
"prefix": "web-icon", "prefix": "web-icon",
"className": "web-icon-divider-vertical", "className": "web-icon-divider-vertical",
"unicode": "" "unicode": ""
}, },
"download": { "download": {
"encodedCode": "\\ea15", "encodedCode": "\\ea15",
"prefix": "web-icon", "prefix": "web-icon",
"className": "web-icon-download", "className": "web-icon-download",
"unicode": "" "unicode": ""
}, },
"ext-link": { "ext-link": {
"encodedCode": "\\ea16", "encodedCode": "\\ea16",
"prefix": "web-icon", "prefix": "web-icon",
"className": "web-icon-ext-link", "className": "web-icon-ext-link",
"unicode": "" "unicode": ""
}, },
"firebase": { "firebase": {
"encodedCode": "\\ea17", "encodedCode": "\\ea17",
"prefix": "web-icon", "prefix": "web-icon",
"className": "web-icon-firebase", "className": "web-icon-firebase",
"unicode": "" "unicode": ""
}, },
"github": { "github": {
"encodedCode": "\\ea18", "encodedCode": "\\ea18",
"prefix": "web-icon", "prefix": "web-icon",
"className": "web-icon-github", "className": "web-icon-github",
"unicode": "" "unicode": ""
}, },
"google": { "google": {
"encodedCode": "\\ea19", "encodedCode": "\\ea19",
"prefix": "web-icon", "prefix": "web-icon",
"className": "web-icon-google", "className": "web-icon-google",
"unicode": "" "unicode": ""
}, },
"hamburger-menu": { "hamburger-menu": {
"encodedCode": "\\ea1a", "encodedCode": "\\ea1a",
"prefix": "web-icon", "prefix": "web-icon",
"className": "web-icon-hamburger-menu", "className": "web-icon-hamburger-menu",
"unicode": "" "unicode": ""
}, },
"light": { "light": {
"encodedCode": "\\ea1b", "encodedCode": "\\ea1b",
"prefix": "web-icon", "prefix": "web-icon",
"className": "web-icon-light", "className": "web-icon-light",
"unicode": "" "unicode": ""
}, },
"linkedin": { "linkedin": {
"encodedCode": "\\ea1c", "encodedCode": "\\ea1c",
"prefix": "web-icon", "prefix": "web-icon",
"className": "web-icon-linkedin", "className": "web-icon-linkedin",
"unicode": "" "unicode": ""
}, },
"location": { "location": {
"encodedCode": "\\ea1d", "encodedCode": "\\ea1d",
"prefix": "web-icon", "prefix": "web-icon",
"className": "web-icon-location", "className": "web-icon-location",
"unicode": "" "unicode": ""
}, },
"logout-left": { "logout-left": {
"encodedCode": "\\ea1e", "encodedCode": "\\ea1e",
"prefix": "web-icon", "prefix": "web-icon",
"className": "web-icon-logout-left", "className": "web-icon-logout-left",
"unicode": "" "unicode": ""
}, },
"logout-right": { "logout-right": {
"encodedCode": "\\ea1f", "encodedCode": "\\ea1f",
"prefix": "web-icon", "prefix": "web-icon",
"className": "web-icon-logout-right", "className": "web-icon-logout-right",
"unicode": "" "unicode": ""
}, },
"mailgun": { "mailgun": {
"encodedCode": "\\ea20", "encodedCode": "\\ea20",
"prefix": "web-icon", "prefix": "web-icon",
"className": "web-icon-mailgun", "className": "web-icon-mailgun",
"unicode": "" "unicode": ""
}, },
"message": { "message": {
"encodedCode": "\\ea21", "encodedCode": "\\ea21",
"prefix": "web-icon", "prefix": "web-icon",
"className": "web-icon-message", "className": "web-icon-message",
"unicode": "" "unicode": ""
}, },
"microsoft": { "microsoft": {
"encodedCode": "\\ea22", "encodedCode": "\\ea22",
"prefix": "web-icon", "prefix": "web-icon",
"className": "web-icon-microsoft", "className": "web-icon-microsoft",
"unicode": "" "unicode": ""
}, },
"minus": { "minus": {
"encodedCode": "\\ea23", "encodedCode": "\\ea23",
"prefix": "web-icon", "prefix": "web-icon",
"className": "web-icon-minus", "className": "web-icon-minus",
"unicode": "" "unicode": ""
}, },
"nuxt": { "nuxt": {
"encodedCode": "\\ea24", "encodedCode": "\\ea24",
"prefix": "web-icon", "prefix": "web-icon",
"className": "web-icon-nuxt", "className": "web-icon-nuxt",
"unicode": "" "unicode": ""
}, },
"platform": { "platform": {
"encodedCode": "\\ea25", "encodedCode": "\\ea25",
"prefix": "web-icon", "prefix": "web-icon",
"className": "web-icon-platform", "className": "web-icon-platform",
"unicode": "" "unicode": ""
}, },
"play": { "play": {
"encodedCode": "\\ea26", "encodedCode": "\\ea26",
"prefix": "web-icon", "prefix": "web-icon",
"className": "web-icon-play", "className": "web-icon-play",
"unicode": "" "unicode": ""
}, },
"plus": { "plus": {
"encodedCode": "\\ea27", "encodedCode": "\\ea27",
"prefix": "web-icon", "prefix": "web-icon",
"className": "web-icon-plus", "className": "web-icon-plus",
"unicode": "" "unicode": ""
}, },
"product-hunt": { "product-hunt": {
"encodedCode": "\\ea28", "encodedCode": "\\ea28",
"prefix": "web-icon", "prefix": "web-icon",
"className": "web-icon-product-hunt", "className": "web-icon-product-hunt",
"unicode": "" "unicode": ""
}, },
"refine": { "refine": {
"encodedCode": "\\ea29", "encodedCode": "\\ea29",
"prefix": "web-icon", "prefix": "web-icon",
"className": "web-icon-refine", "className": "web-icon-refine",
"unicode": "" "unicode": ""
}, },
"rest": { "rest": {
"encodedCode": "\\ea2a", "encodedCode": "\\ea2a",
"prefix": "web-icon", "prefix": "web-icon",
"className": "web-icon-rest", "className": "web-icon-rest",
"unicode": "" "unicode": ""
}, },
"search": { "search": {
"encodedCode": "\\ea2b", "encodedCode": "\\ea2b",
"prefix": "web-icon", "prefix": "web-icon",
"className": "web-icon-search", "className": "web-icon-search",
"unicode": "" "unicode": ""
}, },
"sendgrid": { "sendgrid": {
"encodedCode": "\\ea2c", "encodedCode": "\\ea2c",
"prefix": "web-icon", "prefix": "web-icon",
"className": "web-icon-sendgrid", "className": "web-icon-sendgrid",
"unicode": "" "unicode": ""
}, },
"star": { "star": {
"encodedCode": "\\ea2d", "encodedCode": "\\ea2d",
"prefix": "web-icon", "prefix": "web-icon",
"className": "web-icon-star", "className": "web-icon-star",
"unicode": "" "unicode": ""
}, },
"system": { "system": {
"encodedCode": "\\ea2e", "encodedCode": "\\ea2e",
"prefix": "web-icon", "prefix": "web-icon",
"className": "web-icon-system", "className": "web-icon-system",
"unicode": "" "unicode": ""
}, },
"textmagic": { "textmagic": {
"encodedCode": "\\ea2f", "encodedCode": "\\ea2f",
"prefix": "web-icon", "prefix": "web-icon",
"className": "web-icon-textmagic", "className": "web-icon-textmagic",
"unicode": "" "unicode": ""
}, },
"twitter": { "twitter": {
"encodedCode": "\\ea30", "encodedCode": "\\ea30",
"prefix": "web-icon", "prefix": "web-icon",
"className": "web-icon-twitter", "className": "web-icon-twitter",
"unicode": "" "unicode": ""
}, },
"vue": { "vue": {
"encodedCode": "\\ea31", "encodedCode": "\\ea31",
"prefix": "web-icon", "prefix": "web-icon",
"className": "web-icon-vue", "className": "web-icon-vue",
"unicode": "" "unicode": ""
}, },
"x": { "x": {
"encodedCode": "\\ea32", "encodedCode": "\\ea32",
"prefix": "web-icon", "prefix": "web-icon",
"className": "web-icon-x", "className": "web-icon-x",
"unicode": "" "unicode": ""
}, },
"ycombinator": { "ycombinator": {
"encodedCode": "\\ea33", "encodedCode": "\\ea33",
"prefix": "web-icon", "prefix": "web-icon",
"className": "web-icon-ycombinator", "className": "web-icon-ycombinator",
"unicode": "" "unicode": ""
}, },
"youtube": { "youtube": {
"encodedCode": "\\ea34", "encodedCode": "\\ea34",
"prefix": "web-icon", "prefix": "web-icon",
"className": "web-icon-youtube", "className": "web-icon-youtube",
"unicode": "" "unicode": ""
} }
} }

View File

@@ -1,15 +1,18 @@
@font-face { @font-face {
font-family: "web-icon"; font-family: 'web-icon';
font-display: swap; font-display: swap;
src: url('web-icon.eot'); /* IE9*/ src: url('web-icon.eot'); /* IE9*/
src: url('web-icon.eot#iefix') format('embedded-opentype'), /* IE6-IE8 */ src:
url("web-icon.woff2") format("woff2"), url('web-icon.eot#iefix') format('embedded-opentype'),
url("web-icon.woff") format("woff"), /* IE6-IE8 */ url('web-icon.woff2') format('woff2'),
url('web-icon.ttf') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/ url('web-icon.woff') format('woff'),
url('web-icon.svg#web-icon') format('svg'); /* iOS 4.1- */ url('web-icon.ttf') format('truetype'),
/* chrome, firefox, opera, Safari, Android, iOS 4.2+*/ url('web-icon.svg#web-icon')
format('svg'); /* iOS 4.1- */
} }
[class^="web-icon-"], [class*=" web-icon-"] { [class^='web-icon-'],
[class*=' web-icon-'] {
font-family: 'web-icon' !important; font-family: 'web-icon' !important;
font-size: 20px; font-size: 20px;
font-style: normal; font-style: normal;
@@ -17,55 +20,159 @@
-moz-osx-font-smoothing: grayscale; -moz-osx-font-smoothing: grayscale;
} }
.web-icon-apple:before { content: "\ea01"; } .web-icon-apple:before {
.web-icon-appwrite:before { content: "\ea02"; } content: '\ea01';
.web-icon-arrow-down:before { content: "\ea03"; } }
.web-icon-arrow-ext-link:before { content: "\ea04"; } .web-icon-appwrite:before {
.web-icon-arrow-left:before { content: "\ea05"; } content: '\ea02';
.web-icon-arrow-right:before { content: "\ea06"; } }
.web-icon-arrow-up:before { content: "\ea07"; } .web-icon-arrow-down:before {
.web-icon-calendar:before { content: "\ea08"; } content: '\ea03';
.web-icon-check:before { content: "\ea09"; } }
.web-icon-chevron-down:before { content: "\ea0a"; } .web-icon-arrow-ext-link:before {
.web-icon-chevron-left:before { content: "\ea0b"; } content: '\ea04';
.web-icon-chevron-right:before { content: "\ea0c"; } }
.web-icon-chevron-up:before { content: "\ea0d"; } .web-icon-arrow-left:before {
.web-icon-close:before { content: "\ea0e"; } content: '\ea05';
.web-icon-command:before { content: "\ea0f"; } }
.web-icon-copy:before { content: "\ea10"; } .web-icon-arrow-right:before {
.web-icon-daily-dev:before { content: "\ea11"; } content: '\ea06';
.web-icon-dark:before { content: "\ea12"; } }
.web-icon-discord:before { content: "\ea13"; } .web-icon-arrow-up:before {
.web-icon-divider-vertical:before { content: "\ea14"; } content: '\ea07';
.web-icon-download:before { content: "\ea15"; } }
.web-icon-ext-link:before { content: "\ea16"; } .web-icon-calendar:before {
.web-icon-firebase:before { content: "\ea17"; } content: '\ea08';
.web-icon-github:before { content: "\ea18"; } }
.web-icon-google:before { content: "\ea19"; } .web-icon-check:before {
.web-icon-hamburger-menu:before { content: "\ea1a"; } content: '\ea09';
.web-icon-light:before { content: "\ea1b"; } }
.web-icon-linkedin:before { content: "\ea1c"; } .web-icon-chevron-down:before {
.web-icon-location:before { content: "\ea1d"; } content: '\ea0a';
.web-icon-logout-left:before { content: "\ea1e"; } }
.web-icon-logout-right:before { content: "\ea1f"; } .web-icon-chevron-left:before {
.web-icon-mailgun:before { content: "\ea20"; } content: '\ea0b';
.web-icon-message:before { content: "\ea21"; } }
.web-icon-microsoft:before { content: "\ea22"; } .web-icon-chevron-right:before {
.web-icon-minus:before { content: "\ea23"; } content: '\ea0c';
.web-icon-nuxt:before { content: "\ea24"; } }
.web-icon-platform:before { content: "\ea25"; } .web-icon-chevron-up:before {
.web-icon-play:before { content: "\ea26"; } content: '\ea0d';
.web-icon-plus:before { content: "\ea27"; } }
.web-icon-product-hunt:before { content: "\ea28"; } .web-icon-close:before {
.web-icon-refine:before { content: "\ea29"; } content: '\ea0e';
.web-icon-rest:before { content: "\ea2a"; } }
.web-icon-search:before { content: "\ea2b"; } .web-icon-command:before {
.web-icon-sendgrid:before { content: "\ea2c"; } content: '\ea0f';
.web-icon-star:before { content: "\ea2d"; } }
.web-icon-system:before { content: "\ea2e"; } .web-icon-copy:before {
.web-icon-textmagic:before { content: "\ea2f"; } content: '\ea10';
.web-icon-twitter:before { content: "\ea30"; } }
.web-icon-vue:before { content: "\ea31"; } .web-icon-daily-dev:before {
.web-icon-x:before { content: "\ea32"; } content: '\ea11';
.web-icon-ycombinator:before { content: "\ea33"; } }
.web-icon-youtube:before { content: "\ea34"; } .web-icon-dark:before {
content: '\ea12';
}
.web-icon-discord:before {
content: '\ea13';
}
.web-icon-divider-vertical:before {
content: '\ea14';
}
.web-icon-download:before {
content: '\ea15';
}
.web-icon-ext-link:before {
content: '\ea16';
}
.web-icon-firebase:before {
content: '\ea17';
}
.web-icon-github:before {
content: '\ea18';
}
.web-icon-google:before {
content: '\ea19';
}
.web-icon-hamburger-menu:before {
content: '\ea1a';
}
.web-icon-light:before {
content: '\ea1b';
}
.web-icon-linkedin:before {
content: '\ea1c';
}
.web-icon-location:before {
content: '\ea1d';
}
.web-icon-logout-left:before {
content: '\ea1e';
}
.web-icon-logout-right:before {
content: '\ea1f';
}
.web-icon-mailgun:before {
content: '\ea20';
}
.web-icon-message:before {
content: '\ea21';
}
.web-icon-microsoft:before {
content: '\ea22';
}
.web-icon-minus:before {
content: '\ea23';
}
.web-icon-nuxt:before {
content: '\ea24';
}
.web-icon-platform:before {
content: '\ea25';
}
.web-icon-play:before {
content: '\ea26';
}
.web-icon-plus:before {
content: '\ea27';
}
.web-icon-product-hunt:before {
content: '\ea28';
}
.web-icon-refine:before {
content: '\ea29';
}
.web-icon-rest:before {
content: '\ea2a';
}
.web-icon-search:before {
content: '\ea2b';
}
.web-icon-sendgrid:before {
content: '\ea2c';
}
.web-icon-star:before {
content: '\ea2d';
}
.web-icon-system:before {
content: '\ea2e';
}
.web-icon-textmagic:before {
content: '\ea2f';
}
.web-icon-twitter:before {
content: '\ea30';
}
.web-icon-vue:before {
content: '\ea31';
}
.web-icon-x:before {
content: '\ea32';
}
.web-icon-ycombinator:before {
content: '\ea33';
}
.web-icon-youtube:before {
content: '\ea34';
}

View File

@@ -199,7 +199,7 @@
<a <a
class="web-card is-white web-u-min-block-size-320 oss-card flex flex-col" class="web-card is-white web-u-min-block-size-320 oss-card flex flex-col"
id="oss-github" id="oss-github"
href="{GITHUB_REPO_LINK}" href={GITHUB_REPO_LINK}
> >
<div class="flex flex-col justify-between gap-8"> <div class="flex flex-col justify-between gap-8">
<span <span
@@ -246,7 +246,7 @@
<a <a
class="web-card is-white web-u-min-block-size-320 oss-card flex flex-col" class="web-card is-white web-u-min-block-size-320 oss-card flex flex-col"
id="oss-commits" id="oss-commits"
href="{GITHUB_REPO_LINK}" href={GITHUB_REPO_LINK}
> >
<div class="flex flex-col justify-between gap-8"> <div class="flex flex-col justify-between gap-8">
<span <span

View File

@@ -101,7 +101,7 @@
{#each Object.entries(links) as [title, items]} {#each Object.entries(links) as [title, items]}
<li class="web-footer-nav-main-item web-is-not-mobile"> <li class="web-footer-nav-main-item web-is-not-mobile">
<h2 <h2
class="web-footer-nav-main-title web-is-not-mobile text-caption uppercase font-medium" class="web-footer-nav-main-title web-is-not-mobile text-caption font-medium uppercase"
> >
{title} {title}
</h2> </h2>

View File

@@ -37,7 +37,7 @@
</div> </div>
<div class="web-side-nav-mobile-footer-buttons"> <div class="web-side-nav-mobile-footer-buttons">
<a <a
href="{GITHUB_REPO_LINK}" href={GITHUB_REPO_LINK}
target="_blank" target="_blank"
rel="noopener noreferrer" rel="noopener noreferrer"
class="web-button is-text web-u-inline-width-100-percent-mobile" class="web-button is-text web-u-inline-width-100-percent-mobile"

View File

@@ -4,7 +4,7 @@
<img src="/images/bgs/pre-footer.png" alt="" class="web-pre-footer-bg" style="z-index:-1" /> <img src="/images/bgs/pre-footer.png" alt="" class="web-pre-footer-bg" style="z-index:-1" />
<div class="web-u-row-gap-80 relative grid md:grid-cols-2 gap-8"> <div class="web-u-row-gap-80 relative grid gap-8 md:grid-cols-2">
<section class="web-hero flex items-center justify-center gap-y-8"> <section class="web-hero flex items-center justify-center gap-y-8">
<h2 class="text-display font-aeonik-pro text-primary max-w-[500px] text-center"> <h2 class="text-display font-aeonik-pro text-primary max-w-[500px] text-center">
Start building today Start building today

View File

@@ -65,7 +65,9 @@
}>; }>;
</script> </script>
<ul class="web-u-margin-block-32-mobile web-u-margin-block-40-not-mobile flex flex-wrap gap-4 lg:max-w-[34rem]"> <ul
class="web-u-margin-block-32-mobile web-u-margin-block-40-not-mobile flex flex-wrap gap-4 lg:max-w-[34rem]"
>
{#each platforms as platform} {#each platforms as platform}
<Tooltip> <Tooltip>
<li> <li>

View File

@@ -122,7 +122,7 @@
}; };
</script> </script>
<div class="embla relative overflow-hidden web-carousel"> <div class="embla web-carousel relative overflow-hidden">
{#if hasPrev} {#if hasPrev}
<button class="web-carousel-button web-carousel-button-start" on:click={onPrev}> <button class="web-carousel-button web-carousel-button-start" on:click={onPrev}>
<span class="web-icon-arrow-left" aria-hidden="true"></span> <span class="web-icon-arrow-left" aria-hidden="true"></span>

View File

@@ -1,51 +1,51 @@
<script lang="ts"> <script lang="ts">
import { classNames } from '$lib/utils/classnames'; import { classNames } from '$lib/utils/classnames';
import type { HTMLButtonAttributes, HTMLAnchorAttributes } from 'svelte/elements'; import type { HTMLButtonAttributes, HTMLAnchorAttributes } from 'svelte/elements';
import { cva, type VariantProps } from 'cva'; import { cva, type VariantProps } from 'cva';
import InlineTag from './InlineTag.svelte'; import InlineTag from './InlineTag.svelte';
const button = cva( const button = cva(
[ [
'flex w-fit justify-center px-[0.875rem] h-10 transition-all text-center no-underline select-none min-w-10 bg-origin-border text-white font-medium items-center gap-2 rounded-lg border border-transparent button duration-200' 'flex w-fit justify-center px-[0.875rem] h-10 transition-all text-center no-underline select-none min-w-10 bg-origin-border text-white font-medium items-center gap-2 rounded-lg border border-transparent button duration-200'
], ],
{ {
variants: { variants: {
variant: { variant: {
primary: [ primary: [
'bg-[linear-gradient(135deg,_var(--color-accent)_0%,_var(--color-accent)_61%,_var(--color-secondary-100)_100%)]', 'bg-[linear-gradient(135deg,_var(--color-accent)_0%,_var(--color-accent)_61%,_var(--color-secondary-100)_100%)]',
'hover:shadow-[0_0_2rem_var(--color-accent-200)] active:not:disabled:shadow-[0_0_2rem_var(--color-accent-200)]' 'hover:shadow-[0_0_2rem_var(--color-accent-200)] active:not:disabled:shadow-[0_0_2rem_var(--color-accent-200)]'
], ],
secondary: [ secondary: [
'bg-[#fd366e0a] relative', 'bg-[#fd366e0a] relative',
'hover:shadow-[0_-6px_10px_0px_rgba(253,54,110,0.08)_inset]' 'hover:shadow-[0_-6px_10px_0px_rgba(253,54,110,0.08)_inset]'
], ],
text: [ text: [
'bg-transparent border-transparent text-white', 'bg-transparent border-transparent text-white',
'hover:backdrop-blur-md hover:bg-[linear-gradient(135deg,_rgba(255,_255,_255,_0.06)_0%,_rgba(255,_255,_255,_0.10)_54.74%,_rgba(255,_255,_255,_0.06)_100%)]' 'hover:backdrop-blur-md hover:bg-[linear-gradient(135deg,_rgba(255,_255,_255,_0.06)_0%,_rgba(255,_255,_255,_0.10)_54.74%,_rgba(255,_255,_255,_0.06)_100%)]'
] ]
}
} }
} }
} );
);
type ButtonProps = type ButtonProps =
| (HTMLButtonAttributes & { href?: undefined }) | (HTMLButtonAttributes & { href?: undefined })
| (HTMLAnchorAttributes & { href: string }); | (HTMLAnchorAttributes & { href: string });
type $$Props = ButtonProps & VariantProps<typeof button>; type $$Props = ButtonProps & VariantProps<typeof button>;
export let href: $$Props['href'] = undefined; export let href: $$Props['href'] = undefined;
export let variant: $$Props['variant'] = 'primary'; export let variant: $$Props['variant'] = 'primary';
const { class: classes, ...props } = $$restProps; const { class: classes, ...props } = $$restProps;
const buttonClasses = classNames(button({ variant }), classes, { const buttonClasses = classNames(button({ variant }), classes, {
secondary: variant === 'secondary', secondary: variant === 'secondary',
'leading-tight': $$slots.icon 'leading-tight': $$slots.icon
}); });
</script> </script>
{#if href} {#if href}
<a {...props} href={href} class={buttonClasses}> <a {...props} {href} class={buttonClasses}>
{#if $$slots.icon} {#if $$slots.icon}
<slot name="icon" /> <slot name="icon" />
{/if} {/if}

View File

@@ -42,7 +42,7 @@
</h1> </h1>
{#if $$slots.description} {#if $$slots.description}
<div class="flex-1 self-end"> <div class="flex-1 self-end">
<p class="text-secondary mt-6 text-description font-medium"> <p class="text-secondary text-description mt-6 font-medium">
<slot name="description" /> <slot name="description" />
</p> </p>
<slot name="cta" /> <slot name="cta" />

View File

@@ -167,7 +167,7 @@
<div class="web-main-header-end"> <div class="web-main-header-end">
<div class="flex gap-2"> <div class="flex gap-2">
<a <a
href="{GITHUB_REPO_LINK}" href={GITHUB_REPO_LINK}
target="_blank" target="_blank"
rel="noopener noreferrer" rel="noopener noreferrer"
class="web-button is-text" class="web-button is-text"

View File

@@ -14,7 +14,7 @@
const firstStepItem: Tutorial | null = tutorials[0] ?? null; const firstStepItem: Tutorial | null = tutorials[0] ?? null;
// currentStep starts from 1, the arrays start from 0. // currentStep starts from 1, the arrays start from 0.
const currentStepItem = (tutorials[currentStep - 1] ?? firstStepItem); const currentStepItem = tutorials[currentStep - 1] ?? firstStepItem;
$: nextStep = tutorials.find((tutorial) => tutorial.step === currentStep + 1); $: nextStep = tutorials.find((tutorial) => tutorial.step === currentStep + 1);
$: prevStep = tutorials.find((tutorial) => tutorial.step === currentStep - 1); $: prevStep = tutorials.find((tutorial) => tutorial.step === currentStep - 1);
@@ -34,7 +34,7 @@
if (!slotContent) return; if (!slotContent) return;
// dynamically modify all `label` headers to `body`. // dynamically modify all `label` headers to `body`.
slotContent.querySelectorAll<HTMLHeadingElement>('h2.web-label').forEach(header => { slotContent.querySelectorAll<HTMLHeadingElement>('h2.web-label').forEach((header) => {
header.classList.replace('web-label', 'web-main-body-500'); header.classList.replace('web-label', 'web-main-body-500');
}); });
}); });
@@ -78,8 +78,8 @@
<span class="icon-cheveron-left" aria-hidden="true" /> <span class="icon-cheveron-left" aria-hidden="true" />
<span class="web-sub-body-500"> <span class="web-sub-body-500">
Step {prevStep.step}<span class="web-is-not-mobile" Step {prevStep.step}<span class="web-is-not-mobile"
>: {getCorrectTitle(prevStep, 1)}</span >: {getCorrectTitle(prevStep, 1)}</span
> >
</span> </span>
</a> </a>
{/if} {/if}
@@ -91,8 +91,8 @@
> >
<span class="web-sub-body-500"> <span class="web-sub-body-500">
Step {nextStep.step}<span class="web-is-not-mobile" Step {nextStep.step}<span class="web-is-not-mobile"
>: {nextStep.title}</span >: {nextStep.title}</span
> >
</span> </span>
<span class="icon-cheveron-right" aria-hidden="true" /> <span class="icon-cheveron-right" aria-hidden="true" />
</a> </a>
@@ -120,13 +120,15 @@
> >
<span class="web-numeric-badge">{tutorial.step}</span> <span class="web-numeric-badge">{tutorial.step}</span>
<!-- first item will always be introduction --> <!-- first item will always be introduction -->
<span class="web-caption-400">{index === 0 ? 'Introduction' : tutorial.title}</span> <span class="web-caption-400"
>{index === 0 ? 'Introduction' : tutorial.title}</span
>
</a> </a>
{#if isCurrentStep && toc.length} {#if isCurrentStep && toc.length}
<ol <ol
class="web-references-menu-list u-margin-block-start-16 u-margin-inline-start-32" class="web-references-menu-list u-margin-block-start-16 u-margin-inline-start-32"
> >
{#each toc.slice(1) as parent} {#each toc.slice(1) as parent}
<li class="web-references-menu-item"> <li class="web-references-menu-item">
<a <a
href={parent.href} href={parent.href}

View File

@@ -140,15 +140,16 @@
return true; return true;
} }
return $scrollInfo.deltaDirChange < 200; return $scrollInfo.deltaDirChange < 200;
})(); })();
function updateSideNav() { function updateSideNav() {
if(browser) { if (browser) {
const integrationsSide = document.getElementById('integrations-side'); const integrationsSide = document.getElementById('integrations-side');
if (integrationsSide) { if (integrationsSide) {
$isHeaderHidden ? integrationsSide.classList.remove('menu-visible') : integrationsSide.classList.add('menu-visible'); $isHeaderHidden
? integrationsSide.classList.remove('menu-visible')
: integrationsSide.classList.add('menu-visible');
} }
} }
} }
@@ -258,7 +259,7 @@
</div> </div>
<div class="web-main-header-end"> <div class="web-main-header-end">
<a <a
href="{GITHUB_REPO_LINK}" href={GITHUB_REPO_LINK}
target="_blank" target="_blank"
rel="noopener noreferrer" rel="noopener noreferrer"
class="web-button is-text web-u-inline-width-100-percent-mobile" class="web-button is-text web-u-inline-width-100-percent-mobile"

View File

@@ -78,7 +78,7 @@
{/if} {/if}
{:else} {:else}
{#if navGroup.label} {#if navGroup.label}
<h2 class="web-side-nav-header text-micro uppercase whitespace-nowrap"> <h2 class="web-side-nav-header text-micro whitespace-nowrap uppercase">
{navGroup.label} {navGroup.label}
</h2> </h2>
{/if} {/if}
@@ -116,7 +116,7 @@
<IsLoggedIn /> <IsLoggedIn />
<a <a
href="{GITHUB_REPO_LINK}" href={GITHUB_REPO_LINK}
target="_blank" target="_blank"
rel="noopener noreferrer" rel="noopener noreferrer"
class="web-button is-text web-u-inline-width-100-percent-mobile" class="web-button is-text web-u-inline-width-100-percent-mobile"

View File

@@ -2,31 +2,31 @@ import { base } from '$app/paths';
import type { Tutorial } from '$markdoc/layouts/Tutorial.svelte'; import type { Tutorial } from '$markdoc/layouts/Tutorial.svelte';
export function globToTutorial(data: { tutorials: Record<string, unknown>; pathname: string }) { export function globToTutorial(data: { tutorials: Record<string, unknown>; pathname: string }) {
let isFound = false; let isFound = false;
let difficulty, readtime; let difficulty, readtime;
return Object.entries(data.tutorials) return Object.entries(data.tutorials)
.map(([filepath, tutorial]) => { .map(([filepath, tutorial]) => {
const { frontmatter } = tutorial as { const { frontmatter } = tutorial as {
frontmatter: Tutorial; frontmatter: Tutorial;
}; };
const slug = filepath.replace('./', '').replace('/+page.markdoc', ''); const slug = filepath.replace('./', '').replace('/+page.markdoc', '');
const tutorialName = data.pathname.split('/').slice(0, -1).join('/'); const tutorialName = data.pathname.split('/').slice(0, -1).join('/');
if (!isFound && 'difficulty' in frontmatter && 'readtime' in frontmatter) { if (!isFound && 'difficulty' in frontmatter && 'readtime' in frontmatter) {
isFound = true; isFound = true;
readtime = frontmatter.readtime; readtime = frontmatter.readtime;
difficulty = frontmatter.difficulty; difficulty = frontmatter.difficulty;
} }
return { return {
readtime, readtime,
difficulty, difficulty,
...frontmatter, ...frontmatter,
href: `${base}${tutorialName}/${slug}` href: `${base}${tutorialName}/${slug}`
}; };
}) })
.sort((a, b) => { .sort((a, b) => {
return a.step - b.step; return a.step - b.step;
}); });
} }

View File

@@ -284,7 +284,7 @@
</div> </div>
</div> </div>
</div> </div>
<div class="pt-[7.5rem] relative overflow-hidden"> <div class="relative overflow-hidden pt-[7.5rem]">
<div class="container"> <div class="container">
<FooterNav /> <FooterNav />
<MainFooter /> <MainFooter />

View File

@@ -73,7 +73,7 @@
{/each} {/each}
</ul> </ul>
</div> </div>
<div class="pt-[7.5rem] relative overflow-hidden"> <div class="relative overflow-hidden pt-[7.5rem]">
<div class="container"> <div class="container">
<FooterNav /> <FooterNav />
<MainFooter /> <MainFooter />

View File

@@ -113,7 +113,7 @@
</div> </div>
<div class="l-grid-sidebar"> <div class="l-grid-sidebar">
<dl <dl
class="flex flex-col sidebar-desc gap-5" class="sidebar-desc flex flex-col gap-5"
style:top={$isHeaderHidden ? '4rem' : '9rem'} style:top={$isHeaderHidden ? '4rem' : '9rem'}
> >
<div class="flex justify-between gap-2"> <div class="flex justify-between gap-2">
@@ -157,7 +157,7 @@
class="web-hero web-u-max-width-580 flex items-center justify-center gap-y-4" class="web-hero web-u-max-width-580 flex items-center justify-center gap-y-4"
> >
<h2 <h2
class="text-display font-aeonik-pro text-center text-primary max-w-[600px]" class="text-display font-aeonik-pro text-primary max-w-[600px] text-center"
> >
Become a Technology Partner Become a Technology Partner
</h2> </h2>

View File

@@ -150,7 +150,7 @@
{/if} {/if}
<div class="share-post-section mt-4 flex items-center gap-4"> <div class="share-post-section mt-4 flex items-center gap-4">
<span class="text-micro uppercase pr-2" style:color="#adadb0"> <span class="text-micro pr-2 uppercase" style:color="#adadb0">
SHARE SHARE
</span> </span>
@@ -206,7 +206,7 @@
<div class="web-article-content mt-8"> <div class="web-article-content mt-8">
{#if lastUpdated} {#if lastUpdated}
<span class="text-body font-medium last-updated-text"> <span class="text-body last-updated-text font-medium">
Updated: Updated:
<time dateTime={lastUpdated}> <time dateTime={lastUpdated}>
{formatDate(lastUpdated)} {formatDate(lastUpdated)}
@@ -260,7 +260,7 @@
</section> </section>
</div> </div>
</div> </div>
<div class="pt-[7.5rem] relative overflow-hidden"> <div class="relative overflow-hidden pt-[7.5rem]">
<div class="container"> <div class="container">
<Newsletter /> <Newsletter />
<FooterNav /> <FooterNav />

View File

@@ -13,7 +13,7 @@
<a {href} class="web-card is-normal" style:margin-block-end="0"> <a {href} class="web-card is-normal" style:margin-block-end="0">
<img src={dark} alt="" class="web-u-only-dark" width="32" height="32" /> <img src={dark} alt="" class="web-u-only-dark" width="32" height="32" />
<img src={light} alt="" class="web-u-only-light" width="32" height="32" /> <img src={light} alt="" class="web-u-only-light" width="32" height="32" />
<h4 class="text-sub-body font-medium text-primary mt-2"> <h4 class="text-sub-body text-primary mt-2 font-medium">
{title} {title}
</h4> </h4>
<p class="text-sub-body mt-1"> <p class="text-sub-body mt-1">

View File

@@ -14,7 +14,7 @@
{#if icon} {#if icon}
<span class="{icon} web-u-font-size-24" aria-hidden="true" /> <span class="{icon} web-u-font-size-24" aria-hidden="true" />
{/if} {/if}
<h4 class="text-sub-body font-medium text-primary"> <h4 class="text-sub-body text-primary font-medium">
{title} {title}
</h4> </h4>
</header> </header>

View File

@@ -4,6 +4,6 @@
const el = title ? 'h3' : 'span'; const el = title ? 'h3' : 'span';
</script> </script>
<svelte:element this={el} class="text-sub-body font-medium text-primary"> <svelte:element this={el} class="text-sub-body text-primary font-medium">
{title} {title}
</svelte:element> </svelte:element>

View File

@@ -4,6 +4,6 @@
<div class="web-inline-info"> <div class="web-inline-info">
<span class="icon-info" aria-hidden="true" /> <span class="icon-info" aria-hidden="true" />
<h5 class="text-sub-body font-medium text-primary">{title}</h5> <h5 class="text-sub-body text-primary font-medium">{title}</h5>
<slot /> <slot />
</div> </div>

View File

@@ -26,12 +26,15 @@
</script> </script>
<div class="web-card is-normal mt-4" {...$root} use:root> <div class="web-card is-normal mt-4" {...$root} use:root>
<div class="tabs flex gap-4 overflow-scroll" style="scrollbar-width: none; -ms-overflow-style: none;"> <div
class="tabs flex gap-4 overflow-scroll"
style="scrollbar-width: none; -ms-overflow-style: none;"
>
<ul class="tabs-list flex items-center gap-4" {...$list} use:list> <ul class="tabs-list flex items-center gap-4" {...$list} use:list>
{#each $ctx.triggers.entries() as [id, title]} {#each $ctx.triggers.entries() as [id, title]}
<li class="tabs-item hover:bg-white/[0.04] rounded-t-[0.625rem]"> <li class="tabs-item rounded-t-[0.625rem] hover:bg-white/[0.04]">
<button <button
class="tabs-button px-1 py-[0.625rem] font-light outline-none bg-clip-padding cursor-pointer" class="tabs-button cursor-pointer bg-clip-padding py-[0.625rem] px-1 font-light outline-none"
class:is-selected={$value === id} class:is-selected={$value === id}
{...$trigger(id)} {...$trigger(id)}
use:trigger>{title}</button use:trigger>{title}</button

View File

@@ -32,7 +32,7 @@
</div> </div>
</div> </div>
</div> </div>
<div class="pt-[7.5rem] relative"> <div class="relative pt-[7.5rem]">
<div class="container"> <div class="container">
<FooterNav /> <FooterNav />
<MainFooter /> <MainFooter />

View File

@@ -126,11 +126,9 @@
class="web-hero-banner-button mb-4" class="web-hero-banner-button mb-4"
> >
<span class="web-icon-star shrink-0" aria-hidden="true" /> <span class="web-icon-star shrink-0" aria-hidden="true" />
<span class="text-caption font-medium shrink-0">New</span> <span class="text-caption shrink-0 font-medium">New</span>
<div class="web-hero-banner-button-sep" /> <div class="web-hero-banner-button-sep" />
<span class="text-caption web-u-trim-1" <span class="text-caption web-u-trim-1">Introducing Console Roles</span>
>Introducing Console Roles</span
>
<span class="web-icon-arrow-right shrink-0" aria-hidden="true" /> <span class="web-icon-arrow-right shrink-0" aria-hidden="true" />
</a> </a>
<Hero> <Hero>

View File

@@ -19,7 +19,7 @@
aria-hidden="true" aria-hidden="true"
/> />
</div> </div>
<p class="text-sub-body font-medium web-u-text-color-neutral-700"> <p class="text-sub-body web-u-text-color-neutral-700 font-medium">
<slot /> <slot />
</p> </p>
</div> </div>

View File

@@ -195,7 +195,9 @@
</div> </div>
<section> <section>
<div class="web-flex flex-col gap-2"> <div class="web-flex flex-col gap-2">
<h3 class="text-label text-primary mt-3 mb-4">Co-branding logotypes</h3> <h3 class="text-label text-primary mt-3 mb-4">
Co-branding logotypes
</h3>
<p> <p>
Spacing is determined by the Appwrite mark. Unless otherwise Spacing is determined by the Appwrite mark. Unless otherwise
noted by partner brands, each logo is optically equal as a noted by partner brands, each logo is optically equal as a
@@ -302,7 +304,9 @@
</div> </div>
<section id=""> <section id="">
<div class="web-flex flex-col gap-2"> <div class="web-flex flex-col gap-2">
<h3 class="text-label text-primary mt-3 mb-4">Co-branding lockups</h3> <h3 class="text-label text-primary mt-3 mb-4">
Co-branding lockups
</h3>
<p> <p>
Spacing is determined by the Appwrite mark. Unless otherwise Spacing is determined by the Appwrite mark. Unless otherwise
noted by partner brands, each logo is optically equal as a noted by partner brands, each logo is optically equal as a
@@ -331,8 +335,8 @@
</h2> </h2>
<div class="flex flex-wrap gap-8"> <div class="flex flex-wrap gap-8">
<div <div
class="media-wrapper | flex aspect-square web-u-flex-basis-200 web-flex web-u-border-radius-8 web-u-text-color-neutral-900 web-u-bg-color-neutral-50 class="media-wrapper | web-u-flex-basis-200 web-flex web-u-border-radius-8 web-u-text-color-neutral-900 web-u-bg-color-neutral-50 web-u-min-block-size-160 flex
web-u-min-block-size-160 flex-1 flex-col justify-center aspect-square flex-1 flex-col justify-center
gap-2 px-6" gap-2 px-6"
> >
<h3 class="text-label">Light Grey</h3> <h3 class="text-label">Light Grey</h3>
@@ -342,8 +346,8 @@
</div> </div>
</div> </div>
<div <div
class="media-wrapper | aspect-square flex web-u-sep web-u-flex-basis-200 web-flex web-u-border-radius-8 web-u-min-block-size-160 class="media-wrapper | web-u-sep web-u-flex-basis-200 web-flex web-u-border-radius-8 web-u-min-block-size-160 web-u-text-color-neutral-50 web-u-bg-color-neutral-900
web-u-text-color-neutral-50 web-u-bg-color-neutral-900 flex-1 flex-col justify-center flex aspect-square flex-1 flex-col justify-center
gap-2 px-6" gap-2 px-6"
> >
<h3 class="text-label">Dark Grey</h3> <h3 class="text-label">Dark Grey</h3>
@@ -353,8 +357,8 @@
</div> </div>
</div> </div>
<div <div
class="media-wrapper | flex aspect-square web-u-flex-basis-200 web-flex web-u-border-radius-8 web-u-text-color-neutral-50 web-u-bg-color-primary-500 class="media-wrapper | web-u-flex-basis-200 web-flex web-u-border-radius-8 web-u-text-color-neutral-50 web-u-bg-color-primary-500 web-u-min-block-size-160 flex
web-u-min-block-size-160 flex-1 flex-col justify-center aspect-square flex-1 flex-col justify-center
gap-2 px-6" gap-2 px-6"
> >
<h3 class="text-label">Appwrite Pink</h3> <h3 class="text-label">Appwrite Pink</h3>
@@ -616,13 +620,12 @@
right: 1rem; right: 1rem;
bottom: 1rem; bottom: 1rem;
&.visuals { &.visuals {
justify-content: left; justify-content: left;
top: auto; top: auto;
position: relative; position: relative;
margin-top: 2rem; margin-top: 2rem;
} }
} }
} }
</style> </style>

View File

@@ -89,7 +89,7 @@
{data.title} {data.title}
</h1> </h1>
<div class="share-post-section mt-4 flex items-center gap-4"> <div class="share-post-section mt-4 flex items-center gap-4">
<span class="text-micro uppercase pr-2" style:color="#adadb0"> <span class="text-micro pr-2 uppercase" style:color="#adadb0">
SHARE SHARE
</span> </span>

View File

@@ -178,7 +178,7 @@
<span class="text">Join our Discord</span> <span class="text">Join our Discord</span>
</a> </a>
<a <a
href="{GITHUB_REPO_LINK}" href={GITHUB_REPO_LINK}
target="_blank" target="_blank"
rel="noopener noreferrer" rel="noopener noreferrer"
class="web-button is-secondary is-full-width-mobile" class="web-button is-secondary is-full-width-mobile"
@@ -274,7 +274,7 @@
> >
<div> <div>
<h3 class="text-label text-primary">Check our Open Issues</h3> <h3 class="text-label text-primary">Check our Open Issues</h3>
<p class="text-body font-medium mt-1"> <p class="text-body mt-1 font-medium">
Anyone can join and help Appwrite become better. Anyone can join and help Appwrite become better.
</p> </p>
<a <a
@@ -295,7 +295,9 @@
class="web-table-line-cell text-primary whitespace-nowrap text-start" class="web-table-line-cell text-primary whitespace-nowrap text-start"
>Issue #</th >Issue #</th
> >
<th class="web-table-line-cell text-primary text-start">Title</th> <th class="web-table-line-cell text-primary text-start"
>Title</th
>
</tr> </tr>
</thead> </thead>
<tbody class="web-table-line-body"> <tbody class="web-table-line-body">
@@ -347,7 +349,7 @@
<div <div
class="web-card is-normal has-border-gradient web-u-gap-6 flex flex-col" class="web-card is-normal has-border-gradient web-u-gap-6 flex flex-col"
> >
<div class="text-sub-body font-medium text-primary"> <div class="text-sub-body text-primary font-medium">
Create content Create content
</div> </div>
<div class="text-sub-body"> <div class="text-sub-body">
@@ -359,7 +361,7 @@
<div <div
class="web-card is-normal has-border-gradient web-u-gap-6 flex flex-col" class="web-card is-normal has-border-gradient web-u-gap-6 flex flex-col"
> >
<div class="text-sub-body font-medium text-primary"> <div class="text-sub-body text-primary font-medium">
Present at meetups Present at meetups
</div> </div>
<div class="text-sub-body"> <div class="text-sub-body">
@@ -371,7 +373,7 @@
<div <div
class="web-card is-normal has-border-gradient web-u-gap-6 flex flex-col" class="web-card is-normal has-border-gradient web-u-gap-6 flex flex-col"
> >
<div class="text-sub-body font-medium text-primary"> <div class="text-sub-body text-primary font-medium">
Report bugs Report bugs
</div> </div>
<div class="text-sub-body"> <div class="text-sub-body">
@@ -383,7 +385,7 @@
<div <div
class="web-card is-normal has-border-gradient web-u-gap-6 flex flex-col" class="web-card is-normal has-border-gradient web-u-gap-6 flex flex-col"
> >
<div class="text-sub-body font-medium text-primary"> <div class="text-sub-body text-primary font-medium">
Submit new ideas Submit new ideas
</div> </div>
<div class="text-sub-body"> <div class="text-sub-body">
@@ -395,7 +397,7 @@
<div <div
class="web-card is-normal has-border-gradient web-u-gap-6 flex flex-col" class="web-card is-normal has-border-gradient web-u-gap-6 flex flex-col"
> >
<div class="text-sub-body font-medium text-primary"> <div class="text-sub-body text-primary font-medium">
Improve documentation Improve documentation
</div> </div>
<div class="text-sub-body"> <div class="text-sub-body">
@@ -407,7 +409,7 @@
<div <div
class="web-card is-normal has-border-gradient web-u-gap-6 flex flex-col" class="web-card is-normal has-border-gradient web-u-gap-6 flex flex-col"
> >
<div class="text-sub-body font-medium text-primary"> <div class="text-sub-body text-primary font-medium">
Helping others Helping others
</div> </div>
<div class="text-sub-body"> <div class="text-sub-body">
@@ -527,7 +529,7 @@
</li> </li>
<li> <li>
<a <a
href="{GITHUB_REPO_LINK}" href={GITHUB_REPO_LINK}
target="_blank" target="_blank"
rel="noopener noreferrer" rel="noopener noreferrer"
class="web-card is-white web-u-min-block-size-320 flex flex-col" class="web-card is-white web-u-min-block-size-320 flex flex-col"
@@ -669,7 +671,7 @@
</div> </div>
</div> </div>
<div class="pt-[7.5rem] relative"> <div class="relative pt-[7.5rem]">
<div class="container"> <div class="container">
<PreFooter /> <PreFooter />
<FooterNav /> <FooterNav />

View File

@@ -50,7 +50,7 @@
<span class="">{location}</span> <span class="">{location}</span>
</li> </li>
</ul> </ul>
<svelte:element this={headingTag} class="text-sub-body font-medium text-primary mt-1"> <svelte:element this={headingTag} class="text-sub-body text-primary mt-1 font-medium">
{title} {title}
</svelte:element> </svelte:element>
<p class="text-sub-body font-medium"> <p class="text-sub-body font-medium">

View File

@@ -27,7 +27,7 @@
rel="noopener noreferrer" rel="noopener noreferrer"
> >
<div class="p-3"> <div class="p-3">
<h3 class="text-body font-medium text-primary">{title}</h3> <h3 class="text-body text-primary font-medium">{title}</h3>
<p class="line-clamp-2"> <p class="line-clamp-2">
{description} {description}
</p> </p>

View File

@@ -376,7 +376,7 @@
</h5> </h5>
<ul class="web-grid-2c-4c mt-12"> <ul class="web-grid-2c-4c mt-12">
<li class="flex flex-col"> <li class="flex flex-col">
<h6 class="text-body font-medium text-primary">Aaron Applebaum</h6> <h6 class="text-body text-primary font-medium">Aaron Applebaum</h6>
<p class="text-body font-medium">Partner</p> <p class="text-body font-medium">Partner</p>
<p class="text-body font-medium">MizMaa</p> <p class="text-body font-medium">MizMaa</p>
<ul class="mt-auto flex gap-2 pt-4"> <ul class="mt-auto flex gap-2 pt-4">
@@ -405,7 +405,7 @@
</ul> </ul>
</li> </li>
<li class="flex flex-col"> <li class="flex flex-col">
<h6 class="text-body font-medium text-primary">Ariel Maislos</h6> <h6 class="text-body text-primary font-medium">Ariel Maislos</h6>
<p class="text-body font-medium">Angel Investor</p> <p class="text-body font-medium">Angel Investor</p>
<p class="text-body font-medium">Former Apple IL CEO</p> <p class="text-body font-medium">Former Apple IL CEO</p>
<ul class="mt-auto flex gap-2 pt-4"> <ul class="mt-auto flex gap-2 pt-4">
@@ -434,12 +434,12 @@
</ul> </ul>
</li> </li>
<li class="flex flex-col"> <li class="flex flex-col">
<h6 class="text-body font-medium text-primary">Gilad Engel</h6> <h6 class="text-body text-primary font-medium">Gilad Engel</h6>
<p class="text-body font-medium">Angel Investor</p> <p class="text-body font-medium">Angel Investor</p>
<ul class="mt-auto flex gap-2 pt-4" /> <ul class="mt-auto flex gap-2 pt-4" />
</li> </li>
<li class="flex flex-col"> <li class="flex flex-col">
<h6 class="text-body font-medium text-primary">Krishna Visvanathan</h6> <h6 class="text-body text-primary font-medium">Krishna Visvanathan</h6>
<p class="text-body font-medium">Co-founder & Partner</p> <p class="text-body font-medium">Co-founder & Partner</p>
<p class="text-body font-medium">Crane Venture Partners</p> <p class="text-body font-medium">Crane Venture Partners</p>
<ul class="mt-auto flex gap-2 pt-4"> <ul class="mt-auto flex gap-2 pt-4">
@@ -457,7 +457,7 @@
</ul> </ul>
</li> </li>
<li class="flex flex-col"> <li class="flex flex-col">
<h6 class="text-body font-medium text-primary">Ameet Patel</h6> <h6 class="text-body text-primary font-medium">Ameet Patel</h6>
<p class="text-body font-medium">Angel Investor</p> <p class="text-body font-medium">Angel Investor</p>
<ul class="mt-auto flex gap-2 pt-4"> <ul class="mt-auto flex gap-2 pt-4">
<li> <li>
@@ -474,7 +474,7 @@
</ul> </ul>
</li> </li>
<li class="flex flex-col"> <li class="flex flex-col">
<h6 class="text-body font-medium text-primary">Benno Jering</h6> <h6 class="text-body text-primary font-medium">Benno Jering</h6>
<p class="text-body font-medium">Partner</p> <p class="text-body font-medium">Partner</p>
<p class="text-body font-medium">Redline Capital</p> <p class="text-body font-medium">Redline Capital</p>
<ul class="mt-auto flex gap-2 pt-4"> <ul class="mt-auto flex gap-2 pt-4">
@@ -492,7 +492,7 @@
</ul> </ul>
</li> </li>
<li class="flex flex-col"> <li class="flex flex-col">
<h6 class="text-body font-medium text-primary">James Lindenbaum</h6> <h6 class="text-body text-primary font-medium">James Lindenbaum</h6>
<p class="text-body font-medium">Co-founder</p> <p class="text-body font-medium">Co-founder</p>
<p class="text-body font-medium">Heroku</p> <p class="text-body font-medium">Heroku</p>
<ul class="mt-auto flex gap-2 pt-4"> <ul class="mt-auto flex gap-2 pt-4">
@@ -510,7 +510,7 @@
</ul> </ul>
</li> </li>
<li class="flex flex-col"> <li class="flex flex-col">
<h6 class="text-body font-medium text-primary">Uri Boness</h6> <h6 class="text-body text-primary font-medium">Uri Boness</h6>
<p class="text-body font-medium">Co-Founder</p> <p class="text-body font-medium">Co-Founder</p>
<p class="text-body font-medium">Elastic</p> <p class="text-body font-medium">Elastic</p>
<ul class="mt-auto flex gap-2 pt-4"> <ul class="mt-auto flex gap-2 pt-4">

View File

@@ -133,7 +133,7 @@
> >
<div class="flex justify-end"> <div class="flex justify-end">
<ul <ul
class="web-form-list grid md:grid-cols-2 web-u-max-width-580 web-u-max-inline-size-none-mobile w-full gap-4" class="web-form-list web-u-max-width-580 web-u-max-inline-size-none-mobile grid w-full gap-4 md:grid-cols-2"
> >
<li class="web-form-item"> <li class="web-form-item">
<input <input

View File

@@ -125,11 +125,11 @@
<form <form
method="post" method="post"
on:submit|preventDefault={handleSubmit} on:submit|preventDefault={handleSubmit}
class="flex flex-col gap-4 mt-4 lg:mt-0" class="mt-4 flex flex-col gap-4 lg:mt-0"
> >
<div class="flex justify-end"> <div class="flex justify-end">
<ul <ul
class="web-form-list grid md:grid-cols-2 web-u-max-width-580 web-u-max-inline-size-none-mobile w-full gap-4" class="web-form-list web-u-max-width-580 web-u-max-inline-size-none-mobile grid w-full gap-4 md:grid-cols-2"
> >
<li class="web-form-item"> <li class="web-form-item">
<label class="u-block" for="name" <label class="u-block" for="name"
@@ -196,9 +196,7 @@
/> />
</div> </div>
</li> </li>
<li <li class="web-form-item flex-col gap-1 md:col-span-2">
class="web-form-item md:col-span-2 flex-col gap-1"
>
<label class="u-block" for="companyWebsite" <label class="u-block" for="companyWebsite"
>Company website</label >Company website</label
> >
@@ -212,7 +210,7 @@
/> />
</li> </li>
<li <li
class="web-form-item md:col-span-2 sm:col-span-1 flex-col gap-1" class="web-form-item flex-col gap-1 sm:col-span-1 md:col-span-2"
> >
<label class="u-block" for="use-case" <label class="u-block" for="use-case"
>Please share more information about your use >Please share more information about your use
@@ -229,10 +227,12 @@
</ul> </ul>
</div> </div>
<div <div
class="flex flex-col gap-4 justify-between items-center sm:flex-col md:flex-col lg:flex-row" class="flex flex-col items-center justify-between gap-4 sm:flex-col md:flex-col lg:flex-row"
> >
<p class="web-caption-400 self-start lg:self-center web-u-max-width-380"> <p
{#if error} class="web-caption-400 web-u-max-width-380 self-start lg:self-center"
>
{#if error}
{error} {error}
{/if} {/if}
</p> </p>

View File

@@ -69,7 +69,7 @@
<main class="web-main-section relative overflow-x-hidden" id="main"> <main class="web-main-section relative overflow-x-hidden" id="main">
<div class="absolute translate-x-96"> <div class="absolute translate-x-96">
<img src="/images/bgs/docs-blur-1.svg" alt=""/> <img src="/images/bgs/docs-blur-1.svg" alt="" />
</div> </div>
<div class="web-u-opacity-40-mobile absolute top-4 left-0"> <div class="web-u-opacity-40-mobile absolute top-4 left-0">

View File

@@ -21,10 +21,10 @@
</div> </div>
<article class="web-grid-articles-item-content"> <article class="web-grid-articles-item-content">
<header class="web-articles-item-header"> <header class="web-articles-item-header">
<h3 class="text-sub-body font-medium text-primary">{title}</h3> <h3 class="text-sub-body text-primary font-medium">{title}</h3>
</header> </header>
<p <p
class="web-articles-item-paragraph text-sub-body font-medium mt-1 line-clamp-2" class="web-articles-item-paragraph text-sub-body mt-1 line-clamp-2 font-medium"
style="word-break: keep-all;" style="word-break: keep-all;"
> >
{description} {description}

View File

@@ -197,7 +197,7 @@
<main class="web-main-section" id="main"> <main class="web-main-section" id="main">
<article class="web-article"> <article class="web-article">
<header class="web-article-header"> <header class="web-article-header">
<div class="web-article-header-start flex flex-col web-u-cross-start"> <div class="web-article-header-start web-u-cross-start flex flex-col">
<div class="relative flex items-center"> <div class="relative flex items-center">
<h1 class="text-title font-aeonik-pro">Quick start</h1> <h1 class="text-title font-aeonik-pro">Quick start</h1>
</div> </div>
@@ -220,7 +220,7 @@
class="{quickStart.icon} web-u-font-size-24" class="{quickStart.icon} web-u-font-size-24"
aria-hidden="true" aria-hidden="true"
/> />
<h4 class="text-sub-body font-medium text-primary"> <h4 class="text-sub-body text-primary font-medium">
{quickStart.title} {quickStart.title}
</h4> </h4>
</header> </header>

View File

@@ -65,13 +65,13 @@
<thead class="web-table-header"> <thead class="web-table-header">
<tr class="web-table-row"> <tr class="web-table-row">
<th class="web-table-head-col"> <th class="web-table-head-col">
<div class="text-micro uppercase text-primary">Time frame</div> <div class="text-micro text-primary uppercase">Time frame</div>
</th> </th>
<th class="web-table-head-col"> <th class="web-table-head-col">
<div class="text-micro uppercase text-primary">Attempts</div> <div class="text-micro text-primary uppercase">Attempts</div>
</th> </th>
<th class="web-table-head-col"> <th class="web-table-head-col">
<div class="text-micro uppercase text-primary">Key</div> <div class="text-micro text-primary uppercase">Key</div>
</th> </th>
</tr> </tr>
</thead> </thead>

View File

@@ -12,7 +12,7 @@
<li> <li>
<article> <article>
<header class="flex items-baseline gap-2"> <header class="flex items-baseline gap-2">
<span class="text-micro uppercase text-primary"> <span class="text-micro text-primary uppercase">
{response.code} {response.code}
</span> </span>
<span class="text-caption">application/json</span> <span class="text-caption">application/json</span>

View File

@@ -110,9 +110,9 @@
<div class="web-inline-code">{platformType}</div> <div class="web-inline-code">{platformType}</div>
</div> </div>
<div class="web-article-header-end"> <div class="web-article-header-end">
<div class="gap-6 flex flex-col md:flex-row text-primary"> <div class="text-primary flex flex-col gap-6 md:flex-row">
<div class="flex items-center gap-2"> <div class="flex items-center gap-2">
<label class="text-xs web-is-not-mobile" for="platform">Platform</label> <label class="web-is-not-mobile text-xs" for="platform">Platform</label>
<Select <Select
--min-width="10rem" --min-width="10rem"
id="platform" id="platform"
@@ -138,7 +138,7 @@
/> />
</div> </div>
<div class="flex items-center gap-2"> <div class="flex items-center gap-2">
<label class="text-xs web-is-not-mobile" for="version">Version</label> <label class="web-is-not-mobile text-xs" for="version">Version</label>
<Select <Select
nativeMobile nativeMobile
@@ -162,7 +162,7 @@
<!-- eslint-disable-next-line svelte/no-at-html-tags --> <!-- eslint-disable-next-line svelte/no-at-html-tags -->
{@html parse(data.service?.description)} {@html parse(data.service?.description)}
</div> </div>
<div class="web-article-content-grid-6-4-column-2 flex flex-col gap-8 j-end"> <div class="web-article-content-grid-6-4-column-2 j-end flex flex-col gap-8">
<Fence <Fence
language="text" language="text"
badge="Base URL" badge="Base URL"
@@ -176,7 +176,7 @@
<div class="web-article-content-grid-6-4-column-2 flex flex-col gap-8"> <div class="web-article-content-grid-6-4-column-2 flex flex-col gap-8">
<div class="web-inline-info"> <div class="web-inline-info">
<span class="icon-info" aria-hidden="true" /> <span class="icon-info" aria-hidden="true" />
<h5 class="text-sub-body font-medium text-primary"> <h5 class="text-sub-body text-primary font-medium">
No endpoint found for this version and platform No endpoint found for this version and platform
</h5> </h5>
Please switch to a newer version or different platform. Please switch to a newer version or different platform.
@@ -211,7 +211,7 @@
</Accordion> </Accordion>
</div> </div>
<div class="web-article-content-grid-6-4-column-2 flex flex-col gap-8"> <div class="web-article-content-grid-6-4-column-2 flex flex-col gap-8">
<div class="contents dark"> <div class="dark contents">
<div <div
class="sticky" class="sticky"
style="--inset-block-start:var(--p-grid-huge-navs-secondary-sticky-position);" style="--inset-block-start:var(--p-grid-huge-navs-secondary-sticky-position);"
@@ -249,7 +249,7 @@
</button> </button>
<div class="web-references-menu-content"> <div class="web-references-menu-content">
<div <div
class="web-references-menu-header flex justify-between items-center gap-4 mt-6" class="web-references-menu-header mt-6 flex items-center justify-between gap-4"
> >
<h5 class="web-references-menu-title text-micro uppercase">On This Page</h5> <h5 class="web-references-menu-title text-micro uppercase">On This Page</h5>
<button class="web-icon-button" id="refClose" on:click={toggleReferences}> <button class="web-icon-button" id="refClose" on:click={toggleReferences}>
@@ -267,7 +267,7 @@
</li> </li>
{/each} {/each}
</ul> </ul>
<div class="border-t border-greyscale-900/[0.04] web-u-padding-block-20"> <div class="border-greyscale-900/[0.04] web-u-padding-block-20 border-t">
<button class="web-link inline-flex items-center gap-2" use:scrollToTop> <button class="web-link inline-flex items-center gap-2" use:scrollToTop>
<span class="web-icon-arrow-up" aria-hidden="true" /> <span class="web-icon-arrow-up" aria-hidden="true" />
<span class="text-caption">Back to top</span> <span class="text-caption">Back to top</span>

View File

@@ -59,7 +59,7 @@
<main class="web-main-section" id="main"> <main class="web-main-section" id="main">
<article class="web-article"> <article class="web-article">
<header class="web-article-header"> <header class="web-article-header">
<div class="web-article-header-start flex flex-col web-u-cross-start"> <div class="web-article-header-start web-u-cross-start flex flex-col">
<div class="relative flex items-center"> <div class="relative flex items-center">
<h1 class="text-title font-aeonik-pro">Tutorials</h1> <h1 class="text-title font-aeonik-pro">Tutorials</h1>
</div> </div>
@@ -70,7 +70,7 @@
{#each data.tutorials as category} {#each data.tutorials as category}
<section class="flex flex-col gap-6"> <section class="flex flex-col gap-6">
<h2 class="text-micro uppercase">{category.title}</h2> <h2 class="text-micro uppercase">{category.title}</h2>
<ul class="web-grid-row-4 web-grid-row-4-mobile-1 "> <ul class="web-grid-row-4 web-grid-row-4-mobile-1">
{#each category.tutorials as tutorial} {#each category.tutorials as tutorial}
<li> <li>
{#if tutorial.draft === true} {#if tutorial.draft === true}
@@ -85,7 +85,7 @@
class="{getIcon(tutorial)} web-u-font-size-24" class="{getIcon(tutorial)} web-u-font-size-24"
aria-hidden="true" aria-hidden="true"
/> />
<h3 class="text-sub-body font-medium text-primary"> <h3 class="text-sub-body text-primary font-medium">
{tutorial.framework} {tutorial.framework}
</h3> </h3>
<span class="badge text-caption">Coming Soon</span> <span class="badge text-caption">Coming Soon</span>
@@ -98,7 +98,7 @@
class="{getIcon(tutorial)} web-u-font-size-24" class="{getIcon(tutorial)} web-u-font-size-24"
aria-hidden="true" aria-hidden="true"
/> />
<h3 class="text-sub-body font-medium text-primary"> <h3 class="text-sub-body text-primary font-medium">
{tutorial.framework} {tutorial.framework}
</h3> </h3>
</header> </header>

View File

@@ -21,7 +21,7 @@
{#if hasReleased} {#if hasReleased}
<div class="day"> <div class="day">
<div class="circle" aria-hidden /> <div class="circle" aria-hidden />
<span class="text-micro uppercase text-primary" <span class="text-micro text-primary uppercase"
>Day {number}<span class="web-u-color-text-accent">_</span></span >Day {number}<span class="web-u-color-text-accent">_</span></span
> >
<h2 class="text-label text-primary">{day.title}</h2> <h2 class="text-label text-primary">{day.title}</h2>
@@ -31,7 +31,7 @@
</div> </div>
{:else} {:else}
<div class="release"> <div class="release">
<span class="text-micro uppercase text-primary" <span class="text-micro text-primary uppercase"
>Day {number}<span class="web-u-color-text-accent">_</span></span >Day {number}<span class="web-u-color-text-accent">_</span></span
> >
<div class="bottom"> <div class="bottom">

View File

@@ -16,7 +16,7 @@
$: hasReleased = now >= release; $: hasReleased = now >= release;
</script> </script>
<h2 class="text-micro uppercase text-primary"> <h2 class="text-micro text-primary uppercase">
<div class="web-dot" /> <div class="web-dot" />
{#if day !== undefined} {#if day !== undefined}
{day}<span class="web-u-color-text-accent">_</span> {day}<span class="web-u-color-text-accent">_</span>

View File

@@ -197,7 +197,7 @@
{:else if i === 4} {:else if i === 4}
<Day5 {date} release={day.release} /> <Day5 {date} release={day.release} />
{:else} {:else}
<h2 class="text-micro uppercase text-primary"> <h2 class="text-micro text-primary uppercase">
<div class="web-dot" /> <div class="web-dot" />
{date} {date}
<span class="web-u-color-text-accent">_</span> <span class="web-u-color-text-accent">_</span>

View File

@@ -44,7 +44,7 @@
const variants: TicketVariant[] = ['default', 'pink', 'rainbow'] as const; const variants: TicketVariant[] = ['default', 'pink', 'rainbow'] as const;
</script> </script>
<div class="flex flex-col u-gap-4 u-margin-block-start-32"> <div class="u-gap-4 u-margin-block-start-32 flex flex-col">
<label for="name">Your name</label> <label for="name">Your name</label>
<input <input
class="web-input-text" class="web-input-text"
@@ -105,7 +105,7 @@
</button> </button>
{/if} {/if}
{:else} {:else}
<h2 class="text-sub-body font-medium text-primary">Integrate your GitHub account</h2> <h2 class="text-sub-body text-primary font-medium">Integrate your GitHub account</h2>
<p class="text-sub-body font-medium" style:margin-block-start="0.25rem"> <p class="text-sub-body font-medium" style:margin-block-start="0.25rem">
Sign in with your GitHub account and see the magic happen in your ticket. Sign in with your GitHub account and see the magic happen in your ticket.
</p> </p>
@@ -130,7 +130,7 @@
Your ticket has been upgraded. Your ticket has been upgraded.
</p> </p>
{:else} {:else}
<h2 class="text-sub-body font-medium text-primary">Integrate your Appwrite account</h2> <h2 class="text-sub-body text-primary font-medium">Integrate your Appwrite account</h2>
<p class="text-sub-body font-medium" style:margin-block-start="0.25rem"> <p class="text-sub-body font-medium" style:margin-block-start="0.25rem">
Sign in with your Appwrite account and see the magic happen in your ticket. Sign in with your Appwrite account and see the magic happen in your ticket.
</p> </p>
@@ -144,7 +144,7 @@
{/if} {/if}
<hr /> <hr />
<h2 class="text-sub-body font-medium text-primary">Add your tribe</h2> <h2 class="text-sub-body text-primary font-medium">Add your tribe</h2>
<p class="text-sub-body font-medium" style:margin-block-start="0.25rem"> <p class="text-sub-body font-medium" style:margin-block-start="0.25rem">
Customize your Init ticket with your technology. Customize your Init ticket with your technology.
</p> </p>

View File

@@ -43,7 +43,7 @@
{:else} {:else}
<div style:z-index="10" style="margin-top: auto; margin-bottom: 0;"> <div style:z-index="10" style="margin-top: auto; margin-bottom: 0;">
<span <span
class="text-primary text-micro uppercase web-u-uppercase" class="text-primary text-micro web-u-uppercase uppercase"
style:margin-bottom="-8px" style:margin-bottom="-8px"
style:display="block" style:display="block"
> >

View File

@@ -49,7 +49,7 @@
</li> </li>
{/if} {/if}
</ul> </ul>
<svelte:element this={headingTag} class="text-sub-body font-medium text-primary mt-1"> <svelte:element this={headingTag} class="text-sub-body text-primary mt-1 font-medium">
{title} {title}
</svelte:element> </svelte:element>
<p class="text-sub-body font-medium"> <p class="text-sub-body font-medium">

View File

@@ -16,7 +16,7 @@
$: hasReleased = now >= release; $: hasReleased = now >= release;
</script> </script>
<h2 class="text-micro uppercase text-primary"> <h2 class="text-micro text-primary uppercase">
<div class="web-dot" /> <div class="web-dot" />
{#if day !== undefined} {#if day !== undefined}
{day}<span class="web-u-color-text-accent">_</span> {day}<span class="web-u-color-text-accent">_</span>

View File

@@ -107,7 +107,7 @@
{:else if i === 4} {:else if i === 4}
<Day4 release={day.release} /> <Day4 release={day.release} />
{:else} {:else}
<h2 class="text-micro uppercase text-primary"> <h2 class="text-micro text-primary uppercase">
<div class="web-dot" /> <div class="web-dot" />
{date} {date}
<span class="web-u-color-text-accent">_</span> <span class="web-u-color-text-accent">_</span>

View File

@@ -23,9 +23,9 @@ export type IntegrationCategory = {
slug: string; slug: string;
heading: string; heading: string;
description: string; description: string;
} };
const categoryDescriptions : IntegrationCategory[] = [ const categoryDescriptions: IntegrationCategory[] = [
{ {
slug: 'ai', slug: 'ai',
heading: 'AI', heading: 'AI',
@@ -71,7 +71,7 @@ const categoryDescriptions : IntegrationCategory[] = [
heading: 'Deployments', heading: 'Deployments',
description: 'Seamlessly deploy your code' description: 'Seamlessly deploy your code'
} }
] ];
export const load = () => { export const load = () => {
const integrationsGlob = import.meta.glob('./**/*.markdoc', { const integrationsGlob = import.meta.glob('./**/*.markdoc', {
@@ -90,7 +90,10 @@ export const load = () => {
const integrationName = slug.slice(slug.lastIndexOf('/') + 1); const integrationName = slug.slice(slug.lastIndexOf('/') + 1);
frontmatter.platform.map((platform) => platforms.push(platform)); frontmatter.platform.map((platform) => platforms.push(platform));
categories.push(categoryDescriptions.find((i) => i.slug === frontmatter.category) ?? {} as IntegrationCategory); categories.push(
categoryDescriptions.find((i) => i.slug === frontmatter.category) ??
({} as IntegrationCategory)
);
return { return {
...frontmatter, ...frontmatter,
@@ -103,7 +106,7 @@ export const load = () => {
const integrationsWithDescriptions = Object.entries(groupedIntegrations).map( const integrationsWithDescriptions = Object.entries(groupedIntegrations).map(
([category, integrations]) => { ([category, integrations]) => {
const integrationCategory = categoryDescriptions.find( const integrationCategory = categoryDescriptions.find(
( key ) => key.slug === category.toLowerCase() (key) => key.slug === category.toLowerCase()
); );
return { return {
category, category,
@@ -119,7 +122,7 @@ export const load = () => {
const featuredIntegrationsWithCategoryHeadings = Object.entries(featuredIntegrations).map( const featuredIntegrationsWithCategoryHeadings = Object.entries(featuredIntegrations).map(
([_, integration]) => { ([_, integration]) => {
const integrationCategory = categoryDescriptions.find( const integrationCategory = categoryDescriptions.find(
( key ) => key.slug === integration.category.toLowerCase() (key) => key.slug === integration.category.toLowerCase()
); );
return { return {
heading: integrationCategory?.heading, heading: integrationCategory?.heading,

View File

@@ -79,7 +79,7 @@
<Main> <Main>
<div class="web-big-padding-section"> <div class="web-big-padding-section">
<div id="form" class="overflow-hidden p-0 pt-10"> <div id="form" class="overflow-hidden p-0 pt-10">
<div class="pt-[7.5rem] relative"> <div class="relative pt-[7.5rem]">
<div class="relative"> <div class="relative">
<div class="container relative"> <div class="container relative">
<!-- before submit --> <!-- before submit -->

View File

@@ -70,14 +70,16 @@
> >
<div class="web-pricing-cards-item"> <div class="web-pricing-cards-item">
<header class="web-pricing-cards-header"> <header class="web-pricing-cards-header">
<h2 id="starter" class="text-label font-aeonik-pro">Free</h2> <h2 id="starter" class="text-label font-aeonik-pro">
Free
</h2>
<div <div
class="text-title font-aeonik-pro text-primary mt-2" class="text-title font-aeonik-pro text-primary mt-2"
> >
$0 $0
</div> </div>
<div class="mt-1">&nbsp;</div> <div class="mt-1">&nbsp;</div>
<p class="text-body mt-4 font-medium h-[5rem]"> <p class="text-body mt-4 h-[5rem] font-medium">
For personal hobby projects and students. For personal hobby projects and students.
</p> </p>
<a <a
@@ -122,7 +124,9 @@
<div class="web-pricing-cards-item"> <div class="web-pricing-cards-item">
<header class="web-pricing-cards-header"> <header class="web-pricing-cards-header">
<header class="flex gap-3"> <header class="flex gap-3">
<h2 id="pro" class="text-label font-aeonik-pro">Pro</h2> <h2 id="pro" class="text-label font-aeonik-pro">
Pro
</h2>
<div class="web-inline-tag is-pink">Popular</div> <div class="web-inline-tag is-pink">Popular</div>
</header> </header>
<div <div
@@ -131,7 +135,7 @@
$15 $15
</div> </div>
<div class="mt-1">per member/month</div> <div class="mt-1">per member/month</div>
<p class="text-body mt-4 font-medium h-[5rem]"> <p class="text-body mt-4 h-[5rem] font-medium">
For pro developers and teams that need to scale For pro developers and teams that need to scale
their products. their products.
</p> </p>
@@ -156,7 +160,9 @@
<li><span>200K monthly active users</span></li> <li><span>200K monthly active users</span></li>
<li><span>Organization roles</span></li> <li><span>Organization roles</span></li>
<li><span>Email support</span></li> <li><span>Email support</span></li>
<li><span>Daily backups stored for 7 days</span></li> <li>
<span>Daily backups stored for 7 days</span>
</li>
<li><span>Add-ons</span></li> <li><span>Add-ons</span></li>
<li> <li>
<span <span
@@ -175,14 +181,16 @@
> >
<div class="web-pricing-cards-item"> <div class="web-pricing-cards-item">
<header class="web-pricing-cards-header"> <header class="web-pricing-cards-header">
<h2 id="scale" class="text-label font-aeonik-pro">Scale</h2> <h2 id="scale" class="text-label font-aeonik-pro">
Scale
</h2>
<div <div
class="text-title font-aeonik-pro text-primary mt-2" class="text-title font-aeonik-pro text-primary mt-2"
> >
$599 $599
</div> </div>
<div class="mt-1">per organization/month</div> <div class="mt-1">per organization/month</div>
<p class="text-body mt-4 font-medium h-[5rem]"> <p class="text-body mt-4 h-[5rem] font-medium">
For scaling teams and agencies that need dedicated For scaling teams and agencies that need dedicated
support. support.
</p> </p>
@@ -206,7 +214,7 @@
<li><span>Custom organization roles</span></li> <li><span>Custom organization roles</span></li>
<li><span>SSO</span></li> <li><span>SSO</span></li>
<li><span>Activity logs</span></li> <li><span>Activity logs</span></li>
<li><span>Custom backup policies</span></li> <li><span>Custom backup policies</span></li>
<li><span>Priority support</span></li> <li><span>Priority support</span></li>
</ul> </ul>
</div> </div>
@@ -220,14 +228,16 @@
> >
<div class="web-pricing-cards-item"> <div class="web-pricing-cards-item">
<header class="web-pricing-cards-header"> <header class="web-pricing-cards-header">
<h2 id="enterprise" class="text-label font-aeonik-pro">Enterprise</h2> <h2 id="enterprise" class="text-label font-aeonik-pro">
Enterprise
</h2>
<div <div
class="text-title font-aeonik-pro text-primary mt-2" class="text-title font-aeonik-pro text-primary mt-2"
> >
Custom Custom
</div> </div>
<div class="mt-1">per organization/month</div> <div class="mt-1">per organization/month</div>
<p class="text-body mt-4 font-medium h-[5rem]"> <p class="text-body mt-4 h-[5rem] font-medium">
For enterprises that need more power and premium For enterprises that need more power and premium
support. support.
</p> </p>
@@ -260,53 +270,53 @@
</ul> </ul>
</div> </div>
<!-- <ul class="web-grid-1-1-opt-2 mt-20 gap-8">--> <!-- <ul class="web-grid-1-1-opt-2 mt-20 gap-8">-->
<!-- <li>--> <!-- <li>-->
<!-- <article--> <!-- <article-->
<!-- class="web-card is-transparent has-border-gradient min-h-full"--> <!-- class="web-card is-transparent has-border-gradient min-h-full"-->
<!-- style="background:rgba(35, 35, 37, 0.90);"--> <!-- style="background:rgba(35, 35, 37, 0.90);"-->
<!-- >--> <!-- >-->
<!-- <header class="flex gap-3">--> <!-- <header class="flex gap-3">-->
<!-- <h3 id="enterprises" class="text-body text-primary font-medium">--> <!-- <h3 id="enterprises" class="text-body text-primary font-medium">-->
<!-- Enterprises--> <!-- Enterprises-->
<!-- </h3>--> <!-- </h3>-->
<!-- <div class="web-inline-tag is-pink">Coming Soon</div>--> <!-- <div class="web-inline-tag is-pink">Coming Soon</div>-->
<!-- </header>--> <!-- </header>-->
<!-- <p class="mt-2">--> <!-- <p class="mt-2">-->
<!-- Large scale projects seeking greater performance, collaboration--> <!-- Large scale projects seeking greater performance, collaboration-->
<!-- and security.--> <!-- and security.-->
<!-- </p>--> <!-- </p>-->
<!-- <a href="/contact-us" class="web-button is-secondary mt-8">--> <!-- <a href="/contact-us" class="web-button is-secondary mt-8">-->
<!-- <span>Contact us</span>--> <!-- <span>Contact us</span>-->
<!-- </a>--> <!-- </a>-->
<!-- </article>--> <!-- </article>-->
<!-- </li>--> <!-- </li>-->
<!-- <li>--> <!-- <li>-->
<!-- <article--> <!-- <article-->
<!-- class="web-card is-transparent has-border-gradient min-h-full"--> <!-- class="web-card is-transparent has-border-gradient min-h-full"-->
<!-- style="background:rgba(35, 35, 37, 0.90);"--> <!-- style="background:rgba(35, 35, 37, 0.90);"-->
<!-- >--> <!-- >-->
<!-- <header class="flex gap-3">--> <!-- <header class="flex gap-3">-->
<!-- <h3--> <!-- <h3-->
<!-- id="open-source-teams"--> <!-- id="open-source-teams"-->
<!-- class="text-body text-primary font-medium"--> <!-- class="text-body text-primary font-medium"-->
<!-- >--> <!-- >-->
<!-- Open-source teams--> <!-- Open-source teams-->
<!-- </h3>--> <!-- </h3>-->
<!-- </header>--> <!-- </header>-->
<!-- <p class="mt-2">--> <!-- <p class="mt-2">-->
<!-- We support OSS maintainers with a free Pro Plan. Read our--> <!-- We support OSS maintainers with a free Pro Plan. Read our-->
<!-- announcement blog to find out more.--> <!-- announcement blog to find out more.-->
<!-- </p>--> <!-- </p>-->
<!-- <a--> <!-- <a-->
<!-- href="/docs/advanced/platform/oss"--> <!-- href="/docs/advanced/platform/oss"-->
<!-- class="web-button is-secondary mt-8"--> <!-- class="web-button is-secondary mt-8"-->
<!-- >--> <!-- >-->
<!-- <span>Learn more</span>--> <!-- <span>Learn more</span>-->
<!-- </a>--> <!-- </a>-->
<!-- </article>--> <!-- </article>-->
<!-- </li>--> <!-- </li>-->
<!-- </ul>--> <!-- </ul>-->
</section> </section>
</div> </div>
</div> </div>

View File

@@ -203,14 +203,14 @@
scale: 'Unlimited', scale: 'Unlimited',
enterprise: 'Unlimited' enterprise: 'Unlimited'
}, },
{ {
title: 'Backups', title: 'Backups',
free: '-', free: '-',
pro: 'Daily,', pro: 'Daily,',
scale: 'Custom', scale: 'Custom',
enterprise: 'Custom' enterprise: 'Custom'
}, },
{ {
title: 'Backups retention', title: 'Backups retention',
free: '-', free: '-',
pro: '7 days retention,', pro: '7 days retention,',

View File

@@ -5,7 +5,7 @@
<div class="step" data-hideline={hideLine}> <div class="step" data-hideline={hideLine}>
<div class="web-dot" /> <div class="web-dot" />
<h2 class="text-micro uppercase text-primary step-title">{title}</h2> <h2 class="text-micro text-primary step-title uppercase">{title}</h2>
<div class="step-content mt-8"> <div class="step-content mt-8">
<slot /> <slot />
</div> </div>

View File

@@ -235,7 +235,7 @@
/> />
<foreignObject x={textPos[0]} y={textPos[1]} width="360" height="64"> <foreignObject x={textPos[0]} y={textPos[1]} width="360" height="64">
<span class="text-micro uppercase text-primary" data-active={$selected[i]}> <span class="text-micro text-primary uppercase" data-active={$selected[i]}>
{device.value} {device.value}
</span> </span>
</foreignObject> </foreignObject>
@@ -320,7 +320,7 @@
return next; return next;
}} }}
/> />
<span class="text-sub-body font-medium text-primary"> <span class="text-sub-body text-primary font-medium">
{user.name} {user.name}
</span> </span>
<span class="text-caption"> <span class="text-caption">

View File

@@ -255,7 +255,7 @@ messaging.create_email(
<div> <div>
<div class="product"> <div class="product">
<img src="/images/icons/illustrated/dark/messaging.png" alt="" /> <img src="/images/icons/illustrated/dark/messaging.png" alt="" />
<span class="text-micro uppercase text-primary"> <span class="text-micro text-primary uppercase">
Messaging<span class="web-u-color-text-accent">_</span> Messaging<span class="web-u-color-text-accent">_</span>
</span> </span>
<span class="web-hero-banner-button text-micro uppercase">BETA</span> <span class="web-hero-banner-button text-micro uppercase">BETA</span>
@@ -652,7 +652,7 @@ messaging.create_email(
</ul> </ul>
</div> </div>
</section> </section>
<div class="pt-[7.5rem] relative"> <div class="relative pt-[7.5rem]">
<div class="container"> <div class="container">
<PreFooter /> <PreFooter />
<FooterNav /> <FooterNav />

View File

@@ -662,7 +662,7 @@
</div> </div>
<div id="form" class="overflow-hidden pt-10"> <div id="form" class="overflow-hidden pt-10">
<div class="pt-[7.5rem] is-margin-replace-padding relative"> <div class="is-margin-replace-padding relative pt-[7.5rem]">
<div class="relative"> <div class="relative">
<div class="web-big-padding-section-level-2"> <div class="web-big-padding-section-level-2">
<div class="container relative"> <div class="container relative">

View File

@@ -21,7 +21,10 @@
<!-- <time class="text-caption ml-auto">12 Jan, 2023</time> --> <!-- <time class="text-caption ml-auto">12 Jan, 2023</time> -->
</div> </div>
<p class="web-main-body-500 u-margin-block-start-4 u-break-word" use:highlight={highlightTerms}> <p
class="web-main-body-500 u-margin-block-start-4 u-break-word"
use:highlight={highlightTerms}
>
{sanitizeContent(thread.content)} {sanitizeContent(thread.content)}
</p> </p>

View File

@@ -71,15 +71,15 @@
<MessageCard {message}> <MessageCard {message}>
{#if isFirst} {#if isFirst}
<div class="web-inline-info web-u-margin-block-start-24"> <div class="web-inline-info web-u-margin-block-start-24">
<div class="text-sub-body font-medium text-primary">TL;DR</div> <div class="text-sub-body text-primary font-medium">TL;DR</div>
{data.tldr} {data.tldr}
</div> </div>
{/if} {/if}
</MessageCard> </MessageCard>
{/each} {/each}
<div class="web-card is-normal has-border-gradient"> <div class="web-card is-normal has-border-gradient">
<span class="text-sub-body font-medium text-primary">Reply</span> <span class="text-sub-body text-primary font-medium">Reply</span>
<p class="text-sub-body font-medium mt-4"> <p class="text-sub-body mt-4 font-medium">
Reply to this thread by joining our Discord Reply to this thread by joining our Discord
</p> </p>
<a class="web-button mt-6" href={discordLink}> <a class="web-button mt-6" href={discordLink}>
@@ -90,14 +90,14 @@
</div> </div>
<div class="related"> <div class="related">
{#if data.related.length} {#if data.related.length}
<h2 class="text-micro uppercase text-primary">Recommended threads</h2> <h2 class="text-micro text-primary uppercase">Recommended threads</h2>
{/if} {/if}
<ul> <ul>
{#each data.related as thread} {#each data.related as thread}
<li> <li>
<a href="/threads/{thread.$id}" data-sveltekit-reload> <a href="/threads/{thread.$id}" data-sveltekit-reload>
<div class="flex items-center"> <div class="flex items-center">
<span class="text-sub-body font-medium text-primary"> <span class="text-sub-body text-primary font-medium">
{thread.title.length > 40 {thread.title.length > 40
? thread.title.slice(0, 40) + '...' ? thread.title.slice(0, 40) + '...'
: thread.title} : thread.title}

View File

@@ -29,13 +29,13 @@
<div class="author-img"> <div class="author-img">
<img src={message.author_avatar} alt="" class="h-full w-full rounded-[inherit]" /> <img src={message.author_avatar} alt="" class="h-full w-full rounded-[inherit]" />
</div> </div>
<span class="text-sub-body font-medium text-primary">{message.author}</span> <span class="text-sub-body text-primary font-medium">{message.author}</span>
</div> </div>
<span class="timestamp text-caption"> <span class="timestamp text-caption">
{formatTimestamp(message.timestamp)} {formatTimestamp(message.timestamp)}
</span> </span>
</div> </div>
<div class="text-sub-body font-medium mt-4"> <div class="text-sub-body mt-4 font-medium">
<SvelteMarkdown <SvelteMarkdown
source={message.message} source={message.message}
renderers={{ renderers={{

View File

@@ -21,9 +21,12 @@ type FilterThreadsArgs = {
}; };
export function sanitizeContent(rawContent: string, maxLength: number = 200): string { export function sanitizeContent(rawContent: string, maxLength: number = 200): string {
const cleaned = rawContent.replace(/```(?:\w+)?\n([\s\S]*?)```|```([\s\S]*?)```/g, (_, withLang, withoutLang) => { const cleaned = rawContent.replace(
return (withLang || withoutLang).trim(); /```(?:\w+)?\n([\s\S]*?)```|```([\s\S]*?)```/g,
}); (_, withLang, withoutLang) => {
return (withLang || withoutLang).trim();
}
);
return cleaned.length > maxLength ? cleaned.slice(0, maxLength) + '...' : cleaned; return cleaned.length > maxLength ? cleaned.slice(0, maxLength) + '...' : cleaned;
} }