add news to front page and move people to contact page

This commit is contained in:
elisejakob
2024-05-13 02:13:03 +02:00
parent 29cff800db
commit 80421b537a
6 changed files with 86 additions and 18 deletions

View File

@ -0,0 +1,20 @@
import { graphql } from "@/gql";
//import { NewsFragment } from "@/gql/graphql";
import { getClient } from "@/app/client";
import { NewsList } from "@/components/news/NewsList";
import Link from "next/link";
import { PageHeader } from "@/components/general/PageHeader";
import { PersonSection } from "@/components/people/PersonSection";
export default async function Page() {
return (
<main className="site-main" id="main">
<PageHeader
heading="Kontakt"
lead="Her er info om hvordan du kan kontakte oss og sånt."
/>
<PersonSection heading="Styret" />
<PersonSection heading="Administrasjonen" />
</main>
);
}

View File

@ -25,9 +25,8 @@ export default async function Home() {
<div> <div>
<FeaturedEvents events={events} /> <FeaturedEvents events={events} />
<UpcomingEvents events={events} /> <UpcomingEvents events={events} />
<NewsList heading="Siste nytt" limit={3} featured />
<blockquote>«Hvor Glæden hersker, er alltid Fest»</blockquote> <blockquote>«Hvor Glæden hersker, er alltid Fest»</blockquote>
<PersonSection heading="Styret" />
<PersonSection heading="Administrasjonen" />
</div> </div>
</main> </main>
); );

View File

@ -1,10 +1,16 @@
import styles from "./pageHeader.module.scss"; import styles from "./pageHeader.module.scss";
export const PageHeader = ({ heading }: { heading: string }) => { export const PageHeader = ({
heading,
lead,
}: {
heading: string;
lead?: string;
}) => {
return ( return (
<div className={styles.pageHeader}> <div className={styles.pageHeader}>
<h1 className={styles.title}>{heading}</h1> <h1 className={styles.title}>{heading}</h1>
<p className="lead">Lead</p> <p className="lead">{lead}</p>
</div> </div>
); );
}; };

View File

@ -122,7 +122,7 @@ export const Header = () => {
</Link> </Link>
</li> </li>
<li> <li>
<Link href="/" data-active={pathname === "/kontakt"}> <Link href="/kontakt" data-active={pathname === "/kontakt"}>
Kontakt Kontakt
</Link> </Link>
</li> </li>

View File

@ -1,18 +1,39 @@
import { NewsItem } from "./NewsItem"; import { NewsItem } from "./NewsItem";
import styles from "./newsList.module.scss"; import styles from "./newsList.module.scss";
export const NewsList = () => { export const NewsList = ({
heading,
featured,
limit,
}: {
heading: string;
featured: boolean;
limit: number;
}) => {
return ( return (
<ul className={styles.newsList}> <section className={styles.newsWrapper}>
<NewsItem /> {heading && <h2 className="suphead">{heading}</h2>}
<NewsItem /> <ul className={`${styles.newsList} ${featured && styles.featured}`}>
<NewsItem /> {limit === 3 ? (
<NewsItem /> <>
<NewsItem /> <NewsItem />
<NewsItem /> <NewsItem />
<NewsItem /> <NewsItem />
<NewsItem /> </>
<NewsItem /> ) : (
</ul> <>
<NewsItem />
<NewsItem />
<NewsItem />
<NewsItem />
<NewsItem />
<NewsItem />
<NewsItem />
<NewsItem />
<NewsItem />
</>
)}
</ul>
</section>
); );
}; };

View File

@ -1,9 +1,18 @@
.newsWrapper {
background: var(--color-background-secondary);
margin: 0 calc(var(--spacing-sitepadding)*-1);
padding: var(--spacing-sitepadding);
h2 {
margin-bottom: 1rem;
}
}
.newsList { .newsList {
display: grid; display: grid;
grid-template-columns: repeat(12, 1fr); grid-template-columns: repeat(12, 1fr);
column-gap: var(--spacing-gap-column); column-gap: var(--spacing-gap-column);
row-gap: var(--spacing-gap-row); row-gap: var(--spacing-gap-row);
padding-bottom: var(--spacing-section-bottom);
li { li {
grid-column: span 3; grid-column: span 3;
@ -31,4 +40,17 @@
} }
} }
} }
&.featured {
li {
&:nth-child(1),
&:nth-child(2),
&:nth-child(3),
&:nth-child(4),
&:nth-child(5) {
grid-column: span 4;
}
}
}
} }