Skip to content

fixing the test errors#12

Merged
forkanimahdi merged 2 commits into
lionsgeeks:mainfrom
aymanboujjar:main
Apr 15, 2026
Merged

fixing the test errors#12
forkanimahdi merged 2 commits into
lionsgeeks:mainfrom
aymanboujjar:main

Conversation

@aymanboujjar

@aymanboujjar aymanboujjar commented Apr 15, 2026

Copy link
Copy Markdown
Member

Summary by CodeRabbit

  • Refactor

    • Improved code organization and formatting across multiple components for better maintainability.
  • Style

    • Optimized CSS class ordering and formatting for consistency throughout the application.
  • Chores

    • Removed trailing blank lines and standardized code structure across the codebase.

@coderabbitai

coderabbitai Bot commented Apr 15, 2026

Copy link
Copy Markdown

Note

Currently processing new changes in this PR. This may take a few minutes, please wait...

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 7c6805c0-11b4-4edd-b059-551cbaf4cf9d

📥 Commits

Reviewing files that changed from the base of the PR and between 8d154a8 and 6590e61.

📒 Files selected for processing (86)
  • resources/css/app.css
  • resources/js/components/Footer.jsx
  • resources/js/components/Navbar.jsx
  • resources/js/components/app-sidebar.tsx
  • resources/js/components/auth-sidebar.tsx
  • resources/js/components/user-info.tsx
  • resources/js/contexts/TranslationContext.jsx
  • resources/js/layouts/app/app-sidebar-layout.tsx
  • resources/js/layouts/auth/auth-sidebar-layout.tsx
  • resources/js/layouts/auth/auth-simple-layout.tsx
  • resources/js/lib/pickLocalized.js
  • resources/js/pages/admin/events/create.jsx
  • resources/js/pages/admin/events/edit.jsx
  • resources/js/pages/admin/events/index.jsx
  • resources/js/pages/admin/events/partials/EventForm.jsx
  • resources/js/pages/admin/events/show.jsx
  • resources/js/pages/admin/experts/create.jsx
  • resources/js/pages/admin/experts/edit.jsx
  • resources/js/pages/admin/experts/index.jsx
  • resources/js/pages/admin/experts/partials/ExpertPublicProfileDetails.jsx
  • resources/js/pages/admin/media/create.jsx
  • resources/js/pages/admin/media/edit.jsx
  • resources/js/pages/admin/media/index.jsx
  • resources/js/pages/admin/media/partials/MediaForm.jsx
  • resources/js/pages/admin/media/show.jsx
  • resources/js/pages/admin/media/sidebar.jsx
  • resources/js/pages/admin/opportunities/create.jsx
  • resources/js/pages/admin/opportunities/edit.jsx
  • resources/js/pages/admin/opportunities/index.jsx
  • resources/js/pages/admin/opportunities/partials/OpportunityForm.jsx
  • resources/js/pages/admin/opportunities/show.jsx
  • resources/js/pages/admin/tilila/editions/create.jsx
  • resources/js/pages/admin/tilila/editions/edit.jsx
  • resources/js/pages/admin/tilila/editions/index.jsx
  • resources/js/pages/admin/tilila/editions/partials/EditionForm.jsx
  • resources/js/pages/admin/tilila/participants/index.jsx
  • resources/js/pages/admin/tilila/participants/show.jsx
  • resources/js/pages/admin/tililab/analytics/index.jsx
  • resources/js/pages/admin/tililab/editions/create.jsx
  • resources/js/pages/admin/tililab/editions/edit.jsx
  • resources/js/pages/admin/tililab/editions/index.jsx
  • resources/js/pages/admin/tililab/editions/partials/EditionForm.jsx
  • resources/js/pages/admin/tililab/participants/index.jsx
  • resources/js/pages/admin/tililab/participants/show.jsx
  • resources/js/pages/contact/index.jsx
  • resources/js/pages/dashboard.tsx
  • resources/js/pages/dashboard/Partials/DashboardPageHeader.tsx
  • resources/js/pages/dashboard/Partials/DashboardRightColumn.tsx
  • resources/js/pages/dashboard/Partials/ImpactOverviewChart.tsx
  • resources/js/pages/dashboard/Partials/RecentImpactActivities.tsx
  • resources/js/pages/dashboard/Partials/StrategicOverviewKpis.tsx
  • resources/js/pages/events/Partials/Details/AgendaCard.jsx
  • resources/js/pages/events/Partials/Details/EventHero.jsx
  • resources/js/pages/events/Partials/Details/EventReplay.jsx
  • resources/js/pages/events/Partials/Details/PartnersCard.jsx
  • resources/js/pages/events/Partials/Details/PhotoGallery.jsx
  • resources/js/pages/events/Partials/Details/RegistrationCard.jsx
  • resources/js/pages/events/Partials/Details/SectionCard.jsx
  • resources/js/pages/events/Partials/Details/SpeakersCard.jsx
  • resources/js/pages/events/Partials/EventCard.jsx
  • resources/js/pages/events/Partials/EventsSidebar.jsx
  • resources/js/pages/events/[id].jsx
  • resources/js/pages/events/index.jsx
  • resources/js/pages/experts/Partials/Details/PastAppearances.jsx
  • resources/js/pages/experts/Partials/Details/ProfessionalJourney.jsx
  • resources/js/pages/experts/Partials/Details/ProfileSidebar.jsx
  • resources/js/pages/experts/[id].jsx
  • resources/js/pages/home/Partials/AudienceCards.jsx
  • resources/js/pages/home/Partials/Hero.jsx
  • resources/js/pages/home/Partials/Highlights.jsx
  • resources/js/pages/home/Partials/ImpactStats.jsx
  • resources/js/pages/opportunities/Partials/ApplyNowModal.jsx
  • resources/js/pages/user/media/partials/SidebarResources.jsx
  • resources/js/pages/user/media/partials/SidebarTrendingTopics.jsx
  • resources/js/pages/user/tilila/edition.jsx
  • resources/js/pages/user/tilila/gallery.jsx
  • resources/js/pages/user/tilila/index.jsx
  • resources/js/pages/user/tilila/jury.jsx
  • resources/js/pages/user/tilila/partials/ArchiveSection.jsx
  • resources/js/pages/user/tilila/partials/FeaturedLaureatesSection.jsx
  • resources/js/pages/user/tilila/partials/ParticipateModal.jsx
  • resources/js/pages/user/tilila/winners.jsx
  • resources/js/pages/user/tililab/edition.jsx
  • resources/js/pages/user/tililab/partials/FormOFInscription.jsx
  • resources/js/pages/user/tililab/partials/PastWinnersSection.jsx
  • resources/js/wayfinder.ts
 _________________________________________
