[PULSE-44] Design consistency audit fixes #12

Merged
uz1mani merged 3 commits from staging into main 2026-02-06 13:01:26 +00:00
uz1mani commented 2026-02-06 12:57:47 +00:00 (Migrated from github.com)

Work Item

PULSE-44

Summary

• Fixed critical design consistency, accessibility, and UX issues across entire Pulse frontend
• Standardized typography hierarchy, color naming, and focus states for WCAG 2.1 Level AA compliance
• Created comprehensive design system documentation and enhanced ARIA support for screen readers

Changes

Tier 1 - Critical Accessibility & UX Fixes (13 files):
• Color naming: Fixed 12 gray-/neutral- inconsistencies in app/onboarding/page.tsx (4 instances) and app/sites/[id]/settings/page.tsx (8 toggle switches)
• Focus states: Added focus:ring-2 focus:ring-brand-orange patterns to 100+ interactive elements across FAQ page, integrations page, site/org settings tabs, realtime visitor list, dashboard component buttons, site list delete buttons, footer links (35+ links), and home page strategic links
• Responsive layout: Fixed realtime page mobile bug in app/sites/[id]/realtime/page.tsx - changed fixed w-1/3 to w-full md:w-1/3 with flex-col md:flex-row parent

Tier 2 - Typography Standardization (16 files, 25 fixes):
• H1 marketing pages: Standardized FAQ + 4 integration sub-pages to text-4xl md:text-5xl (from inconsistent 3xl/4xl/5xl mix)
• H1 app pages: Standardized 5 pages to text-2xl - app/sites/[id]/page.tsx, app/sites/[id]/settings/page.tsx, app/sites/new/page.tsx, app/share/[id]/page.tsx, components/settings/OrganizationSettings.tsx
• H2 sections: Standardized 15 instances to text-2xl font-bold across home sections, onboarding, not-found, pricing, tools, realtime panels, site settings (5 sections), org settings (5 sections)
• H3 refinements: Fixed 5 instances - integration cards, about callout, funnel cards to text-xl font-bold; site settings tracking script and site list empty state to text-lg font-semibold

Tier 3 - Documentation & ARIA Enhancements (6 files):
• Design system: Created comprehensive pulse-frontend/docs/DESIGN_SYSTEM.md (1,042 lines) documenting colors, typography scale, spacing system, border radius, focus patterns, component patterns, animations, accessibility guidelines, and testing checklists
• ARIA enhancement: Added role="tablist", role="tab", aria-selected, and aria-label to settings page tabs and dashboard widget tabs in app/sites/[id]/settings/page.tsx, components/settings/OrganizationSettings.tsx, components/dashboard/ContentStats.tsx, components/dashboard/Locations.tsx, components/dashboard/TechSpecs.tsx
• Live regions: Added aria-live="polite" and aria-atomic="true" to realtime visitor counter in app/sites/[id]/realtime/page.tsx for screen reader announcements
• CSS consolidation guide: Created CSS_CONSOLIDATION_GUIDE.md with step-by-step instructions for moving shared brand utilities to @ciphera-net/ui (future architectural improvement)

Documentation created:
TIER1_AUDIT_REPORT.md - Complete analysis of all Tier 1 issues with line-by-line fixes (547 lines)
TIER1_IMPLEMENTATION_COMPLETE.md - Tier 1 completion summary
TIER2_IMPLEMENTATION_COMPLETE.md - Tier 2 typography summary
TIER3_IMPLEMENTATION_COMPLETE.md - Tier 3 polish summary
CSS_CONSOLIDATION_GUIDE.md - Multi-repo CSS migration guide
CSS_CONSOLIDATION_ANALYSIS.md - Complete usage analysis showing gradient-text has already drifted between Pulse and Website

Test Plan

[ ] Keyboard navigation: Tab through FAQ page, integrations page, settings pages, dashboard, footer - verify visible orange focus rings on all interactive elements
[ ] Mobile responsive: Test realtime page on <768px screen - verify visitor list and session details stack vertically and both panels are readable
[ ] Color consistency: Verify onboarding page and site settings toggles use neutral- colors (no gray- classes)
[ ] Typography hierarchy: Visual scan of all pages to confirm consistent H1/H2/H3 sizing (marketing H1: 4xl→5xl, app H1: 2xl, H2: 2xl bold, H3 sections: lg semibold, H3 cards: xl bold)
[ ] ARIA verification: Test with screen reader (VoiceOver/NVDA) on settings tabs and realtime counter - should announce tab context, selection state, and live visitor count changes
[ ] Build verification: Run npm run build in pulse-frontend to ensure no TypeScript errors
[ ] Dark mode: Verify all changes work in both light and dark modes

