diff --git a/src/app/faqs/page.tsx b/src/app/faqs/page.tsx
index e3dbc0f..e05776f 100644
--- a/src/app/faqs/page.tsx
+++ b/src/app/faqs/page.tsx
@@ -1,110 +1,17 @@
-"use client"
+import type { Metadata } from "next"
+import { FaqsTabs } from "@/components/faqs/faqs-tabs"
+import { Hero } from "@/components/ui/hero"
-import { FiBookOpen, FiDollarSign, FiEdit, FiFileText, FiSend } from "react-icons/fi"
-import AccordionList from "@/components/accordion-list"
-import CalloutItem from "@/components/callout-item"
-import TabsNavigation from "@/components/tabs"
-import { Tabs } from "@/components/tabs/tabs"
-import { TabsContent } from "@/components/tabs/tabs-content"
-
-const faqItems = [
- {
- value: "tab1",
- label: "Lezioni",
- content: "Content for Tab 1",
- icon: FiBookOpen,
- },
- {
- value: "tab2",
- label: "Tasse",
- content: "Content for Tab 2",
- icon: FiDollarSign,
- },
- {
- value: "tab3",
- label: "Esami",
- content: "Content for Tab 3",
- icon: FiEdit,
- },
- {
- value: "tab4",
- label: "Piano di Studi",
- content: "Content for Tab 4",
- icon: FiFileText,
- },
- {
- value: "tab5",
- label: "Mobilitá Internazionale",
- content: (
-
-
Content for Tab 5
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore
- magna aliqua.
-
-
- ),
- icon: FiSend,
- },
-]
-
-const accordionItems = [
- {
- value: "item-1",
- trigger: "Per le lauree le lezioni sono sospese? ",
- content:
- "Spesso, la prima settimana, i Professori utilizzano le ore destinate alle esercitazioni per qualche ora di lezione in più: saranno quindi i docenti a specificare come verranno utilizzate queste ore. Dunque, le esercitazioni non sono da considerarsi annullate, salvo diversa comunicazione da parte del docente o dell’esercitatore.",
- },
- {
- value: "item-2",
- trigger: "Per le lauree le lezioni sono sospese? ",
- content:
- "Spesso, la prima settimana, i Professori utilizzano le ore destinate alle esercitazioni per qualche ora di lezione in più: saranno quindi i docenti a specificare come verranno utilizzate queste ore. Dunque, le esercitazioni non sono da considerarsi annullate, salvo diversa comunicazione da parte del docente o dell’esercitatore.",
- },
- {
- value: "item-3",
- trigger: "Per le lauree le lezioni sono sospese? ",
- content:
- "Spesso, la prima settimana, i Professori utilizzano le ore destinate alle esercitazioni per qualche ora di lezione in più: saranno quindi i docenti a specificare come verranno utilizzate queste ore. Dunque, le esercitazioni non sono da considerarsi annullate, salvo diversa comunicazione da parte del docente o dell’esercitatore.",
- },
- {
- value: "item-4",
- trigger: "Per le lauree le lezioni sono sospese? ",
- content:
- "Spesso, la prima settimana, i Professori utilizzano le ore destinate alle esercitazioni per qualche ora di lezione in più: saranno quindi i docenti a specificare come verranno utilizzate queste ore. Dunque, le esercitazioni non sono da considerarsi annullate, salvo diversa comunicazione da parte del docente o dell’esercitatore.",
- },
- {
- value: "item-5",
- trigger: "Per le lauree le lezioni sono sospese? ",
- content:
- "Spesso, la prima settimana, i Professori utilizzano le ore destinate alle esercitazioni per qualche ora di lezione in più: saranno quindi i docenti a specificare come verranno utilizzate queste ore. Dunque, le esercitazioni non sono da considerarsi annullate, salvo diversa comunicazione da parte del docente o dell’esercitatore.",
- },
-]
+export const metadata: Metadata = {
+ title: "FAQs",
+ description: "Risposte chiare per vivere al meglio la community",
+}
export default function FAQsPage() {
return (
-
-
-
-
-
- {faqItems.map((item) => (
-
- {item.content}
-
- ))}
-
-
-
-
-
+
+
+
)
}
diff --git a/src/components/accordion-association/index.tsx b/src/components/accordion-association/index.tsx
index 17a7446..470f3cb 100644
--- a/src/components/accordion-association/index.tsx
+++ b/src/components/accordion-association/index.tsx
@@ -1,5 +1,3 @@
-"use client"
-
import Image from "next/image"
import { GradientIcon } from "../gradient-icon"
import { Accordion } from "./accordion"
diff --git a/src/components/callout-item/types.ts b/src/components/callout-item/types.ts
index e4d35f8..f78554d 100644
--- a/src/components/callout-item/types.ts
+++ b/src/components/callout-item/types.ts
@@ -1,6 +1,8 @@
+import type React from "react"
+
export type CalloutItemProps = {
title: string
href: string
- buttonText: string
+ buttonText: React.ReactNode
className?: string
}
diff --git a/src/components/faqs/faqs-tabs.tsx b/src/components/faqs/faqs-tabs.tsx
new file mode 100644
index 0000000..5d1af7c
--- /dev/null
+++ b/src/components/faqs/faqs-tabs.tsx
@@ -0,0 +1,137 @@
+"use client"
+
+import type { IconType } from "react-icons"
+import { FiBookOpen, FiDollarSign, FiEdit, FiFileText, FiSend } from "react-icons/fi"
+import AccordionList from "@/components/accordion-list"
+import type { AccordionListItem } from "@/components/accordion-list/types"
+import CalloutItem from "@/components/callout-item"
+import TabsNavigation from "@/components/tabs"
+import { Tabs } from "@/components/tabs/tabs"
+import { TabsContent } from "@/components/tabs/tabs-content"
+
+const faqItems: {
+ value: string
+ label: string
+ icon: IconType
+ accordionItems: AccordionListItem[]
+}[] = [
+ {
+ value: "tab1",
+ label: "Lezioni",
+ icon: FiBookOpen,
+ accordionItems: [
+ {
+ value: "item-1",
+ trigger: "Per le lauree le lezioni sono sospese?",
+ content:
+ "Spesso, la prima settimana, i Professori utilizzano le ore destinate alle esercitazioni per qualche ora di lezione in più: saranno quindi i docenti a specificare come verranno utilizzate queste ore. Dunque, le esercitazioni non sono da considerarsi annullate, salvo diversa comunicazione da parte del docente o dell'esercitatore.",
+ },
+ ],
+ },
+ {
+ value: "tab2",
+ label: "Tasse",
+ icon: FiDollarSign,
+ accordionItems: [
+ {
+ value: "item-1",
+ trigger: "Per le lauree le lezioni sono sospese?",
+ content:
+ "Spesso, la prima settimana, i Professori utilizzano le ore destinate alle esercitazioni per qualche ora di lezione in più: saranno quindi i docenti a specificare come verranno utilizzate queste ore. Dunque, le esercitazioni non sono da considerarsi annullate, salvo diversa comunicazione da parte del docente o dell'esercitatore.",
+ },
+ ],
+ },
+ {
+ value: "tab3",
+ label: "Esami",
+ icon: FiEdit,
+ accordionItems: [
+ {
+ value: "item-1",
+ trigger: "Per le lauree le lezioni sono sospese?",
+ content:
+ "Spesso, la prima settimana, i Professori utilizzano le ore destinate alle esercitazioni per qualche ora di lezione in più: saranno quindi i docenti a specificare come verranno utilizzate queste ore. Dunque, le esercitazioni non sono da considerarsi annullate, salvo diversa comunicazione da parte del docente o dell'esercitatore.",
+ },
+ ],
+ },
+ {
+ value: "tab4",
+ label: "Piano di Studi",
+ icon: FiFileText,
+ accordionItems: [
+ {
+ value: "item-1",
+ trigger: "Per le lauree le lezioni sono sospese?",
+ content:
+ "Spesso, la prima settimana, i Professori utilizzano le ore destinate alle esercitazioni per qualche ora di lezione in più: saranno quindi i docenti a specificare come verranno utilizzate queste ore. Dunque, le esercitazioni non sono da considerarsi annullate, salvo diversa comunicazione da parte del docente o dell'esercitatore.",
+ },
+ ],
+ },
+ {
+ value: "tab5",
+ label: "Mobilità Internazionale",
+ icon: FiSend,
+ accordionItems: [
+ {
+ value: "item-1",
+ trigger: "Per le lauree le lezioni sono sospese? ",
+ content:
+ "Spesso, la prima settimana, i Professori utilizzano le ore destinate alle esercitazioni per qualche ora di lezione in più: saranno quindi i docenti a specificare come verranno utilizzate queste ore. Dunque, le esercitazioni non sono da considerarsi annullate, salvo diversa comunicazione da parte del docente o dell'esercitatore.",
+ },
+ {
+ value: "item-2",
+ trigger: "Per le lauree le lezioni sono sospese? ",
+ content:
+ "Spesso, la prima settimana, i Professori utilizzano le ore destinate alle esercitazioni per qualche ora di lezione in più: saranno quindi i docenti a specificare come verranno utilizzate queste ore. Dunque, le esercitazioni non sono da considerarsi annullate, salvo diversa comunicazione da parte del docente o dell'esercitatore.",
+ },
+ {
+ value: "item-3",
+ trigger: "Per le lauree le lezioni sono sospese? ",
+ content:
+ "Spesso, la prima settimana, i Professori utilizzano le ore destinate alle esercitazioni per qualche ora di lezione in più: saranno quindi i docenti a specificare come verranno utilizzate queste ore. Dunque, le esercitazioni non sono da considerarsi annullate, salvo diversa comunicazione da parte del docente o dell'esercitatore.",
+ },
+ {
+ value: "item-4",
+ trigger: "Per le lauree le lezioni sono sospese? ",
+ content:
+ "Spesso, la prima settimana, i Professori utilizzano le ore destinate alle esercitazioni per qualche ora di lezione in più: saranno quindi i docenti a specificare come verranno utilizzate queste ore. Dunque, le esercitazioni non sono da considerarsi annullate, salvo diversa comunicazione da parte del docente o dell'esercitatore.",
+ },
+ {
+ value: "item-5",
+ trigger: "Per le lauree le lezioni sono sospese? ",
+ content:
+ "Spesso, la prima settimana, i Professori utilizzano le ore destinate alle esercitazioni per qualche ora di lezione in più: saranno quindi i docenti a specificare come verranno utilizzate queste ore. Dunque, le esercitazioni non sono da considerarsi annullate, salvo diversa comunicazione da parte del docente o dell'esercitatore.",
+ },
+ ],
+ },
+]
+
+export function FaqsTabs() {
+ return (
+
+
+
+ {faqItems.map((item) => (
+
+
+
+ ))}
+
+
+
+ Guide
+ Esplora le Guide
+ >
+ }
+ className="w-full"
+ />
+
+ )
+}
diff --git a/src/components/tabs/tabs-list.tsx b/src/components/tabs/tabs-list.tsx
index 804ef07..5a8a09c 100644
--- a/src/components/tabs/tabs-list.tsx
+++ b/src/components/tabs/tabs-list.tsx
@@ -6,15 +6,23 @@ import { Glass } from "../glass"
export function TabsList({ className, children, ...props }: React.ComponentProps) {
return (
-
+
- {children}
+
+
+ {children}
+
+
-
+
)
}
diff --git a/src/components/ui/item.tsx b/src/components/ui/item.tsx
index 9ee61ab..6e9fe15 100644
--- a/src/components/ui/item.tsx
+++ b/src/components/ui/item.tsx
@@ -27,7 +27,13 @@ function ItemContent({ className, ...props }: React.ComponentProps<"div">) {
}
function ItemTitle({ className, ...props }: React.ComponentProps<"p">) {
- return
+ return (
+
+ )
}
function ItemActions({ className, ...props }: React.ComponentProps<"div">) {
diff --git a/src/styles/globals.css b/src/styles/globals.css
index 2086df8..2560003 100644
--- a/src/styles/globals.css
+++ b/src/styles/globals.css
@@ -31,3 +31,11 @@
margin-right: 0px !important;
}
}
+
+@media (max-width: 767px) {
+ /* max-md */
+ .scroll-fade-x {
+ mask-image: linear-gradient(to right, transparent, black 28px, black calc(100% - 36px), transparent);
+ -webkit-mask-image: linear-gradient(to right, transparent, black 28px, black calc(100% - 28px), transparent);
+ }
+}