From ba4a4b394103a23aade864a997e6dcf397d4eff9 Mon Sep 17 00:00:00 2001 From: elisejakob Date: Wed, 15 May 2024 00:32:05 +0200 Subject: [PATCH] misc design progress and testing --- web/src/app/kontakt/page.tsx | 2 + web/src/app/praktisk/page.tsx | 30 ++++++++++ web/src/app/utleie/page.tsx | 4 ++ web/src/components/contact/ContactInfo.tsx | 22 ++++++++ .../contact/contactInfo.module.scss | 28 ++++++++++ web/src/components/events/EventHeader.tsx | 56 ++++++++++++++++--- web/src/components/events/UpcomingEvents.tsx | 6 +- .../components/events/eventItem.module.scss | 5 ++ .../events/upcomingEvents.module.scss | 29 +++++++++- web/src/components/layout/Header.tsx | 4 +- web/src/components/layout/footer.module.scss | 2 + web/src/components/people/PersonSection.tsx | 5 ++ .../people/personSection.module.scss | 6 +- web/src/css/base.scss | 33 ++++++++++- web/src/css/variables.scss | 2 +- 15 files changed, 217 insertions(+), 17 deletions(-) create mode 100644 web/src/app/praktisk/page.tsx create mode 100644 web/src/components/contact/ContactInfo.tsx create mode 100644 web/src/components/contact/contactInfo.module.scss diff --git a/web/src/app/kontakt/page.tsx b/web/src/app/kontakt/page.tsx index 25d87e9..37360d2 100644 --- a/web/src/app/kontakt/page.tsx +++ b/web/src/app/kontakt/page.tsx @@ -5,6 +5,7 @@ import { NewsList } from "@/components/news/NewsList"; import Link from "next/link"; import { PageHeader } from "@/components/general/PageHeader"; import { PersonSection } from "@/components/people/PersonSection"; +import { ContactInfo } from "@/components/contact/ContactInfo"; export default async function Page() { return ( @@ -13,6 +14,7 @@ export default async function Page() { heading="Kontakt" lead="Her er info om hvordan du kan kontakte oss og sånt." /> + diff --git a/web/src/app/praktisk/page.tsx b/web/src/app/praktisk/page.tsx new file mode 100644 index 0000000..123bc61 --- /dev/null +++ b/web/src/app/praktisk/page.tsx @@ -0,0 +1,30 @@ +import { graphql } from "@/gql"; +//import { NewsFragment } from "@/gql/graphql"; +import { getClient } from "@/app/client"; +import Link from "next/link"; +import { PageHeader } from "@/components/general/PageHeader"; +import { IconListBlock } from "@/components/blocks/IconListBlock"; + +export default async function Page() { + return ( +
+ +

Velkommen til oss!

+
+ Hopp til: +
    +
  • + +
  • +
  • + +
  • +
  • + +
  • +
+
+ +
+ ); +} diff --git a/web/src/app/utleie/page.tsx b/web/src/app/utleie/page.tsx index 6064aa4..c557388 100644 --- a/web/src/app/utleie/page.tsx +++ b/web/src/app/utleie/page.tsx @@ -4,6 +4,7 @@ import { getClient } from "@/app/client"; import { VenueList } from "@/components/venues/VenueList"; import Link from "next/link"; import { PageHeader } from "@/components/general/PageHeader"; +import { Pig } from "@/components/general/Pig"; const VenueFragmentDefinition = graphql(` fragment Venue on VenuePage { @@ -55,6 +56,9 @@ export default async function Page() {
+
+ +
); } diff --git a/web/src/components/contact/ContactInfo.tsx b/web/src/components/contact/ContactInfo.tsx new file mode 100644 index 0000000..9350576 --- /dev/null +++ b/web/src/components/contact/ContactInfo.tsx @@ -0,0 +1,22 @@ +import styles from "./contactInfo.module.scss"; + +export const ContactInfo = () => { + return ( +
+ +
+ ); +}; diff --git a/web/src/components/contact/contactInfo.module.scss b/web/src/components/contact/contactInfo.module.scss new file mode 100644 index 0000000..0a57197 --- /dev/null +++ b/web/src/components/contact/contactInfo.module.scss @@ -0,0 +1,28 @@ +.contactInfo { + margin: 0 calc(var(--spacing-sitepadding)*-1); + padding: var(--spacing-sitepadding) var(--spacing-sitepadding) var(--spacing-section-bottom); + background: var(--color-background-secondary); + + ul { + display: grid; + grid-template-columns: repeat(3, 1fr); + column-gap: var(--spacing-gap-column); + row-gap: var(--spacing-gap-row); + } +} + +.contactItem { + list-style: none; + + strong { + display: block; + font-size: var(--font-size-caption); + } + + a { + display: block; + font-family: var(--font-serif); + font-size: var(--font-size-lead); + color: var(--color-deepBrick); + } +} \ No newline at end of file diff --git a/web/src/components/events/EventHeader.tsx b/web/src/components/events/EventHeader.tsx index d1ea306..5072d1c 100644 --- a/web/src/components/events/EventHeader.tsx +++ b/web/src/components/events/EventHeader.tsx @@ -2,22 +2,62 @@ import { EventCategory, EventFragment } from "@/lib/event"; import styles from "./eventHeader.module.scss"; import Image from "@/components/general/Image"; import { Pig } from "../general/Pig"; +import Link from "next/link"; export const EventHeader = ({ event }: { event: EventFragment }) => { return (
+ + Arrangement +

{event.title}

-
Facebook: {event.facebookUrl}
-
Billettlenke: {event.ticketUrl}
-
Ordinær pris: {event.priceRegular}
-
Studentpris: {event.priceStudent}
-
Medlemspris: {event.priceMember}
-
- Kategorier:{" "} - {event.categories && event.categories.map((x) => x.name).join(", ")} + {event.facebookUrl && ( + + Gå til Facebook-event + + )} + {event.ticketUrl && ( + + Kjøp billetter + + )} +
+

Pris

+
    + {!event.priceRegular && + !event.priceStudent && + !event.priceMember && ( +
  • + Gratis +
  • + )} + {event.priceRegular && ( +
  • + Ordinær:{" "} + {event.priceRegular} kr +
  • + )} + {event.priceStudent && ( +
  • + Student:{" "} + {event.priceStudent} kr +
  • + )} + {event.priceMember && ( +
  • + Medlem:{" "} + {event.priceMember} kr +
  • + )} +
+ {event.categories.length > 0 && ( +
+ Kategorier: {event.categories.map((x) => x.name).join(", ")} +
+ )}
diff --git a/web/src/components/events/UpcomingEvents.tsx b/web/src/components/events/UpcomingEvents.tsx index c6ddf85..74a1919 100644 --- a/web/src/components/events/UpcomingEvents.tsx +++ b/web/src/components/events/UpcomingEvents.tsx @@ -8,11 +8,13 @@ export const UpcomingEvents = ({ events }: { events: EventFragment[] }) => {

Denne uka på Chateau Neuf

    - {events.map((event) => ( + {events.slice(0, 3).map((event) => ( ))}
  • - Vis kalender → +
    + Vis kalender → +
diff --git a/web/src/components/events/eventItem.module.scss b/web/src/components/events/eventItem.module.scss index 447422a..29520c6 100644 --- a/web/src/components/events/eventItem.module.scss +++ b/web/src/components/events/eventItem.module.scss @@ -14,11 +14,16 @@ display: grid; grid-template-columns: 1fr 2fr; column-gap: .6rem; + align-items: center; .title, .details { font-size: 1rem; } + + .image { + padding-top: 100%; + } } } diff --git a/web/src/components/events/upcomingEvents.module.scss b/web/src/components/events/upcomingEvents.module.scss index 3a87983..db4c231 100644 --- a/web/src/components/events/upcomingEvents.module.scss +++ b/web/src/components/events/upcomingEvents.module.scss @@ -1,6 +1,6 @@ .upcomingWrapper { background: var(--color-deepBrick); - color: var(--color-betongGray); + color: var(--color-goldenBeige); margin: 0 calc(var(--spacing-sitepadding)*-1); padding: var(--spacing-sitepadding); @@ -13,9 +13,34 @@ display: grid; grid-template-columns: repeat(4, 1fr); list-style: none; + align-items: center; li { - border-right: var(--border); + //border-right: var(--border); margin-right: .6rem; + padding-right: 1rem; + + &:last-child { + border: none; + } + + // testing testing + &:first-child { + + >div:first-child { + border-radius: 50%; + } + + img { + display: none; + } + } } +} + +.calendarLink { + text-align: center; + font-family: var(--font-serif); + font-style: italic; + font-size: var(--font-size-lead); } \ No newline at end of file diff --git a/web/src/components/layout/Header.tsx b/web/src/components/layout/Header.tsx index 8e076fc..6e2c85d 100644 --- a/web/src/components/layout/Header.tsx +++ b/web/src/components/layout/Header.tsx @@ -65,7 +65,7 @@ export const Header = () => {
  • - + Praktisk info
  • @@ -99,7 +99,7 @@ export const Header = () => {
  • - + Praktisk info
  • diff --git a/web/src/components/layout/footer.module.scss b/web/src/components/layout/footer.module.scss index 54a5ad6..6c2502f 100644 --- a/web/src/components/layout/footer.module.scss +++ b/web/src/components/layout/footer.module.scss @@ -4,6 +4,8 @@ align-items: flex-end; padding: var(--spacing-sitepadding); background: var(--color-background-secondary); + position: relative; + z-index: 700; button { font-size: var(--font-size-caption); diff --git a/web/src/components/people/PersonSection.tsx b/web/src/components/people/PersonSection.tsx index 2dbb70c..76cd5e9 100644 --- a/web/src/components/people/PersonSection.tsx +++ b/web/src/components/people/PersonSection.tsx @@ -5,6 +5,11 @@ export const PersonSection = ({ heading }: { heading: string }) => { return (

    {heading}

    +

    + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris + tristique rutrum nibh quis feugiat. Sed nisl ante, suscipit at justo ac, + elementum interdum justo. Sed sed mi sit amet nibh molestie lacinia.{" "} +

    ); diff --git a/web/src/components/people/personSection.module.scss b/web/src/components/people/personSection.module.scss index bf87a01..3e978cc 100644 --- a/web/src/components/people/personSection.module.scss +++ b/web/src/components/people/personSection.module.scss @@ -13,5 +13,9 @@ } .heading { - margin: 2rem 0; + margin: 0 0 1.6rem; +} + +.intro { + margin-bottom: 3rem; } \ No newline at end of file diff --git a/web/src/css/base.scss b/web/src/css/base.scss index 970c729..c3b33b3 100644 --- a/web/src/css/base.scss +++ b/web/src/css/base.scss @@ -50,11 +50,18 @@ body { a { color: inherit; - text-underline-offset: .1rem; + text-underline-offset: .16em; + text-decoration-thickness: .05em; + transition: opacity var(--transition-easing); + + &:hover { + opacity: .6; + } } p { font-size: var(--font-size-body); + max-width: 36em; &.lead { font-size: var(--font-size-lead); @@ -86,6 +93,16 @@ h6 { letter-spacing: .05em; } +.breadcrumb { + display: block; + font-weight: 500; + margin-bottom: 1rem; + + a { + text-decoration: none; + } +} + button, .button { border-radius: 10rem; @@ -96,12 +113,17 @@ button, font-family: inherit; font-size: var(--font-size-body); font-weight: 500; + text-decoration: none; transition: opacity var(--transition-easing); cursor: pointer; &:hover { opacity: .8; } + + a { + text-decoration: none; + } } blockquote { @@ -125,6 +147,7 @@ input[type="text"] { .site-main { padding: var(--spacing-sitepadding); + min-height: 100vh; } .hiddenLink { @@ -151,4 +174,12 @@ input[type="text"] { &:has(:focus-visible) { box-shadow: 0 0 0 1px var(--color-background), 0 0 0 3px var(--color-green-dark); } +} + +.bg-pig { + position: fixed; + bottom: 0; + right: 0; + z-index: 600; + --color-pig: var(--color-neufPink); } \ No newline at end of file diff --git a/web/src/css/variables.scss b/web/src/css/variables.scss index 5388ca2..88fd755 100644 --- a/web/src/css/variables.scss +++ b/web/src/css/variables.scss @@ -36,7 +36,7 @@ --spacing-sitepadding: 2rem; --spacing-gap-column: 2rem; --spacing-gap-row: 1.5rem; - --spacing-section-bottom: 5rem; + --spacing-section-bottom: 3rem; // animations --transition-easing: .3s ease;