## Work Item PULSE-44 ## Summary • Fixed critical design consistency, accessibility, and UX issues across entire Pulse frontend • Standardized typography hierarchy, color naming, and focus states for WCAG 2.1 Level AA compliance • Created comprehensive design system documentation and enhanced ARIA support for screen readers ## Changes **Tier 1 - Critical Accessibility & UX Fixes (13 files):** • Color naming: Fixed 12 gray-/neutral- inconsistencies in `app/onboarding/page.tsx` (4 instances) and `app/sites/[id]/settings/page.tsx` (8 toggle switches) • Focus states: Added `focus:ring-2 focus:ring-brand-orange` patterns to 100+ interactive elements across FAQ page, integrations page, site/org settings tabs, realtime visitor list, dashboard component buttons, site list delete buttons, footer links (35+ links), and home page strategic links • Responsive layout: Fixed realtime page mobile bug in `app/sites/[id]/realtime/page.tsx` - changed fixed `w-1/3` to `w-full md:w-1/3` with `flex-col md:flex-row` parent **Tier 2 - Typography Standardization (16 files, 25 fixes):** • H1 marketing pages: Standardized FAQ + 4 integration sub-pages to `text-4xl md:text-5xl` (from inconsistent 3xl/4xl/5xl mix) • H1 app pages: Standardized 5 pages to `text-2xl` - `app/sites/[id]/page.tsx`, `app/sites/[id]/settings/page.tsx`, `app/sites/new/page.tsx`, `app/share/[id]/page.tsx`, `components/settings/OrganizationSettings.tsx` • H2 sections: Standardized 15 instances to `text-2xl font-bold` across home sections, onboarding, not-found, pricing, tools, realtime panels, site settings (5 sections), org settings (5 sections) • H3 refinements: Fixed 5 instances - integration cards, about callout, funnel cards to `text-xl font-bold`; site settings tracking script and site list empty state to `text-lg font-semibold` **Tier 3 - Documentation & ARIA Enhancements (6 files):** • Design system: Created comprehensive `pulse-frontend/docs/DESIGN_SYSTEM.md` (1,042 lines) documenting colors, typography scale, spacing system, border radius, focus patterns, component patterns, animations, accessibility guidelines, and testing checklists • ARIA enhancement: Added `role="tablist"`, `role="tab"`, `aria-selected`, and `aria-label` to settings page tabs and dashboard widget tabs in `app/sites/[id]/settings/page.tsx`, `components/settings/OrganizationSettings.tsx`, `components/dashboard/ContentStats.tsx`, `components/dashboard/Locations.tsx`, `components/dashboard/TechSpecs.tsx` • Live regions: Added `aria-live="polite"` and `aria-atomic="true"` to realtime visitor counter in `app/sites/[id]/realtime/page.tsx` for screen reader announcements • CSS consolidation guide: Created `CSS_CONSOLIDATION_GUIDE.md` with step-by-step instructions for moving shared brand utilities to @ciphera-net/ui (future architectural improvement) **Documentation created:** • `TIER1_AUDIT_REPORT.md` - Complete analysis of all Tier 1 issues with line-by-line fixes (547 lines) • `TIER1_IMPLEMENTATION_COMPLETE.md` - Tier 1 completion summary • `TIER2_IMPLEMENTATION_COMPLETE.md` - Tier 2 typography summary • `TIER3_IMPLEMENTATION_COMPLETE.md` - Tier 3 polish summary • `CSS_CONSOLIDATION_GUIDE.md` - Multi-repo CSS migration guide • `CSS_CONSOLIDATION_ANALYSIS.md` - Complete usage analysis showing gradient-text has already drifted between Pulse and Website ## Test Plan [ ] Keyboard navigation: Tab through FAQ page, integrations page, settings pages, dashboard, footer - verify visible orange focus rings on all interactive elements [ ] Mobile responsive: Test realtime page on <768px screen - verify visitor list and session details stack vertically and both panels are readable [ ] Color consistency: Verify onboarding page and site settings toggles use neutral- colors (no gray- classes) [ ] Typography hierarchy: Visual scan of all pages to confirm consistent H1/H2/H3 sizing (marketing H1: 4xl→5xl, app H1: 2xl, H2: 2xl bold, H3 sections: lg semibold, H3 cards: xl bold) [ ] ARIA verification: Test with screen reader (VoiceOver/NVDA) on settings tabs and realtime counter - should announce tab context, selection state, and live visitor count changes [ ] Build verification: Run `npm run build` in pulse-frontend to ensure no TypeScript errors [ ] Dark mode: Verify all changes work in both light and dark modes
greptile-apps[bot] commented 2026-02-06 13:03:02 +00:00 (Migrated from github.com)

Greptile Overview

Greptile Summary

  • Standardizes typography hierarchy across marketing + app pages (H1/H2/H3 sizing/weights) to match the documented design system.
  • Adds pervasive keyboard focus ring styling to links/buttons for WCAG-visible focus.
  • Improves accessibility semantics by adding tablist/tab roles and aria-selected to settings/dashboard tab UIs, plus a live region for realtime visitor count.
  • Introduces a large docs/DESIGN_SYSTEM.md reference document capturing the agreed styling + a11y conventions.

