diff --git a/src/features/Projects/Components/Categories/Categories.tsx b/src/features/Projects/Components/Categories/Categories.tsx index 0d88776..8ba066a 100644 --- a/src/features/Projects/Components/Categories/Categories.tsx +++ b/src/features/Projects/Components/Categories/Categories.tsx @@ -56,13 +56,11 @@ export default function Categories(props: Props) { props.onChange?.(null) }} className={` - text-center flex flex-wrap gap-8 flex-col justify-end font-medium hover:bg-gray-100 active:bg-gray-200 rounded-t-8 px-16 py-16 min-w-max + text-center flex flex-wrap gap-8 flex-col justify-end items-center font-medium hover:bg-gray-100 active:bg-gray-200 rounded-t-8 px-16 py-16 min-w-max ${props.value === null ? "text-primary-500 border-b-2 border-primary-500" : "text-gray-500"} `} - >{props.filtersActive ? "Search results" : "All projects"} + > {props.filtersActive ? "Search results" : "All projects"} {data.categoryList?.filter(v => !!v?.projectsCount && v.projectsCount !== '0').map((category, idx) => { - if (category?.icon) - console.log(category?.icon); return + > {category!.name} ({category?.projectsCount!}) } )} diff --git a/src/features/Projects/pages/ExplorePage/ExplorePage.tsx b/src/features/Projects/pages/ExplorePage/ExplorePage.tsx index 3b99f99..05cf471 100644 --- a/src/features/Projects/pages/ExplorePage/ExplorePage.tsx +++ b/src/features/Projects/pages/ExplorePage/ExplorePage.tsx @@ -156,7 +156,7 @@ function ExplorePage() {
@@ -167,7 +167,7 @@ function ExplorePage() { color='white' onClick={openFilters}> - Filters + Filter
diff --git a/src/features/Projects/pages/ExplorePage/Header/Header.tsx b/src/features/Projects/pages/ExplorePage/Header/Header.tsx index 0a000a7..4e4528f 100644 --- a/src/features/Projects/pages/ExplorePage/Header/Header.tsx +++ b/src/features/Projects/pages/ExplorePage/Header/Header.tsx @@ -10,17 +10,25 @@ import { PAGES_ROUTES } from 'src/utils/routing' import { useProjectsFilters } from '../filters-context' type Props = { - category: Category | null + selectedCategry: Category | null } export default function Header(props: Props) { - let title = "Discover 1,592 lightning projects" - if (props.category?.name) title = `${props.category.projectsCount} projects`; + const { filters, filtersEmpty, removeFilter } = useProjectsFilters(); - const { filters, removeFilter } = useProjectsFilters(); + const onCategoryPage = !!props.selectedCategry?.name; + const onSearchPage = !onCategoryPage && !filtersEmpty + + + const title = onCategoryPage ? `${props.selectedCategry?.projectsCount} projects` : + filtersEmpty ? "Discover 1,592 lightning projects" : "Search results"; + + const subtitle = onCategoryPage ? props.selectedCategry?.name : + filtersEmpty ? "Explore a directory of lightning startups, projects, and companies" + : "" return ( @@ -37,18 +45,19 @@ export default function Header(props: Props) {

{title}

- {props.category?.name ? -

{props.category?.name}

- : -

Explore a directory of lightning startups, projects, and companies

+ {subtitle && +

{subtitle}

} -
- {filters?.yearFounded && Founded in: {filters.yearFounded} } - {filters?.projectStatus && Status: {filters?.projectStatus} } - {filters?.projectLicense && License: {filters.projectLicense} } - {filters?.categories && filters.categories.length > 0 && Category: {filters.categories[0].label} } - {filters?.tags && filters.tags.length > 0 && Tags: {filters.tags.map(t => t.label).join(', ')} } -
+ {onSearchPage &&
+

filtered by

+
+ {filters?.yearFounded && 📆 Founded in {filters.yearFounded} } + {filters?.projectStatus && 🌱 Status: {filters?.projectStatus} } + {filters?.projectLicense && 💻 License: {filters.projectLicense} } + {filters?.categories && filters.categories.length > 0 && Category: {filters.categories[0].label} } + {filters?.tags && filters.tags.length > 0 && Tags: {filters.tags.map(t => t.label).join(', ')} } +
+
} ) } diff --git a/src/features/Projects/pages/ExplorePage/filters-context.tsx b/src/features/Projects/pages/ExplorePage/filters-context.tsx index 3f5a772..1341507 100644 --- a/src/features/Projects/pages/ExplorePage/filters-context.tsx +++ b/src/features/Projects/pages/ExplorePage/filters-context.tsx @@ -5,6 +5,7 @@ import { getFiltersFromUrl, removeEmptyFitlers } from "./helpers"; interface State { filters: Partial | null, + filtersEmpty: boolean updateFilters: (value: Partial) => void, removeFilter: (filter: keyof ProjectsFilters) => void } @@ -28,7 +29,9 @@ export const ProjectsFiltersProvider = (props: PropsWithChildren) => { setFilters(res); }, [filters]); - return + const filtersEmpty = Object.keys(filters ?? {}).length === 0; + + return {props.children} }