From 3adc965dd09490b7efa1cce9f09b0a3b30970277 Mon Sep 17 00:00:00 2001
From: 简律纯 <hsiangnianian@outlook.com>
Date: Wed, 19 Apr 2023 17:30:39 +0800
Subject: ✨优化文档
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 docs/components/app/AppSocialIcons.vue | 58 ++++++++++++++++++++++++++++++++++
 1 file changed, 58 insertions(+)
 create mode 100644 docs/components/app/AppSocialIcons.vue

(limited to 'docs/components/app/AppSocialIcons.vue')

diff --git a/docs/components/app/AppSocialIcons.vue b/docs/components/app/AppSocialIcons.vue
new file mode 100644
index 0000000..c30f513
--- /dev/null
+++ b/docs/components/app/AppSocialIcons.vue
@@ -0,0 +1,58 @@
+<script setup lang="ts">
+const socials = ['twitter', 'facebook', 'instagram', 'youtube', 'github', 'medium']
+
+const { config } = useDocus()
+
+const icons = computed<any>(() => {
+  return Object.entries(config.value.socials || {})
+    .map(([key, value]) => {
+      if (typeof value === 'object') {
+        return value
+      } else if (typeof value === 'string' && value && socials.includes(key)) {
+        return {
+          href: `https://${key}.com/${value}`,
+          icon: `fa-brands:${key}`,
+          label: value
+        }
+      } else {
+        return null
+      }
+    })
+    .filter(Boolean)
+})
+</script>
+
+<template>
+  <NuxtLink
+    v-for="icon in icons"
+    :key="icon.label"
+    rel="noopener noreferrer"
+    :title="icon.label"
+    :aria-label="icon.label"
+    :href="icon.href"
+    target="_blank"
+  >
+    <Icon v-if="icon.icon" :name="icon.icon" />
+  </NuxtLink>
+</template>
+
+<style lang="ts" scoped>
+css({
+  a: {
+    display: 'flex',
+    color: '{color.gray.500}',
+    padding: '{space.4}',
+
+    '@dark': {
+      color: '{color.gray.400}'
+    },
+
+    '&:hover': {
+      color: '{color.gray.700}',
+      '@dark': {
+        color: '{color.gray.200}',
+      }
+    },
+  }
+})
+</style>
-- 
cgit v1.2.3-70-g09d2

