From 8e3578f445a89ff52ea9fcc9dce781325d846762 Mon Sep 17 00:00:00 2001 From: Ryan Wang Date: Sun, 11 Sep 2022 01:26:26 +0800 Subject: [PATCH] feat: add avatar component --- packages/components/src/components.ts | 1 + .../src/components/avatar/Avatar.story.vue | 8 ++ .../src/components/avatar/Avatar.vue | 89 +++++++++++++++++++ .../components/src/components/avatar/index.ts | 1 + .../src/components/avatar/interface.ts | 1 + packages/components/src/icons/icons.ts | 2 + packages/shared/src/layouts/BasicLayout.vue | 11 ++- .../UserDropdownSelector.vue | 10 +-- src/modules/contents/comments/CommentList.vue | 10 ++- src/modules/contents/pages/SinglePageList.vue | 12 +-- src/modules/contents/posts/PostList.vue | 12 +-- .../dashboard/widgets/RecentLoginWidget.vue | 8 +- src/modules/system/roles/RoleDetail.vue | 19 ++-- src/modules/system/roles/RoleList.vue | 2 +- .../system/users/PersonalAccessTokens.vue | 2 +- src/modules/system/users/UserList.vue | 15 ++-- 16 files changed, 156 insertions(+), 47 deletions(-) create mode 100644 packages/components/src/components/avatar/Avatar.story.vue create mode 100644 packages/components/src/components/avatar/Avatar.vue create mode 100644 packages/components/src/components/avatar/index.ts create mode 100644 packages/components/src/components/avatar/interface.ts diff --git a/packages/components/src/components.ts b/packages/components/src/components.ts index 7973e355..3d3ba409 100644 --- a/packages/components/src/components.ts +++ b/packages/components/src/components.ts @@ -1,3 +1,4 @@ +export * from "./components/avatar"; export * from "./components/alert"; export * from "./components/button"; export * from "./components/card"; diff --git a/packages/components/src/components/avatar/Avatar.story.vue b/packages/components/src/components/avatar/Avatar.story.vue new file mode 100644 index 00000000..6b61fe3d --- /dev/null +++ b/packages/components/src/components/avatar/Avatar.story.vue @@ -0,0 +1,8 @@ + + diff --git a/packages/components/src/components/avatar/Avatar.vue b/packages/components/src/components/avatar/Avatar.vue new file mode 100644 index 00000000..9439dbd3 --- /dev/null +++ b/packages/components/src/components/avatar/Avatar.vue @@ -0,0 +1,89 @@ + + + + + diff --git a/packages/components/src/components/avatar/index.ts b/packages/components/src/components/avatar/index.ts new file mode 100644 index 00000000..022733a5 --- /dev/null +++ b/packages/components/src/components/avatar/index.ts @@ -0,0 +1 @@ +export { default as VAvatar } from "./Avatar.vue"; diff --git a/packages/components/src/components/avatar/interface.ts b/packages/components/src/components/avatar/interface.ts new file mode 100644 index 00000000..b14de4e3 --- /dev/null +++ b/packages/components/src/components/avatar/interface.ts @@ -0,0 +1 @@ +export type Size = "lg" | "md" | "sm" | "xs"; diff --git a/packages/components/src/icons/icons.ts b/packages/components/src/icons/icons.ts index 31817670..49c830f6 100644 --- a/packages/components/src/icons/icons.ts +++ b/packages/components/src/icons/icons.ts @@ -46,6 +46,7 @@ import IconTeam from "~icons/ri/team-fill"; import IconCharacterRecognition from "~icons/ri/character-recognition-line"; import IconCalendar from "~icons/ri/calendar-line"; import IconLink from "~icons/ri/link"; +import IconUserLine from "~icons/ri/user-line"; export { IconDashboard, @@ -96,4 +97,5 @@ export { IconCharacterRecognition, IconCalendar, IconLink, + IconUserLine, }; diff --git a/packages/shared/src/layouts/BasicLayout.vue b/packages/shared/src/layouts/BasicLayout.vue index 74e4c88c..4d0c9d00 100644 --- a/packages/shared/src/layouts/BasicLayout.vue +++ b/packages/shared/src/layouts/BasicLayout.vue @@ -7,6 +7,7 @@ import { VModal, VRoutesMenu, VTag, + VAvatar, } from "@halo-dev/components"; import type { MenuGroupType, MenuItemType } from "../types/menus"; import type { User } from "@halo-dev/api-client"; @@ -59,7 +60,12 @@ const currentRole = computed(() => {
- +
@@ -204,7 +210,8 @@ const currentRole = computed(() => { .profile-avatar { @apply self-center - flex; + flex + items-center; } .profile-name { diff --git a/src/components/dropdown-selector/UserDropdownSelector.vue b/src/components/dropdown-selector/UserDropdownSelector.vue index fc21ee9e..619d67eb 100644 --- a/src/components/dropdown-selector/UserDropdownSelector.vue +++ b/src/components/dropdown-selector/UserDropdownSelector.vue @@ -1,7 +1,7 @@