POC: Footer AI provider links and visual parity with gooddata.ai#109
POC: Footer AI provider links and visual parity with gooddata.ai#109czechian wants to merge 1 commit into
Conversation
The footer banner adds icon links that open ChatGPT, Claude, Gemini, Grok, or Perplexity prefilled with a GoodData overview prompt, plus layout and a11y tweaks: logo/subtitle wrap, subscribe-action sublinks filtered out, aria-labels on icon-only social buttons. The learn-assets Footer.css the theme loads is older than the live site's footer styles, so local overrides bring visuals in line with www.gooddata.ai: 48px icon buttons in a 12px-gap left-aligned row, live text rhythm for the subtitle, and a full-width banner item with 80px vertical padding.
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@layouts/partials/footer.html`:
- Line 110: Update the footer banner link anchor in the bannerLinks rendering
loop to avoid duplicate fixed IDs: remove the unused id attribute or incorporate
the current banner item index into the generated value, while preserving the
existing label, URL, and accessibility attributes.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: f1e28e64-3ba5-47f0-9b39-89813b751658
⛔ Files ignored due to path filters (5)
assets/icons/chatgpt.svgis excluded by!**/*.svgassets/icons/claude.svgis excluded by!**/*.svgassets/icons/gemini.svgis excluded by!**/*.svgassets/icons/grok.svgis excluded by!**/*.svgassets/icons/perplexity.svgis excluded by!**/*.svg
📒 Files selected for processing (2)
assets/scss/_styles_project.scsslayouts/partials/footer.html
| <div class="gd-footer-buttons d-flex"> | ||
| {{ range $providers }} | ||
| <div class="gd-footer-buttons-item"> | ||
| <a class="gd-footer-buttons-item-icon-button" href="{{ printf "%s%s" .base (urlquery $query) | safeURL }}" id="footer-btn-{{ lower .label }}" aria-label="{{ .label }}" target="_blank" rel="noreferrer noopener"> |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
Namespace provider button IDs per banner item.
Line 110 emits fixed IDs, but this template is rendered for each bannerLinks entry. Multiple entries create duplicate IDs. Remove the unused IDs or include the banner index in them.
🧰 Tools
🪛 HTMLHint (1.9.2)
[error] 110-110: Special characters must be escaped : [ < ].
(spec-char-escape)
[error] 110-110: Special characters must be escaped : [ > ].
(spec-char-escape)
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@layouts/partials/footer.html` at line 110, Update the footer banner link
anchor in the bannerLinks rendering loop to avoid duplicate fixed IDs: remove
the unused id attribute or incorporate the current banner item index into the
generated value, while preserving the existing label, URL, and accessibility
attributes.
Summary
Proof of concept for the footer half of the AI entry-points work (the navbar Ask AI button + Kapa widget live in their own PR, #108):
assets/icons/). Render unconditionally as part of the shared footer.subscribe-action sublinks filtered out,aria-labelsupport on icon-only social buttons, mobile collapse title rendered withsafeHTML.learn-assets/css/Footer.cssthe theme loads is older than the live site's footer styles, so_styles_project.scssoverrides it: 48px icon buttons in a 12px-gap left-aligned row (was 29px right-aligned), live text rhythm for the subtitle, and a full-width banner item with 80px vertical padding (was 30px, centered at max-width 1360px). Overrides use higher-specificity descendant selectors because Footer.css loads after the theme stylesheet; the banner padding is scoped to Footer.css's own ≥993px breakpoint so mobile is untouched.Verification
Built cleanly with Hugo 0.119 (current production version). Rendered footer measured against the live gooddata.ai footer with headless Chromium — icon button sizes, gaps, margins, and banner padding now match the live computed styles.
Known intentional differences from the live footer: no "Subscribe for updates" link (filtered), no language dropdown row (docs has its own language switching).
🤖 Generated with Claude Code
Summary by CodeRabbit
New Features
Style