diff --git a/web/src/components/events/EventContainer.tsx b/web/src/components/events/EventContainer.tsx
index 79bfa29..8429d16 100644
--- a/web/src/components/events/EventContainer.tsx
+++ b/web/src/components/events/EventContainer.tsx
@@ -82,18 +82,19 @@ export const EventContainer = ({
Filtering on a venue with no upcoming events will work,
and in that case it's included in the dropdown
*/
- const venueSlugsWithUpcomingEvents = events
- .map((x) => x.occurrences)
- .flat()
- .filter((x) => x.venue?.__typename === "VenuePage")
- .map((x) => x.venue?.slug)
- .filter((x) => typeof x === "string");
+ const venueSlugsWithUpcomingEvents = unique(
+ events
+ .map((x) => x.occurrences)
+ .flat()
+ .filter((x) => x.venue?.__typename === "VenuePage")
+ .map((x) => x.venue?.slug)
+ .filter((x) => typeof x === "string")
+ );
const filterableVenues = venues
- .map((x) =>
- venues.find(
- (haystack) => haystack.slug === x.slug || haystack.slug === venue
- )
+ .filter(
+ (x) => venueSlugsWithUpcomingEvents.includes(x.slug) || x.slug === venue
)
+ .map((x) => venues.find((haystack) => haystack.slug === x.slug))
.filter((x) => x !== undefined) as VenueFragment[];
const filteredEvents = events
@@ -186,6 +187,11 @@ export const EventContainer = ({
};
const EventList = ({ events }: { events: EventFragment[] }) => {
+ if (events.length === 0) {
+ return (
+
Ingen kommende arrangementer.
+ );
+ }
return (
{events.map((event) => (
diff --git a/web/src/components/events/EventFilter.tsx b/web/src/components/events/EventFilter.tsx
index 6566a3b..362be5a 100644
--- a/web/src/components/events/EventFilter.tsx
+++ b/web/src/components/events/EventFilter.tsx
@@ -123,11 +123,13 @@ export const EventFilterExplained = ({
let text = "";
if (category && organizer && venue) {
- text = `${category.name} arrangert av ${organizer.name} ${venue.preposition} ${venue.title}`;
+ text = `${category.name} av ${organizer.name} ${venue.preposition} ${venue.title}`;
} else if (category && organizer) {
- text = `${category.name} arrangert av ${organizer.name}`;
+ text = `${category.name} av ${organizer.name}`;
+ } else if (category && venue) {
+ text = `${category.name} ${venue.preposition} ${venue.title}`;
} else if (category) {
- text = `Kategori: ${category.name}`;
+ text = `${category.name}`;
} else if (organizer && venue) {
text = `Arrangeres av ${organizer.name} ${venue.preposition} ${venue.title}`;
} else if (organizer) {
diff --git a/web/src/components/events/eventContainer.module.scss b/web/src/components/events/eventContainer.module.scss
index d1180de..935dfb7 100644
--- a/web/src/components/events/eventContainer.module.scss
+++ b/web/src/components/events/eventContainer.module.scss
@@ -2,6 +2,10 @@
//margin: calc(var(--spacing-sitepadding-block)*-1) calc(var(--spacing-sitepadding-inline)*-1);
}
+.noEvents {
+ padding-bottom: var(--spacing-sitepadding-block);
+}
+
.eventList {
padding: var(--spacing-sitepadding-block) 0;
display: grid;