Skip to content

Footer#25

Open
Diubii wants to merge 20 commits into
mainfrom
Diubii/footer
Open

Footer#25
Diubii wants to merge 20 commits into
mainfrom
Diubii/footer

Conversation

@Diubii
Copy link
Copy Markdown
Contributor

@Diubii Diubii commented Nov 8, 2025

Closes #10

@Diubii Diubii added difficulty: easy Beginner-friendly issue — low complexity priority: high High priority — critical for functionality or release area: frontend Relates to frontend or user interface code labels Nov 8, 2025
@Diubii
Copy link
Copy Markdown
Contributor Author

Diubii commented Nov 8, 2025

È possibile rendere componente il bottone che c'è attualmente nella home?

@lorenzocorallo
Copy link
Copy Markdown
Member

@Diubii non ho un pc sottomano in questo momento.
Se è qualcosa che ti serve nel footer ma che ancora non c'è, hai due strade:

  1. continui il footer con un bel copia incolla
  2. aspetti che il component del Button venga fatto e poi finisci il footer

Il Button è assegnato (atm) a @Gabriele1075 magari sentitevi e coordinatevi

@Diubii
Copy link
Copy Markdown
Contributor Author

Diubii commented Nov 8, 2025

@lorenzocorallo ok grazie, aspetterò il completamento del componente allora

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Mar 5, 2026

Review Change Stack

Warning

Rate limit exceeded

@Diubii has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 51 minutes and 24 seconds before requesting another review.

You’ve run out of usage credits. Purchase more in the billing tab.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 8e887aed-3b75-47d4-b821-83dc0be82fc3

📥 Commits

Reviewing files that changed from the base of the PR and between 444987a and 46ef1e7.

📒 Files selected for processing (2)
  • src/app/page.tsx
  • src/components/footer.tsx

Walkthrough

This PR introduces a new Footer component, refactors button size variants for consistency, updates dependent UI components to use the new sizing system, and integrates the Footer into the root layout while simplifying the Home page structure.

Changes

Footer Component and UI Refactoring

Layer / File(s) Summary
Button size variant refactoring
src/components/ui/button.tsx
Extracts button sizes into a buttonSizes constant and exports a ButtonSizes type. The buttonVariants configuration now references this mapping instead of an inline size object, removing prior icon/icon-sm/icon-lg size keys.
ButtonIcon prop migration to size variants and children
src/components/button-icon.tsx
Updates ButtonIcon to accept children: ReactNode instead of text: string and introduces a required size: ButtonSizes prop passed to the underlying Button. Adds an optional className prop (unused in render).
CardSplit responsive typography updates
src/components/card-split/index.tsx, src/components/card-split/primary-content.tsx, src/components/card-split/secondary-content.tsx
CardSplit layout switches from column/grid to centered flex row with full width and responsive padding. Primary and secondary content now use breakpoint-specific typography utilities (typo-headline-small with md: overrides).
Footer component with sitemap and social icons
src/components/footer.tsx
Adds new Footer component with contact/CTA sections, social icons via CardMultipleIcons, and a "Visita il sito" sitemap area using accordion-style and text link rendering. Includes helper components FooterLink and FooterAccordion, plus sitemapSections configuration.
Root layout and Home page integration
src/app/layout.tsx, src/app/page.tsx
Integrates Footer into root layout after children. Simplifies Home page by removing CTA element and language/social icon card sections, keeping only Hero, Materials, Projects, and AboutUs.

Possibly Related PRs

  • PoliNetworkOrg/web#105: Renames ButtonWithIconButtonIcon; this PR further refactors ButtonIcon's API (switches from text to children and adds size support).
  • PoliNetworkOrg/web#34: Adds icon/icon-sm/icon-lg button sizes; this PR refactors ButtonSizes and removes those icon size variants.
  • PoliNetworkOrg/web#50: Modifies Home component rendering; this PR further restructures by removing CTA and social icon sections.
🚥 Pre-merge checks | ✅ 1 | ❌ 3

❌ Failed checks (2 warnings, 1 inconclusive)

