feat: shell de subpáginas de forms, redesign do weather widget e limp… - #383

Merged
GRHInvDev merged 1 commit into
mainfrom
380-intranet---visualizar-data-de-cadastros-desativados
Jun 8, 2026
Merged

feat: shell de subpáginas de forms, redesign do weather widget e limp…#383
GRHInvDev merged 1 commit into
mainfrom
380-intranet---visualizar-data-de-cadastros-desativados

Conversation

@GRHInvDev

@GRHInvDevGRHInvDev commented Jun 8, 2026

Copy link
Copy Markdown
Owner

…eza de handoffs

  • Novo forms-sub-page-shell para padronizar subpáginas de formulários
  • Redesign do weather widget (Open-Meteo: atual + horário + diário + UV)
  • Ajustes em quick-access, rotas e globals.css
  • Remove public/design_handoff_solicitacoes; adiciona public/handoffs
  • Bump de versão para 1.36.0 (MMP)

Summary by CodeRabbit

  • New Features

    • Weather widget redesigned with dynamic sky visuals, improved condition mapping, and better weather data presentation.
  • Chores

    • Version bumped to 1.36.0.
    • Flyers module disabled; all access now redirects to dashboard.
    • Removed flyers from main navigation and quick-access menu.
  • Documentation

    • Added comprehensive weather widget redesign handoff documentation.
  • Refactor

    • Forms pages unified with consistent layout components.
    • Weather widget animations redesigned with new visual effects.

…eza de handoffs
- Novo forms-sub-page-shell para padronizar subpáginas de formulários
- Redesign do weather widget (Open-Meteo: atual + horário + diário + UV)
- Ajustes em quick-access, rotas e globals.css
- Remove public/design_handoff_solicitacoes; adiciona public/handoffs
- Bump de versão para 1.36.0 (MMP)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@GRHInvDev
GRHInvDev requested a review from rbxyzJune 8, 2026 20:31
@vercel

vercelBot commented Jun 8, 2026

Copy link
Copy Markdown

Deployment failed with the following error:

You don't have permission to create a Preview Deployment for this Vercel project: elo.

View Documentation: https://vercel.com/docs/accounts/team-members-and-roles

@GRHInvDevGRHInvDev self-assigned this Jun 8, 2026
@coderabbitai

coderabbitaiBot commented Jun 8, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 7a113f50-96db-43f4-9370-c0e6d3285dfc

📥 Commits

Reviewing files that changed from the base of the PR and between 0b9e84b and 4774d55.

📒 Files selected for processing (29)
  • package.json
  • public/handoffs/design_handoff_clima/README.md
  • public/handoffs/design_handoff_clima/_reference/Clima Redesign.html
  • public/handoffs/design_handoff_clima/_reference/variations.jsx
  • public/handoffs/design_handoff_clima/_reference/weather-core.js
  • public/handoffs/design_handoff_clima/globals-additions.css
  • public/handoffs/design_handoff_clima/weather-widget.tsx
  • public/handoffs/design_handoff_solicitacoes/README.md
  • public/handoffs/design_handoff_solicitacoes/Solicitacoes.html
  • public/handoffs/design_handoff_solicitacoes/classic.jsx
  • public/handoffs/design_handoff_solicitacoes/client.jsx
  • public/handoffs/design_handoff_solicitacoes/data.js
  • public/handoffs/design_handoff_solicitacoes/icons.jsx
  • public/handoffs/design_handoff_solicitacoes/shell.jsx
  • public/handoffs/design_handoff_solicitacoes/tech.jsx
  • src/app/(authenticated)/flyers/page.tsx
  • src/app/(authenticated)/forms/[id]/edit/page.tsx
  • src/app/(authenticated)/forms/[id]/page.tsx
  • src/app/(authenticated)/forms/[id]/respond/page.tsx
  • src/app/(authenticated)/forms/[id]/responses/[responseId]/page.tsx
  • src/app/(authenticated)/forms/[id]/responses/page.tsx
  • src/app/(authenticated)/forms/my-responses/page.tsx
  • src/app/(authenticated)/forms/new/page.tsx
  • src/components/dashboard/videos-carousel.tsx
  • src/components/dashboard/weather-widget.tsx
  • src/components/forms/v2/forms-sub-page-shell.tsx
  • src/components/ui/quick-access.tsx
  • src/const/routes.ts
  • src/styles/globals.css

📝 Walkthrough

Walkthrough

This PR introduces a substantial redesign of the weather widget with WMO condition mapping and day/night color palettes, adds a new FormsSubPageShell component for form page consistency, disables the flyers/encartes module, and replaces the Box banner with a YouTube embed. The weather widget now features animated SVG icons, atmosphere effects, and expanded Open-Meteo data integration.

Changes

Weather Widget Redesign

Layer / File(s)Summary
Handoff documentation and design specifications
public/handoffs/design_handoff_clima/README.md
README documents the Clima Redesign covering goals, Open-Meteo API contract (current/hourly/daily), WMO condition mapping, responsive layouts, design tokens, interaction behavior, and verification checklist.
Reference weather-core.js utilities
public/handoffs/design_handoff_clima/_reference/weather-core.js
Shared library exposing WMO code mapping, day/night color palettes, SVG icon generation, time formatting, UV classification, sun position calculation, and mock data generation on window.WeatherCore.
Reference card variations (sky/glass/editorial)
public/handoffs/design_handoff_clima/_reference/variations.jsx
Three React card components (Céu, Vidro, Editorial) with shared atmosphere background, icon rendering, hourly strip, UV bar, sun arc, and responsive desktop/mobile layouts exposed on window.
Reference HTML demo page
public/handoffs/design_handoff_clima/_reference/Clima Redesign.html
Interactive demo with inline styles and Babel-compiled React app demonstrating all three card variants with switchable weather conditions and day/night modes.
Reference CSS animation definitions
public/handoffs/design_handoff_clima/globals-additions.css
Global stylesheet defining atmosphere animations (glow, stars, rain, snow, fog) with prefers-reduced-motion support.
Handoff weather-widget.tsx
public/handoffs/design_handoff_clima/weather-widget.tsx
Production-ready weather widget with WMO mapping, color palettes, SVG icons, animated atmosphere, Open-Meteo integration, UV bar, and sunrise/sunset arc.
Dashboard weather-widget redesign
src/components/dashboard/weather-widget.tsx
Refactored main dashboard widget with expanded Open-Meteo fetching (current/hourly/daily/UV), WMO condition mapping, day/night palettes, animated atmosphere, hourly strip selection, and responsive desktop/mobile layouts.
Global CSS animations and version
src/styles/globals.css, package.json
Replaced old weather animation keyframes with new wx-* system, added chat-assistant-dot animation, and bumped version to 1.36.0.

Forms UI Component and Page Integration

Layer / File(s)Summary
FormsSubPageShell and FormsPanel components
src/components/forms/v2/forms-sub-page-shell.tsx
New layout components with optional back link, title, description, and actions; toggles between v2 and classic layout modes via useLayoutPreference hook.
Form pages refactored to use FormsSubPageShell
src/app/(authenticated)/forms/[id]/edit/page.tsx, src/app/(authenticated)/forms/[id]/page.tsx, src/app/(authenticated)/forms/[id]/respond/page.tsx, src/app/(authenticated)/forms/[id]/responses/[responseId]/page.tsx, src/app/(authenticated)/forms/[id]/responses/page.tsx, src/app/(authenticated)/forms/my-responses/page.tsx, src/app/(authenticated)/forms/new/page.tsx
Six form-related pages replaced inline header/back-button markup with FormsSubPageShell wrapper, removing manual Link/Button/ChevronLeft imports and consolidating layout logic.

Flyers Module Deactivation and Navigation Cleanup

Layer / File(s)Summary
FlyersPage deactivation and redirect
src/app/(authenticated)/flyers/page.tsx
FlyersPage converted from async to sync and replaced with unconditional redirect to /dashboard; metadata description updated to indicate module is deactivated.
Navigation and quick-access cleanup
src/const/routes.ts, src/components/ui/quick-access.tsx
Removed "Encartes" route from TOTEM and non-TOTEM navigation; removed quick-access item; cleaned up unused icon imports.

Videos Carousel Update

Layer / File(s)Summary
Box banner replaced with YouTube iframe
src/components/dashboard/videos-carousel.tsx
Desktop and mobile carousel Box slides now render static YouTube iframe instead of Link-based banner; removed Link and OptimizedImage imports.

Sequence Diagrams

sequenceDiagram
participant User
participant WeatherWidget as Dashboard<br/>WeatherWidget
participant OpenMeteo as Open-Meteo<br/>API
participant Geo as Geolocation<br/>API
User->>WeatherWidget: Load dashboard
WeatherWidget->>Geo: Request location (timeout 3s)
Geo-->>WeatherWidget: Coordinates or null
WeatherWidget->>OpenMeteo: GET /forecast?lat/lon&current&hourly&daily&uv_index
OpenMeteo-->>WeatherWidget: {current, hourly, daily, uv_index}
WeatherWidget->>WeatherWidget: Parse closest hourly slot to now
WeatherWidget->>WeatherWidget: Map WMO condition code
WeatherWidget->>WeatherWidget: Select day/night palette
WeatherWidget-->>User: Render icon + atmosphere + UV + arc
Loading
sequenceDiagram
participant Developer
participant FormPage as Form Page<br/>(e.g., edit)
participant FormsSubPageShell
participant Content as Child<br/>Component
Developer->>FormPage: Render form page
FormPage->>FormsSubPageShell: Pass backHref, title, description
FormsSubPageShell->>FormsSubPageShell: useLayoutPreference() → v2 or classic
FormsSubPageShell->>Content: Render children inside appropriate shell
Content-->>FormsSubPageShell: Rendered form content
FormsSubPageShell-->>FormPage: Complete layout with back link + title + children
Loading

🎯 4 (Complex) | ⏱️ ~60 minutes

Possibly related PRs

  • GRHInvDev/elo#300: Previous weather widget and CSS animation updates to the same files.
  • GRHInvDev/elo#367: Related changes to dashboard weather widget implementation and enterprise/location logic.
  • GRHInvDev/elo#322: Related changes to form response page layout refactoring.

Poem

🐰 The sky now dances with colors so bright,
From dawn's golden glow to the stars of the night,
With forms holding steady in their new shell so neat,
And encartes now resting—their exit complete! ✨

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch 380-intranet---visualizar-data-de-cadastros-desativados

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 ESLint

If the error stems from missing dependencies, add them to the package.json file. For unrecoverable errors (e.g., due to private dependencies), disable the tool in the CodeRabbit configuration.

public/handoffs/design_handoff_clima/_reference/variations.jsx

Parsing error: "parserOptions.project" has been provided for @typescript-eslint/parser.
The file was not found in any of the provided project(s): public/handoffs/design_handoff_clima/_reference/variations.jsx

public/handoffs/design_handoff_clima/_reference/weather-core.js

Parsing error: "parserOptions.project" has been provided for @typescript-eslint/parser.
The file was not found in any of the provided project(s): public/handoffs/design_handoff_clima/_reference/weather-core.js

public/handoffs/design_handoff_clima/globals-additions.css

Parsing error: "parserOptions.project" has been provided for @typescript-eslint/parser.
The file was not found in any of the provided project(s): public/handoffs/design_handoff_clima/globals-additions.css

  • 2 others

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@GRHInvDev
GRHInvDev merged commit e3f678f into mainJun 8, 2026
6 of 9 checks passed
Sign up for freeto 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.

2 participants

@GRHInvDev@rbxyz
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

