new date list, event page progress
This commit is contained in:
@ -1,6 +1,7 @@
|
|||||||
import { getClient } from "@/app/client";
|
import { getClient } from "@/app/client";
|
||||||
import { Blocks } from "@/components/blocks/Blocks";
|
import { Blocks } from "@/components/blocks/Blocks";
|
||||||
import { DateList } from "@/components/events/DateList";
|
import { DateList } from "@/components/events/DateList";
|
||||||
|
import { DateListOld } from "@/components/events/DateListOld";
|
||||||
import { EventHeader } from "@/components/events/EventHeader";
|
import { EventHeader } from "@/components/events/EventHeader";
|
||||||
import { BgPig } from "@/components/general/BgPig";
|
import { BgPig } from "@/components/general/BgPig";
|
||||||
import { graphql } from "@/gql";
|
import { graphql } from "@/gql";
|
||||||
@ -54,6 +55,7 @@ export default async function Page({ params }: { params: { slug: string } }) {
|
|||||||
<EventHeader event={event} />
|
<EventHeader event={event} />
|
||||||
<section className="pageContent">
|
<section className="pageContent">
|
||||||
<DateList />
|
<DateList />
|
||||||
|
<DateListOld />
|
||||||
<Blocks blocks={event.body} />
|
<Blocks blocks={event.body} />
|
||||||
</section>
|
</section>
|
||||||
</main>
|
</main>
|
||||||
|
@ -3,7 +3,12 @@ import styles from "./dateList.module.scss";
|
|||||||
export const DateList = () => {
|
export const DateList = () => {
|
||||||
return (
|
return (
|
||||||
<div className={styles.dateWrapper}>
|
<div className={styles.dateWrapper}>
|
||||||
<h2 className="suphead">Kommende datoer</h2>
|
<h2 className="circlehead">
|
||||||
|
<span className="circle"></span>
|
||||||
|
<span className="circle"></span>
|
||||||
|
<span className="circle"></span>Kommende datoer{" "}
|
||||||
|
<span className="number">(4)</span>
|
||||||
|
</h2>
|
||||||
<ul className={styles.dateList}>
|
<ul className={styles.dateList}>
|
||||||
<li className={styles.date}>
|
<li className={styles.date}>
|
||||||
<div className={styles.time}>
|
<div className={styles.time}>
|
||||||
|
47
web/src/components/events/DateListOld.tsx
Normal file
47
web/src/components/events/DateListOld.tsx
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
import styles from "./dateListOld.module.scss";
|
||||||
|
|
||||||
|
export const DateListOld = () => {
|
||||||
|
return (
|
||||||
|
<div className={styles.dateWrapper}>
|
||||||
|
<h2 className="suphead">Kommende datoer (4)</h2>
|
||||||
|
<ul className={styles.dateList}>
|
||||||
|
<li className={styles.date}>
|
||||||
|
<div className={styles.time}>
|
||||||
|
<span>27/05/2024</span>
|
||||||
|
<span>18.00</span>
|
||||||
|
</div>
|
||||||
|
<div className={styles.venue}>
|
||||||
|
<span>Storsalen</span>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li className={styles.date}>
|
||||||
|
<div className={styles.time}>
|
||||||
|
<span>Mandag 27. mai 2024</span>
|
||||||
|
<span>kl. 18.00</span>
|
||||||
|
<div className={styles.venue}>
|
||||||
|
<span>i Storsalen</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li className={styles.date}>
|
||||||
|
<div className={styles.time}>
|
||||||
|
<span>27. mai 2024</span>
|
||||||
|
<span>kl. 18.00</span>
|
||||||
|
</div>
|
||||||
|
<div className={styles.venue}>
|
||||||
|
<span>Storsalen</span>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li className={styles.date}>
|
||||||
|
<div className={styles.venue}>
|
||||||
|
<span>Storsalen</span>
|
||||||
|
</div>
|
||||||
|
<div className={styles.time}>
|
||||||
|
<span>27.05.2024</span>
|
||||||
|
<span>18.00</span>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
};
|
@ -15,18 +15,9 @@ export const EventHeader = ({ event }: { event: EventFragment }) => {
|
|||||||
</span>
|
</span>
|
||||||
<h1 className={styles.title}>{event.title}</h1>
|
<h1 className={styles.title}>{event.title}</h1>
|
||||||
<div className={styles.details}>
|
<div className={styles.details}>
|
||||||
{event.facebookUrl && (
|
<p>Vise neste dato her?</p>
|
||||||
<a href={event.facebookUrl} className="button">
|
|
||||||
Gå til Facebook-event
|
|
||||||
</a>
|
|
||||||
)}
|
|
||||||
{event.ticketUrl && (
|
|
||||||
<a href={event.ticketUrl} className="button cta">
|
|
||||||
Kjøp billetter
|
|
||||||
</a>
|
|
||||||
)}
|
|
||||||
<div className={styles.prices}>
|
<div className={styles.prices}>
|
||||||
<h2>Pris</h2>
|
{/*<h2>Pris</h2>*/}
|
||||||
<ul className={styles.priceList}>
|
<ul className={styles.priceList}>
|
||||||
{!event.priceRegular &&
|
{!event.priceRegular &&
|
||||||
!event.priceStudent &&
|
!event.priceStudent &&
|
||||||
@ -55,6 +46,16 @@ export const EventHeader = ({ event }: { event: EventFragment }) => {
|
|||||||
)}
|
)}
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
{event.ticketUrl && (
|
||||||
|
<a href={event.ticketUrl} className="button cta">
|
||||||
|
Kjøp billetter
|
||||||
|
</a>
|
||||||
|
)}
|
||||||
|
{event.facebookUrl && (
|
||||||
|
<a href={event.facebookUrl} className="textLink">
|
||||||
|
Gå til Facebook-event
|
||||||
|
</a>
|
||||||
|
)}
|
||||||
{event.categories.length > 0 && (
|
{event.categories.length > 0 && (
|
||||||
<div>
|
<div>
|
||||||
Kategorier: {event.categories.map((x) => x.name).join(", ")}
|
Kategorier: {event.categories.map((x) => x.name).join(", ")}
|
||||||
|
@ -1,30 +1,18 @@
|
|||||||
.dateList {
|
.dateList {
|
||||||
list-style: none;
|
list-style: none;
|
||||||
margin: 1rem 0 var(--spacing-sitepadding);
|
margin: 0 calc(var(--spacing-sitepadding)*-1) calc(var(--spacing-sitepadding)*2);
|
||||||
|
padding: 0 var(--spacing-sitepadding);
|
||||||
display: flex;
|
display: flex;
|
||||||
gap: var(--spacing-gap-column);
|
gap: 1rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.date {
|
.date {
|
||||||
font-family: var(--font-serif);
|
font-family: var(--font-serif);
|
||||||
font-size: var(--font-size-lead);
|
font-size: var(--font-size-body);
|
||||||
margin-bottom: 1rem;
|
|
||||||
padding-left: 4rem;
|
|
||||||
position: relative;
|
position: relative;
|
||||||
min-height: 3.2rem;
|
|
||||||
line-height: 1.2;
|
line-height: 1.2;
|
||||||
|
border-right: var(--border);
|
||||||
&:before {
|
padding-right: 1rem;
|
||||||
content: "";
|
|
||||||
display: block;
|
|
||||||
width: 3.2rem;
|
|
||||||
height: 3.2rem;
|
|
||||||
border-radius: 100%;
|
|
||||||
background: var(--color-goldenBeige);
|
|
||||||
position: absolute;
|
|
||||||
left: 0;
|
|
||||||
top: 0;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.time {
|
.time {
|
||||||
|
38
web/src/components/events/dateListOld.module.scss
Normal file
38
web/src/components/events/dateListOld.module.scss
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
.dateList {
|
||||||
|
list-style: none;
|
||||||
|
background: var(--color-background-secondary);
|
||||||
|
margin: 1rem calc(var(--spacing-sitepadding)*-1);
|
||||||
|
padding: var(--spacing-sitepadding);
|
||||||
|
display: flex;
|
||||||
|
gap: var(--spacing-gap-column);
|
||||||
|
}
|
||||||
|
|
||||||
|
.date {
|
||||||
|
font-family: var(--font-serif);
|
||||||
|
font-size: var(--font-size-lead);
|
||||||
|
margin-bottom: 1rem;
|
||||||
|
padding-left: 4rem;
|
||||||
|
position: relative;
|
||||||
|
min-height: 3.2rem;
|
||||||
|
line-height: 1.2;
|
||||||
|
|
||||||
|
&:before {
|
||||||
|
content: "";
|
||||||
|
display: block;
|
||||||
|
width: 3.2rem;
|
||||||
|
height: 3.2rem;
|
||||||
|
border-radius: 100%;
|
||||||
|
background: var(--color-goldenBeige);
|
||||||
|
position: absolute;
|
||||||
|
left: 0;
|
||||||
|
top: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.time {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.venue {
|
||||||
|
font-style: italic;
|
||||||
|
}
|
@ -21,7 +21,49 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.details {
|
.details {}
|
||||||
font-family: var(--font-serif);
|
|
||||||
font-size: var(--font-size-lead);
|
.prices {
|
||||||
|
margin: 2rem 0 1rem;
|
||||||
|
|
||||||
|
h2 {
|
||||||
|
font-size: 1rem;
|
||||||
|
font-family: var(--font-main);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.priceList {
|
||||||
|
list-style: none;
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
|
||||||
|
.priceItem {
|
||||||
|
font-family: var(--font-serif);
|
||||||
|
font-size: var(--font-size-caption);
|
||||||
|
position: relative;
|
||||||
|
padding: 0 1.5rem 0 1rem;
|
||||||
|
|
||||||
|
&:after {
|
||||||
|
content: "/";
|
||||||
|
font-family: var(--font-serif);
|
||||||
|
font-size: 2rem;
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
right: 0;
|
||||||
|
line-height: 1.2;
|
||||||
|
}
|
||||||
|
|
||||||
|
&:first-child {
|
||||||
|
padding-left: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
&:last-child {
|
||||||
|
&:after {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.priceLabel {
|
||||||
|
display: block;
|
||||||
}
|
}
|
@ -166,6 +166,21 @@ input[type="text"] {
|
|||||||
transition: opacity var(--transition-easing);
|
transition: opacity var(--transition-easing);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.number {
|
||||||
|
font-family: var(--font-serif);
|
||||||
|
font-weight: 400;
|
||||||
|
}
|
||||||
|
|
||||||
|
.textLink {
|
||||||
|
font-family: var(--font-serif);
|
||||||
|
font-style: italic;
|
||||||
|
display: block;
|
||||||
|
|
||||||
|
&:after {
|
||||||
|
content: "→";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.hiddenLink {
|
.hiddenLink {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 0;
|
top: 0;
|
||||||
|
Reference in New Issue
Block a user