Confidence Score: 4/5

  • Mostly safe to merge, but fix the invalid Tailwind focus class usages first to ensure intended focus styling actually applies.
  • Changes are largely presentational/a11y improvements (typography, focus rings, ARIA roles). The main concrete issue found is repeated use of the non-existent Tailwind utility focus:rounded, which will silently not work and undermines the accessibility polish intent.
  • app/sites/[id]/realtime/page.tsx, components/Footer.tsx, components/dashboard/{ContentStats,Locations,TechSpecs,TopReferrers}.tsx, app/page.tsx, app/integrations/page.tsx

Important Files Changed

Filename Overview
app/about/page.tsx Minor typography adjustment (heading size) to match design system.
app/faq/page.tsx Adds focus ring to FAQ accordion button and standardizes H1 sizing for consistency.
app/integrations/nextjs/page.tsx Typography consistency tweak for integration subpage heading.
app/integrations/page.tsx Adds focus ring styling to links; includes an invalid Tailwind class focus:rounded that won’t apply and should be replaced with a real rounded-* utility.
app/integrations/react/page.tsx Typography consistency tweak for integration subpage heading.
app/integrations/vue/page.tsx Typography consistency tweak for integration subpage heading.
app/integrations/wordpress/page.tsx Typography consistency tweak for integration subpage heading.
app/not-found.tsx Minor typography standardization for not-found page heading.
app/onboarding/page.tsx Replaces gray-* classes with neutral-* and adjusts heading size for design consistency.
app/page.tsx Adds focus ring styling to key links; includes invalid focus:rounded Tailwind class that should be replaced with a real rounded-* utility.
app/share/[id]/page.tsx Typography consistency change for app-level H1 sizing.
app/sites/[id]/funnels/page.tsx Minor heading typography adjustment for consistency.
app/sites/[id]/page.tsx Standardizes site dashboard H1 typography per design system.
app/sites/[id]/realtime/page.tsx Fixes mobile layout (stacked panels), adds live-region for visitor count, and focus rings; includes invalid focus:rounded Tailwind class on back button.
app/sites/[id]/settings/page.tsx Adds ARIA tab semantics and consistent focus rings; standardizes headings and neutral color usage in toggles.
app/sites/new/page.tsx Minor app H1 typography adjustment for consistency.
app/tools/page.tsx Minor H2/section heading typography standardization.
components/Footer.tsx Adds focus ring styling across footer links/icons; uses invalid focus:rounded Tailwind class in multiple places.
components/PricingSection.tsx Minor typography consistency tweak in pricing section.
components/dashboard/ContentStats.tsx Adds ARIA tab semantics and focus ring styling; includes invalid focus:rounded on the “View All” button.
components/dashboard/Locations.tsx Adds ARIA tab semantics and focus ring styling; includes invalid focus:rounded on the “View All” button.
components/dashboard/TechSpecs.tsx Adds ARIA tab semantics and focus ring styling; includes invalid focus:rounded on the “View All” button.
components/dashboard/TopReferrers.tsx Adds focus ring styling; includes invalid focus:rounded on the “View All” button.
components/settings/OrganizationSettings.tsx Adds ARIA tab semantics and focus rings; standardizes headings for typography consistency.
components/sites/SiteList.tsx Adds focus ring to delete button and tweaks empty-state heading weight for consistency.
docs/DESIGN_SYSTEM.md Adds a comprehensive design system reference doc (colors, typography, focus states, accessibility guidance).

Sequence Diagram

sequenceDiagram
  participant U as User
  participant UI as Pulse UI
  participant RT as RealtimePage
  participant SS as SiteSettingsPage
  participant OS as OrganizationSettings

  U->>UI: Navigate to /sites/[id]/realtime
  UI->>RT: Render header + visitor count
  RT-->>UI: aria-live="polite" updates on visitors.length change

  U->>UI: Keyboard tab through interactive elements
  UI-->>UI: focus:ring-* styles show focus state

  U->>UI: Open /sites/[id]/settings
  UI->>SS: Render sidebar navigation
  SS-->>UI: role="tablist" + role="tab" + aria-selected
  U->>SS: Click a settings tab
  SS-->>UI: activeTab state updates

  U->>UI: Open /org-settings
  UI->>OS: Render sidebar navigation
  OS-->>UI: role="tablist" + role="tab" + aria-selected
  U->>OS: Click an org tab
  OS-->>UI: handleTabChange updates URL/query + activeTab
