feat: add initial version of Loyalty Overview Table
This commit is contained in:
@@ -1,3 +1,143 @@
|
||||
"use client"
|
||||
|
||||
import { useState } from "react"
|
||||
|
||||
import { _ } from "@/lib/translation"
|
||||
|
||||
import CheckCircle from "@/components/Icons/CheckCircle"
|
||||
import ChevronDown from "@/components/Icons/ChevronDown"
|
||||
import Image from "@/components/Image"
|
||||
import Title from "@/components/Title"
|
||||
|
||||
import styles from "./overviewTable.module.css"
|
||||
|
||||
export default function OverviewTable() {
|
||||
return <div></div>
|
||||
const options = [
|
||||
{ value: "a", label: "a" },
|
||||
{ value: "b", label: "b" },
|
||||
]
|
||||
return (
|
||||
<div className={styles.container}>
|
||||
<Title
|
||||
as="h1"
|
||||
level="h1"
|
||||
className={styles.title}
|
||||
weight="semiBold"
|
||||
uppercase
|
||||
>
|
||||
{_("7 delightful levels of friendship")}
|
||||
</Title>
|
||||
<div>
|
||||
<p className={styles.preamble}>
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
|
||||
eiusmod tempor incididunt ut labore et dolore magna aliqua. Arcu risus
|
||||
quis varius quam quisque id diam vel. Rhoncus urna neque viverra
|
||||
justo. Mattis aliquam faucibus purus in massa. Id cursus metus aliquam
|
||||
eleifend mi in nulla posuere.
|
||||
</p>
|
||||
</div>
|
||||
<div className={styles.columns}>
|
||||
<div className={styles.leftColumn} />
|
||||
<div className={styles.rightColumn} />
|
||||
<div className={styles.columnHeaderContainer}>
|
||||
<div className={styles.columnHeader}>
|
||||
<Select options={options} />
|
||||
<LevelSummary level={"1"} />
|
||||
</div>
|
||||
<div className={styles.columnHeader}>
|
||||
<Select options={options} />
|
||||
<LevelSummary level={"2"} />
|
||||
</div>
|
||||
</div>
|
||||
<PerkCard />
|
||||
<PerkCard />
|
||||
<PerkCard />
|
||||
<PerkCard />
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
type SelectProps = {
|
||||
options: {
|
||||
label: string
|
||||
value: string
|
||||
}[]
|
||||
}
|
||||
|
||||
function Select({ options }: SelectProps) {
|
||||
console.log({ options })
|
||||
return (
|
||||
<div className={styles.selectContainer}>
|
||||
<select className={styles.select}>
|
||||
{options.map((option) => (
|
||||
<option key={option.label} value={option.value}>
|
||||
{option.label}
|
||||
</option>
|
||||
))}
|
||||
</select>
|
||||
<label className={styles.selectLabel} htmlFor="">
|
||||
{_("Level")}
|
||||
</label>
|
||||
<span className={styles.selectChevron}>
|
||||
<ChevronDown />
|
||||
</span>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
function LevelSummary({ level }: { level: string }) {
|
||||
return (
|
||||
<div className={styles.levelSummary}>
|
||||
<Image
|
||||
src="/_static/icons/loyaltylevels/new-friend.svg"
|
||||
alt="level"
|
||||
height={50}
|
||||
width={100}
|
||||
/>
|
||||
<span className={styles.levelRequirements}>10 000p or X nights</span>
|
||||
<p className={styles.levelSummaryText}>
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
|
||||
tempor incididunt ut labore et dolore magna aliqua. Arcu risus quis
|
||||
varius quam quisque id diam vel. Rhoncus urna neque viverra justo.
|
||||
Mattis aliquam faucibus purus in massa. Id cursus metus aliquam eleifend
|
||||
mi in nulla posuere.
|
||||
</p>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
function PerkCard() {
|
||||
const [isExpanded, setIsExpanded] = useState(false)
|
||||
return (
|
||||
<div className={styles.perkCard}>
|
||||
<div className={styles.perkInfo}>
|
||||
<details className={styles.details}>
|
||||
<summary className={styles.summary}>
|
||||
<hgroup className={styles.perkCardHeader}>
|
||||
<Title as="h5" level="h2" className={styles.perkCardTitle}>
|
||||
title
|
||||
</Title>
|
||||
<span className={styles.chevron}>
|
||||
<ChevronDown />
|
||||
</span>
|
||||
</hgroup>
|
||||
</summary>
|
||||
<p className={styles.perkCardDescription}>
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
|
||||
eiusmod tempor incididunt ut labore et dolore magna aliqua. Sed
|
||||
adipiscing diam donec adipiscing tristique risus nec feugiat.
|
||||
</p>
|
||||
</details>
|
||||
</div>
|
||||
<div className={styles.perkComparison}>
|
||||
<div className={styles.comparisonItem}>
|
||||
<CheckCircle />
|
||||
</div>
|
||||
<div className={styles.comparisonItem}>
|
||||
<CheckCircle />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user