feat: shell de subpáginas de forms, redesign do weather widget e limp… - #383

Merged
GRHInvDev merged 1 commit into
mainfrom
380-intranet---visualizar-data-de-cadastros-desativados
Jun 8, 2026
Merged

feat: shell de subpáginas de forms, redesign do weather widget e limp…#383
GRHInvDev merged 1 commit into
mainfrom
380-intranet---visualizar-data-de-cadastros-desativados

Conversation

@GRHInvDev

@GRHInvDevGRHInvDev commented Jun 8, 2026

Copy link
Copy Markdown
Owner

…eza de handoffs

  • Novo forms-sub-page-shell para padronizar subpáginas de formulários
  • Redesign do weather widget (Open-Meteo: atual + horário + diário + UV)
  • Ajustes em quick-access, rotas e globals.css
  • Remove public/design_handoff_solicitacoes; adiciona public/handoffs
  • Bump de versão para 1.36.0 (MMP)

Summary by CodeRabbit

  • New Features

    • Weather widget redesigned with dynamic sky visuals, improved condition mapping, and better weather data presentation.
  • Chores

    • Version bumped to 1.36.0.
    • Flyers module disabled; all access now redirects to dashboard.
    • Removed flyers from main navigation and quick-access menu.
  • Documentation

    • Added comprehensive weather widget redesign handoff documentation.
  • Refactor

    • Forms pages unified with consistent layout components.
    • Weather widget animations redesigned with new visual effects.

…eza de handoffs
- Novo forms-sub-page-shell para padronizar subpáginas de formulários
- Redesign do weather widget (Open-Meteo: atual + horário + diário + UV)
- Ajustes em quick-access, rotas e globals.css
- Remove public/design_handoff_solicitacoes; adiciona public/handoffs
- Bump de versão para 1.36.0 (MMP)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@GRHInvDev
GRHInvDev requested a review from rbxyzJune 8, 2026 20:31
@vercel

vercelBot commented Jun 8, 2026

Copy link
Copy Markdown

Deployment failed with the following error:

You don't have permission to create a Preview Deployment for this Vercel project: elo.

View Documentation: https://vercel.com/docs/accounts/team-members-and-roles

@GRHInvDevGRHInvDev self-assigned this Jun 8, 2026
@coderabbitai

coderabbitaiBot commented Jun 8, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 7a113f50-96db-43f4-9370-c0e6d3285dfc

📥 Commits

Reviewing files that changed from the base of the PR and between 0b9e84b and 4774d55.

📒 Files selected for processing (29)
  • package.json
  • public/handoffs/design_handoff_clima/README.md
  • public/handoffs/design_handoff_clima/_reference/Clima Redesign.html
  • public/handoffs/design_handoff_clima/_reference/variations.jsx
  • public/handoffs/design_handoff_clima/_reference/weather-core.js
  • public/handoffs/design_handoff_clima/globals-additions.css
  • public/handoffs/design_handoff_clima/weather-widget.tsx
  • public/handoffs/design_handoff_solicitacoes/README.md
  • public/handoffs/design_handoff_solicitacoes/Solicitacoes.html
  • public/handoffs/design_handoff_solicitacoes/classic.jsx
  • public/handoffs/design_handoff_solicitacoes/client.jsx
  • public/handoffs/design_handoff_solicitacoes/data.js
  • public/handoffs/design_handoff_solicitacoes/icons.jsx
  • public/handoffs/design_handoff_solicitacoes/shell.jsx
  • public/handoffs/design_handoff_solicitacoes/tech.jsx
  • src/app/(authenticated)/flyers/page.tsx
  • src/app/(authenticated)/forms/[id]/edit/page.tsx
  • src/app/(authenticated)/forms/[id]/page.tsx
  • src/app/(authenticated)/forms/[id]/respond/page.tsx
  • src/app/(authenticated)/forms/[id]/responses/[responseId]/page.tsx
  • src/app/(authenticated)/forms/[id]/responses/page.tsx
  • src/app/(authenticated)/forms/my-responses/page.tsx
  • src/app/(authenticated)/forms/new/page.tsx
  • src/components/dashboard/videos-carousel.tsx
  • src/components/dashboard/weather-widget.tsx
  • src/components/forms/v2/forms-sub-page-shell.tsx
  • src/components/ui/quick-access.tsx
  • src/const/routes.ts
  • src/styles/globals.css

📝 Walkthrough

Walkthrough

This PR introduces a substantial redesign of the weather widget with WMO condition mapping and day/night color palettes, adds a new FormsSubPageShell component for form page consistency, disables the flyers/encartes module, and replaces the Box banner with a YouTube embed. The weather widget now features animated SVG icons, atmosphere effects, and expanded Open-Meteo data integration.

Changes

Weather Widget Redesign

Layer / File(s)Summary
Handoff documentation and design specifications
public/handoffs/design_handoff_clima/README.md
README documents the Clima Redesign covering goals, Open-Meteo API contract (current/hourly/daily), WMO condition mapping, responsive layouts, design tokens, interaction behavior, and verification checklist.
Reference weather-core.js utilities
public/handoffs/design_handoff_clima/_reference/weather-core.js
Shared library exposing WMO code mapping, day/night color palettes, SVG icon generation, time formatting, UV classification, sun position calculation, and mock data generation on window.WeatherCore.
Reference card variations (sky/glass/editorial)
public/handoffs/design_handoff_clima/_reference/variations.jsx
Three React card components (Céu, Vidro, Editorial) with shared atmosphere background, icon rendering, hourly strip, UV bar, sun arc, and responsive desktop/mobile layouts exposed on window.
Reference HTML demo page
public/handoffs/design_handoff_clima/_reference/Clima Redesign.html
Interactive demo with inline styles and Babel-compiled React app demonstrating all three card variants with switchable weather conditions and day/night modes.
Reference CSS animation definitions
public/handoffs/design_handoff_clima/globals-additions.css
Global stylesheet defining atmosphere animations (glow, stars, rain, snow, fog) with prefers-reduced-motion support.
Handoff weather-widget.tsx
public/handoffs/design_handoff_clima/weather-widget.tsx
Production-ready weather widget with WMO mapping, color palettes, SVG icons, animated atmosphere, Open-Meteo integration, UV bar, and sunrise/sunset arc.
Dashboard weather-widget redesign
src/components/dashboard/weather-widget.tsx
Refactored main dashboard widget with expanded Open-Meteo fetching (current/hourly/daily/UV), WMO condition mapping, day/night palettes, animated atmosphere, hourly strip selection, and responsive desktop/mobile layouts.
Global CSS animations and version
src/styles/globals.css, package.json
Replaced old weather animation keyframes with new wx-* system, added chat-assistant-dot animation, and bumped version to 1.36.0.

Forms UI Component and Page Integration

Layer / File(s)Summary
FormsSubPageShell and FormsPanel components
src/components/forms/v2/forms-sub-page-shell.tsx
New layout components with optional back link, title, description, and actions; toggles between v2 and classic layout modes via useLayoutPreference hook.
Form pages refactored to use FormsSubPageShell
src/app/(authenticated)/forms/[id]/edit/page.tsx, src/app/(authenticated)/forms/[id]/page.tsx, src/app/(authenticated)/forms/[id]/respond/page.tsx, src/app/(authenticated)/forms/[id]/responses/[responseId]/page.tsx, src/app/(authenticated)/forms/[id]/responses/page.tsx, src/app/(authenticated)/forms/my-responses/page.tsx, src/app/(authenticated)/forms/new/page.tsx
Six form-related pages replaced inline header/back-button markup with FormsSubPageShell wrapper, removing manual Link/Button/ChevronLeft imports and consolidating layout logic.

Flyers Module Deactivation and Navigation Cleanup

Layer / File(s)Summary
FlyersPage deactivation and redirect
src/app/(authenticated)/flyers/page.tsx
FlyersPage converted from async to sync and replaced with unconditional redirect to /dashboard; metadata description updated to indicate module is deactivated.
Navigation and quick-access cleanup
src/const/routes.ts, src/components/ui/quick-access.tsx
Removed "Encartes" route from TOTEM and non-TOTEM navigation; removed quick-access item; cleaned up unused icon imports.

Videos Carousel Update

Layer / File(s)Summary
Box banner replaced with YouTube iframe
src/components/dashboard/videos-carousel.tsx
Desktop and mobile carousel Box slides now render static YouTube iframe instead of Link-based banner; removed Link and OptimizedImage imports.

Sequence Diagrams

sequenceDiagram
participant User
participant WeatherWidget as Dashboard<br/>WeatherWidget
participant OpenMeteo as Open-Meteo<br/>API
participant Geo as Geolocation<br/>API
User->>WeatherWidget: Load dashboard
WeatherWidget->>Geo: Request location (timeout 3s)
Geo-->>WeatherWidget: Coordinates or null
WeatherWidget->>OpenMeteo: GET /forecast?lat/lon&current&hourly&daily&uv_index
OpenMeteo-->>WeatherWidget: {current, hourly, daily, uv_index}
WeatherWidget->>WeatherWidget: Parse closest hourly slot to now
WeatherWidget->>WeatherWidget: Map WMO condition code
WeatherWidget->>WeatherWidget: Select day/night palette
WeatherWidget-->>User: Render icon + atmosphere + UV + arc
Loading
sequenceDiagram
participant Developer
participant FormPage as Form Page<br/>(e.g., edit)
participant FormsSubPageShell
participant Content as Child<br/>Component
Developer->>FormPage: Render form page
FormPage->>FormsSubPageShell: Pass backHref, title, description
FormsSubPageShell->>FormsSubPageShell: useLayoutPreference() → v2 or classic
FormsSubPageShell->>Content: Render children inside appropriate shell
Content-->>FormsSubPageShell: Rendered form content
FormsSubPageShell-->>FormPage: Complete layout with back link + title + children
Loading

🎯 4 (Complex) | ⏱️ ~60 minutes

Possibly related PRs

  • GRHInvDev/elo#300: Previous weather widget and CSS animation updates to the same files.
  • GRHInvDev/elo#367: Related changes to dashboard weather widget implementation and enterprise/location logic.
  • GRHInvDev/elo#322: Related changes to form response page layout refactoring.

Poem

🐰 The sky now dances with colors so bright,
From dawn's golden glow to the stars of the night,
With forms holding steady in their new shell so neat,
And encartes now resting—their exit complete! ✨

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch 380-intranet---visualizar-data-de-cadastros-desativados

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 ESLint

If the error stems from missing dependencies, add them to the package.json file. For unrecoverable errors (e.g., due to private dependencies), disable the tool in the CodeRabbit configuration.

public/handoffs/design_handoff_clima/_reference/variations.jsx

Parsing error: "parserOptions.project" has been provided for @typescript-eslint/parser.
The file was not found in any of the provided project(s): public/handoffs/design_handoff_clima/_reference/variations.jsx

public/handoffs/design_handoff_clima/_reference/weather-core.js

Parsing error: "parserOptions.project" has been provided for @typescript-eslint/parser.
The file was not found in any of the provided project(s): public/handoffs/design_handoff_clima/_reference/weather-core.js

public/handoffs/design_handoff_clima/globals-additions.css

Parsing error: "parserOptions.project" has been provided for @typescript-eslint/parser.
The file was not found in any of the provided project(s): public/handoffs/design_handoff_clima/globals-additions.css

  • 2 others

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@GRHInvDev
GRHInvDev merged commit e3f678f into mainJun 8, 2026
6 of 9 checks passed
Sign up for freeto 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.

2 participants

@GRHInvDev@rbxyz
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