<h2>Greptile Overview</h2> <h3>Greptile Summary</h3> - Standardizes typography hierarchy across marketing + app pages (H1/H2/H3 sizing/weights) to match the documented design system. - Adds pervasive keyboard focus ring styling to links/buttons for WCAG-visible focus. - Improves accessibility semantics by adding tablist/tab roles and `aria-selected` to settings/dashboard tab UIs, plus a live region for realtime visitor count. - Introduces a large `docs/DESIGN_SYSTEM.md` reference document capturing the agreed styling + a11y conventions. <h3>Confidence Score: 4/5</h3> - Mostly safe to merge, but fix the invalid Tailwind focus class usages first to ensure intended focus styling actually applies. - Changes are largely presentational/a11y improvements (typography, focus rings, ARIA roles). The main concrete issue found is repeated use of the non-existent Tailwind utility `focus:rounded`, which will silently not work and undermines the accessibility polish intent. - app/sites/[id]/realtime/page.tsx, components/Footer.tsx, components/dashboard/{ContentStats,Locations,TechSpecs,TopReferrers}.tsx, app/page.tsx, app/integrations/page.tsx <details><summary><h3>Important Files Changed</h3></summary> | Filename | Overview | |----------|----------| | app/about/page.tsx | Minor typography adjustment (heading size) to match design system. | | app/faq/page.tsx | Adds focus ring to FAQ accordion button and standardizes H1 sizing for consistency. | | app/integrations/nextjs/page.tsx | Typography consistency tweak for integration subpage heading. | | app/integrations/page.tsx | Adds focus ring styling to links; includes an invalid Tailwind class `focus:rounded` that won’t apply and should be replaced with a real `rounded-*` utility. | | app/integrations/react/page.tsx | Typography consistency tweak for integration subpage heading. | | app/integrations/vue/page.tsx | Typography consistency tweak for integration subpage heading. | | app/integrations/wordpress/page.tsx | Typography consistency tweak for integration subpage heading. | | app/not-found.tsx | Minor typography standardization for not-found page heading. | | app/onboarding/page.tsx | Replaces gray-* classes with neutral-* and adjusts heading size for design consistency. | | app/page.tsx | Adds focus ring styling to key links; includes invalid `focus:rounded` Tailwind class that should be replaced with a real `rounded-*` utility. | | app/share/[id]/page.tsx | Typography consistency change for app-level H1 sizing. | | app/sites/[id]/funnels/page.tsx | Minor heading typography adjustment for consistency. | | app/sites/[id]/page.tsx | Standardizes site dashboard H1 typography per design system. | | app/sites/[id]/realtime/page.tsx | Fixes mobile layout (stacked panels), adds live-region for visitor count, and focus rings; includes invalid `focus:rounded` Tailwind class on back button. | | app/sites/[id]/settings/page.tsx | Adds ARIA tab semantics and consistent focus rings; standardizes headings and neutral color usage in toggles. | | app/sites/new/page.tsx | Minor app H1 typography adjustment for consistency. | | app/tools/page.tsx | Minor H2/section heading typography standardization. | | components/Footer.tsx | Adds focus ring styling across footer links/icons; uses invalid `focus:rounded` Tailwind class in multiple places. | | components/PricingSection.tsx | Minor typography consistency tweak in pricing section. | | components/dashboard/ContentStats.tsx | Adds ARIA tab semantics and focus ring styling; includes invalid `focus:rounded` on the “View All” button. | | components/dashboard/Locations.tsx | Adds ARIA tab semantics and focus ring styling; includes invalid `focus:rounded` on the “View All” button. | | components/dashboard/TechSpecs.tsx | Adds ARIA tab semantics and focus ring styling; includes invalid `focus:rounded` on the “View All” button. | | components/dashboard/TopReferrers.tsx | Adds focus ring styling; includes invalid `focus:rounded` on the “View All” button. | | components/settings/OrganizationSettings.tsx | Adds ARIA tab semantics and focus rings; standardizes headings for typography consistency. | | components/sites/SiteList.tsx | Adds focus ring to delete button and tweaks empty-state heading weight for consistency. | | docs/DESIGN_SYSTEM.md | Adds a comprehensive design system reference doc (colors, typography, focus states, accessibility guidance). | </details> </details> <h3>Sequence Diagram</h3> ```mermaid sequenceDiagram participant U as User participant UI as Pulse UI participant RT as RealtimePage participant SS as SiteSettingsPage participant OS as OrganizationSettings U->>UI: Navigate to /sites/[id]/realtime UI->>RT: Render header + visitor count RT-->>UI: aria-live="polite" updates on visitors.length change U->>UI: Keyboard tab through interactive elements UI-->>UI: focus:ring-* styles show focus state U->>UI: Open /sites/[id]/settings UI->>SS: Render sidebar navigation SS-->>UI: role="tablist" + role="tab" + aria-selected U->>SS: Click a settings tab SS-->>UI: activeTab state updates U->>UI: Open /org-settings UI->>OS: Render sidebar navigation OS-->>UI: role="tablist" + role="tab" + aria-selected U->>OS: Click an org tab OS-->>UI: handleTabChange updates URL/query + activeTab ```
greptile-apps[bot] (Migrated from github.com) reviewed 2026-02-06 13:03:31 +00:00
greptile-apps[bot] (Migrated from github.com) left a comment

