From 4deb649f507e32779127824acd89d250daf08f93 Mon Sep 17 00:00:00 2001 From: Eric Fennis Date: Thu, 11 May 2023 16:50:14 +0200 Subject: [PATCH] Try optimizing for categories --- .../theme/components/icons/IconGrid.vue | 2 + .../theme/components/icons/IconItem.vue | 8 ++- .../theme/components/icons/IconsCategory.vue | 56 +++++++++++++++++++ .../icons/IconsCategoryOverview.vue | 43 ++++---------- .../theme/components/icons/StickyBar.vue | 4 +- docs/.vitepress/theme/types.ts | 1 + 6 files changed, 80 insertions(+), 34 deletions(-) create mode 100644 docs/.vitepress/theme/components/icons/IconsCategory.vue diff --git a/docs/.vitepress/theme/components/icons/IconGrid.vue b/docs/.vitepress/theme/components/icons/IconGrid.vue index 351b99fb3..363faecde 100644 --- a/docs/.vitepress/theme/components/icons/IconGrid.vue +++ b/docs/.vitepress/theme/components/icons/IconGrid.vue @@ -8,6 +8,7 @@ const props = defineProps<{ icons: IconEntity[] activeIcon?: string overlayMode?: boolean + hideIcons?: boolean }>() function setActiveIcon(name: string) { @@ -25,6 +26,7 @@ function setActiveIcon(name: string) { :active="activeIcon === icon.name" customizable :overlayMode="overlayMode" + :hideIcon="hideIcons" /> diff --git a/docs/.vitepress/theme/components/icons/IconItem.vue b/docs/.vitepress/theme/components/icons/IconItem.vue index f5e8d6be5..3c12440bb 100644 --- a/docs/.vitepress/theme/components/icons/IconItem.vue +++ b/docs/.vitepress/theme/components/icons/IconItem.vue @@ -15,6 +15,7 @@ const props = defineProps<{ active: boolean; customizable?: boolean; overlayMode?: boolean + hideIcon?: boolean }>() const emit = defineEmits(['setActiveIcon']) @@ -45,7 +46,12 @@ function navigateToIcon() { :href="`/icons/${props.name}`" > - + diff --git a/docs/.vitepress/theme/components/icons/IconsCategory.vue b/docs/.vitepress/theme/components/icons/IconsCategory.vue new file mode 100644 index 000000000..5977910b1 --- /dev/null +++ b/docs/.vitepress/theme/components/icons/IconsCategory.vue @@ -0,0 +1,56 @@ + + + + + diff --git a/docs/.vitepress/theme/components/icons/IconsCategoryOverview.vue b/docs/.vitepress/theme/components/icons/IconsCategoryOverview.vue index c91c10787..86783c095 100644 --- a/docs/.vitepress/theme/components/icons/IconsCategoryOverview.vue +++ b/docs/.vitepress/theme/components/icons/IconsCategoryOverview.vue @@ -2,11 +2,11 @@ import { ref, computed, defineAsyncComponent } from 'vue' import type { IconEntity, Category } from '../../types' import IconDetailOverlay from './IconDetailOverlay.vue' -import IconGrid from './IconGrid.vue' import useSearch from '../../composables/useSearch' import InputSearch from '../base/InputSearch.vue' import useSearchInput from '../../composables/useSearchInput' import StickyBar from './StickyBar.vue' +import IconsCategory from './IconsCategory.vue' const props = defineProps<{ icons: IconEntity[] @@ -58,7 +58,7 @@ const NoResults = defineAsyncComponent(() => diff --git a/docs/.vitepress/theme/components/icons/StickyBar.vue b/docs/.vitepress/theme/components/icons/StickyBar.vue index 737f73935..72c5cce9b 100644 --- a/docs/.vitepress/theme/components/icons/StickyBar.vue +++ b/docs/.vitepress/theme/components/icons/StickyBar.vue @@ -8,13 +8,13 @@ .search-bar { margin-bottom: 16px; position: sticky; - z-index: 70; + z-index: 30; top: 48px; padding-top: 24px; margin-top: -32px; width: 100%; display: flex; - margin-bottom: 32px;; + margin-bottom: 32px; background: var(--vp-c-bg); box-shadow: 0 16px 24px var(--vp-c-bg); } diff --git a/docs/.vitepress/theme/types.ts b/docs/.vitepress/theme/types.ts index 933512fd9..2b6085bd5 100644 --- a/docs/.vitepress/theme/types.ts +++ b/docs/.vitepress/theme/types.ts @@ -15,6 +15,7 @@ export interface Category { title: string icon?: string iconCount: number + icons?: IconEntity[] } interface Shield {