feat: shell de subpáginas de forms, redesign do weather widget e limp… - #383

Merged
GRHInvDev merged 1 commit into
mainfrom
380-intranet---visualizar-data-de-cadastros-desativados
Jun 8, 2026
Merged

feat: shell de subpáginas de forms, redesign do weather widget e limp…#383
GRHInvDev merged 1 commit into
mainfrom
380-intranet---visualizar-data-de-cadastros-desativados

Conversation

@GRHInvDev

@GRHInvDevGRHInvDev commented Jun 8, 2026

Copy link
Copy Markdown
Owner

…eza de handoffs

  • Novo forms-sub-page-shell para padronizar subpáginas de formulários
  • Redesign do weather widget (Open-Meteo: atual + horário + diário + UV)
  • Ajustes em quick-access, rotas e globals.css
  • Remove public/design_handoff_solicitacoes; adiciona public/handoffs
  • Bump de versão para 1.36.0 (MMP)

Summary by CodeRabbit

  • New Features

    • Weather widget redesigned with dynamic sky visuals, improved condition mapping, and better weather data presentation.
  • Chores

    • Version bumped to 1.36.0.
    • Flyers module disabled; all access now redirects to dashboard.
    • Removed flyers from main navigation and quick-access menu.
  • Documentation

    • Added comprehensive weather widget redesign handoff documentation.
  • Refactor

    • Forms pages unified with consistent layout components.
    • Weather widget animations redesigned with new visual effects.

…eza de handoffs
- Novo forms-sub-page-shell para padronizar subpáginas de formulários
- Redesign do weather widget (Open-Meteo: atual + horário + diário + UV)
- Ajustes em quick-access, rotas e globals.css
- Remove public/design_handoff_solicitacoes; adiciona public/handoffs
- Bump de versão para 1.36.0 (MMP)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@GRHInvDev
GRHInvDev requested a review from rbxyzJune 8, 2026 20:31
@vercel

vercelBot commented Jun 8, 2026

Copy link
Copy Markdown

Deployment failed with the following error:

You don't have permission to create a Preview Deployment for this Vercel project: elo.

View Documentation: https://vercel.com/docs/accounts/team-members-and-roles

@GRHInvDevGRHInvDev self-assigned this Jun 8, 2026
@coderabbitai

coderabbitaiBot commented Jun 8, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 7a113f50-96db-43f4-9370-c0e6d3285dfc

📥 Commits

Reviewing files that changed from the base of the PR and between 0b9e84b and 4774d55.

📒 Files selected for processing (29)
  • package.json
  • public/handoffs/design_handoff_clima/README.md
  • public/handoffs/design_handoff_clima/_reference/Clima Redesign.html
  • public/handoffs/design_handoff_clima/_reference/variations.jsx
  • public/handoffs/design_handoff_clima/_reference/weather-core.js
  • public/handoffs/design_handoff_clima/globals-additions.css
  • public/handoffs/design_handoff_clima/weather-widget.tsx
  • public/handoffs/design_handoff_solicitacoes/README.md
  • public/handoffs/design_handoff_solicitacoes/Solicitacoes.html
  • public/handoffs/design_handoff_solicitacoes/classic.jsx
  • public/handoffs/design_handoff_solicitacoes/client.jsx
  • public/handoffs/design_handoff_solicitacoes/data.js
  • public/handoffs/design_handoff_solicitacoes/icons.jsx
  • public/handoffs/design_handoff_solicitacoes/shell.jsx
  • public/handoffs/design_handoff_solicitacoes/tech.jsx
  • src/app/(authenticated)/flyers/page.tsx
  • src/app/(authenticated)/forms/[id]/edit/page.tsx
  • src/app/(authenticated)/forms/[id]/page.tsx
  • src/app/(authenticated)/forms/[id]/respond/page.tsx
  • src/app/(authenticated)/forms/[id]/responses/[responseId]/page.tsx
  • src/app/(authenticated)/forms/[id]/responses/page.tsx
  • src/app/(authenticated)/forms/my-responses/page.tsx
  • src/app/(authenticated)/forms/new/page.tsx
  • src/components/dashboard/videos-carousel.tsx
  • src/components/dashboard/weather-widget.tsx
  • src/components/forms/v2/forms-sub-page-shell.tsx
  • src/components/ui/quick-access.tsx
  • src/const/routes.ts
  • src/styles/globals.css

📝 Walkthrough

Walkthrough

This PR introduces a substantial redesign of the weather widget with WMO condition mapping and day/night color palettes, adds a new FormsSubPageShell component for form page consistency, disables the flyers/encartes module, and replaces the Box banner with a YouTube embed. The weather widget now features animated SVG icons, atmosphere effects, and expanded Open-Meteo data integration.

Changes

Weather Widget Redesign

Layer / File(s)Summary
Handoff documentation and design specifications
public/handoffs/design_handoff_clima/README.md
README documents the Clima Redesign covering goals, Open-Meteo API contract (current/hourly/daily), WMO condition mapping, responsive layouts, design tokens, interaction behavior, and verification checklist.
Reference weather-core.js utilities
public/handoffs/design_handoff_clima/_reference/weather-core.js
Shared library exposing WMO code mapping, day/night color palettes, SVG icon generation, time formatting, UV classification, sun position calculation, and mock data generation on window.WeatherCore.
Reference card variations (sky/glass/editorial)
public/handoffs/design_handoff_clima/_reference/variations.jsx
Three React card components (Céu, Vidro, Editorial) with shared atmosphere background, icon rendering, hourly strip, UV bar, sun arc, and responsive desktop/mobile layouts exposed on window.
Reference HTML demo page
public/handoffs/design_handoff_clima/_reference/Clima Redesign.html
Interactive demo with inline styles and Babel-compiled React app demonstrating all three card variants with switchable weather conditions and day/night modes.
Reference CSS animation definitions
public/handoffs/design_handoff_clima/globals-additions.css
Global stylesheet defining atmosphere animations (glow, stars, rain, snow, fog) with prefers-reduced-motion support.
Handoff weather-widget.tsx
public/handoffs/design_handoff_clima/weather-widget.tsx
Production-ready weather widget with WMO mapping, color palettes, SVG icons, animated atmosphere, Open-Meteo integration, UV bar, and sunrise/sunset arc.
Dashboard weather-widget redesign
src/components/dashboard/weather-widget.tsx
Refactored main dashboard widget with expanded Open-Meteo fetching (current/hourly/daily/UV), WMO condition mapping, day/night palettes, animated atmosphere, hourly strip selection, and responsive desktop/mobile layouts.
Global CSS animations and version
src/styles/globals.css, package.json
Replaced old weather animation keyframes with new wx-* system, added chat-assistant-dot animation, and bumped version to 1.36.0.

Forms UI Component and Page Integration

Layer / File(s)Summary
FormsSubPageShell and FormsPanel components
src/components/forms/v2/forms-sub-page-shell.tsx
New layout components with optional back link, title, description, and actions; toggles between v2 and classic layout modes via useLayoutPreference hook.
Form pages refactored to use FormsSubPageShell
src/app/(authenticated)/forms/[id]/edit/page.tsx, src/app/(authenticated)/forms/[id]/page.tsx, src/app/(authenticated)/forms/[id]/respond/page.tsx, src/app/(authenticated)/forms/[id]/responses/[responseId]/page.tsx, src/app/(authenticated)/forms/[id]/responses/page.tsx, src/app/(authenticated)/forms/my-responses/page.tsx, src/app/(authenticated)/forms/new/page.tsx
Six form-related pages replaced inline header/back-button markup with FormsSubPageShell wrapper, removing manual Link/Button/ChevronLeft imports and consolidating layout logic.

Flyers Module Deactivation and Navigation Cleanup

Layer / File(s)Summary
FlyersPage deactivation and redirect
src/app/(authenticated)/flyers/page.tsx
FlyersPage converted from async to sync and replaced with unconditional redirect to /dashboard; metadata description updated to indicate module is deactivated.
Navigation and quick-access cleanup
src/const/routes.ts, src/components/ui/quick-access.tsx
Removed "Encartes" route from TOTEM and non-TOTEM navigation; removed quick-access item; cleaned up unused icon imports.

Videos Carousel Update

Layer / File(s)Summary
Box banner replaced with YouTube iframe
src/components/dashboard/videos-carousel.tsx
Desktop and mobile carousel Box slides now render static YouTube iframe instead of Link-based banner; removed Link and OptimizedImage imports.

Sequence Diagrams

sequenceDiagram
participant User
participant WeatherWidget as Dashboard<br/>WeatherWidget
participant OpenMeteo as Open-Meteo<br/>API
participant Geo as Geolocation<br/>API
User->>WeatherWidget: Load dashboard
WeatherWidget->>Geo: Request location (timeout 3s)
Geo-->>WeatherWidget: Coordinates or null
WeatherWidget->>OpenMeteo: GET /forecast?lat/lon&current&hourly&daily&uv_index
OpenMeteo-->>WeatherWidget: {current, hourly, daily, uv_index}
WeatherWidget->>WeatherWidget: Parse closest hourly slot to now
WeatherWidget->>WeatherWidget: Map WMO condition code
WeatherWidget->>WeatherWidget: Select day/night palette
WeatherWidget-->>User: Render icon + atmosphere + UV + arc
Loading
sequenceDiagram
participant Developer
participant FormPage as Form Page<br/>(e.g., edit)
participant FormsSubPageShell
participant Content as Child<br/>Component
Developer->>FormPage: Render form page
FormPage->>FormsSubPageShell: Pass backHref, title, description
FormsSubPageShell->>FormsSubPageShell: useLayoutPreference() → v2 or classic
FormsSubPageShell->>Content: Render children inside appropriate shell
Content-->>FormsSubPageShell: Rendered form content
FormsSubPageShell-->>FormPage: Complete layout with back link + title + children
Loading

🎯 4 (Complex) | ⏱️ ~60 minutes

Possibly related PRs

  • GRHInvDev/elo#300: Previous weather widget and CSS animation updates to the same files.
  • GRHInvDev/elo#367: Related changes to dashboard weather widget implementation and enterprise/location logic.
  • GRHInvDev/elo#322: Related changes to form response page layout refactoring.

Poem

🐰 The sky now dances with colors so bright,
From dawn's golden glow to the stars of the night,
With forms holding steady in their new shell so neat,
And encartes now resting—their exit complete! ✨

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch 380-intranet---visualizar-data-de-cadastros-desativados

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 ESLint

If the error stems from missing dependencies, add them to the package.json file. For unrecoverable errors (e.g., due to private dependencies), disable the tool in the CodeRabbit configuration.

public/handoffs/design_handoff_clima/_reference/variations.jsx

Parsing error: "parserOptions.project" has been provided for @typescript-eslint/parser.
The file was not found in any of the provided project(s): public/handoffs/design_handoff_clima/_reference/variations.jsx

public/handoffs/design_handoff_clima/_reference/weather-core.js

Parsing error: "parserOptions.project" has been provided for @typescript-eslint/parser.
The file was not found in any of the provided project(s): public/handoffs/design_handoff_clima/_reference/weather-core.js

public/handoffs/design_handoff_clima/globals-additions.css

Parsing error: "parserOptions.project" has been provided for @typescript-eslint/parser.
The file was not found in any of the provided project(s): public/handoffs/design_handoff_clima/globals-additions.css

  • 2 others

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@GRHInvDev
GRHInvDev merged commit e3f678f into mainJun 8, 2026
6 of 9 checks passed
Sign up for freeto 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.

2 participants

@GRHInvDev@rbxyz
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

feat: shell de subpáginas de forms, redesign do weather widget e limp… - #383

Merged
GRHInvDev merged 1 commit into
mainfrom
380-intranet---visualizar-data-de-cadastros-desativados
Jun 8, 2026
Merged

feat: shell de subpáginas de forms, redesign do weather widget e limp…#383
GRHInvDev merged 1 commit into
mainfrom
380-intranet---visualizar-data-de-cadastros-desativados

Conversation

@GRHInvDev

@GRHInvDevGRHInvDev commented Jun 8, 2026

Copy link
Copy Markdown
Owner

…eza de handoffs

  • Novo forms-sub-page-shell para padronizar subpáginas de formulários
  • Redesign do weather widget (Open-Meteo: atual + horário + diário + UV)
  • Ajustes em quick-access, rotas e globals.css
  • Remove public/design_handoff_solicitacoes; adiciona public/handoffs
  • Bump de versão para 1.36.0 (MMP)

Summary by CodeRabbit

  • New Features

    • Weather widget redesigned with dynamic sky visuals, improved condition mapping, and better weather data presentation.
  • Chores

    • Version bumped to 1.36.0.
    • Flyers module disabled; all access now redirects to dashboard.
    • Removed flyers from main navigation and quick-access menu.
  • Documentation

    • Added comprehensive weather widget redesign handoff documentation.
  • Refactor

    • Forms pages unified with consistent layout components.
    • Weather widget animations redesigned with new visual effects.

…eza de handoffs
- Novo forms-sub-page-shell para padronizar subpáginas de formulários
- Redesign do weather widget (Open-Meteo: atual + horário + diário + UV)
- Ajustes em quick-access, rotas e globals.css
- Remove public/design_handoff_solicitacoes; adiciona public/handoffs
- Bump de versão para 1.36.0 (MMP)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@GRHInvDev
GRHInvDev requested a review from rbxyzJune 8, 2026 20:31
@vercel

vercelBot commented Jun 8, 2026

Copy link
Copy Markdown

Deployment failed with the following error:

You don't have permission to create a Preview Deployment for this Vercel project: elo.

View Documentation: https://vercel.com/docs/accounts/team-members-and-roles

@GRHInvDevGRHInvDev self-assigned this Jun 8, 2026
@coderabbitai

coderabbitaiBot commented Jun 8, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 7a113f50-96db-43f4-9370-c0e6d3285dfc

📥 Commits

Reviewing files that changed from the base of the PR and between 0b9e84b and 4774d55.

📒 Files selected for processing (29)
  • package.json
  • public/handoffs/design_handoff_clima/README.md
  • public/handoffs/design_handoff_clima/_reference/Clima Redesign.html
  • public/handoffs/design_handoff_clima/_reference/variations.jsx
  • public/handoffs/design_handoff_clima/_reference/weather-core.js
  • public/handoffs/design_handoff_clima/globals-additions.css
  • public/handoffs/design_handoff_clima/weather-widget.tsx
  • public/handoffs/design_handoff_solicitacoes/README.md
  • public/handoffs/design_handoff_solicitacoes/Solicitacoes.html
  • public/handoffs/design_handoff_solicitacoes/classic.jsx
  • public/handoffs/design_handoff_solicitacoes/client.jsx
  • public/handoffs/design_handoff_solicitacoes/data.js
  • public/handoffs/design_handoff_solicitacoes/icons.jsx
  • public/handoffs/design_handoff_solicitacoes/shell.jsx
  • public/handoffs/design_handoff_solicitacoes/tech.jsx
  • src/app/(authenticated)/flyers/page.tsx
  • src/app/(authenticated)/forms/[id]/edit/page.tsx
  • src/app/(authenticated)/forms/[id]/page.tsx
  • src/app/(authenticated)/forms/[id]/respond/page.tsx
  • src/app/(authenticated)/forms/[id]/responses/[responseId]/page.tsx
  • src/app/(authenticated)/forms/[id]/responses/page.tsx
  • src/app/(authenticated)/forms/my-responses/page.tsx
  • src/app/(authenticated)/forms/new/page.tsx
  • src/components/dashboard/videos-carousel.tsx
  • src/components/dashboard/weather-widget.tsx
  • src/components/forms/v2/forms-sub-page-shell.tsx
  • src/components/ui/quick-access.tsx
  • src/const/routes.ts
  • src/styles/globals.css

📝 Walkthrough

Walkthrough

This PR introduces a substantial redesign of the weather widget with WMO condition mapping and day/night color palettes, adds a new FormsSubPageShell component for form page consistency, disables the flyers/encartes module, and replaces the Box banner with a YouTube embed. The weather widget now features animated SVG icons, atmosphere effects, and expanded Open-Meteo data integration.

Changes

Weather Widget Redesign

Layer / File(s)Summary
Handoff documentation and design specifications
public/handoffs/design_handoff_clima/README.md
README documents the Clima Redesign covering goals, Open-Meteo API contract (current/hourly/daily), WMO condition mapping, responsive layouts, design tokens, interaction behavior, and verification checklist.
Reference weather-core.js utilities
public/handoffs/design_handoff_clima/_reference/weather-core.js
Shared library exposing WMO code mapping, day/night color palettes, SVG icon generation, time formatting, UV classification, sun position calculation, and mock data generation on window.WeatherCore.
Reference card variations (sky/glass/editorial)
public/handoffs/design_handoff_clima/_reference/variations.jsx
Three React card components (Céu, Vidro, Editorial) with shared atmosphere background, icon rendering, hourly strip, UV bar, sun arc, and responsive desktop/mobile layouts exposed on window.
Reference HTML demo page
public/handoffs/design_handoff_clima/_reference/Clima Redesign.html
Interactive demo with inline styles and Babel-compiled React app demonstrating all three card variants with switchable weather conditions and day/night modes.
Reference CSS animation definitions
public/handoffs/design_handoff_clima/globals-additions.css
Global stylesheet defining atmosphere animations (glow, stars, rain, snow, fog) with prefers-reduced-motion support.
Handoff weather-widget.tsx
public/handoffs/design_handoff_clima/weather-widget.tsx
Production-ready weather widget with WMO mapping, color palettes, SVG icons, animated atmosphere, Open-Meteo integration, UV bar, and sunrise/sunset arc.
Dashboard weather-widget redesign
src/components/dashboard/weather-widget.tsx
Refactored main dashboard widget with expanded Open-Meteo fetching (current/hourly/daily/UV), WMO condition mapping, day/night palettes, animated atmosphere, hourly strip selection, and responsive desktop/mobile layouts.
Global CSS animations and version
src/styles/globals.css, package.json
Replaced old weather animation keyframes with new wx-* system, added chat-assistant-dot animation, and bumped version to 1.36.0.

Forms UI Component and Page Integration

Layer / File(s)Summary
FormsSubPageShell and FormsPanel components
src/components/forms/v2/forms-sub-page-shell.tsx
New layout components with optional back link, title, description, and actions; toggles between v2 and classic layout modes via useLayoutPreference hook.
Form pages refactored to use FormsSubPageShell
src/app/(authenticated)/forms/[id]/edit/page.tsx, src/app/(authenticated)/forms/[id]/page.tsx, src/app/(authenticated)/forms/[id]/respond/page.tsx, src/app/(authenticated)/forms/[id]/responses/[responseId]/page.tsx, src/app/(authenticated)/forms/[id]/responses/page.tsx, src/app/(authenticated)/forms/my-responses/page.tsx, src/app/(authenticated)/forms/new/page.tsx
Six form-related pages replaced inline header/back-button markup with FormsSubPageShell wrapper, removing manual Link/Button/ChevronLeft imports and consolidating layout logic.

Flyers Module Deactivation and Navigation Cleanup

Layer / File(s)Summary
FlyersPage deactivation and redirect
src/app/(authenticated)/flyers/page.tsx
FlyersPage converted from async to sync and replaced with unconditional redirect to /dashboard; metadata description updated to indicate module is deactivated.
Navigation and quick-access cleanup
src/const/routes.ts, src/components/ui/quick-access.tsx
Removed "Encartes" route from TOTEM and non-TOTEM navigation; removed quick-access item; cleaned up unused icon imports.

Videos Carousel Update

Layer / File(s)Summary
Box banner replaced with YouTube iframe
src/components/dashboard/videos-carousel.tsx
Desktop and mobile carousel Box slides now render static YouTube iframe instead of Link-based banner; removed Link and OptimizedImage imports.

Sequence Diagrams

sequenceDiagram
participant User
participant WeatherWidget as Dashboard<br/>WeatherWidget
participant OpenMeteo as Open-Meteo<br/>API
participant Geo as Geolocation<br/>API
User->>WeatherWidget: Load dashboard
WeatherWidget->>Geo: Request location (timeout 3s)
Geo-->>WeatherWidget: Coordinates or null
WeatherWidget->>OpenMeteo: GET /forecast?lat/lon&current&hourly&daily&uv_index
OpenMeteo-->>WeatherWidget: {current, hourly, daily, uv_index}
WeatherWidget->>WeatherWidget: Parse closest hourly slot to now
WeatherWidget->>WeatherWidget: Map WMO condition code
WeatherWidget->>WeatherWidget: Select day/night palette
WeatherWidget-->>User: Render icon + atmosphere + UV + arc
Loading
sequenceDiagram
participant Developer
participant FormPage as Form Page<br/>(e.g., edit)
participant FormsSubPageShell
participant Content as Child<br/>Component
Developer->>FormPage: Render form page
FormPage->>FormsSubPageShell: Pass backHref, title, description
FormsSubPageShell->>FormsSubPageShell: useLayoutPreference() → v2 or classic
FormsSubPageShell->>Content: Render children inside appropriate shell
Content-->>FormsSubPageShell: Rendered form content
FormsSubPageShell-->>FormPage: Complete layout with back link + title + children
Loading

🎯 4 (Complex) | ⏱️ ~60 minutes

Possibly related PRs

  • GRHInvDev/elo#300: Previous weather widget and CSS animation updates to the same files.
  • GRHInvDev/elo#367: Related changes to dashboard weather widget implementation and enterprise/location logic.
  • GRHInvDev/elo#322: Related changes to form response page layout refactoring.

Poem

🐰 The sky now dances with colors so bright,
From dawn's golden glow to the stars of the night,
With forms holding steady in their new shell so neat,
And encartes now resting—their exit complete! ✨

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch 380-intranet---visualizar-data-de-cadastros-desativados

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 ESLint

If the error stems from missing dependencies, add them to the package.json file. For unrecoverable errors (e.g., due to private dependencies), disable the tool in the CodeRabbit configuration.

public/handoffs/design_handoff_clima/_reference/variations.jsx

Parsing error: "parserOptions.project" has been provided for @typescript-eslint/parser.
The file was not found in any of the provided project(s): public/handoffs/design_handoff_clima/_reference/variations.jsx

public/handoffs/design_handoff_clima/_reference/weather-core.js

Parsing error: "parserOptions.project" has been provided for @typescript-eslint/parser.
The file was not found in any of the provided project(s): public/handoffs/design_handoff_clima/_reference/weather-core.js

public/handoffs/design_handoff_clima/globals-additions.css

Parsing error: "parserOptions.project" has been provided for @typescript-eslint/parser.
The file was not found in any of the provided project(s): public/handoffs/design_handoff_clima/globals-additions.css

  • 2 others

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@GRHInvDev
GRHInvDev merged commit e3f678f into mainJun 8, 2026
6 of 9 checks passed
Sign up for freeto 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.

2 participants

@GRHInvDev@rbxyz
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