26 files reviewed, 8 comments

Edit Code Review Agent Settings | Greptile

<sub>26 files reviewed, 8 comments</sub> <sub>[Edit Code Review Agent Settings](https://app.greptile.com/review/github) | [Greptile](https://greptile.com?utm_source=greptile_expert&utm_medium=github&utm_campaign=code_reviews)</sub>
greptile-apps[bot] (Migrated from github.com) commented 2026-02-06 13:03:30 +00:00

Invalid Tailwind variant

focus:rounded won’t do anything in Tailwind, so the link won’t get the expected rounded focus styling. Add a real rounded-* class (and optionally focus:ring-offset-2).

className="text-sm font-medium text-brand-orange hover:underline rounded-md focus:outline-none focus:ring-2 focus:ring-brand-orange focus:ring-offset-2"
Prompt To Fix With AI
This is a comment left during a code review.
Path: app/integrations/page.tsx
Line: 125:131

Comment:
**Invalid Tailwind variant**

`focus:rounded` won’t do anything in Tailwind, so the link won’t get the expected rounded focus styling. Add a real `rounded-*` class (and optionally `focus:ring-offset-2`).

```suggestion
className="text-sm font-medium text-brand-orange hover:underline rounded-md focus:outline-none focus:ring-2 focus:ring-brand-orange focus:ring-offset-2"
```

How can I resolve this? If you propose a fix, please make it concise.
**Invalid Tailwind variant** `focus:rounded` won’t do anything in Tailwind, so the link won’t get the expected rounded focus styling. Add a real `rounded-*` class (and optionally `focus:ring-offset-2`). ```suggestion className="text-sm font-medium text-brand-orange hover:underline rounded-md focus:outline-none focus:ring-2 focus:ring-brand-orange focus:ring-offset-2" ``` <details><summary>Prompt To Fix With AI</summary> `````markdown This is a comment left during a code review. Path: app/integrations/page.tsx Line: 125:131 Comment: **Invalid Tailwind variant** `focus:rounded` won’t do anything in Tailwind, so the link won’t get the expected rounded focus styling. Add a real `rounded-*` class (and optionally `focus:ring-offset-2`). ```suggestion className="text-sm font-medium text-brand-orange hover:underline rounded-md focus:outline-none focus:ring-2 focus:ring-brand-orange focus:ring-offset-2" ``` How can I resolve this? If you propose a fix, please make it concise. ````` </details>
greptile-apps[bot] (Migrated from github.com) commented 2026-02-06 13:03:29 +00:00

Invalid Tailwind variant

These links use focus:rounded, which Tailwind doesn’t apply (so you won’t get the intended rounded focus treatment). Add a regular rounded-* class and consider focus:ring-offset-2 for visibility.

<Link href="/pricing" className="text-sm font-medium text-brand-orange hover:underline rounded-md focus:outline-none focus:ring-2 focus:ring-brand-orange focus:ring-offset-2">
Prompt To Fix With AI
This is a comment left during a code review.
Path: app/page.tsx
Line: 356:363

Comment:
**Invalid Tailwind variant**

These links use `focus:rounded`, which Tailwind doesn’t apply (so you won’t get the intended rounded focus treatment). Add a regular `rounded-*` class and consider `focus:ring-offset-2` for visibility.

```suggestion
<Link href="/pricing" className="text-sm font-medium text-brand-orange hover:underline rounded-md focus:outline-none focus:ring-2 focus:ring-brand-orange focus:ring-offset-2">
```

How can I resolve this? If you propose a fix, please make it concise.
**Invalid Tailwind variant** These links use `focus:rounded`, which Tailwind doesn’t apply (so you won’t get the intended rounded focus treatment). Add a regular `rounded-*` class and consider `focus:ring-offset-2` for visibility. ```suggestion <Link href="/pricing" className="text-sm font-medium text-brand-orange hover:underline rounded-md focus:outline-none focus:ring-2 focus:ring-brand-orange focus:ring-offset-2"> ``` <details><summary>Prompt To Fix With AI</summary> `````markdown This is a comment left during a code review. Path: app/page.tsx Line: 356:363 Comment: **Invalid Tailwind variant** These links use `focus:rounded`, which Tailwind doesn’t apply (so you won’t get the intended rounded focus treatment). Add a regular `rounded-*` class and consider `focus:ring-offset-2` for visibility. ```suggestion <Link href="/pricing" className="text-sm font-medium text-brand-orange hover:underline rounded-md focus:outline-none focus:ring-2 focus:ring-brand-orange focus:ring-offset-2"> ``` How can I resolve this? If you propose a fix, please make it concise. ````` </details>
greptile-apps[bot] commented 2026-02-06 13:03:33 +00:00 (Migrated from github.com)
Additional Comments (6)

app/sites/[id]/realtime/page.tsx
Invalid Tailwind variant

focus:rounded isn’t a valid Tailwind class (it won’t apply any border-radius on focus), so the back button won’t get the intended rounded focus treatment. Use a real radius class (e.g. rounded-md) and, if desired, focus:ring-offset-2 instead.

<button onClick={() => router.push(`/sites/${siteId}`)} className="text-sm text-neutral-500 hover:text-neutral-900 dark:hover:text-white transition-colors rounded-md focus:outline-none focus:ring-2 focus:ring-brand-orange focus:ring-offset-2">
Prompt To Fix With AI
This is a comment left during a code review.
Path: app/sites/[id]/realtime/page.tsx
Line: 97:100

Comment:
**Invalid Tailwind variant**

`focus:rounded` isn’t a valid Tailwind class (it won’t apply any border-radius on focus), so the back button won’t get the intended rounded focus treatment. Use a real radius class (e.g. `rounded-md`) and, if desired, `focus:ring-offset-2` instead.

```suggestion
<button onClick={() => router.push(`/sites/${siteId}`)} className="text-sm text-neutral-500 hover:text-neutral-900 dark:hover:text-white transition-colors rounded-md focus:outline-none focus:ring-2 focus:ring-brand-orange focus:ring-offset-2">
```

How can I resolve this? If you propose a fix, please make it concise.

components/Footer.tsx
Invalid Tailwind variant

Several links use focus:rounded, which Tailwind won’t interpret (so you’ll get a ring but not the intended rounded clipping/shape). Prefer a standard radius class (rounded-md / rounded-lg) and optionally add focus:ring-offset-2.

<Component href="/about" className="hover:text-brand-orange transition-colors rounded-md focus:outline-none focus:ring-2 focus:ring-brand-orange focus:ring-offset-2">
Prompt To Fix With AI
This is a comment left during a code review.
Path: components/Footer.tsx
Line: 12:14

Comment:
**Invalid Tailwind variant**

Several links use `focus:rounded`, which Tailwind won’t interpret (so you’ll get a ring but not the intended rounded clipping/shape). Prefer a standard radius class (`rounded-md` / `rounded-lg`) and optionally add `focus:ring-offset-2`.

```suggestion
<Component href="/about" className="hover:text-brand-orange transition-colors rounded-md focus:outline-none focus:ring-2 focus:ring-brand-orange focus:ring-offset-2">
```

How can I resolve this? If you propose a fix, please make it concise.

components/dashboard/ContentStats.tsx
Invalid Tailwind variant

focus:rounded isn’t a valid Tailwind class, so the “View All” button won’t actually become rounded on focus (only the ring classes apply). Use a normal radius class (e.g. rounded-md) and, if you want separation from the background, focus:ring-offset-2.

className="text-xs font-medium text-neutral-500 hover:text-neutral-900 dark:text-neutral-400 dark:hover:text-white transition-colors rounded-md focus:outline-none focus:ring-2 focus:ring-brand-orange focus:ring-offset-2"
Prompt To Fix With AI
This is a comment left during a code review.
Path: components/dashboard/ContentStats.tsx
Line: 95:101

Comment:
**Invalid Tailwind variant**

`focus:rounded` isn’t a valid Tailwind class, so the “View All” button won’t actually become rounded on focus (only the ring classes apply). Use a normal radius class (e.g. `rounded-md`) and, if you want separation from the background, `focus:ring-offset-2`.

```suggestion
className="text-xs font-medium text-neutral-500 hover:text-neutral-900 dark:text-neutral-400 dark:hover:text-white transition-colors rounded-md focus:outline-none focus:ring-2 focus:ring-brand-orange focus:ring-offset-2"
```

How can I resolve this? If you propose a fix, please make it concise.

components/dashboard/Locations.tsx
Invalid Tailwind variant

focus:rounded won’t have any effect in Tailwind. If the intent is a rounded focus treatment, apply a standard radius class and (optionally) a ring offset.

className="text-xs font-medium text-neutral-500 hover:text-neutral-900 dark:text-neutral-400 dark:hover:text-white transition-colors rounded-md focus:outline-none focus:ring-2 focus:ring-brand-orange focus:ring-offset-2"
Prompt To Fix With AI
This is a comment left during a code review.
Path: components/dashboard/Locations.tsx
Line: 195:201

Comment:
**Invalid Tailwind variant**

`focus:rounded` won’t have any effect in Tailwind. If the intent is a rounded focus treatment, apply a standard radius class and (optionally) a ring offset.

```suggestion
className="text-xs font-medium text-neutral-500 hover:text-neutral-900 dark:text-neutral-400 dark:hover:text-white transition-colors rounded-md focus:outline-none focus:ring-2 focus:ring-brand-orange focus:ring-offset-2"
```

How can I resolve this? If you propose a fix, please make it concise.

components/dashboard/TechSpecs.tsx
Invalid Tailwind variant

focus:rounded isn’t a Tailwind utility, so the button won’t get the intended rounded focus style. Use a normal rounded-* class and (optionally) focus:ring-offset-2.

className="text-xs font-medium text-neutral-500 hover:text-neutral-900 dark:text-neutral-400 dark:hover:text-white transition-colors rounded-md focus:outline-none focus:ring-2 focus:ring-brand-orange focus:ring-offset-2"
Prompt To Fix With AI
This is a comment left during a code review.
Path: components/dashboard/TechSpecs.tsx
Line: 118:124

Comment:
**Invalid Tailwind variant**

`focus:rounded` isn’t a Tailwind utility, so the button won’t get the intended rounded focus style. Use a normal `rounded-*` class and (optionally) `focus:ring-offset-2`.

```suggestion
className="text-xs font-medium text-neutral-500 hover:text-neutral-900 dark:text-neutral-400 dark:hover:text-white transition-colors rounded-md focus:outline-none focus:ring-2 focus:ring-brand-orange focus:ring-offset-2"
```

How can I resolve this? If you propose a fix, please make it concise.

components/dashboard/TopReferrers.tsx
Invalid Tailwind variant

focus:rounded isn’t a Tailwind utility, so this won’t apply the intended rounding on focus. Use a standard rounded-* class plus ring offset if needed.

className="text-xs font-medium text-neutral-500 hover:text-neutral-900 dark:text-neutral-400 dark:hover:text-white transition-colors rounded-md focus:outline-none focus:ring-2 focus:ring-brand-orange focus:ring-offset-2"
Prompt To Fix With AI
This is a comment left during a code review.
Path: components/dashboard/TopReferrers.tsx
Line: 62:67

Comment:
**Invalid Tailwind variant**

`focus:rounded` isn’t a Tailwind utility, so this won’t apply the intended rounding on focus. Use a standard `rounded-*` class plus ring offset if needed.

```suggestion
className="text-xs font-medium text-neutral-500 hover:text-neutral-900 dark:text-neutral-400 dark:hover:text-white transition-colors rounded-md focus:outline-none focus:ring-2 focus:ring-brand-orange focus:ring-offset-2"
```

How can I resolve this? If you propose a fix, please make it concise.
<details> <summary>Additional Comments (6)</summary> **`app/sites/[id]/realtime/page.tsx`** **Invalid Tailwind variant** `focus:rounded` isn’t a valid Tailwind class (it won’t apply any border-radius on focus), so the back button won’t get the intended rounded focus treatment. Use a real radius class (e.g. `rounded-md`) and, if desired, `focus:ring-offset-2` instead. ```suggestion <button onClick={() => router.push(`/sites/${siteId}`)} className="text-sm text-neutral-500 hover:text-neutral-900 dark:hover:text-white transition-colors rounded-md focus:outline-none focus:ring-2 focus:ring-brand-orange focus:ring-offset-2"> ``` <details><summary>Prompt To Fix With AI</summary> `````markdown This is a comment left during a code review. Path: app/sites/[id]/realtime/page.tsx Line: 97:100 Comment: **Invalid Tailwind variant** `focus:rounded` isn’t a valid Tailwind class (it won’t apply any border-radius on focus), so the back button won’t get the intended rounded focus treatment. Use a real radius class (e.g. `rounded-md`) and, if desired, `focus:ring-offset-2` instead. ```suggestion <button onClick={() => router.push(`/sites/${siteId}`)} className="text-sm text-neutral-500 hover:text-neutral-900 dark:hover:text-white transition-colors rounded-md focus:outline-none focus:ring-2 focus:ring-brand-orange focus:ring-offset-2"> ``` How can I resolve this? If you propose a fix, please make it concise. ````` </details> --- **`components/Footer.tsx`** **Invalid Tailwind variant** Several links use `focus:rounded`, which Tailwind won’t interpret (so you’ll get a ring but not the intended rounded clipping/shape). Prefer a standard radius class (`rounded-md` / `rounded-lg`) and optionally add `focus:ring-offset-2`. ```suggestion <Component href="/about" className="hover:text-brand-orange transition-colors rounded-md focus:outline-none focus:ring-2 focus:ring-brand-orange focus:ring-offset-2"> ``` <details><summary>Prompt To Fix With AI</summary> `````markdown This is a comment left during a code review. Path: components/Footer.tsx Line: 12:14 Comment: **Invalid Tailwind variant** Several links use `focus:rounded`, which Tailwind won’t interpret (so you’ll get a ring but not the intended rounded clipping/shape). Prefer a standard radius class (`rounded-md` / `rounded-lg`) and optionally add `focus:ring-offset-2`. ```suggestion <Component href="/about" className="hover:text-brand-orange transition-colors rounded-md focus:outline-none focus:ring-2 focus:ring-brand-orange focus:ring-offset-2"> ``` How can I resolve this? If you propose a fix, please make it concise. ````` </details> --- **`components/dashboard/ContentStats.tsx`** **Invalid Tailwind variant** `focus:rounded` isn’t a valid Tailwind class, so the “View All” button won’t actually become rounded on focus (only the ring classes apply). Use a normal radius class (e.g. `rounded-md`) and, if you want separation from the background, `focus:ring-offset-2`. ```suggestion className="text-xs font-medium text-neutral-500 hover:text-neutral-900 dark:text-neutral-400 dark:hover:text-white transition-colors rounded-md focus:outline-none focus:ring-2 focus:ring-brand-orange focus:ring-offset-2" ``` <details><summary>Prompt To Fix With AI</summary> `````markdown This is a comment left during a code review. Path: components/dashboard/ContentStats.tsx Line: 95:101 Comment: **Invalid Tailwind variant** `focus:rounded` isn’t a valid Tailwind class, so the “View All” button won’t actually become rounded on focus (only the ring classes apply). Use a normal radius class (e.g. `rounded-md`) and, if you want separation from the background, `focus:ring-offset-2`. ```suggestion className="text-xs font-medium text-neutral-500 hover:text-neutral-900 dark:text-neutral-400 dark:hover:text-white transition-colors rounded-md focus:outline-none focus:ring-2 focus:ring-brand-orange focus:ring-offset-2" ``` How can I resolve this? If you propose a fix, please make it concise. ````` </details> --- **`components/dashboard/Locations.tsx`** **Invalid Tailwind variant** `focus:rounded` won’t have any effect in Tailwind. If the intent is a rounded focus treatment, apply a standard radius class and (optionally) a ring offset. ```suggestion className="text-xs font-medium text-neutral-500 hover:text-neutral-900 dark:text-neutral-400 dark:hover:text-white transition-colors rounded-md focus:outline-none focus:ring-2 focus:ring-brand-orange focus:ring-offset-2" ``` <details><summary>Prompt To Fix With AI</summary> `````markdown This is a comment left during a code review. Path: components/dashboard/Locations.tsx Line: 195:201 Comment: **Invalid Tailwind variant** `focus:rounded` won’t have any effect in Tailwind. If the intent is a rounded focus treatment, apply a standard radius class and (optionally) a ring offset. ```suggestion className="text-xs font-medium text-neutral-500 hover:text-neutral-900 dark:text-neutral-400 dark:hover:text-white transition-colors rounded-md focus:outline-none focus:ring-2 focus:ring-brand-orange focus:ring-offset-2" ``` How can I resolve this? If you propose a fix, please make it concise. ````` </details> --- **`components/dashboard/TechSpecs.tsx`** **Invalid Tailwind variant** `focus:rounded` isn’t a Tailwind utility, so the button won’t get the intended rounded focus style. Use a normal `rounded-*` class and (optionally) `focus:ring-offset-2`. ```suggestion className="text-xs font-medium text-neutral-500 hover:text-neutral-900 dark:text-neutral-400 dark:hover:text-white transition-colors rounded-md focus:outline-none focus:ring-2 focus:ring-brand-orange focus:ring-offset-2" ``` <details><summary>Prompt To Fix With AI</summary> `````markdown This is a comment left during a code review. Path: components/dashboard/TechSpecs.tsx Line: 118:124 Comment: **Invalid Tailwind variant** `focus:rounded` isn’t a Tailwind utility, so the button won’t get the intended rounded focus style. Use a normal `rounded-*` class and (optionally) `focus:ring-offset-2`. ```suggestion className="text-xs font-medium text-neutral-500 hover:text-neutral-900 dark:text-neutral-400 dark:hover:text-white transition-colors rounded-md focus:outline-none focus:ring-2 focus:ring-brand-orange focus:ring-offset-2" ``` How can I resolve this? If you propose a fix, please make it concise. ````` </details> --- **`components/dashboard/TopReferrers.tsx`** **Invalid Tailwind variant** `focus:rounded` isn’t a Tailwind utility, so this won’t apply the intended rounding on focus. Use a standard `rounded-*` class plus ring offset if needed. ```suggestion className="text-xs font-medium text-neutral-500 hover:text-neutral-900 dark:text-neutral-400 dark:hover:text-white transition-colors rounded-md focus:outline-none focus:ring-2 focus:ring-brand-orange focus:ring-offset-2" ``` <details><summary>Prompt To Fix With AI</summary> `````markdown This is a comment left during a code review. Path: components/dashboard/TopReferrers.tsx Line: 62:67 Comment: **Invalid Tailwind variant** `focus:rounded` isn’t a Tailwind utility, so this won’t apply the intended rounding on focus. Use a standard `rounded-*` class plus ring offset if needed. ```suggestion className="text-xs font-medium text-neutral-500 hover:text-neutral-900 dark:text-neutral-400 dark:hover:text-white transition-colors rounded-md focus:outline-none focus:ring-2 focus:ring-brand-orange focus:ring-offset-2" ``` How can I resolve this? If you propose a fix, please make it concise. ````` </details> </details>
Sign in to join this conversation.
No description provided.