Check name Status Explanation Resolution
Out of Scope Changes check ⚠️ Warning The PR includes refactoring of ButtonIcon, CardSplit components, and Button size variants that extend beyond the core Footer implementation scope. Consider separating the ButtonIcon, CardSplit, and Button refactoring changes into a separate PR focused on component improvements, keeping this PR focused on Footer implementation.
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
Title check ❓ Inconclusive The title 'Footer' is vague and generic, failing to convey what specific work was done beyond naming the component being added. Use a more descriptive title like 'Add Footer component with sitemap and CTA sections' to better communicate the main changes in the changeset.
✅ Passed checks (1 passed)
Check name Status Explanation
Linked Issues check ✅ Passed The PR successfully implements a Footer component with contact info, CTA buttons, social icons, and sitemap as required by issue #10.

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


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.

@Diubii
Copy link
Copy Markdown
Contributor Author

Diubii commented May 3, 2026

Once #105 is closed, I'll add the DropdownButton in the footer and open this pr

@Diubii Diubii marked this pull request as ready for review May 21, 2026 22:04
@Diubii Diubii requested review from BIA3IA and toto04 May 21, 2026 22:04
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 3

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@src/components/button-icon.tsx`:
- Around line 17-20: The prop className is declared but never forwarded to the
rendered Button; update the ButtonIcon component in button-icon.tsx to either
remove className from its props API or forward it: destructure className from
the component props and pass it into the rendered <Button> (e.g., pass
className={className} or merge it with existing classes) so consumers can style
the Button, or if you intentionally don't want external classes, remove
className from the props definition and usages.

In `@src/components/footer.tsx`:
- Around line 58-59: Sitemap legal entries ("Privacy Policy", "Terms &
Conditions", "Cookie policy") are currently defined as { type: "text", label:
"..."} and render as <p>, so change each entry to a link entry (e.g., { type:
"link", label: "Privacy Policy", href: "/privacy" }) and update the footer
rendering logic (where it checks item.type) to render an anchor or Link
component for type === "link"; specifically modify the entries with label
"Privacy Policy", "Terms & Conditions", and "Cookie policy" and ensure the
Footer/component that inspects item.type uses the link branch to output
navigable anchors.
- Line 155: The Tailwind class on the footer div is using an invalid arbitrary
max-width value ("md:max-w-[1324]") without units; update the class string on
the div in src/components/footer.tsx (the element with className starting
"typo-body-small md:typo-body-large mt-36 ...") to use a valid CSS length like
"md:max-w-[1324px]" so Tailwind can parse the arbitrary value correctly.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

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

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: df9f7128-9e71-4c94-b029-43f09b25adcb

📥 Commits

Reviewing files that changed from the base of the PR and between 68e769e and 444987a.

📒 Files selected for processing (8)
  • src/app/layout.tsx
  • src/app/page.tsx
  • src/components/button-icon.tsx
  • src/components/card-split/index.tsx
  • src/components/card-split/primary-content.tsx
  • src/components/card-split/secondary-content.tsx
  • src/components/footer.tsx
  • src/components/ui/button.tsx
💤 Files with no reviewable changes (1)
  • src/app/page.tsx

Comment on lines +17 to +20
className?: string
}) {
return (
<Button variant={variant} size="lg">
<Button variant={variant} size={size}>
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Wire className through or remove it from the props API.

Line 17 exposes className, but it’s never used (not destructured and not passed to Button on Line 20), so consumers get no effect.

Suggested fix
 export function ButtonIcon({
   variant = "primary",
   icon: Icon,
   children,
   iconPosition = "left",
   size,
+  className,
 }: {
   variant?: "primary" | "tertiary" | "tertiaryBlur"
   icon: IconType
   children: ReactNode
   iconPosition?: "left" | "right"
   size: ButtonSizes
   className?: string
 }) {
   return (
-    <Button variant={variant} size={size}>
+    <Button variant={variant} size={size} className={className}>
       {iconPosition === "left" && <Icon />}
       {children}
       {iconPosition === "right" && <Icon />}
     </Button>
   )
 }
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/components/button-icon.tsx` around lines 17 - 20, The prop className is
declared but never forwarded to the rendered Button; update the ButtonIcon
component in button-icon.tsx to either remove className from its props API or
forward it: destructure className from the component props and pass it into the
rendered <Button> (e.g., pass className={className} or merge it with existing
classes) so consumers can style the Button, or if you intentionally don't want
external classes, remove className from the props definition and usages.

Comment thread src/components/footer.tsx Outdated
Comment thread src/components/footer.tsx Outdated
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: frontend Relates to frontend or user interface code difficulty: easy Beginner-friendly issue — low complexity priority: high High priority — critical for functionality or release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Footer component

3 participants