feat: shell de subpáginas de forms, redesign do weather widget e limp… - #383

Merged
GRHInvDev merged 1 commit into
mainfrom
380-intranet---visualizar-data-de-cadastros-desativados
Jun 8, 2026
Merged

feat: shell de subpáginas de forms, redesign do weather widget e limp…#383
GRHInvDev merged 1 commit into
mainfrom
380-intranet---visualizar-data-de-cadastros-desativados

Conversation

@GRHInvDev

@GRHInvDevGRHInvDev commented Jun 8, 2026

Copy link
Copy Markdown
Owner

…eza de handoffs

  • Novo forms-sub-page-shell para padronizar subpáginas de formulários
  • Redesign do weather widget (Open-Meteo: atual + horário + diário + UV)
  • Ajustes em quick-access, rotas e globals.css
  • Remove public/design_handoff_solicitacoes; adiciona public/handoffs
  • Bump de versão para 1.36.0 (MMP)

Summary by CodeRabbit

  • New Features

    • Weather widget redesigned with dynamic sky visuals, improved condition mapping, and better weather data presentation.
  • Chores

    • Version bumped to 1.36.0.
    • Flyers module disabled; all access now redirects to dashboard.
    • Removed flyers from main navigation and quick-access menu.
  • Documentation

    • Added comprehensive weather widget redesign handoff documentation.
  • Refactor

    • Forms pages unified with consistent layout components.
    • Weather widget animations redesigned with new visual effects.

…eza de handoffs
- Novo forms-sub-page-shell para padronizar subpáginas de formulários
- Redesign do weather widget (Open-Meteo: atual + horário + diário + UV)
- Ajustes em quick-access, rotas e globals.css
- Remove public/design_handoff_solicitacoes; adiciona public/handoffs
- Bump de versão para 1.36.0 (MMP)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@GRHInvDev
GRHInvDev requested a review from rbxyzJune 8, 2026 20:31
@vercel

vercelBot commented Jun 8, 2026

Copy link
Copy Markdown

Deployment failed with the following error:

You don't have permission to create a Preview Deployment for this Vercel project: elo.

View Documentation: https://vercel.com/docs/accounts/team-members-and-roles

@GRHInvDevGRHInvDev self-assigned this Jun 8, 2026
@coderabbitai

coderabbitaiBot commented Jun 8, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 7a113f50-96db-43f4-9370-c0e6d3285dfc

📥 Commits

Reviewing files that changed from the base of the PR and between 0b9e84b and 4774d55.

📒 Files selected for processing (29)
  • package.json
  • public/handoffs/design_handoff_clima/README.md
  • public/handoffs/design_handoff_clima/_reference/Clima Redesign.html
  • public/handoffs/design_handoff_clima/_reference/variations.jsx
  • public/handoffs/design_handoff_clima/_reference/weather-core.js
  • public/handoffs/design_handoff_clima/globals-additions.css
  • public/handoffs/design_handoff_clima/weather-widget.tsx
  • public/handoffs/design_handoff_solicitacoes/README.md
  • public/handoffs/design_handoff_solicitacoes/Solicitacoes.html
  • public/handoffs/design_handoff_solicitacoes/classic.jsx
  • public/handoffs/design_handoff_solicitacoes/client.jsx
  • public/handoffs/design_handoff_solicitacoes/data.js
  • public/handoffs/design_handoff_solicitacoes/icons.jsx
  • public/handoffs/design_handoff_solicitacoes/shell.jsx
  • public/handoffs/design_handoff_solicitacoes/tech.jsx
  • src/app/(authenticated)/flyers/page.tsx
  • src/app/(authenticated)/forms/[id]/edit/page.tsx
  • src/app/(authenticated)/forms/[id]/page.tsx
  • src/app/(authenticated)/forms/[id]/respond/page.tsx
  • src/app/(authenticated)/forms/[id]/responses/[responseId]/page.tsx
  • src/app/(authenticated)/forms/[id]/responses/page.tsx
  • src/app/(authenticated)/forms/my-responses/page.tsx
  • src/app/(authenticated)/forms/new/page.tsx
  • src/components/dashboard/videos-carousel.tsx
  • src/components/dashboard/weather-widget.tsx
  • src/components/forms/v2/forms-sub-page-shell.tsx
  • src/components/ui/quick-access.tsx
  • src/const/routes.ts
  • src/styles/globals.css

📝 Walkthrough

Walkthrough

This PR introduces a substantial redesign of the weather widget with WMO condition mapping and day/night color palettes, adds a new FormsSubPageShell component for form page consistency, disables the flyers/encartes module, and replaces the Box banner with a YouTube embed. The weather widget now features animated SVG icons, atmosphere effects, and expanded Open-Meteo data integration.

Changes

Weather Widget Redesign

Layer / File(s)Summary
Handoff documentation and design specifications
public/handoffs/design_handoff_clima/README.md
README documents the Clima Redesign covering goals, Open-Meteo API contract (current/hourly/daily), WMO condition mapping, responsive layouts, design tokens, interaction behavior, and verification checklist.
Reference weather-core.js utilities
public/handoffs/design_handoff_clima/_reference/weather-core.js
Shared library exposing WMO code mapping, day/night color palettes, SVG icon generation, time formatting, UV classification, sun position calculation, and mock data generation on window.WeatherCore.
Reference card variations (sky/glass/editorial)
public/handoffs/design_handoff_clima/_reference/variations.jsx
Three React card components (Céu, Vidro, Editorial) with shared atmosphere background, icon rendering, hourly strip, UV bar, sun arc, and responsive desktop/mobile layouts exposed on window.
Reference HTML demo page
public/handoffs/design_handoff_clima/_reference/Clima Redesign.html
Interactive demo with inline styles and Babel-compiled React app demonstrating all three card variants with switchable weather conditions and day/night modes.
Reference CSS animation definitions
public/handoffs/design_handoff_clima/globals-additions.css
Global stylesheet defining atmosphere animations (glow, stars, rain, snow, fog) with prefers-reduced-motion support.
Handoff weather-widget.tsx
public/handoffs/design_handoff_clima/weather-widget.tsx
Production-ready weather widget with WMO mapping, color palettes, SVG icons, animated atmosphere, Open-Meteo integration, UV bar, and sunrise/sunset arc.
Dashboard weather-widget redesign
src/components/dashboard/weather-widget.tsx
Refactored main dashboard widget with expanded Open-Meteo fetching (current/hourly/daily/UV), WMO condition mapping, day/night palettes, animated atmosphere, hourly strip selection, and responsive desktop/mobile layouts.
Global CSS animations and version
src/styles/globals.css, package.json
Replaced old weather animation keyframes with new wx-* system, added chat-assistant-dot animation, and bumped version to 1.36.0.

Forms UI Component and Page Integration

Layer / File(s)Summary
FormsSubPageShell and FormsPanel components
src/components/forms/v2/forms-sub-page-shell.tsx
New layout components with optional back link, title, description, and actions; toggles between v2 and classic layout modes via useLayoutPreference hook.
Form pages refactored to use FormsSubPageShell
src/app/(authenticated)/forms/[id]/edit/page.tsx, src/app/(authenticated)/forms/[id]/page.tsx, src/app/(authenticated)/forms/[id]/respond/page.tsx, src/app/(authenticated)/forms/[id]/responses/[responseId]/page.tsx, src/app/(authenticated)/forms/[id]/responses/page.tsx, src/app/(authenticated)/forms/my-responses/page.tsx, src/app/(authenticated)/forms/new/page.tsx
Six form-related pages replaced inline header/back-button markup with FormsSubPageShell wrapper, removing manual Link/Button/ChevronLeft imports and consolidating layout logic.

Flyers Module Deactivation and Navigation Cleanup

Layer / File(s)Summary
FlyersPage deactivation and redirect
src/app/(authenticated)/flyers/page.tsx
FlyersPage converted from async to sync and replaced with unconditional redirect to /dashboard; metadata description updated to indicate module is deactivated.
Navigation and quick-access cleanup
src/const/routes.ts, src/components/ui/quick-access.tsx
Removed "Encartes" route from TOTEM and non-TOTEM navigation; removed quick-access item; cleaned up unused icon imports.

Videos Carousel Update

Layer / File(s)Summary
Box banner replaced with YouTube iframe
src/components/dashboard/videos-carousel.tsx
Desktop and mobile carousel Box slides now render static YouTube iframe instead of Link-based banner; removed Link and OptimizedImage imports.

Sequence Diagrams

sequenceDiagram
participant User
participant WeatherWidget as Dashboard<br/>WeatherWidget
participant OpenMeteo as Open-Meteo<br/>API
participant Geo as Geolocation<br/>API
User->>WeatherWidget: Load dashboard
WeatherWidget->>Geo: Request location (timeout 3s)
Geo-->>WeatherWidget: Coordinates or null
WeatherWidget->>OpenMeteo: GET /forecast?lat/lon&current&hourly&daily&uv_index
OpenMeteo-->>WeatherWidget: {current, hourly, daily, uv_index}
WeatherWidget->>WeatherWidget: Parse closest hourly slot to now
WeatherWidget->>WeatherWidget: Map WMO condition code
WeatherWidget->>WeatherWidget: Select day/night palette
WeatherWidget-->>User: Render icon + atmosphere + UV + arc
Loading
sequenceDiagram
participant Developer
participant FormPage as Form Page<br/>(e.g., edit)
participant FormsSubPageShell
participant Content as Child<br/>Component
Developer->>FormPage: Render form page
FormPage->>FormsSubPageShell: Pass backHref, title, description
FormsSubPageShell->>FormsSubPageShell: useLayoutPreference() → v2 or classic
FormsSubPageShell->>Content: Render children inside appropriate shell
Content-->>FormsSubPageShell: Rendered form content
FormsSubPageShell-->>FormPage: Complete layout with back link + title + children
Loading

🎯 4 (Complex) | ⏱️ ~60 minutes

Possibly related PRs

  • GRHInvDev/elo#300: Previous weather widget and CSS animation updates to the same files.
  • GRHInvDev/elo#367: Related changes to dashboard weather widget implementation and enterprise/location logic.
  • GRHInvDev/elo#322: Related changes to form response page layout refactoring.

Poem

🐰 The sky now dances with colors so bright,
From dawn's golden glow to the stars of the night,
With forms holding steady in their new shell so neat,
And encartes now resting—their exit complete! ✨

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch 380-intranet---visualizar-data-de-cadastros-desativados

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 ESLint

If the error stems from missing dependencies, add them to the package.json file. For unrecoverable errors (e.g., due to private dependencies), disable the tool in the CodeRabbit configuration.

public/handoffs/design_handoff_clima/_reference/variations.jsx

Parsing error: "parserOptions.project" has been provided for @typescript-eslint/parser.
The file was not found in any of the provided project(s): public/handoffs/design_handoff_clima/_reference/variations.jsx

public/handoffs/design_handoff_clima/_reference/weather-core.js

Parsing error: "parserOptions.project" has been provided for @typescript-eslint/parser.
The file was not found in any of the provided project(s): public/handoffs/design_handoff_clima/_reference/weather-core.js

public/handoffs/design_handoff_clima/globals-additions.css

Parsing error: "parserOptions.project" has been provided for @typescript-eslint/parser.
The file was not found in any of the provided project(s): public/handoffs/design_handoff_clima/globals-additions.css

  • 2 others

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@GRHInvDev
GRHInvDev merged commit e3f678f into mainJun 8, 2026
6 of 9 checks passed
Sign up for freeto 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.

2 participants

@GRHInvDev@rbxyz
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

