Implement basic talks filter based on language and kind
https://github.com/user-attachments/assets/df76062a-42aa-4de2-96f9-bdcb026abec7
I like it very much
One concern is that it introduce a new custom kind of button. I now from experience that it is very easy to end up with UI having 10s of variation of buttons and color very quickly. I understand that our set of buttons might not be perfect as they are but I would prefer that we keep consistent sets of buttons across all screens. This will make it easier to improve our overall design down the road
To get something closer to what you had, I made those changes
themes: [
{
rubyvideoLight: {
...defaultTheme,
'--btn-text-case': 'none',
primary: '#DC143C',
'primary-content': '#ffffff',
secondary: '#7A4EC2',
'secondary-content': '#ffffff',
accent: '#1DA1F2',
'accent-content': '#ffffff',
neutral: '#261B23',
'neutral-content': '#ffffff',
'base-100': '#F8F9FA',
+ '--rounded-btn': '999px'
// 'base-content': '#2F2F2F'
// 'base-100': '#ffffff',
// info: '#3abff8',
// success: '#36d399',
// warning: '#fbbd23',
// error: '#f87272'
}
}
<% classes = "btn btn-sm btn-outline" %>
<% active_classes = "btn-primary btn-active" %>
then in a subsequent PR we could explore what should be our default button for tool bars, outlined with a gray border like you proposed looked great
Given #433, I wonder if we should introduce some js filters vs having more global talks filters solution.
We could imagine to have in the events#show page a turbo frame with src=/talks?event=event-slug. This would somehow enable filtering/sorting in all talks grid views (speakers, topics, events)
I'll rebase this one as soon as have #468 merged in 👍🏼
#468 is merged so you can rebase this one.
I think we can go ahead with it like that now but down the road I think the filters can be a backend functionality.
given #433 and the exploratory work in #440 I will try to see if we could have a way to easily embed in a page a grid of talks with some filtering capability so that filters can be available everywhere (topics, event, speakers) and independent of the pagination.
but once again that can be done after this PR is already a great improvement