diff --git a/web/src/components/news/NewsList.tsx b/web/src/components/news/NewsList.tsx index 4ebe5f4..a5c03e9 100644 --- a/web/src/components/news/NewsList.tsx +++ b/web/src/components/news/NewsList.tsx @@ -1,3 +1,5 @@ +"use client" +import { useState } from "react"; import { SectionHeader } from "../general/SectionHeader"; import { NewsItem } from "./NewsItem"; import styles from "./newsList.module.scss"; @@ -6,15 +8,16 @@ import { NewsFragment } from "@/lib/news"; export const NewsList = ({ news, heading, - featured, - limit, + featured }: { news: NewsFragment[]; heading?: string; featured?: boolean; - limit?: number; }) => { - const filteredNews = limit ? news.slice(0, limit) : news; + const [limit, setLimit] = useState(17); + function increaseLimit() { + setLimit(limit + 16); + } return (
@@ -22,10 +25,17 @@ export const NewsList = ({ )} + {limit && news.length > limit && ( +
+ +
+ )}
); }; diff --git a/web/src/components/news/newsList.module.scss b/web/src/components/news/newsList.module.scss index 63b713a..4c81579 100644 --- a/web/src/components/news/newsList.module.scss +++ b/web/src/components/news/newsList.module.scss @@ -54,6 +54,11 @@ } } +.showMore { + margin-top: var(--spacing-s); + text-align: center; +} + @media (max-width: 900px) { .newsList, .newsList.featured { li {