feat: shell de subpáginas de forms, redesign do weather widget e limp… - #383

Merged
GRHInvDev merged 1 commit into
mainfrom
380-intranet---visualizar-data-de-cadastros-desativados
Jun 8, 2026
Merged

feat: shell de subpáginas de forms, redesign do weather widget e limp…#383
GRHInvDev merged 1 commit into
mainfrom
380-intranet---visualizar-data-de-cadastros-desativados

Conversation

@GRHInvDev

@GRHInvDevGRHInvDev commented Jun 8, 2026

Copy link
Copy Markdown
Owner

…eza de handoffs

  • Novo forms-sub-page-shell para padronizar subpáginas de formulários
  • Redesign do weather widget (Open-Meteo: atual + horário + diário + UV)
  • Ajustes em quick-access, rotas e globals.css
  • Remove public/design_handoff_solicitacoes; adiciona public/handoffs
  • Bump de versão para 1.36.0 (MMP)

Summary by CodeRabbit

  • New Features

    • Weather widget redesigned with dynamic sky visuals, improved condition mapping, and better weather data presentation.
  • Chores

    • Version bumped to 1.36.0.
    • Flyers module disabled; all access now redirects to dashboard.
    • Removed flyers from main navigation and quick-access menu.
  • Documentation

    • Added comprehensive weather widget redesign handoff documentation.
  • Refactor

    • Forms pages unified with consistent layout components.
    • Weather widget animations redesigned with new visual effects.

…eza de handoffs
- Novo forms-sub-page-shell para padronizar subpáginas de formulários
- Redesign do weather widget (Open-Meteo: atual + horário + diário + UV)
- Ajustes em quick-access, rotas e globals.css
- Remove public/design_handoff_solicitacoes; adiciona public/handoffs
- Bump de versão para 1.36.0 (MMP)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@GRHInvDev
GRHInvDev requested a review from rbxyzJune 8, 2026 20:31
@vercel

vercelBot commented Jun 8, 2026

Copy link
Copy Markdown

Deployment failed with the following error:

You don't have permission to create a Preview Deployment for this Vercel project: elo.

View Documentation: https://vercel.com/docs/accounts/team-members-and-roles

@GRHInvDevGRHInvDev self-assigned this Jun 8, 2026
@coderabbitai

coderabbitaiBot commented Jun 8, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 7a113f50-96db-43f4-9370-c0e6d3285dfc

📥 Commits

Reviewing files that changed from the base of the PR and between 0b9e84b and 4774d55.

📒 Files selected for processing (29)
  • package.json
  • public/handoffs/design_handoff_clima/README.md
  • public/handoffs/design_handoff_clima/_reference/Clima Redesign.html
  • public/handoffs/design_handoff_clima/_reference/variations.jsx
  • public/handoffs/design_handoff_clima/_reference/weather-core.js
  • public/handoffs/design_handoff_clima/globals-additions.css
  • public/handoffs/design_handoff_clima/weather-widget.tsx
  • public/handoffs/design_handoff_solicitacoes/README.md
  • public/handoffs/design_handoff_solicitacoes/Solicitacoes.html
  • public/handoffs/design_handoff_solicitacoes/classic.jsx
  • public/handoffs/design_handoff_solicitacoes/client.jsx
  • public/handoffs/design_handoff_solicitacoes/data.js
  • public/handoffs/design_handoff_solicitacoes/icons.jsx
  • public/handoffs/design_handoff_solicitacoes/shell.jsx
  • public/handoffs/design_handoff_solicitacoes/tech.jsx
  • src/app/(authenticated)/flyers/page.tsx
  • src/app/(authenticated)/forms/[id]/edit/page.tsx
  • src/app/(authenticated)/forms/[id]/page.tsx
  • src/app/(authenticated)/forms/[id]/respond/page.tsx
  • src/app/(authenticated)/forms/[id]/responses/[responseId]/page.tsx
  • src/app/(authenticated)/forms/[id]/responses/page.tsx
  • src/app/(authenticated)/forms/my-responses/page.tsx
  • src/app/(authenticated)/forms/new/page.tsx
  • src/components/dashboard/videos-carousel.tsx
  • src/components/dashboard/weather-widget.tsx
  • src/components/forms/v2/forms-sub-page-shell.tsx
  • src/components/ui/quick-access.tsx
  • src/const/routes.ts
  • src/styles/globals.css

📝 Walkthrough

Walkthrough

This PR introduces a substantial redesign of the weather widget with WMO condition mapping and day/night color palettes, adds a new FormsSubPageShell component for form page consistency, disables the flyers/encartes module, and replaces the Box banner with a YouTube embed. The weather widget now features animated SVG icons, atmosphere effects, and expanded Open-Meteo data integration.

Changes

Weather Widget Redesign

Layer / File(s)Summary
Handoff documentation and design specifications
public/handoffs/design_handoff_clima/README.md
README documents the Clima Redesign covering goals, Open-Meteo API contract (current/hourly/daily), WMO condition mapping, responsive layouts, design tokens, interaction behavior, and verification checklist.
Reference weather-core.js utilities
public/handoffs/design_handoff_clima/_reference/weather-core.js
Shared library exposing WMO code mapping, day/night color palettes, SVG icon generation, time formatting, UV classification, sun position calculation, and mock data generation on window.WeatherCore.
Reference card variations (sky/glass/editorial)
public/handoffs/design_handoff_clima/_reference/variations.jsx
Three React card components (Céu, Vidro, Editorial) with shared atmosphere background, icon rendering, hourly strip, UV bar, sun arc, and responsive desktop/mobile layouts exposed on window.
Reference HTML demo page
public/handoffs/design_handoff_clima/_reference/Clima Redesign.html
Interactive demo with inline styles and Babel-compiled React app demonstrating all three card variants with switchable weather conditions and day/night modes.
Reference CSS animation definitions
public/handoffs/design_handoff_clima/globals-additions.css
Global stylesheet defining atmosphere animations (glow, stars, rain, snow, fog) with prefers-reduced-motion support.
Handoff weather-widget.tsx
public/handoffs/design_handoff_clima/weather-widget.tsx
Production-ready weather widget with WMO mapping, color palettes, SVG icons, animated atmosphere, Open-Meteo integration, UV bar, and sunrise/sunset arc.
Dashboard weather-widget redesign
src/components/dashboard/weather-widget.tsx
Refactored main dashboard widget with expanded Open-Meteo fetching (current/hourly/daily/UV), WMO condition mapping, day/night palettes, animated atmosphere, hourly strip selection, and responsive desktop/mobile layouts.
Global CSS animations and version
src/styles/globals.css, package.json
Replaced old weather animation keyframes with new wx-* system, added chat-assistant-dot animation, and bumped version to 1.36.0.

Forms UI Component and Page Integration

Layer / File(s)Summary
FormsSubPageShell and FormsPanel components
src/components/forms/v2/forms-sub-page-shell.tsx
New layout components with optional back link, title, description, and actions; toggles between v2 and classic layout modes via useLayoutPreference hook.
Form pages refactored to use FormsSubPageShell
src/app/(authenticated)/forms/[id]/edit/page.tsx, src/app/(authenticated)/forms/[id]/page.tsx, src/app/(authenticated)/forms/[id]/respond/page.tsx, src/app/(authenticated)/forms/[id]/responses/[responseId]/page.tsx, src/app/(authenticated)/forms/[id]/responses/page.tsx, src/app/(authenticated)/forms/my-responses/page.tsx, src/app/(authenticated)/forms/new/page.tsx
Six form-related pages replaced inline header/back-button markup with FormsSubPageShell wrapper, removing manual Link/Button/ChevronLeft imports and consolidating layout logic.

Flyers Module Deactivation and Navigation Cleanup

Layer / File(s)Summary
FlyersPage deactivation and redirect
src/app/(authenticated)/flyers/page.tsx
FlyersPage converted from async to sync and replaced with unconditional redirect to /dashboard; metadata description updated to indicate module is deactivated.
Navigation and quick-access cleanup
src/const/routes.ts, src/components/ui/quick-access.tsx
Removed "Encartes" route from TOTEM and non-TOTEM navigation; removed quick-access item; cleaned up unused icon imports.

Videos Carousel Update

Layer / File(s)Summary
Box banner replaced with YouTube iframe
src/components/dashboard/videos-carousel.tsx
Desktop and mobile carousel Box slides now render static YouTube iframe instead of Link-based banner; removed Link and OptimizedImage imports.

Sequence Diagrams

sequenceDiagram
participant User
participant WeatherWidget as Dashboard<br/>WeatherWidget
participant OpenMeteo as Open-Meteo<br/>API
participant Geo as Geolocation<br/>API
User->>WeatherWidget: Load dashboard
WeatherWidget->>Geo: Request location (timeout 3s)
Geo-->>WeatherWidget: Coordinates or null
WeatherWidget->>OpenMeteo: GET /forecast?lat/lon&current&hourly&daily&uv_index
OpenMeteo-->>WeatherWidget: {current, hourly, daily, uv_index}
WeatherWidget->>WeatherWidget: Parse closest hourly slot to now
WeatherWidget->>WeatherWidget: Map WMO condition code
WeatherWidget->>WeatherWidget: Select day/night palette
WeatherWidget-->>User: Render icon + atmosphere + UV + arc
Loading
sequenceDiagram
participant Developer
participant FormPage as Form Page<br/>(e.g., edit)
participant FormsSubPageShell
participant Content as Child<br/>Component
Developer->>FormPage: Render form page
FormPage->>FormsSubPageShell: Pass backHref, title, description
FormsSubPageShell->>FormsSubPageShell: useLayoutPreference() → v2 or classic
FormsSubPageShell->>Content: Render children inside appropriate shell
Content-->>FormsSubPageShell: Rendered form content
FormsSubPageShell-->>FormPage: Complete layout with back link + title + children
Loading

🎯 4 (Complex) | ⏱️ ~60 minutes

Possibly related PRs

  • GRHInvDev/elo#300: Previous weather widget and CSS animation updates to the same files.
  • GRHInvDev/elo#367: Related changes to dashboard weather widget implementation and enterprise/location logic.
  • GRHInvDev/elo#322: Related changes to form response page layout refactoring.

Poem

🐰 The sky now dances with colors so bright,
From dawn's golden glow to the stars of the night,
With forms holding steady in their new shell so neat,
And encartes now resting—their exit complete! ✨

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch 380-intranet---visualizar-data-de-cadastros-desativados

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 ESLint

If the error stems from missing dependencies, add them to the package.json file. For unrecoverable errors (e.g., due to private dependencies), disable the tool in the CodeRabbit configuration.

public/handoffs/design_handoff_clima/_reference/variations.jsx

Parsing error: "parserOptions.project" has been provided for @typescript-eslint/parser.
The file was not found in any of the provided project(s): public/handoffs/design_handoff_clima/_reference/variations.jsx

public/handoffs/design_handoff_clima/_reference/weather-core.js

Parsing error: "parserOptions.project" has been provided for @typescript-eslint/parser.
The file was not found in any of the provided project(s): public/handoffs/design_handoff_clima/_reference/weather-core.js

public/handoffs/design_handoff_clima/globals-additions.css

Parsing error: "parserOptions.project" has been provided for @typescript-eslint/parser.
The file was not found in any of the provided project(s): public/handoffs/design_handoff_clima/globals-additions.css

  • 2 others

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@GRHInvDev
GRHInvDev merged commit e3f678f into mainJun 8, 2026
6 of 9 checks passed
Sign up for freeto 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.

2 participants

@GRHInvDev@rbxyz
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

feat: shell de subpáginas de forms, redesign do weather widget e limp… - #383

Merged
GRHInvDev merged 1 commit into
mainfrom
380-intranet---visualizar-data-de-cadastros-desativados
Jun 8, 2026
Merged

feat: shell de subpáginas de forms, redesign do weather widget e limp…#383
GRHInvDev merged 1 commit into
mainfrom
380-intranet---visualizar-data-de-cadastros-desativados

Conversation

@GRHInvDev

@GRHInvDevGRHInvDev commented Jun 8, 2026

Copy link
Copy Markdown
Owner

…eza de handoffs

  • Novo forms-sub-page-shell para padronizar subpáginas de formulários
  • Redesign do weather widget (Open-Meteo: atual + horário + diário + UV)
  • Ajustes em quick-access, rotas e globals.css
  • Remove public/design_handoff_solicitacoes; adiciona public/handoffs
  • Bump de versão para 1.36.0 (MMP)

Summary by CodeRabbit

  • New Features

    • Weather widget redesigned with dynamic sky visuals, improved condition mapping, and better weather data presentation.
  • Chores

    • Version bumped to 1.36.0.
    • Flyers module disabled; all access now redirects to dashboard.
    • Removed flyers from main navigation and quick-access menu.
  • Documentation

    • Added comprehensive weather widget redesign handoff documentation.
  • Refactor

    • Forms pages unified with consistent layout components.
    • Weather widget animations redesigned with new visual effects.

…eza de handoffs
- Novo forms-sub-page-shell para padronizar subpáginas de formulários
- Redesign do weather widget (Open-Meteo: atual + horário + diário + UV)
- Ajustes em quick-access, rotas e globals.css
- Remove public/design_handoff_solicitacoes; adiciona public/handoffs
- Bump de versão para 1.36.0 (MMP)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@GRHInvDev
GRHInvDev requested a review from rbxyzJune 8, 2026 20:31
@vercel

vercelBot commented Jun 8, 2026

Copy link
Copy Markdown

Deployment failed with the following error:

You don't have permission to create a Preview Deployment for this Vercel project: elo.

View Documentation: https://vercel.com/docs/accounts/team-members-and-roles

@GRHInvDevGRHInvDev self-assigned this Jun 8, 2026
@coderabbitai

coderabbitaiBot commented Jun 8, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 7a113f50-96db-43f4-9370-c0e6d3285dfc

📥 Commits

Reviewing files that changed from the base of the PR and between 0b9e84b and 4774d55.

📒 Files selected for processing (29)
  • package.json
  • public/handoffs/design_handoff_clima/README.md
  • public/handoffs/design_handoff_clima/_reference/Clima Redesign.html
  • public/handoffs/design_handoff_clima/_reference/variations.jsx
  • public/handoffs/design_handoff_clima/_reference/weather-core.js
  • public/handoffs/design_handoff_clima/globals-additions.css
  • public/handoffs/design_handoff_clima/weather-widget.tsx
  • public/handoffs/design_handoff_solicitacoes/README.md
  • public/handoffs/design_handoff_solicitacoes/Solicitacoes.html
  • public/handoffs/design_handoff_solicitacoes/classic.jsx
  • public/handoffs/design_handoff_solicitacoes/client.jsx
  • public/handoffs/design_handoff_solicitacoes/data.js
  • public/handoffs/design_handoff_solicitacoes/icons.jsx
  • public/handoffs/design_handoff_solicitacoes/shell.jsx
  • public/handoffs/design_handoff_solicitacoes/tech.jsx
  • src/app/(authenticated)/flyers/page.tsx
  • src/app/(authenticated)/forms/[id]/edit/page.tsx
  • src/app/(authenticated)/forms/[id]/page.tsx
  • src/app/(authenticated)/forms/[id]/respond/page.tsx
  • src/app/(authenticated)/forms/[id]/responses/[responseId]/page.tsx
  • src/app/(authenticated)/forms/[id]/responses/page.tsx
  • src/app/(authenticated)/forms/my-responses/page.tsx
  • src/app/(authenticated)/forms/new/page.tsx
  • src/components/dashboard/videos-carousel.tsx
  • src/components/dashboard/weather-widget.tsx
  • src/components/forms/v2/forms-sub-page-shell.tsx
  • src/components/ui/quick-access.tsx
  • src/const/routes.ts
  • src/styles/globals.css

📝 Walkthrough

Walkthrough

This PR introduces a substantial redesign of the weather widget with WMO condition mapping and day/night color palettes, adds a new FormsSubPageShell component for form page consistency, disables the flyers/encartes module, and replaces the Box banner with a YouTube embed. The weather widget now features animated SVG icons, atmosphere effects, and expanded Open-Meteo data integration.

Changes

Weather Widget Redesign

Layer / File(s)Summary
Handoff documentation and design specifications
public/handoffs/design_handoff_clima/README.md
README documents the Clima Redesign covering goals, Open-Meteo API contract (current/hourly/daily), WMO condition mapping, responsive layouts, design tokens, interaction behavior, and verification checklist.
Reference weather-core.js utilities
public/handoffs/design_handoff_clima/_reference/weather-core.js
Shared library exposing WMO code mapping, day/night color palettes, SVG icon generation, time formatting, UV classification, sun position calculation, and mock data generation on window.WeatherCore.
Reference card variations (sky/glass/editorial)
public/handoffs/design_handoff_clima/_reference/variations.jsx
Three React card components (Céu, Vidro, Editorial) with shared atmosphere background, icon rendering, hourly strip, UV bar, sun arc, and responsive desktop/mobile layouts exposed on window.
Reference HTML demo page
public/handoffs/design_handoff_clima/_reference/Clima Redesign.html
Interactive demo with inline styles and Babel-compiled React app demonstrating all three card variants with switchable weather conditions and day/night modes.
Reference CSS animation definitions
public/handoffs/design_handoff_clima/globals-additions.css
Global stylesheet defining atmosphere animations (glow, stars, rain, snow, fog) with prefers-reduced-motion support.
Handoff weather-widget.tsx
public/handoffs/design_handoff_clima/weather-widget.tsx
Production-ready weather widget with WMO mapping, color palettes, SVG icons, animated atmosphere, Open-Meteo integration, UV bar, and sunrise/sunset arc.
Dashboard weather-widget redesign
src/components/dashboard/weather-widget.tsx
Refactored main dashboard widget with expanded Open-Meteo fetching (current/hourly/daily/UV), WMO condition mapping, day/night palettes, animated atmosphere, hourly strip selection, and responsive desktop/mobile layouts.
Global CSS animations and version
src/styles/globals.css, package.json
Replaced old weather animation keyframes with new wx-* system, added chat-assistant-dot animation, and bumped version to 1.36.0.

Forms UI Component and Page Integration

Layer / File(s)Summary
FormsSubPageShell and FormsPanel components
src/components/forms/v2/forms-sub-page-shell.tsx
New layout components with optional back link, title, description, and actions; toggles between v2 and classic layout modes via useLayoutPreference hook.
Form pages refactored to use FormsSubPageShell
src/app/(authenticated)/forms/[id]/edit/page.tsx, src/app/(authenticated)/forms/[id]/page.tsx, src/app/(authenticated)/forms/[id]/respond/page.tsx, src/app/(authenticated)/forms/[id]/responses/[responseId]/page.tsx, src/app/(authenticated)/forms/[id]/responses/page.tsx, src/app/(authenticated)/forms/my-responses/page.tsx, src/app/(authenticated)/forms/new/page.tsx
Six form-related pages replaced inline header/back-button markup with FormsSubPageShell wrapper, removing manual Link/Button/ChevronLeft imports and consolidating layout logic.

Flyers Module Deactivation and Navigation Cleanup

Layer / File(s)Summary
FlyersPage deactivation and redirect
src/app/(authenticated)/flyers/page.tsx
FlyersPage converted from async to sync and replaced with unconditional redirect to /dashboard; metadata description updated to indicate module is deactivated.
Navigation and quick-access cleanup
src/const/routes.ts, src/components/ui/quick-access.tsx
Removed "Encartes" route from TOTEM and non-TOTEM navigation; removed quick-access item; cleaned up unused icon imports.

Videos Carousel Update

Layer / File(s)Summary
Box banner replaced with YouTube iframe
src/components/dashboard/videos-carousel.tsx
Desktop and mobile carousel Box slides now render static YouTube iframe instead of Link-based banner; removed Link and OptimizedImage imports.

Sequence Diagrams

sequenceDiagram
participant User
participant WeatherWidget as Dashboard<br/>WeatherWidget
participant OpenMeteo as Open-Meteo<br/>API
participant Geo as Geolocation<br/>API
User->>WeatherWidget: Load dashboard
WeatherWidget->>Geo: Request location (timeout 3s)
Geo-->>WeatherWidget: Coordinates or null
WeatherWidget->>OpenMeteo: GET /forecast?lat/lon&current&hourly&daily&uv_index
OpenMeteo-->>WeatherWidget: {current, hourly, daily, uv_index}
WeatherWidget->>WeatherWidget: Parse closest hourly slot to now
WeatherWidget->>WeatherWidget: Map WMO condition code
WeatherWidget->>WeatherWidget: Select day/night palette
WeatherWidget-->>User: Render icon + atmosphere + UV + arc
Loading
sequenceDiagram
participant Developer
participant FormPage as Form Page<br/>(e.g., edit)
participant FormsSubPageShell
participant Content as Child<br/>Component
Developer->>FormPage: Render form page
FormPage->>FormsSubPageShell: Pass backHref, title, description
FormsSubPageShell->>FormsSubPageShell: useLayoutPreference() → v2 or classic
FormsSubPageShell->>Content: Render children inside appropriate shell
Content-->>FormsSubPageShell: Rendered form content
FormsSubPageShell-->>FormPage: Complete layout with back link + title + children
Loading

🎯 4 (Complex) | ⏱️ ~60 minutes

Possibly related PRs

  • GRHInvDev/elo#300: Previous weather widget and CSS animation updates to the same files.
  • GRHInvDev/elo#367: Related changes to dashboard weather widget implementation and enterprise/location logic.
  • GRHInvDev/elo#322: Related changes to form response page layout refactoring.

Poem

🐰 The sky now dances with colors so bright,
From dawn's golden glow to the stars of the night,
With forms holding steady in their new shell so neat,
And encartes now resting—their exit complete! ✨

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch 380-intranet---visualizar-data-de-cadastros-desativados

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 ESLint

If the error stems from missing dependencies, add them to the package.json file. For unrecoverable errors (e.g., due to private dependencies), disable the tool in the CodeRabbit configuration.

public/handoffs/design_handoff_clima/_reference/variations.jsx

Parsing error: "parserOptions.project" has been provided for @typescript-eslint/parser.
The file was not found in any of the provided project(s): public/handoffs/design_handoff_clima/_reference/variations.jsx

public/handoffs/design_handoff_clima/_reference/weather-core.js

Parsing error: "parserOptions.project" has been provided for @typescript-eslint/parser.
The file was not found in any of the provided project(s): public/handoffs/design_handoff_clima/_reference/weather-core.js

public/handoffs/design_handoff_clima/globals-additions.css

Parsing error: "parserOptions.project" has been provided for @typescript-eslint/parser.
The file was not found in any of the provided project(s): public/handoffs/design_handoff_clima/globals-additions.css

  • 2 others

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@GRHInvDev
GRHInvDev merged commit e3f678f into mainJun 8, 2026
6 of 9 checks passed
Sign up for freeto 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.

2 participants

@GRHInvDev@rbxyz
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