< Code review, I will. Find bugs, I must. >
 -----------------------------------------
  \
   \   (\__/)
       (•ㅅ•)
       /   づ
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

Tip

You can customize the tone of the review comments and chat replies.

Configure the tone_instructions setting to customize the tone of the review comments and chat replies. For example, you can set the tone to Act like a strict teacher, Act like a pirate and more.

@coderabbitai

coderabbitai Bot commented Apr 15, 2026

Copy link
Copy Markdown
📝 Walkthrough

Walkthrough

A comprehensive code formatting pass across 99+ files, primarily adjusting Tailwind CSS class ordering, reformatting JSX props and multi-line expressions for readability, and removing trailing blank lines throughout the codebase. No logic or control flow changes were introduced.

Changes

Cohort / File(s) Summary
CSS Custom Properties
resources/css/app.css
Updated color-mix() expressions for --sidebar-accent and --sidebar-border from single-line to multi-line, indented declarations without changing computed values.
Navigation & Layout Components
resources/js/components/Navbar.jsx, resources/js/components/Footer.jsx, resources/js/components/app-sidebar.tsx, resources/js/components/auth-sidebar.tsx, resources/js/components/user-info.tsx
Reformatted JSX props across multiple lines and reordered Tailwind utility classes (e.g., text-*, bg-*, border-* positioning) without changing styling intent or component behavior.
Context & Utilities
resources/js/contexts/TranslationContext.jsx, resources/js/lib/pickLocalized.js, resources/js/wayfinder.ts
Adjusted indentation, reformatted error messages, and simplified ternary expressions while preserving control flow and exported APIs.
Layout Components
resources/js/layouts/app/app-sidebar-layout.tsx, resources/js/layouts/auth/auth-sidebar-layout.tsx, resources/js/layouts/auth/auth-simple-layout.tsx
Reordered Tailwind border/background classes and split JSX attributes into multi-line blocks; adjusted positioning classes for gradient decorations.
Admin Events Pages
resources/js/pages/admin/events/create.jsx, resources/js/pages/admin/events/edit.jsx, resources/js/pages/admin/events/index.jsx, resources/js/pages/admin/events/show.jsx, resources/js/pages/admin/events/partials/EventForm.jsx
Reordered Tailwind class composition across headings and form controls; simplified nullish-coalescing defaults; reformatted JSX event handlers and conditional rendering into multi-line expressions.
Admin Experts Pages
resources/js/pages/admin/experts/create.jsx, resources/js/pages/admin/experts/edit.jsx, resources/js/pages/admin/experts/index.jsx, resources/js/pages/admin/experts/partials/ExpertPublicProfileDetails.jsx
Consolidated and reordered form field JSX blocks; adjusted class strings for borders and text color utilities; simplified boolean expressions and inline conditionals.
Admin Media Pages
resources/js/pages/admin/media/create.jsx, resources/js/pages/admin/media/edit.jsx, resources/js/pages/admin/media/index.jsx, resources/js/pages/admin/media/show.jsx, resources/js/pages/admin/media/sidebar.jsx, resources/js/pages/admin/media/partials/MediaForm.jsx
Moved responsive padding utilities to primary class lists; reordered text-color and sizing classes; reorganized select/textarea class composition by moving border-input and focus-ring utilities.
Admin Opportunities Pages
resources/js/pages/admin/opportunities/create.jsx, resources/js/pages/admin/opportunities/edit.jsx, resources/js/pages/admin/opportunities/index.jsx, resources/js/pages/admin/opportunities/show.jsx, resources/js/pages/admin/opportunities/partials/OpportunityForm.jsx
Reformatted component props to multi-line destructuring; removed redundant parentheses in nullish-coalescing expressions; reordered Tailwind utilities and expanded button/form styling across lines.
Admin Tilila Pages
resources/js/pages/admin/tilila/editions/create.jsx, resources/js/pages/admin/tilila/editions/edit.jsx, resources/js/pages/admin/tilila/editions/index.jsx, resources/js/pages/admin/tilila/editions/partials/EditionForm.jsx, resources/js/pages/admin/tilila/participants/index.jsx, resources/js/pages/admin/tilila/participants/show.jsx
Adjusted responsive padding class placement; reordered typography and border utility positioning; expanded multi-line JSX for label text and handler functions.
Admin Tililab Pages
resources/js/pages/admin/tililab/analytics/index.jsx, resources/js/pages/admin/tililab/editions/create.jsx, resources/js/pages/admin/tililab/editions/edit.jsx, resources/js/pages/admin/tililab/editions/index.jsx, resources/js/pages/admin/tililab/editions/partials/EditionForm.jsx, resources/js/pages/admin/tililab/participants/index.jsx, resources/js/pages/admin/tililab/participants/show.jsx
Reformatted router calls and chart/KPI component props into multi-line expressions; reordered border utility usage (consolidated border-border/70 positioning); adjusted class ordering on table headers and pagination elements.
User-Facing Pages - Dashboard
resources/js/pages/dashboard.tsx, resources/js/pages/dashboard/Partials/DashboardPageHeader.tsx, resources/js/pages/dashboard/Partials/DashboardRightColumn.tsx, resources/js/pages/dashboard/Partials/ImpactOverviewChart.tsx, resources/js/pages/dashboard/Partials/RecentImpactActivities.tsx, resources/js/pages/dashboard/Partials/StrategicOverviewKpis.tsx
Reordered Tailwind classes for text colors, backgrounds, and borders; moved responsive utilities within class lists; restructured table cell and chart component class composition.
User-Facing Pages - Home
resources/js/pages/home/Partials/AudienceCards.jsx, resources/js/pages/home/Partials/Hero.jsx, resources/js/pages/home/Partials/Highlights.jsx, resources/js/pages/home/Partials/ImpactStats.jsx
Collapsed multi-line string literals; reformatted component parameters to multi-line destructuring; adjusted carousel and image overlay class ordering; simplified helper functions with line breaks.
User-Facing Pages - Events
resources/js/pages/events/Partials/Details/AgendaCard.jsx, resources/js/pages/events/Partials/Details/EventHero.jsx, resources/js/pages/events/Partials/Details/EventReplay.jsx, resources/js/pages/events/Partials/Details/PartnersCard.jsx, resources/js/pages/events/Partials/Details/PhotoGallery.jsx, resources/js/pages/events/Partials/Details/RegistrationCard.jsx, resources/js/pages/events/Partials/Details/SectionCard.jsx, resources/js/pages/events/Partials/Details/SpeakersCard.jsx, resources/js/pages/events/Partials/EventCard.jsx, resources/js/pages/events/Partials/EventsSidebar.jsx, resources/js/pages/events/[id].jsx, resources/js/pages/events/index.jsx
Removed trailing blank lines; refactored statusLabelNode to single-line TransText returns; reordered class strings for buttons and badges; reformatted JSX breadcrumbs and prop arrays.
User-Facing Pages - Experts
resources/js/pages/experts/Partials/Details/PastAppearances.jsx, resources/js/pages/experts/Partials/Details/ProfessionalJourney.jsx, resources/js/pages/experts/Partials/Details/ProfileSidebar.jsx, resources/js/pages/experts/[id].jsx
Condensed multi-line TransText blocks to single-line; simplified conditional rendering by removing multi-line parentheses; reordered ring-* utility classes.
User-Facing Pages - Opportunities & Media
resources/js/pages/contact/index.jsx, resources/js/pages/opportunities/Partials/ApplyNowModal.jsx, resources/js/pages/user/media/partials/SidebarResources.jsx, resources/js/pages/user/media/partials/SidebarTrendingTopics.jsx
Reformatted import statements; reordered class lists and adjusted JSX layout; split multi-line form field conditionals; expanded FALLBACK_TOPICS object notation.
User Pages - Tilila
resources/js/pages/user/tilila/edition.jsx, resources/js/pages/user/tilila/gallery.jsx, resources/js/pages/user/tilila/index.jsx, resources/js/pages/user/tilila/jury.jsx, resources/js/pages/user/tilila/winners.jsx, resources/js/pages/user/tilila/partials/ArchiveSection.jsx, resources/js/pages/user/tilila/partials/FeaturedLaureatesSection.jsx, resources/js/pages/user/tilila/partials/ParticipateModal.jsx
Expanded multi-line conditional expressions for image paths and gallery arrays; reformatted TransText props and button layouts; restructured form grid column assignments within modal; simplified arrow function callbacks.
User Pages - Tililab
resources/js/pages/user/tililab/edition.jsx, resources/js/pages/user/tililab/partials/FormOFInscription.jsx, resources/js/pages/user/tililab/partials/PastWinnersSection.jsx
Reformatted PeopleGrid image path conditionals to multi-line; adjusted responsive class ordering; simplified useForm destructuring; expanded multi-line JSX for section headers and button text.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~75 minutes

