From 5b3fda5b2454307cc7b191da2bbee09b6d7e5dd7 Mon Sep 17 00:00:00 2001 From: eldadfux Date: Sat, 9 May 2026 22:41:34 -0400 Subject: [PATCH 1/3] refactor(components): update footer navigation and enhance asset handling - Removed outdated links and added new comparison articles to the footer navigation for improved user access to resources. - Updated image sources and dimensions for better loading performance and consistency across components. - Replaced the dashboard component with a mockup in the hero section for a more visually appealing presentation. These changes enhance the user experience by providing relevant content and optimizing asset management. --- .optimize-cache.json | 3 +- src/hooks.server.ts | 1 + .../components/FooterCloudStatusBadge.svelte | 180 +++ src/lib/components/FooterNav.svelte | 66 +- src/lib/components/LogoList.svelte | 4 +- src/lib/components/MainFooter.svelte | 72 +- .../homepage-variations/custom-hero.svelte | 6 +- .../layout/navigation/primary-nav.svelte | 2 +- src/lib/components/layout/sub-footer.svelte | 59 +- .../components/marketing/testimonials.svelte | 6 +- .../product-pages/testimonials.svelte | 6 +- src/lib/layouts/Main.svelte | 4 + src/lib/statsig/constants.ts | 2 +- .../fetch-appwrite-cloud-aggregate-state.ts | 55 + src/markdoc/layouts/Post.svelte | 6 +- .../(components)/case-studies.svelte | 176 ++- .../(components)/case-study-card.svelte | 54 +- .../(marketing)/(components)/dashboard.svelte | 1143 ----------------- .../(components)/hero-dashboard-mockup.svelte | 39 + .../(marketing)/(components)/hero.svelte | 16 +- src/routes/(marketing)/(components)/index.ts | 1 - .../(marketing)/(components)/logo-list.svelte | 4 +- .../(marketing)/(components)/scale.svelte | 20 +- .../post/appwrite-vs-cloudinary/+page.markdoc | 30 +- .../post/customer-stories-undo/+page.markdoc | 24 +- .../+page.markdoc | 2 + .../+page.markdoc | 2 + src/routes/products/auth/+page.svelte | 2 +- .../(components)/Testimonials.svelte | 10 +- src/routes/products/functions/+page.svelte | 2 +- src/routes/products/messaging/+page.svelte | 2 +- src/routes/products/sites/+page.svelte | 2 +- .../products/sites/offer-300/+page.svelte | 2 +- .../sites/open-source-netlify/+page.svelte | 2 +- .../storage/(components)/OpenSource.svelte | 5 +- .../storage/(components)/Optimized.svelte | 6 +- .../storage/(components)/Permissions.svelte | 3 +- .../storage/(components)/PreviewFiles.svelte | 7 +- src/routes/products/storage/+page.svelte | 15 +- src/routes/startups/case-studies-light.svelte | 4 +- .../startups/case-study-card-light.svelte | 29 +- src/scss/7-components/_footer-nav.scss | 128 +- src/scss/7-components/_main-header.scss | 2 +- .../assets/visuals/dashboard-screenshot.avif | Bin 0 -> 15332 bytes .../logos/trusted-by/k-collect-light.avif | Bin 1533 -> 0 bytes static/images/logos/trusted-by/k-collect.svg | 40 + static/images/logos/trusted-by/majik-kids.svg | 10 + .../images/logos/trusted-by/myshoefitter.svg | 4 + static/images/logos/trusted-by/open-mind.svg | 11 + static/images/logos/trusted-by/radar.svg | 25 + static/images/logos/trusted-by/smartbee.svg | 20 + static/images/logos/trusted-by/socialaize.svg | 65 + static/images/logos/trusted-by/undo.svg | 3 + static/images/testimonials/david-forster.avif | Bin 11910 -> 7065 bytes static/images/testimonials/majik.avif | Bin 2077 -> 9250 bytes static/images/testimonials/marius-bolik.avif | Bin 1521 -> 13389 bytes static/images/testimonials/marius-bolik2.avif | Bin 12731 -> 13389 bytes static/images/testimonials/matt-martino.avif | Bin 0 -> 7214 bytes static/images/testimonials/shoefitter.avif | Bin 1890 -> 13389 bytes 59 files changed, 1016 insertions(+), 1366 deletions(-) create mode 100644 src/lib/components/FooterCloudStatusBadge.svelte create mode 100644 src/lib/status/fetch-appwrite-cloud-aggregate-state.ts delete mode 100644 src/routes/(marketing)/(components)/dashboard.svelte create mode 100644 src/routes/(marketing)/(components)/hero-dashboard-mockup.svelte create mode 100644 static/assets/visuals/dashboard-screenshot.avif delete mode 100644 static/images/logos/trusted-by/k-collect-light.avif create mode 100644 static/images/logos/trusted-by/k-collect.svg create mode 100644 static/images/logos/trusted-by/majik-kids.svg create mode 100644 static/images/logos/trusted-by/myshoefitter.svg create mode 100644 static/images/logos/trusted-by/open-mind.svg create mode 100644 static/images/logos/trusted-by/radar.svg create mode 100644 static/images/logos/trusted-by/smartbee.svg create mode 100644 static/images/logos/trusted-by/socialaize.svg create mode 100644 static/images/logos/trusted-by/undo.svg create mode 100644 static/images/testimonials/matt-martino.avif diff --git a/.optimize-cache.json b/.optimize-cache.json index 19d7e339101..f19a932c500 100644 --- a/.optimize-cache.json +++ b/.optimize-cache.json @@ -12,8 +12,9 @@ "static/assets/logotype/white.png": "a6c0a516cafa38798b578597a50e1edc967494e986ee1a74e9170e3fa45c67fc", "static/assets/visuals/auth.jpg": "a310ed768b63e73eb09452352ffa5a59638b4223aebbcaac80bdb232b24de64f", "static/assets/visuals/auth.png": "6634419bdf4972706d08a03a148fbf2f0053377dca85ffd7d95ecc3e016a009b", + "static/assets/visuals/dashboard-screenshot.png": "931eec1e7232b5754684e2652999648f3fada876b3d39351360a5bb87008367c", "static/assets/visuals/dashboard.jpg": "fbb2bae3d39f500337d6c4bca64ddaaea163a177ab3db77641ecd7050c43c10e", - "static/assets/visuals/dashboard.png": "544b8af8bdb33546d5746fac6427c815248b2c321c4f28c3be7870c040b265b3", + "static/assets/visuals/dashboard.png": "931eec1e7232b5754684e2652999648f3fada876b3d39351360a5bb87008367c", "static/assets/visuals/databases.jpg": "0de2e6b470f9903db803120d03e1b3abe21728802564d2702989a48128bd0abc", "static/assets/visuals/databases.png": "d50ce8119e31f7b8099e9b98fe38a7066adcf421eb061756db900b5e60f257fe", "static/assets/visuals/functions.jpg": "cb9dc9f434329949a8a0bd1302033e4106d4e6f16e05dada696529800e7236b3", diff --git a/src/hooks.server.ts b/src/hooks.server.ts index 66129564789..52e9f50e9d4 100644 --- a/src/hooks.server.ts +++ b/src/hooks.server.ts @@ -106,6 +106,7 @@ const securityheaders: Handle = async ({ event, resolve }) => { 'https://*.appwrite.io', 'https://*.appwrite.org', 'https://*.appwrite.network', + 'https://status.appwrite.online', 'https://*.sentry.io', 'https://*.plausible.io', 'https://plausible.io', diff --git a/src/lib/components/FooterCloudStatusBadge.svelte b/src/lib/components/FooterCloudStatusBadge.svelte new file mode 100644 index 00000000000..5a27508bf80 --- /dev/null +++ b/src/lib/components/FooterCloudStatusBadge.svelte @@ -0,0 +1,180 @@ + + + trackEvent('footer-cloud-status-badge-click')} +> + + {labelFor(aggregateState)} + + + diff --git a/src/lib/components/FooterNav.svelte b/src/lib/components/FooterNav.svelte index 4275c44eb15..0eb420b5957 100644 --- a/src/lib/components/FooterNav.svelte +++ b/src/lib/components/FooterNav.svelte @@ -47,10 +47,6 @@ { label: 'Docs', href: '/docs' }, { label: 'Integrations', href: '/integrations' }, { label: 'Community', href: '/community' }, - { - label: 'Backend as a service (BaaS)', - href: '/blog/post/backend-as-a-service' - }, { label: 'Init', href: '/init' }, { label: 'Threads', href: '/threads' }, { label: 'Changelog', href: '/changelog' }, @@ -85,6 +81,40 @@ // rel: 'noopener noreferrer' // } ], + Compare: [ + { + label: 'Appwrite vs. Supabase', + href: '/blog/post/appwrite-compared-to-supabase' + }, + { + label: 'Appwrite vs. Firebase', + href: '/blog/post/open-source-firebase-alternative' + }, + { + label: 'Appwrite vs. Vercel', + href: '/blog/post/open-source-vercel-alternative' + }, + { + label: 'Appwrite vs. Netlify', + href: '/blog/post/open-source-netlify-alternative' + }, + { + label: 'Appwrite vs. Cloudinary', + href: '/blog/post/appwrite-vs-cloudinary' + }, + { + label: 'Appwrite vs. Auth0', + href: '/blog/post/appwrite-vs-auth0' + }, + { + label: 'Appwrite vs. Neon', + href: '/blog/post/appwrite-vs-neon-ai-backends' + }, + { + label: 'Backend as a service (BaaS)', + href: '/blog/post/backend-as-a-service' + } + ], Programs: [ { label: 'Heroes', href: '/heroes' }, { label: 'Startups', href: '/startups' }, @@ -118,16 +148,28 @@ class="web-footer-nav relative mt-24" class:web-u-sep-block-start={!noBorder} > - +