refactor(components): update footer navigation and enhance asset hand…#2990
refactor(components): update footer navigation and enhance asset hand…#2990
Conversation
…ling - 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.
Appwrite WebsiteProject ID: Website (appwrite/website)Project ID: Tip Preview deployments create instant URLs for every branch and commit |
Greptile SummaryThis PR refactors the homepage hero section, footer, and marketing components. The interactive
Confidence Score: 5/5Safe to merge — changes are primarily content updates, component swaps, and styling refactors with no regressions on critical paths. All logic changes are straightforward: the old status iframe is correctly replaced by a fetch-based badge with proper teardown, the hero component swap is mechanical, and the case-study data expansion adds well-typed entries. The only finding is a now-stale frame-src CSP entry left over from the removed iframes, which is dead config rather than a defect. No files require special attention. Important Files Changed
Reviews (2): Last reviewed commit: "Update footer" | Re-trigger Greptile |
| clearTimeout(fallbackId); | ||
| } | ||
| }; | ||
| }); |
There was a problem hiding this comment.
Redundant
browser guard inside onMount
onMount is a client-only lifecycle hook in SvelteKit — it never executes during SSR. The if (!browser) { return; } check on line 62 is therefore always false and can never early-return. The import of browser from $app/environment can be dropped entirely from this file.
| onMount(() => { | ||
| orderedStudies = pickRandomStudies(); | ||
| value = '0'; | ||
| mounted = true; | ||
| }); |
There was a problem hiding this comment.
Redundant
value reset in onMount
value is already initialised to '0' by $state, so the assignment inside onMount is a no-op on every mount. Removing it keeps the onMount focused on its actual work.
| onMount(() => { | |
| orderedStudies = pickRandomStudies(); | |
| value = '0'; | |
| mounted = true; | |
| }); | |
| onMount(() => { | |
| orderedStudies = pickRandomStudies(); | |
| mounted = true; | |
| }); |
- Updated comments and documentation to reflect the retirement of the `best_cta` experiment, indicating that the hero CTA is now fixed in code. - Removed references to `normalizeHeroCta` and adjusted related functions to use a fallback value directly. - Cleaned up imports and code in the marketing hero components to streamline functionality and improve clarity. These changes enhance code maintainability and clarify the current implementation of hero CTAs.

…ling
These changes enhance the user experience by providing relevant content and optimizing asset management.
What does this PR do?
(Provide a description of what this PR does.)
Test Plan
(Write your test plan here. If you changed any code, please provide us with clear instructions on how you verified your changes work.)
Related PRs and Issues
(If this PR is related to any other PR or resolves any issue or related to any issue link all related PR and issues here.)
Have you read the Contributing Guidelines on issues?
(Write your answer here.)