Skip to content

Feat: better landing - styling and animations#268

Merged
HardMax71 merged 9 commits intomainfrom
feat/better-landing
Mar 6, 2026
Merged

Feat: better landing - styling and animations#268
HardMax71 merged 9 commits intomainfrom
feat/better-landing

Conversation

@HardMax71
Copy link
Copy Markdown
Owner

@HardMax71 HardMax71 commented Mar 6, 2026

Summary by cubic

Revamps the landing page UI and animations, improves performance with route code‑splitting and on‑demand dependencies. Optimizes font loading/CSP, updates Privacy/Settings UI and meta tags, and enables safe auto‑formatting in pre‑commit.

  • UI Improvements

    • Full‑screen gradient background with responsive shapes; honors prefers‑reduced‑motion.
    • Lazy‑loaded routes in App; OutputPanel dynamically imports ansi_up/DOMPurify.
    • Admin pages poll only when the tab is visible to reduce load (new pollWhileVisible util).
    • Privacy and Settings pages: refined typography/spacing and meta tags via updateMetaTags; added pageMeta entries.
    • Fonts load via preconnect + Google Fonts link; CSP allows fonts.googleapis.com and fonts.gstatic.com.
    • AdminEvents uses a shared Pagination component; updated pagination labels.
  • Bug Fixes

    • OutputPanel guards dependency loading to avoid rendering errors.
    • Better error handling when loading saved scripts and user settings (toasts on failure).
    • Minor formatting/lint fixes across backend and frontend; added ruff format/--fix to pre‑commit.

Written for commit 719d90c. Summary will update on new commits.

Copilot AI review requested due to automatic review settings March 6, 2026 10:38
@codecov-commenter
Copy link
Copy Markdown

codecov-commenter commented Mar 6, 2026

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

❌ Patch coverage is 67.69231% with 42 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
frontend/src/App.svelte 0.00% 12 Missing ⚠️
backend/app/events/handlers.py 15.38% 11 Missing ⚠️
backend/app/services/notification_service.py 0.00% 4 Missing ⚠️
frontend/src/routes/Editor.svelte 0.00% 1 Missing and 2 partials ⚠️
backend/app/services/saga/saga_orchestrator.py 33.33% 2 Missing ⚠️
frontend/src/routes/Settings.svelte 71.42% 2 Missing ⚠️
frontend/src/routes/admin/AdminEvents.svelte 83.33% 1 Missing and 1 partial ⚠️
...p/db/repositories/admin/admin_events_repository.py 50.00% 1 Missing ⚠️
backend/app/services/k8s_worker/worker.py 50.00% 1 Missing ⚠️
backend/app/services/pod_monitor/event_mapper.py 50.00% 1 Missing ⚠️
... and 3 more
❗ Your organization needs to install the Codecov GitHub app to enable full functionality.
Flag Coverage Δ
backend-e2e 83.22% <54.90%> (+0.01%) ⬆️
backend-unit 67.91% <25.49%> (ø)
frontend-unit 86.17% <73.41%> (-0.35%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
backend/app/api/routes/admin/executions.py 100.00% <ø> (ø)
backend/app/api/routes/admin/users.py 98.27% <100.00%> (ø)
backend/app/api/routes/execution.py 100.00% <100.00%> (ø)
backend/app/core/dishka_lifespan.py 100.00% <ø> (ø)
backend/app/core/exceptions/handlers.py 100.00% <ø> (ø)
backend/app/core/logging.py 100.00% <100.00%> (ø)
backend/app/core/metrics/base.py 90.90% <ø> (ø)
backend/app/core/metrics/dlq.py 100.00% <ø> (ø)
backend/app/core/middlewares/metrics.py 88.63% <ø> (ø)
backend/app/core/middlewares/rate_limit.py 46.66% <ø> (ø)
... and 59 more

... and 1 file with indirect coverage changes

Components Coverage Δ
Backend 90.07% <58.82%> (ø)
Frontend 86.17% <73.41%> (-0.35%) ⬇️
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Copy link
Copy Markdown

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 9 files

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the frontend landing page styling/animations and aligns some route pages with centralized meta-tag handling, while also adjusting font loading and developer tooling.

Changes:

  • Refines Home page hero + feature card styling/animations (new gradient-bg shapes; feature-card accent bar).
  • Adds centralized meta for Privacy/Settings and wires updateMetaTags into those routes.
  • Moves Google Fonts loading to index.html (and relaxes CSP accordingly) and updates pre-commit hooks to auto-fix formatting.

Reviewed changes

Copilot reviewed 9 out of 9 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
frontend/src/utils/meta.ts Adds privacy + settings entries to pageMeta for consistent meta tag updates.
frontend/src/styles/pages.css Updates home-page styles (gradient background pseudo-elements, feature-card accent bar).
frontend/src/routes/Settings.svelte Applies updateMetaTags for Settings and tweaks layout spacing/hero animation wrapper.
frontend/src/routes/Privacy.svelte Switches to TS + updateMetaTags, removes <svelte:head>, and updates layout/typography.
frontend/src/routes/Home.svelte Renames hero class to gradient-bg, adjusts layout spacing, refines feature-card markup/styles.
frontend/src/app.css Removes Google Fonts @import from CSS.
frontend/public/index.html Adds Google Fonts preconnect + stylesheet link tags.
frontend/nginx.conf.template Updates CSP to allow Google Fonts stylesheet + font origins.
.pre-commit-config.yaml Changes hooks to auto-format (ruff format, ruff --fix, prettier --write).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Copy Markdown

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

3 issues found across 71 files (changes from recent commits).

Prompt for AI agents (unresolved issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name="frontend/src/lib/admin/pollWhileVisible.svelte.ts">

<violation number="1" location="frontend/src/lib/admin/pollWhileVisible.svelte.ts:6">
P2: `setInterval` will fire new ticks even if an async `fn` call is still running, which can cause overlapping poll requests and race conditions. Consider scheduling the next tick only after `fn` resolves (e.g., async loop with `setTimeout`) to avoid concurrent executions.</violation>
</file>

<file name="frontend/src/components/editor/OutputPanel.svelte">

<violation number="1" location="frontend/src/components/editor/OutputPanel.svelte:35">
P2: Handle failures from the async dependency loader to avoid unhandled promise rejections and a permanently stuck output panel.</violation>
</file>

<file name="frontend/src/lib/admin/stores/sagasStore.svelte.ts">

<violation number="1" location="frontend/src/lib/admin/stores/sagasStore.svelte.ts:25">
P2: Polling interval no longer updates when refreshRate changes. pollWhileVisible captures intervalMs once, so user updates to refreshRate (bound in AdminSagas.svelte) won’t adjust the timer.</violation>
</file>

Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.

Copy link
Copy Markdown

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1 issue found across 2 files (changes from recent commits).

Prompt for AI agents (unresolved issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name="frontend/src/lib/admin/pollWhileVisible.svelte.ts">

<violation number="1" location="frontend/src/lib/admin/pollWhileVisible.svelte.ts:23">
P2: A single exception from fn will terminate the polling loop permanently because it bubbles out of run() and is swallowed. Wrap the callback in a try/catch (or handle errors) so polling continues after transient failures.</violation>
</file>

Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.

@sonarqubecloud
Copy link
Copy Markdown

sonarqubecloud bot commented Mar 6, 2026

@HardMax71 HardMax71 merged commit b3d6937 into main Mar 6, 2026
16 checks passed
@HardMax71 HardMax71 deleted the feat/better-landing branch March 6, 2026 16:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants