Skip to content

Conversation

@danrparker
Copy link
Contributor

Description

This pull request introduces a significant enhancement to the events component by adding a view mode toggle that allows users to switch between a traditional list view and a new timetable (calendar) view. It also improves filtering and search capabilities for both views, ensures consistent loading states, and refines the UI for better usability.

Major features and improvements:

Event View Modes and UI:

  • Added a toggle button in events.ce.vue to switch between "List View" and "Timetable View", with visual cues for the active view. The timetable is rendered using the new EventTimetable component. [1] [2]
  • Updated the display logic so that pagination and loading states are handled appropriately for each view.
  • Ensured the "Short View" mode continues to work as before, showing a condensed event list.

EventTimetable Component Enhancements:

  • Added support for filtering events by group, venue, category, and search term, with debounced search to avoid excessive API calls. These filters are now reactive and trigger a refresh of the timetable when changed. [1] [2]
  • Improved the timetable's event fetching logic to include all active filters and search terms, and to only apply the search filter when the term is at least two characters.
  • Added cleanup for the search debounce timer on component unmount.

UI and Styling:

  • Updated the timetable event styling to use the application's "mustard" color for upcoming events, improving visual consistency.
  • Registered new FontAwesome icons for the view toggle buttons.

Other Improvements:

  • Improved the search filter in the events list to only trigger when the search term is at least two characters, reducing unnecessary filtering.
  • Added new stories for the EventTimetable component to showcase different configurations.

Checklist

  • I accept the contributor license agreement for this repository.
  • All active GitHub checks for tests, formatting, and security are passing.
  • The correct base branch is being used (if not main).
  • A GitHub issue or linear task is linked to this pull request.

@danrparker danrparker requested a review from a team as a code owner October 7, 2025 11:10
@linear
Copy link

linear bot commented Oct 7, 2025

@danrparker danrparker enabled auto-merge October 7, 2025 11:10
@cloudflare-workers-and-pages
Copy link

Deploying website-storybook with  Cloudflare Pages  Cloudflare Pages

Latest commit: f6c2903
Status: ✅  Deploy successful!
Preview URL: https://e6495541.vue-3-components.pages.dev
Branch Preview URL: https://dparker-web-535.vue-3-components.pages.dev

View logs

@danrparker danrparker merged commit a0b0f3b into main Oct 7, 2025
8 checks passed
@danrparker danrparker deleted the dparker/web-535 branch October 7, 2025 12:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants