-
Notifications
You must be signed in to change notification settings - Fork 1
Footer #25
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Footer #25
Changes from all commits
caa1960
c6ea46b
cbd7f9c
7804c1c
2111fec
d8f73f6
9ed90bf
9df87e6
aa07d87
e34046c
b16cbcc
ffc2bba
c913642
1881cbb
3281667
3a7fdbf
de8c8ad
444987a
14c4464
46ef1e7
b354ebe
dfe5dac
6337eed
5e45627
ca679fa
32a353d
2aa8bc9
5f8dbd5
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
|
|
@@ -11,11 +11,11 @@ export function CardSplit({ textPrimary, textSecondary, textSecondarySmall, clas | |||||
| return ( | ||||||
| <Glass | ||||||
| className={cn( | ||||||
| "inline-flex max-w-full overflow-hidden rounded-rectangles border-white/50 bg-background-blur p-0 text-card-foreground", | ||||||
| "inline-flex w-67 overflow-hidden rounded-rectangles border-white/50 bg-background-blur p-0 text-card-foreground md:w-full md:max-w-full", | ||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
| className | ||||||
| )} | ||||||
| > | ||||||
| <div className="flex flex-col gap-10 px-10 py-5 sm:grid sm:grid-cols-[auto_auto] sm:items-center"> | ||||||
| <div className="flex w-full items-center justify-center gap-10 px-6 py-5 md:px-10"> | ||||||
| {textPrimary ? <CardSplitPrimaryContent text={textPrimary} /> : null} | ||||||
|
|
||||||
| {hasSecondaryContent && ( | ||||||
|
|
||||||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,171 @@ | ||
| import Image from "next/image" | ||
| import { FaGithub } from "react-icons/fa" | ||
| import { FiChevronDown, FiFacebook, FiGithub, FiInstagram, FiLinkedin } from "react-icons/fi" | ||
| import discord from "@/assets/icons/discord.svg" | ||
| import telegram from "@/assets/icons/telegram.svg" | ||
| import { ButtonIcon } from "./button-icon" | ||
| import { CardMultipleIcons } from "./card-multiple-icons" | ||
| import { CardSplit } from "./card-split" | ||
| import { Button } from "./ui/button" | ||
|
|
||
| interface FooterLinkProps { | ||
| href: string | ||
| children: React.ReactNode | ||
| } | ||
|
|
||
| function FooterLink({ href, children }: FooterLinkProps) { | ||
| return ( | ||
| <a href={href} className="hover:text-gray-800"> | ||
| {children} | ||
| </a> | ||
|
Comment on lines
+18
to
+20
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. si potrebbbe usare |
||
| ) | ||
| } | ||
|
|
||
| interface FooterAccordionProps { | ||
| title: string | ||
| links: { label: string; href: string }[] | ||
| } | ||
|
|
||
| function FooterAccordion({ title, links }: FooterAccordionProps) { | ||
| return ( | ||
| <details className="group text-text-secondary"> | ||
| <summary className="flex cursor-pointer list-none items-center gap-1 [&::-webkit-details-marker]:hidden"> | ||
| {title} | ||
| <FiChevronDown className="size-4 transition-transform group-open:rotate-180" /> | ||
| </summary> | ||
| <div className="mt-2 flex flex-col gap-2 pl-2 text-sm"> | ||
| {links.map((link) => ( | ||
| <FooterLink key={link.label} href={link.href}> | ||
| {link.label} | ||
| </FooterLink> | ||
| ))} | ||
| </div> | ||
| </details> | ||
| ) | ||
| } | ||
|
Comment on lines
+29
to
+45
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Forse questo si puo separare come componente |
||
|
|
||
| const sitemapSections = [ | ||
| { | ||
| type: "accordion" as const, | ||
| title: "Resources", | ||
| links: [ | ||
| { label: "Materials", href: "/" }, | ||
| { label: "Guides", href: "/" }, | ||
| { label: "Computer recs", href: "/" }, | ||
| { label: "FAQs", href: "/" }, | ||
| ], | ||
| }, | ||
| { type: "text" as const, label: "Privacy Policy", href: "/" }, | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Point legal sitemap links to actual legal pages (not Line 58, Line 69, and Line 79 currently send Proposed minimal fix- { type: "text" as const, label: "Privacy Policy", href: "/" },
+ { type: "text" as const, label: "Privacy Policy", href: "/privacy-policy" },
@@
- { type: "text" as const, label: "Terms & Conditions", href: "/" },
+ { type: "text" as const, label: "Terms & Conditions", href: "/terms-and-conditions" },
@@
- { type: "text" as const, label: "Cookie policy", href: "/" },
+ { type: "text" as const, label: "Cookie policy", href: "/cookie-policy" },Also applies to: 69-69, 79-79 🤖 Prompt for AI Agents |
||
| { | ||
| type: "accordion" as const, | ||
| title: "Community", | ||
| links: [ | ||
| { label: "Groups", href: "/" }, | ||
| { label: "Projects", href: "/" }, | ||
| { label: "Freshmen", href: "/" }, | ||
| { label: "Associations", href: "/" }, | ||
| ], | ||
| }, | ||
| { type: "text" as const, label: "Terms & Conditions", href: "/" }, | ||
| { | ||
| type: "accordion" as const, | ||
| title: "About", | ||
| links: [ | ||
| { label: "About us", href: "/" }, | ||
| { label: "Join us", href: "/" }, | ||
| { label: "Contact us", href: "/" }, | ||
| ], | ||
| }, | ||
| { type: "text" as const, label: "Cookie policy", href: "/" }, | ||
| ] | ||
|
Comment on lines
+47
to
+80
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Credo che questi siano gli stessi delle constants dell'header, potremmo pensare di unificarle cosi abbiamo una unica source of truth e cambiando un link non dobbiamo andare a cercarli tutti |
||
|
|
||
| export function Footer() { | ||
| return ( | ||
| <footer className="my-8 w-full px-8"> | ||
| <h2 className="typo-headline-medium md:typo-display-large text-center max-md:bg-linear-to-b max-md:from-blue-secondary max-md:to-blue-primary max-md:bg-clip-text max-md:text-transparent"> | ||
| Keep in touch! | ||
| </h2> | ||
|
|
||
| <div className="mx-auto mt-6 mb-18 flex w-fit flex-col items-center gap-4"> | ||
| <CardMultipleIcons | ||
| icons={[ | ||
| <Image key="telegram" src={telegram} alt="Telegram" />, | ||
| <FiInstagram key="instagram" />, | ||
| <FiLinkedin key="linkedin" />, | ||
| <FiFacebook key="facebook" />, | ||
| <Image key="discord" src={discord} alt="Discord" />, | ||
| <FiGithub key="github" />, | ||
| ]} | ||
| /> | ||
| </div> | ||
|
|
||
| <div className="flex w-full justify-between gap-8 max-md:flex-col max-md:items-center max-md:gap-24 md:mx-auto md:max-w-7xl md:px-8"> | ||
| <div className="flex w-full flex-col gap-8 max-md:gap-16 md:order-2 md:max-w-sm"> | ||
| <div id="talkwithus" className="max-md:mx-auto max-md:text-center md:w-full"> | ||
| <h3 className="typo-label-extralarge md:typo-headline-small">Talk with us</h3> | ||
| <div id="emails" className="typo-body-medium md:typo-body-large"> | ||
| <div id="collabs" className="my-4"> | ||
| <p className="text-gray-600">Per collaborazioni ed eventi</p> | ||
| <a href="mailto:eventi@polinetwork.org">eventi@polinetwork.org</a> | ||
| </div> | ||
| <div id="requests"> | ||
| <p className="text-gray-600">Per domande e richieste</p> | ||
| <a href="mailto:direttivo@polinetwork.org">direttivo@polinetwork.org</a> | ||
| </div> | ||
| </div> | ||
| </div> | ||
|
|
||
| <div id="interested" className="flex flex-col gap-4 text-center md:text-left"> | ||
| <h3 className="typo-label-extralarge md:typo-headline-small">Sei interessato?</h3> | ||
| <div> | ||
| <Button variant="primary" size="lg-wide" className="typo-label-large"> | ||
| Unisciti a noi! | ||
| </Button> | ||
| </div> | ||
| </div> | ||
|
|
||
| <div id="problems" className="flex flex-col gap-4 text-center md:text-left"> | ||
| <h3 className="typo-label-extralarge md:typo-headline-small">Qualche problema? Segnalalo!</h3> | ||
| <div> | ||
| <ButtonIcon icon={FaGithub} size="lg-wide" iconPosition="left" variant="tertiary"> | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Qui dovremmo usare FiGithub, cosi le icone rimangono coerenti |
||
| Report a bug | ||
| </ButtonIcon> | ||
| </div> | ||
| </div> | ||
| </div> | ||
|
|
||
| <div className="flex flex-col gap-16 max-md:w-full max-md:items-center md:max-w-md md:justify-self-end"> | ||
| <CardSplit textPrimary="5x1000" textSecondary="Sostienici!" textSecondarySmall="CF: 97927490157" /> | ||
|
|
||
| <div id="sitemap" className="flex w-full flex-col gap-4"> | ||
| <h3 className="typo-label-extralarge md:typo-headline-small">Visita il sito</h3> | ||
| <div className="typo-body-large grid grid-cols-2 items-start gap-x-4 gap-y-4 text-text-secondary"> | ||
| {sitemapSections.map((section) => | ||
| section.type === "accordion" ? ( | ||
| <FooterAccordion key={section.title} title={section.title} links={section.links} /> | ||
| ) : ( | ||
| <FooterLink key={section.label} href={section.href}> | ||
| {section.label} | ||
| </FooterLink> | ||
| ) | ||
| )} | ||
| </div> | ||
| </div> | ||
| </div> | ||
| </div> | ||
|
|
||
| <div className="typo-body-small md:typo-body-large mx-auto mt-36 flex w-full items-center justify-center gap-4 text-center text-text-secondary md:mb-12 md:max-w-7xl md:justify-between md:px-8 md:text-left"> | ||
| <p id="copyright">PoliNetwork 2016-{new Date().getFullYear()} © All rights reserved</p> | ||
| {/**<div id="select-language"> | ||
| <DropdownButton | ||
| placeholder="Select language" | ||
| options={[ | ||
| { label: "Italiano", value: "it" }, | ||
| { label: "English", value: "en" }, | ||
| ]} | ||
| /> | ||
| </div>**/} | ||
| </div> | ||
| </footer> | ||
| ) | ||
| } | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Come dice il coniglio, qui c'é className ma poi non viene usato nel buttonIcon