From c26752d8c1ab07876ccccf5228a00e9049f4cc8c Mon Sep 17 00:00:00 2001 From: Justin Edmund Date: Fri, 30 Jun 2023 12:25:33 -0700 Subject: [PATCH] Fix search filters * Update styles for all search filters * Make search filters function better on mobile * Small refactor on individual filter bar files to extract individual search filter rendering into variables --- .../index.module.scss | 11 + .../CharacterSearchFilterBar/index.tsx | 179 +++++------ .../JobSkillSearchFilterBar/index.module.scss | 6 + .../job/JobSkillSearchFilterBar/index.tsx | 7 +- .../search/SearchFilter/index.module.scss | 90 ++++-- components/search/SearchFilter/index.tsx | 27 +- .../index.module.scss | 6 +- .../search/SearchFilterCheckboxItem/index.tsx | 4 +- .../SummonSearchFilterBar/index.module.scss | 11 + .../summon/SummonSearchFilterBar/index.tsx | 111 +++---- .../WeaponSearchFilterBar/index.module.scss | 11 + .../weapon/WeaponSearchFilterBar/index.tsx | 289 ++++++++---------- 12 files changed, 386 insertions(+), 366 deletions(-) diff --git a/components/character/CharacterSearchFilterBar/index.module.scss b/components/character/CharacterSearchFilterBar/index.module.scss index e69de29b..e16a6293 100644 --- a/components/character/CharacterSearchFilterBar/index.module.scss +++ b/components/character/CharacterSearchFilterBar/index.module.scss @@ -0,0 +1,11 @@ +.filterBar { + display: flex; + gap: $unit; + padding: $unit-half $unit-3x; + + @include breakpoint(phone) { + display: grid; + gap: $unit; + grid-template-columns: 1fr 1fr; + } +} diff --git a/components/character/CharacterSearchFilterBar/index.tsx b/components/character/CharacterSearchFilterBar/index.tsx index 47697364..7c67ac13 100644 --- a/components/character/CharacterSearchFilterBar/index.tsx +++ b/components/character/CharacterSearchFilterBar/index.tsx @@ -144,121 +144,90 @@ const CharacterSearchFilterBar = (props: Props) => { return ( - {`${t( - 'filters.labels.proficiency' - )} ${proficiency}`} -
- - {Array.from(Array(proficiencies.length / 2)).map((x, i) => { - const checked = - proficiency == 1 - ? proficiency1State[proficiencies[i]].checked - : proficiency2State[proficiencies[i]].checked + {Array.from(Array(proficiencies.length)).map((x, i) => { + const checked = + proficiency == 1 + ? proficiency1State[proficiencies[i]].checked + : proficiency2State[proficiencies[i]].checked - return ( - - {t(`proficiencies.${proficiencies[i]}`)} - - ) - })} - - - {Array.from(Array(proficiencies.length / 2)).map((x, i) => { - const checked = - proficiency == 1 - ? proficiency1State[ - proficiencies[i + proficiencies.length / 2] - ].checked - : proficiency2State[ - proficiencies[i + proficiencies.length / 2] - ].checked - - return ( - - {t( - `proficiencies.${ - proficiencies[i + proficiencies.length / 2] - }` - )} - - ) - })} - -
+ return ( + + {t(`proficiencies.${proficiencies[i]}`)} + + ) + })}
) } + const rarityFilter = ( + x.checked) + .filter(Boolean).length + } + open={rarityMenu} + onOpenChange={rarityMenuOpened} + > + {Array.from(Array(rarities.length)).map((x, i) => { + return ( + + {t(`rarities.${rarities[i]}`)} + + ) + })} + + ) + + const elementFilter = ( + x.checked) + .filter(Boolean).length + } + open={elementMenu} + onOpenChange={elementMenuOpened} + > + {Array.from(Array(elements.length)).map((x, i) => { + return ( + + {t(`elements.${elements[i]}`)} + + ) + })} + + ) + return ( -
- x.checked) - .filter(Boolean).length - } - open={rarityMenu} - onOpenChange={rarityMenuOpened} - > - - {t('filters.labels.rarity')} - - {Array.from(Array(rarities.length)).map((x, i) => { - return ( - - {t(`rarities.${rarities[i]}`)} - - ) - })} - - - x.checked) - .filter(Boolean).length - } - open={elementMenu} - onOpenChange={elementMenuOpened} - > - - {t('filters.labels.element')} - - {Array.from(Array(elements.length)).map((x, i) => { - return ( - - {t(`elements.${elements[i]}`)} - - ) - })} - - +
+ {rarityFilter} + {elementFilter} {renderProficiencyFilter(1)} {renderProficiencyFilter(2)}
diff --git a/components/job/JobSkillSearchFilterBar/index.module.scss b/components/job/JobSkillSearchFilterBar/index.module.scss index 32ea1453..ff5701ec 100644 --- a/components/job/JobSkillSearchFilterBar/index.module.scss +++ b/components/job/JobSkillSearchFilterBar/index.module.scss @@ -1,3 +1,9 @@ .SearchFilterBar .SelectTrigger { width: 100%; } + +.filterBar { + display: flex; + gap: $unit; + padding: $unit-half $unit-3x; +} diff --git a/components/job/JobSkillSearchFilterBar/index.tsx b/components/job/JobSkillSearchFilterBar/index.tsx index 6478c508..1ad8176d 100644 --- a/components/job/JobSkillSearchFilterBar/index.tsx +++ b/components/job/JobSkillSearchFilterBar/index.tsx @@ -39,10 +39,13 @@ const JobSkillSearchFilterBar = (props: Props) => { }, [currentGroup]) return ( -
+