StampyAI / AISafety.com

Issue tracker for AISafety.com
0 stars 0 forks source link

/communities: Filters don't work #18

Closed plexish closed 3 months ago

plexish commented 4 months ago

Communities page: None of the filters appear to be functional.

melissasamworth commented 4 months ago

update: Nemo's other fix should fix this too

mruwnik commented 3 months ago

there doesn't seem to be information about whether a given community is online or in person in the webflow database

melissasamworth commented 3 months ago

@mruwnik

image

?

mruwnik commented 3 months ago

this is the important bit: image

I'm guessing that the thing that copies stuff over from airflow skipped that column

melissasamworth commented 3 months ago

@mruwnik ah okay okay. Sorry yeah, the Webflow database doesn't have the info. The airtable database does. The problem is probably with Whalesync.

@soerenelverlin can I name you official owner of whalesync and assign this to you to fix before nemo does his thing?

soerenelverlin commented 3 months ago

I've added the location information (Online/In Person) to webflow, and synced it over. I've also made the filter work with this. I've also ensured that the two featured cards (LessWrong and AI Alignment Slack) never show up in the lower part, no matter what is searched for. All the filters now appears to be functional (fixed a couple of typos). I've also changed the default state of the checkbox to what I feel is most likely to be useful.

Perhaps controversially, I've changed the behavior when nothing is selected, or data is missing: Previously the code was: (!settings.platform?.length || !card.dataset.platforms || haveSame(settings.platform, card.dataset.platforms.split(', '))) && The first part !settings.platform?.length returned true if the user unselected all checkboxes. I think in this (somewhat non-sensical) case, what you would expect is that no results are returned. The second clauses (!card.dataset.platforms ) meant that if cards.dataset.platforms was missing it was always shown. I think corrupt data should be hidden, rather than visible. The code is now: (settings?.platform?.length > 0 && card.dataset.platforms && settings.platform.includes(card.dataset.platforms)) &&

soerenelverlin commented 3 months ago

Closed.

melissasamworth commented 3 months ago

@soerenelverlin wow thanks, looks great.

Re the last point: it's counterintuitive but the way filters work on websites is that by default, before a user has interacted with them, nothing checked means everything shows. As an actual user it is actually intuitive.