Possibly related PRs

Poem

🐰 A thousand files did need a tidy,
Classes reordered, none too grimy,
JSX props now stretch so wide,
Each blank line bid a soft goodbye,
The code still runs, but oh so spry!

🚥 Pre-merge checks | ✅ 1 | ❌ 2

❌ Failed checks (2 warnings)

Check name Status Explanation Resolution
Title check ⚠️ Warning The title 'fixing the test errors' is vague and does not clearly describe the actual changes. The PR contains extensive formatting, code style, and organization changes across 40+ files, with no test-related modifications mentioned in any file summary. Replace with a descriptive title that reflects the actual changes, such as 'Refactor CSS classes, JSX formatting, and code organization' or 'Style: reorder Tailwind utilities and simplify JSX markup across components'.
Docstring Coverage ⚠️ Warning Docstring coverage is 3.95% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (1 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 2

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
resources/js/pages/contact/index.jsx (1)

1-422: ⚠️ Potential issue | 🟡 Minor

PR title doesn't match the actual changes.

The PR is titled "fixing the test errors" but the changes in this file are purely cosmetic formatting improvements (Tailwind class reordering, multi-line JSX formatting, and trailing newline additions). No test-related fixes or logic changes are present.

Consider updating the PR title and description to accurately reflect that this is a code formatting pass, which will help with code review clarity and future code archaeology.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@resources/js/pages/contact/index.jsx` around lines 1 - 422, PR title "fixing
the test errors" is inaccurate for changes confined to cosmetic formatting in
the ContactPage component; update the PR title and description to reflect a
formatting-only change (e.g., "chore: formatting / Tailwind class reorder on
ContactPage") and note that no functional or test-related code was modified in
ContactPage (ContactPage and ContactPage.layout) so reviewers understand it's
purely cosmetic.
🧹 Nitpick comments (1)
resources/js/pages/opportunities/Partials/ApplyNowModal.jsx (1)

56-56: Replace outline-none with outline-hidden on form elements for Tailwind v4 accessibility.

In Tailwind CSS v4, outline-none behavior changed: it now completely removes the outline (outline-style: none) instead of preserving visibility in forced colors mode (like Windows High Contrast). Use outline-hidden instead to maintain an invisible 2px outline that remains visible in forced colors while supporting your custom focus styles.

This applies to lines 56 (Input), 70 (Textarea), and 291 (Select).

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@resources/js/pages/opportunities/Partials/ApplyNowModal.jsx` at line 56,
Replace the Tailwind utility "outline-none" with "outline-hidden" on the form
elements in ApplyNowModal.jsx to preserve forced-colors (high contrast)
visibility while keeping your custom focus styles; specifically update the
className on the Input element (the JSX element using className="...
outline-none ..."), the Textarea element (the JSX element around line 70 using
"outline-none"), and the Select element (the JSX select element around line 291)
to use "outline-hidden" instead of "outline-none".
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@resources/js/pages/events/Partials/Details/PartnersCard.jsx`:
- Line 39: Replace the Tailwind outline utility in the JSX element that sets
className "block ring-offset-background outline-none focus-visible:ring-2
focus-visible:ring-ring" (in the PartnersCard component) by changing
outline-none to outline-hidden so the focus indicator retains the v3 behavior in
Tailwind v4; update the className string accordingly wherever that exact
attribute appears in PartnersCard.jsx.

In `@resources/js/pages/home/Partials/Hero.jsx`:
- Around line 10-15: pickLocalizedTriple currently returns for 'ar' directly
obj.ar then obj.en, skipping obj.fr; update the fallback order to ar -> fr -> en
for Arabic (matching shared helper) so French text isn't dropped. Locate the
pickLocalizedTriple function and change its ternary logic to evaluate the Arabic
branch as (obj.ar ?? obj.fr ?? obj.en) (and keep the 'fr' branch as fr -> en and
default as en -> fr -> ''). Ensure the function returns the first available
string or '' if none found.

---

Outside diff comments:
In `@resources/js/pages/contact/index.jsx`:
- Around line 1-422: PR title "fixing the test errors" is inaccurate for changes
confined to cosmetic formatting in the ContactPage component; update the PR
title and description to reflect a formatting-only change (e.g., "chore:
formatting / Tailwind class reorder on ContactPage") and note that no functional
or test-related code was modified in ContactPage (ContactPage and
ContactPage.layout) so reviewers understand it's purely cosmetic.

---

Nitpick comments:
In `@resources/js/pages/opportunities/Partials/ApplyNowModal.jsx`:
- Line 56: Replace the Tailwind utility "outline-none" with "outline-hidden" on
the form elements in ApplyNowModal.jsx to preserve forced-colors (high contrast)
visibility while keeping your custom focus styles; specifically update the
className on the Input element (the JSX element using className="...
outline-none ..."), the Textarea element (the JSX element around line 70 using
"outline-none"), and the Select element (the JSX select element around line 291)
to use "outline-hidden" instead of "outline-none".
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 7c6805c0-11b4-4edd-b059-551cbaf4cf9d

📥 Commits

Reviewing files that changed from the base of the PR and between 8d154a8 and 6590e61.

📒 Files selected for processing (86)
  • resources/css/app.css
  • resources/js/components/Footer.jsx
  • resources/js/components/Navbar.jsx
  • resources/js/components/app-sidebar.tsx
  • resources/js/components/auth-sidebar.tsx
  • resources/js/components/user-info.tsx
  • resources/js/contexts/TranslationContext.jsx
  • resources/js/layouts/app/app-sidebar-layout.tsx
  • resources/js/layouts/auth/auth-sidebar-layout.tsx
  • resources/js/layouts/auth/auth-simple-layout.tsx
  • resources/js/lib/pickLocalized.js
  • resources/js/pages/admin/events/create.jsx
  • resources/js/pages/admin/events/edit.jsx
  • resources/js/pages/admin/events/index.jsx
  • resources/js/pages/admin/events/partials/EventForm.jsx
  • resources/js/pages/admin/events/show.jsx
  • resources/js/pages/admin/experts/create.jsx
  • resources/js/pages/admin/experts/edit.jsx
  • resources/js/pages/admin/experts/index.jsx
  • resources/js/pages/admin/experts/partials/ExpertPublicProfileDetails.jsx
  • resources/js/pages/admin/media/create.jsx
  • resources/js/pages/admin/media/edit.jsx
  • resources/js/pages/admin/media/index.jsx
  • resources/js/pages/admin/media/partials/MediaForm.jsx
  • resources/js/pages/admin/media/show.jsx
  • resources/js/pages/admin/media/sidebar.jsx
  • resources/js/pages/admin/opportunities/create.jsx
  • resources/js/pages/admin/opportunities/edit.jsx
  • resources/js/pages/admin/opportunities/index.jsx
  • resources/js/pages/admin/opportunities/partials/OpportunityForm.jsx
  • resources/js/pages/admin/opportunities/show.jsx
  • resources/js/pages/admin/tilila/editions/create.jsx
  • resources/js/pages/admin/tilila/editions/edit.jsx
  • resources/js/pages/admin/tilila/editions/index.jsx
  • resources/js/pages/admin/tilila/editions/partials/EditionForm.jsx
  • resources/js/pages/admin/tilila/participants/index.jsx
  • resources/js/pages/admin/tilila/participants/show.jsx
  • resources/js/pages/admin/tililab/analytics/index.jsx
  • resources/js/pages/admin/tililab/editions/create.jsx
  • resources/js/pages/admin/tililab/editions/edit.jsx
  • resources/js/pages/admin/tililab/editions/index.jsx
  • resources/js/pages/admin/tililab/editions/partials/EditionForm.jsx
  • resources/js/pages/admin/tililab/participants/index.jsx
  • resources/js/pages/admin/tililab/participants/show.jsx
  • resources/js/pages/contact/index.jsx
  • resources/js/pages/dashboard.tsx
  • resources/js/pages/dashboard/Partials/DashboardPageHeader.tsx
  • resources/js/pages/dashboard/Partials/DashboardRightColumn.tsx
  • resources/js/pages/dashboard/Partials/ImpactOverviewChart.tsx
  • resources/js/pages/dashboard/Partials/RecentImpactActivities.tsx
  • resources/js/pages/dashboard/Partials/StrategicOverviewKpis.tsx
  • resources/js/pages/events/Partials/Details/AgendaCard.jsx
  • resources/js/pages/events/Partials/Details/EventHero.jsx
  • resources/js/pages/events/Partials/Details/EventReplay.jsx
  • resources/js/pages/events/Partials/Details/PartnersCard.jsx
  • resources/js/pages/events/Partials/Details/PhotoGallery.jsx
  • resources/js/pages/events/Partials/Details/RegistrationCard.jsx
  • resources/js/pages/events/Partials/Details/SectionCard.jsx
  • resources/js/pages/events/Partials/Details/SpeakersCard.jsx
  • resources/js/pages/events/Partials/EventCard.jsx
  • resources/js/pages/events/Partials/EventsSidebar.jsx
  • resources/js/pages/events/[id].jsx
  • resources/js/pages/events/index.jsx
  • resources/js/pages/experts/Partials/Details/PastAppearances.jsx
  • resources/js/pages/experts/Partials/Details/ProfessionalJourney.jsx
  • resources/js/pages/experts/Partials/Details/ProfileSidebar.jsx
  • resources/js/pages/experts/[id].jsx
  • resources/js/pages/home/Partials/AudienceCards.jsx
  • resources/js/pages/home/Partials/Hero.jsx
  • resources/js/pages/home/Partials/Highlights.jsx
  • resources/js/pages/home/Partials/ImpactStats.jsx
  • resources/js/pages/opportunities/Partials/ApplyNowModal.jsx
  • resources/js/pages/user/media/partials/SidebarResources.jsx
  • resources/js/pages/user/media/partials/SidebarTrendingTopics.jsx
  • resources/js/pages/user/tilila/edition.jsx
  • resources/js/pages/user/tilila/gallery.jsx
  • resources/js/pages/user/tilila/index.jsx
  • resources/js/pages/user/tilila/jury.jsx
  • resources/js/pages/user/tilila/partials/ArchiveSection.jsx
  • resources/js/pages/user/tilila/partials/FeaturedLaureatesSection.jsx
  • resources/js/pages/user/tilila/partials/ParticipateModal.jsx
  • resources/js/pages/user/tilila/winners.jsx
  • resources/js/pages/user/tililab/edition.jsx
  • resources/js/pages/user/tililab/partials/FormOFInscription.jsx
  • resources/js/pages/user/tililab/partials/PastWinnersSection.jsx
  • resources/js/wayfinder.ts
💤 Files with no reviewable changes (3)
  • resources/js/pages/events/Partials/Details/AgendaCard.jsx
  • resources/js/pages/events/Partials/Details/EventHero.jsx
  • resources/js/pages/events/Partials/Details/PhotoGallery.jsx

target="_blank"
rel="noreferrer"
className="block outline-none ring-offset-background focus-visible:ring-2 focus-visible:ring-ring"
className="block ring-offset-background outline-none focus-visible:ring-2 focus-visible:ring-ring"

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Check Tailwind CSS version in package.json
cat package.json | jq '.dependencies.tailwindcss, .devDependencies.tailwindcss'

Repository: lionsgeeks/tilila

Length of output: 74


🏁 Script executed:

cat -n resources/js/pages/events/Partials/Details/PartnersCard.jsx | sed -n '35,45p'

Repository: lionsgeeks/tilila

Length of output: 434


🌐 Web query:

Tailwind CSS v4 outline-none outline-hidden breaking change

💡 Result:

Yes, Tailwind CSS v4 includes a breaking change for the outline-none utility. In v3, outline-none set an invisible 2px outline (outline: 2px solid transparent; outline-offset: 2px;) to preserve visibility in forced colors mode for accessibility. In v4, this behavior is renamed to outline-hidden, and a new outline-none utility is added that simply sets outline-style: none. This change was introduced in PR #14926 (merged Nov 8, 2024, before v4.0 release on Jan 22, 2025) and includes a codemod for automatic migration. The official upgrade guide explicitly lists it under renamed utilities: replace outline-none with outline-hidden. outline-hidden is recommended for hiding default focus outlines while maintaining accessibility, as it applies the transparent outline only in forced-colors mode. Use the new outline-none only if you truly need to remove the outline entirely (e.g., with custom focus styles). Migration example: v3: class="outline-none focus:outline-blue-500" v4: class="outline-hidden focus:outline-blue-500" The @tailwindcss/upgrade tool automates this replacement.

Citations:


Update outline-none to outline-hidden for Tailwind CSS v4 compatibility.

This project uses Tailwind CSS v4, which includes a breaking change for the outline utilities. In v4, outline-none only removes the outline style, whereas outline-hidden provides the v3 behavior of setting an invisible outline for forced-colors mode accessibility. Since you're implementing a custom focus indicator, update the utility:

-className="block ring-offset-background outline-none focus-visible:ring-2 focus-visible:ring-ring"
+className="block ring-offset-background outline-hidden focus-visible:ring-2 focus-visible:ring-ring"

Refer to the Tailwind CSS v4 upgrade guide for details on this renamed utility.

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
className="block ring-offset-background outline-none focus-visible:ring-2 focus-visible:ring-ring"
className="block ring-offset-background outline-hidden focus-visible:ring-2 focus-visible:ring-ring"
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@resources/js/pages/events/Partials/Details/PartnersCard.jsx` at line 39,
Replace the Tailwind outline utility in the JSX element that sets className
"block ring-offset-background outline-none focus-visible:ring-2
focus-visible:ring-ring" (in the PartnersCard component) by changing
outline-none to outline-hidden so the focus indicator retains the v3 behavior in
Tailwind v4; update the className string accordingly wherever that exact
attribute appears in PartnersCard.jsx.

Comment on lines 10 to +15
function pickLocalizedTriple(obj, locale) {
return (locale === 'ar' ? obj.ar : locale === 'fr' ? obj.fr : obj.en) ?? obj.en ?? '';
return (
(locale === 'ar' ? obj.ar : locale === 'fr' ? obj.fr : obj.en) ??
obj.en ??
''
);

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Keep fallback order consistent for Arabic localization.

At Line 12, the Arabic branch skips fr fallback (ar -> en) while your shared localization helper uses ar -> fr -> en. This can drop available French text when Arabic is missing.

Suggested fix
 function pickLocalizedTriple(obj, locale) {
-    return (
-        (locale === 'ar' ? obj.ar : locale === 'fr' ? obj.fr : obj.en) ??
-        obj.en ??
-        ''
-    );
+    if (locale === 'ar') return obj.ar ?? obj.fr ?? obj.en ?? '';
+    if (locale === 'fr') return obj.fr ?? obj.en ?? '';
+    return obj.en ?? '';
 }
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@resources/js/pages/home/Partials/Hero.jsx` around lines 10 - 15,
pickLocalizedTriple currently returns for 'ar' directly obj.ar then obj.en,
skipping obj.fr; update the fallback order to ar -> fr -> en for Arabic
(matching shared helper) so French text isn't dropped. Locate the
pickLocalizedTriple function and change its ternary logic to evaluate the Arabic
branch as (obj.ar ?? obj.fr ?? obj.en) (and keep the 'fr' branch as fr -> en and
default as en -> fr -> ''). Ensure the function returns the first available
string or '' if none found.

@forkanimahdi forkanimahdi merged commit d3955b2 into lionsgeeks:main Apr 15, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants