From acf74408c981ea93383eaabd3035ead8acd79857 Mon Sep 17 00:00:00 2001 From: Eric Fennis Date: Thu, 13 Apr 2023 23:14:52 +0200 Subject: [PATCH] Add styling --- .../components/HomeHeroIconsCard.data.ts | 15 ++ .../components/HomeHeroIconsCard.vue | 49 +++++++ docs/.vitepress/components/HomeInfo.vue | 31 ++++ .../components/IconDetailOverlay.vue | 132 ++++++++++++++++++ docs/.vitepress/components/IconItem.vue | 9 +- docs/.vitepress/components/IconsOverview.vue | 17 ++- docs/.vitepress/components/LucideIcon.vue | 20 +++ docs/.vitepress/theme/index.ts | 4 +- docs/.vitepress/theme/style.css | 12 +- docs/.vitepress/vue-shim.d.ts | 4 + docs/index.md | 8 +- docs/package.json | 5 +- pnpm-lock.yaml | 125 +++++++++-------- 13 files changed, 364 insertions(+), 67 deletions(-) create mode 100644 docs/.vitepress/components/HomeHeroIconsCard.data.ts create mode 100644 docs/.vitepress/components/HomeHeroIconsCard.vue create mode 100644 docs/.vitepress/components/HomeInfo.vue create mode 100644 docs/.vitepress/components/IconDetailOverlay.vue create mode 100644 docs/.vitepress/components/LucideIcon.vue create mode 100644 docs/.vitepress/vue-shim.d.ts diff --git a/docs/.vitepress/components/HomeHeroIconsCard.data.ts b/docs/.vitepress/components/HomeHeroIconsCard.data.ts new file mode 100644 index 000000000..b87afdd20 --- /dev/null +++ b/docs/.vitepress/components/HomeHeroIconsCard.data.ts @@ -0,0 +1,15 @@ +import { getAllData } from '../lib/icons' + +const getRandomItem = (items: Item[]): Item => items[Math.floor(Math.random()*items.length)]; + +export default { + async load() { + const icons = await getAllData() + + const randomIcons = Array.from({ length: 55 }, () => getRandomItem(icons)) + + return { + icons: randomIcons, + } + } +} diff --git a/docs/.vitepress/components/HomeHeroIconsCard.vue b/docs/.vitepress/components/HomeHeroIconsCard.vue new file mode 100644 index 000000000..a8f56a9b6 --- /dev/null +++ b/docs/.vitepress/components/HomeHeroIconsCard.vue @@ -0,0 +1,49 @@ + + + + + diff --git a/docs/.vitepress/components/HomeInfo.vue b/docs/.vitepress/components/HomeInfo.vue new file mode 100644 index 000000000..0e8926d4f --- /dev/null +++ b/docs/.vitepress/components/HomeInfo.vue @@ -0,0 +1,31 @@ + + + diff --git a/docs/.vitepress/components/IconDetailOverlay.vue b/docs/.vitepress/components/IconDetailOverlay.vue new file mode 100644 index 000000000..85a6b7446 --- /dev/null +++ b/docs/.vitepress/components/IconDetailOverlay.vue @@ -0,0 +1,132 @@ + + + + + diff --git a/docs/.vitepress/components/IconItem.vue b/docs/.vitepress/components/IconItem.vue index f10179276..40646feac 100644 --- a/docs/.vitepress/components/IconItem.vue +++ b/docs/.vitepress/components/IconItem.vue @@ -13,13 +13,20 @@ const props = defineProps<{ iconNode: IconNode; }>() +const emit = defineEmits(['setActiveIcon']) + const { go } = useRouter() const icon = createLucideIcon(props.name, props.iconNode) + +function navigateToIcon() { + window.history.pushState({}, '', `/icons/${props.name}`) + emit('setActiveIcon', props.name) +} diff --git a/docs/.vitepress/components/IconsOverview.vue b/docs/.vitepress/components/IconsOverview.vue index 78cc4907a..0e51c5f5a 100644 --- a/docs/.vitepress/components/IconsOverview.vue +++ b/docs/.vitepress/components/IconsOverview.vue @@ -1,28 +1,39 @@