From 6047edff2bf3d77dc338143a684cfc5a037ff81c Mon Sep 17 00:00:00 2001 From: Georgiy Mogelashvili Date: Thu, 2 Dec 2021 19:55:06 +0100 Subject: [PATCH] different themes of filter buttons --- src/components/FilterGroupDropdown.js | 77 +++++++++++++++++++-------- src/components/MentorsFilters.js | 26 ++++----- src/components/useMentors.js | 3 ++ 3 files changed, 70 insertions(+), 36 deletions(-) diff --git a/src/components/FilterGroupDropdown.js b/src/components/FilterGroupDropdown.js index 96211a3..1be59af 100644 --- a/src/components/FilterGroupDropdown.js +++ b/src/components/FilterGroupDropdown.js @@ -1,4 +1,3 @@ -import classNames from 'classnames' import Dropdown from 'rc-dropdown' import 'rc-dropdown/assets/index.css' @@ -9,22 +8,61 @@ export default function FilterGroupDropdown({ onFilterSelect, allSelectedValues, multiSelect = true, + theme = 'rounded', }) { + const themes = { + rounded: { + ul: 'text-center mb-3 bg-gray-200 w-max p-1 rounded', + li: { + active: + 'text-center text-sm rounded-full py-1 px-4 m-1 cursor-pointer w-max bg-gray-700 text-white', + inactive: + 'text-center text-sm rounded-full py-1 px-4 m-1 cursor-pointer w-max bg-gray-300 hover:bg-gray-200 text-gray-600', + }, + button: { + selected: + 'text-sm rounded-full py-1 px-4 m-1 cursor-pointer bg-gray-300 text-gray-600 bg-gray-700 text-white', + not_selected: + 'text-sm rounded-full py-1 px-4 m-1 cursor-pointer bg-gray-300 text-gray-600 bg-gray-300 hover:bg-gray-200 text-gray-600', + }, + span: { + selected: 'mr-2 bg-gray-700 text-white', + not_selected: 'mr-2 text-gray-600', + }, + badge: + 'inline-flex items-center justify-center px-2 py-1 text-xs font-bold leading-none text-red-100 bg-red-500 rounded-full', + }, + block: { + ul: 'text-center bg-gray-200 w-max', + li: { + active: 'text-center text-sm py-1 px-2 cursor-pointer w-auto bg-gray-700 text-white', + inactive: + 'text-center text-sm py-1 px-2 cursor-pointer w-auto bg-gray-300 hover:bg-gray-200 text-gray-600', + }, + button: { + selected: + 'text-sm rounded-sm py-1 px-4 m-1 cursor-pointer bg-gray-300 text-gray-600 bg-gray-700 text-white', + not_selected: + 'text-sm rounded-sm py-1 px-4 m-1 cursor-pointer bg-gray-300 text-gray-600 bg-indigo-200 hover:bg-gray-200 text-gray-600', + }, + span: { + selected: 'mr-2 bg-gray-700 text-white', + not_selected: 'mr-2 text-gray-600', + }, + badge: + 'inline-flex items-center justify-center px-2 py-1 text-xs font-bold leading-none text-red-100 bg-red-500 rounded-full', + }, + } + const produceMenuItems = (list) => { return ( -