add event header component and the first pig
This commit is contained in:
35
web/src/components/events/EventHeader.tsx
Normal file
35
web/src/components/events/EventHeader.tsx
Normal file
@ -0,0 +1,35 @@
|
||||
import { EventFragment } from "@/gql/graphql";
|
||||
import styles from "./eventHeader.module.scss";
|
||||
import Image from "@/components/general/Image";
|
||||
import { Pig } from "../general/Pig";
|
||||
|
||||
export const EventHeader = ({ event }: { event: EventFragment }) => {
|
||||
return (
|
||||
<div className={styles.eventHeader}>
|
||||
<div className={styles.text}>
|
||||
<h1 className={styles.title}>{event.title}</h1>
|
||||
<div className={styles.details}>
|
||||
<div>Facebook: {event.facebookUrl}</div>
|
||||
<div>Billettlenke: {event.ticketUrl}</div>
|
||||
<div>Ordinær pris: {event.priceRegular}</div>
|
||||
<div>Studentpris: {event.priceStudent}</div>
|
||||
<div>Medlemspris: {event.priceMember}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div className={styles.image}>
|
||||
{event.featuredImage && (
|
||||
<Image
|
||||
src={event.featuredImage.url}
|
||||
alt=""
|
||||
width={event.featuredImage.width}
|
||||
height={event.featuredImage.height}
|
||||
sizes="100vw"
|
||||
/>
|
||||
)}
|
||||
<div className={styles.pig}>
|
||||
<Pig type="logo" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
};
|
32
web/src/components/events/eventHeader.module.scss
Normal file
32
web/src/components/events/eventHeader.module.scss
Normal file
@ -0,0 +1,32 @@
|
||||
.eventHeader {
|
||||
position: relative;
|
||||
display: grid;
|
||||
grid-template-columns: repeat(3, 1fr);
|
||||
column-gap: var(--spacing-gap-column);
|
||||
align-items: flex-end;
|
||||
padding: 0 0 var(--spacing-sitepadding) 0;
|
||||
}
|
||||
|
||||
.title {
|
||||
font-size: var(--font-size-h1);
|
||||
}
|
||||
|
||||
.image {
|
||||
grid-column: span 2;
|
||||
|
||||
img {
|
||||
max-width: 100%;
|
||||
height: auto;
|
||||
}
|
||||
}
|
||||
|
||||
.details {
|
||||
font-family: var(--font-serif);
|
||||
}
|
||||
|
||||
.pig {
|
||||
position: absolute;
|
||||
bottom: -30%;
|
||||
right: -2.5rem;
|
||||
color: var(--color-white);
|
||||
}
|
19
web/src/components/general/Pig.tsx
Normal file
19
web/src/components/general/Pig.tsx
Normal file
@ -0,0 +1,19 @@
|
||||
import styles from "./pig.module.scss";
|
||||
import { LogoPig } from "./pigs/LogoPig";
|
||||
|
||||
export const Pig = ({
|
||||
type,
|
||||
}: {
|
||||
type:
|
||||
| "logo"
|
||||
| "music"
|
||||
| "point"
|
||||
| "student"
|
||||
| "dance"
|
||||
| "listen"
|
||||
| "drink"
|
||||
| "guard"
|
||||
| "peek";
|
||||
}) => {
|
||||
return <div className={styles.pig}>{type === "logo" && <LogoPig />}</div>;
|
||||
};
|
8
web/src/components/general/pig.module.scss
Normal file
8
web/src/components/general/pig.module.scss
Normal file
@ -0,0 +1,8 @@
|
||||
.pig {
|
||||
color: var(--color-pig);
|
||||
width: 16rem;
|
||||
|
||||
svg {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
50
web/src/components/general/pigs/LogoPig.tsx
Normal file
50
web/src/components/general/pigs/LogoPig.tsx
Normal file
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user