feat: shell de subpáginas de forms, redesign do weather widget e limp… - #383

Merged
GRHInvDev merged 1 commit into
mainfrom
380-intranet---visualizar-data-de-cadastros-desativados
Jun 8, 2026
Merged

feat: shell de subpáginas de forms, redesign do weather widget e limp…#383
GRHInvDev merged 1 commit into
mainfrom
380-intranet---visualizar-data-de-cadastros-desativados

Conversation

@GRHInvDev

@GRHInvDevGRHInvDev commented Jun 8, 2026

Copy link
Copy Markdown
Owner

…eza de handoffs

  • Novo forms-sub-page-shell para padronizar subpáginas de formulários
  • Redesign do weather widget (Open-Meteo: atual + horário + diário + UV)
  • Ajustes em quick-access, rotas e globals.css
  • Remove public/design_handoff_solicitacoes; adiciona public/handoffs
  • Bump de versão para 1.36.0 (MMP)

Summary by CodeRabbit

  • New Features

    • Weather widget redesigned with dynamic sky visuals, improved condition mapping, and better weather data presentation.
  • Chores

    • Version bumped to 1.36.0.
    • Flyers module disabled; all access now redirects to dashboard.
    • Removed flyers from main navigation and quick-access menu.
  • Documentation

    • Added comprehensive weather widget redesign handoff documentation.
  • Refactor

    • Forms pages unified with consistent layout components.
    • Weather widget animations redesigned with new visual effects.

…eza de handoffs
- Novo forms-sub-page-shell para padronizar subpáginas de formulários
- Redesign do weather widget (Open-Meteo: atual + horário + diário + UV)
- Ajustes em quick-access, rotas e globals.css
- Remove public/design_handoff_solicitacoes; adiciona public/handoffs
- Bump de versão para 1.36.0 (MMP)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@GRHInvDev
GRHInvDev requested a review from rbxyzJune 8, 2026 20:31
@vercel

vercelBot commented Jun 8, 2026

Copy link
Copy Markdown

Deployment failed with the following error:

You don't have permission to create a Preview Deployment for this Vercel project: elo.

View Documentation: https://vercel.com/docs/accounts/team-members-and-roles

@GRHInvDevGRHInvDev self-assigned this Jun 8, 2026
@coderabbitai

coderabbitaiBot commented Jun 8, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 7a113f50-96db-43f4-9370-c0e6d3285dfc

📥 Commits

Reviewing files that changed from the base of the PR and between 0b9e84b and 4774d55.

📒 Files selected for processing (29)
  • package.json
  • public/handoffs/design_handoff_clima/README.md
  • public/handoffs/design_handoff_clima/_reference/Clima Redesign.html
  • public/handoffs/design_handoff_clima/_reference/variations.jsx
  • public/handoffs/design_handoff_clima/_reference/weather-core.js
  • public/handoffs/design_handoff_clima/globals-additions.css
  • public/handoffs/design_handoff_clima/weather-widget.tsx
  • public/handoffs/design_handoff_solicitacoes/README.md
  • public/handoffs/design_handoff_solicitacoes/Solicitacoes.html
  • public/handoffs/design_handoff_solicitacoes/classic.jsx
  • public/handoffs/design_handoff_solicitacoes/client.jsx
  • public/handoffs/design_handoff_solicitacoes/data.js
  • public/handoffs/design_handoff_solicitacoes/icons.jsx
  • public/handoffs/design_handoff_solicitacoes/shell.jsx
  • public/handoffs/design_handoff_solicitacoes/tech.jsx
  • src/app/(authenticated)/flyers/page.tsx
  • src/app/(authenticated)/forms/[id]/edit/page.tsx
  • src/app/(authenticated)/forms/[id]/page.tsx
  • src/app/(authenticated)/forms/[id]/respond/page.tsx
  • src/app/(authenticated)/forms/[id]/responses/[responseId]/page.tsx
  • src/app/(authenticated)/forms/[id]/responses/page.tsx
  • src/app/(authenticated)/forms/my-responses/page.tsx
  • src/app/(authenticated)/forms/new/page.tsx
  • src/components/dashboard/videos-carousel.tsx
  • src/components/dashboard/weather-widget.tsx
  • src/components/forms/v2/forms-sub-page-shell.tsx
  • src/components/ui/quick-access.tsx
  • src/const/routes.ts
  • src/styles/globals.css

📝 Walkthrough

Walkthrough

This PR introduces a substantial redesign of the weather widget with WMO condition mapping and day/night color palettes, adds a new FormsSubPageShell component for form page consistency, disables the flyers/encartes module, and replaces the Box banner with a YouTube embed. The weather widget now features animated SVG icons, atmosphere effects, and expanded Open-Meteo data integration.

Changes

Weather Widget Redesign

Layer / File(s)Summary
Handoff documentation and design specifications
public/handoffs/design_handoff_clima/README.md
README documents the Clima Redesign covering goals, Open-Meteo API contract (current/hourly/daily), WMO condition mapping, responsive layouts, design tokens, interaction behavior, and verification checklist.
Reference weather-core.js utilities
public/handoffs/design_handoff_clima/_reference/weather-core.js
Shared library exposing WMO code mapping, day/night color palettes, SVG icon generation, time formatting, UV classification, sun position calculation, and mock data generation on window.WeatherCore.
Reference card variations (sky/glass/editorial)
public/handoffs/design_handoff_clima/_reference/variations.jsx
Three React card components (Céu, Vidro, Editorial) with shared atmosphere background, icon rendering, hourly strip, UV bar, sun arc, and responsive desktop/mobile layouts exposed on window.
Reference HTML demo page
public/handoffs/design_handoff_clima/_reference/Clima Redesign.html
Interactive demo with inline styles and Babel-compiled React app demonstrating all three card variants with switchable weather conditions and day/night modes.
Reference CSS animation definitions
public/handoffs/design_handoff_clima/globals-additions.css
Global stylesheet defining atmosphere animations (glow, stars, rain, snow, fog) with prefers-reduced-motion support.
Handoff weather-widget.tsx
public/handoffs/design_handoff_clima/weather-widget.tsx
Production-ready weather widget with WMO mapping, color palettes, SVG icons, animated atmosphere, Open-Meteo integration, UV bar, and sunrise/sunset arc.
Dashboard weather-widget redesign
src/components/dashboard/weather-widget.tsx
Refactored main dashboard widget with expanded Open-Meteo fetching (current/hourly/daily/UV), WMO condition mapping, day/night palettes, animated atmosphere, hourly strip selection, and responsive desktop/mobile layouts.
Global CSS animations and version
src/styles/globals.css, package.json
Replaced old weather animation keyframes with new wx-* system, added chat-assistant-dot animation, and bumped version to 1.36.0.

Forms UI Component and Page Integration

Layer / File(s)Summary
FormsSubPageShell and FormsPanel components
src/components/forms/v2/forms-sub-page-shell.tsx
New layout components with optional back link, title, description, and actions; toggles between v2 and classic layout modes via useLayoutPreference hook.
Form pages refactored to use FormsSubPageShell
src/app/(authenticated)/forms/[id]/edit/page.tsx, src/app/(authenticated)/forms/[id]/page.tsx, src/app/(authenticated)/forms/[id]/respond/page.tsx, src/app/(authenticated)/forms/[id]/responses/[responseId]/page.tsx, src/app/(authenticated)/forms/[id]/responses/page.tsx, src/app/(authenticated)/forms/my-responses/page.tsx, src/app/(authenticated)/forms/new/page.tsx
Six form-related pages replaced inline header/back-button markup with FormsSubPageShell wrapper, removing manual Link/Button/ChevronLeft imports and consolidating layout logic.

Flyers Module Deactivation and Navigation Cleanup

Layer / File(s)Summary
FlyersPage deactivation and redirect
src/app/(authenticated)/flyers/page.tsx
FlyersPage converted from async to sync and replaced with unconditional redirect to /dashboard; metadata description updated to indicate module is deactivated.
Navigation and quick-access cleanup
src/const/routes.ts, src/components/ui/quick-access.tsx
Removed "Encartes" route from TOTEM and non-TOTEM navigation; removed quick-access item; cleaned up unused icon imports.

Videos Carousel Update

Layer / File(s)Summary
Box banner replaced with YouTube iframe
src/components/dashboard/videos-carousel.tsx
Desktop and mobile carousel Box slides now render static YouTube iframe instead of Link-based banner; removed Link and OptimizedImage imports.

Sequence Diagrams

sequenceDiagram
participant User
participant WeatherWidget as Dashboard<br/>WeatherWidget
participant OpenMeteo as Open-Meteo<br/>API
participant Geo as Geolocation<br/>API
User->>WeatherWidget: Load dashboard
WeatherWidget->>Geo: Request location (timeout 3s)
Geo-->>WeatherWidget: Coordinates or null
WeatherWidget->>OpenMeteo: GET /forecast?lat/lon&current&hourly&daily&uv_index
OpenMeteo-->>WeatherWidget: {current, hourly, daily, uv_index}
WeatherWidget->>WeatherWidget: Parse closest hourly slot to now
WeatherWidget->>WeatherWidget: Map WMO condition code
WeatherWidget->>WeatherWidget: Select day/night palette
WeatherWidget-->>User: Render icon + atmosphere + UV + arc
Loading
sequenceDiagram
participant Developer
participant FormPage as Form Page<br/>(e.g., edit)
participant FormsSubPageShell
participant Content as Child<br/>Component
Developer->>FormPage: Render form page
FormPage->>FormsSubPageShell: Pass backHref, title, description
FormsSubPageShell->>FormsSubPageShell: useLayoutPreference() → v2 or classic
FormsSubPageShell->>Content: Render children inside appropriate shell
Content-->>FormsSubPageShell: Rendered form content
FormsSubPageShell-->>FormPage: Complete layout with back link + title + children
Loading

🎯 4 (Complex) | ⏱️ ~60 minutes

Possibly related PRs

  • GRHInvDev/elo#300: Previous weather widget and CSS animation updates to the same files.
  • GRHInvDev/elo#367: Related changes to dashboard weather widget implementation and enterprise/location logic.
  • GRHInvDev/elo#322: Related changes to form response page layout refactoring.

Poem

🐰 The sky now dances with colors so bright,
From dawn's golden glow to the stars of the night,
With forms holding steady in their new shell so neat,
And encartes now resting—their exit complete! ✨

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch 380-intranet---visualizar-data-de-cadastros-desativados

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 ESLint

If the error stems from missing dependencies, add them to the package.json file. For unrecoverable errors (e.g., due to private dependencies), disable the tool in the CodeRabbit configuration.

public/handoffs/design_handoff_clima/_reference/variations.jsx

Parsing error: "parserOptions.project" has been provided for @typescript-eslint/parser.
The file was not found in any of the provided project(s): public/handoffs/design_handoff_clima/_reference/variations.jsx

public/handoffs/design_handoff_clima/_reference/weather-core.js

Parsing error: "parserOptions.project" has been provided for @typescript-eslint/parser.
The file was not found in any of the provided project(s): public/handoffs/design_handoff_clima/_reference/weather-core.js

public/handoffs/design_handoff_clima/globals-additions.css

Parsing error: "parserOptions.project" has been provided for @typescript-eslint/parser.
The file was not found in any of the provided project(s): public/handoffs/design_handoff_clima/globals-additions.css

  • 2 others

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@GRHInvDev
GRHInvDev merged commit e3f678f into mainJun 8, 2026
6 of 9 checks passed
Sign up for freeto 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.

2 participants

@GRHInvDev@rbxyz