mirror of https://github.com/halo-dev/halo-admin
parent
6dab80a6dd
commit
eb48381540
|
@ -24,6 +24,8 @@ import IconPlug from "~icons/ri/plug-2-line";
|
||||||
import IconEye from "~icons/ri/eye-line";
|
import IconEye from "~icons/ri/eye-line";
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
import IconFolder from "~icons/ri/folder-2-line";
|
import IconFolder from "~icons/ri/folder-2-line";
|
||||||
|
// @ts-ignore
|
||||||
|
import IconMore from "~icons/ri/more-line";
|
||||||
export {
|
export {
|
||||||
IconDashboard,
|
IconDashboard,
|
||||||
IconArrowRight,
|
IconArrowRight,
|
||||||
|
@ -38,4 +40,5 @@ export {
|
||||||
IconPlug,
|
IconPlug,
|
||||||
IconEye,
|
IconEye,
|
||||||
IconFolder,
|
IconFolder,
|
||||||
|
IconMore,
|
||||||
};
|
};
|
||||||
|
|
|
@ -5,6 +5,27 @@
|
||||||
<img :src="logo" alt="Halo Logo" style="width: 78px" />
|
<img :src="logo" alt="Halo Logo" style="width: 78px" />
|
||||||
</div>
|
</div>
|
||||||
<VRoutesMenu :menus="menus" />
|
<VRoutesMenu :menus="menus" />
|
||||||
|
<div class="current-profile">
|
||||||
|
<div class="profile-avatar">
|
||||||
|
<img class="h-11 w-11 rounded-full" src="https://halo.run/logo" />
|
||||||
|
</div>
|
||||||
|
<div class="profile-name">
|
||||||
|
<div class="flex font-medium text-sm">Ryan Wang</div>
|
||||||
|
<div class="flex">
|
||||||
|
<VTag>
|
||||||
|
<template #leftIcon>
|
||||||
|
<IconUserSettings />
|
||||||
|
</template>
|
||||||
|
管理员
|
||||||
|
</VTag>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
class="profile-control transition-all hover:bg-gray-100 rounded cursor-pointer p-1"
|
||||||
|
>
|
||||||
|
<IconMore />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</aside>
|
</aside>
|
||||||
<main class="content w-full overflow-y-auto">
|
<main class="content w-full overflow-y-auto">
|
||||||
<slot />
|
<slot />
|
||||||
|
@ -14,18 +35,48 @@
|
||||||
|
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { VRoutesMenu } from "@/components/base/menu";
|
import { VRoutesMenu } from "@/components/base/menu";
|
||||||
|
import { VTag } from "@/components/base/tag";
|
||||||
import { menus } from "@/router/menus.config";
|
import { menus } from "@/router/menus.config";
|
||||||
import logo from "@/assets/logo.svg";
|
import logo from "@/assets/logo.svg";
|
||||||
|
import { IconMore, IconUserSettings } from "@/core/icons";
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
.navbar {
|
.navbar {
|
||||||
width: 260px;
|
width: 270px;
|
||||||
z-index: 999;
|
z-index: 999;
|
||||||
box-shadow: 0 4px 4px #f6c6ce;
|
box-shadow: 0 4px 4px #f6c6ce;
|
||||||
|
padding-bottom: 70px;
|
||||||
|
|
||||||
|
.current-profile {
|
||||||
|
background: #fff;
|
||||||
|
position: fixed;
|
||||||
|
left: 0;
|
||||||
|
bottom: 0;
|
||||||
|
width: 270px;
|
||||||
|
height: 70px;
|
||||||
|
display: flex;
|
||||||
|
@apply p-3;
|
||||||
|
|
||||||
|
.profile-avatar {
|
||||||
|
@apply self-center;
|
||||||
|
@apply flex;
|
||||||
|
}
|
||||||
|
|
||||||
|
.profile-name {
|
||||||
|
@apply self-center;
|
||||||
|
@apply flex-1;
|
||||||
|
@apply ml-3;
|
||||||
|
}
|
||||||
|
|
||||||
|
.profile-control {
|
||||||
|
@apply self-center;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.content {
|
.content {
|
||||||
margin-left: 260px;
|
margin-left: 270px;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex: auto;
|
flex: auto;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import FilledLayout from "@/layouts/FilledLayout.vue";
|
import FilledLayout from "@/layouts/FilledLayout.vue";
|
||||||
import { VButton } from "@/components/base/button";
|
import { VButton } from "@/components/base/button";
|
||||||
|
import { VTag } from "@/components/base/tag";
|
||||||
import { IconBookRead } from "@/core/icons";
|
import { IconBookRead } from "@/core/icons";
|
||||||
</script>
|
</script>
|
||||||
<template>
|
<template>
|
||||||
|
@ -21,54 +22,22 @@ import { IconBookRead } from "@/core/icons";
|
||||||
<div class="p-4">
|
<div class="p-4">
|
||||||
<div class="table-container">
|
<div class="table-container">
|
||||||
<div class="table-item">
|
<div class="table-item">
|
||||||
<div class="table-cell font-bold">key</div>
|
<div class="table-cell font-bold"></div>
|
||||||
<div class="table-cell font-bold">value</div>
|
<div class="table-cell font-bold">作者</div>
|
||||||
<div class="table-cell font-bold">value</div>
|
<div class="table-cell font-bold">评论</div>
|
||||||
<div class="table-cell font-bold">value</div>
|
<div class="table-cell font-bold">访问量</div>
|
||||||
<div class="table-cell font-bold">value</div>
|
<div class="table-cell font-bold">发布时间</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="table-item">
|
<div v-for="i in 10" :key="i" class="table-item">
|
||||||
<div class="table-cell">message</div>
|
<div class="table-cell">
|
||||||
<div class="table-cell">消息文字</div>
|
<div>Halo 1.5.2 发布</div>
|
||||||
<div class="table-cell">消息文字</div>
|
<VTag>#Halo</VTag>
|
||||||
<div class="table-cell">消息文字</div>
|
|
||||||
<div class="table-cell">消息文字</div>
|
|
||||||
</div>
|
|
||||||
<div class="table-item hover:bg-black hover:text-white">
|
|
||||||
<div class="table-cell">message</div>
|
|
||||||
<div class="table-cell">消息文字</div>
|
|
||||||
<div class="table-cell">消息文字</div>
|
|
||||||
<div class="table-cell">消息文字</div>
|
|
||||||
<div class="table-cell">消息文字</div>
|
|
||||||
</div>
|
|
||||||
<div class="table-item">
|
|
||||||
<div class="table-cell">message</div>
|
|
||||||
<div class="table-cell">消息文字</div>
|
|
||||||
<div class="table-cell w-72">
|
|
||||||
消息文字消息文字消息文字消息文字消息文字消息文字消息文字消息文字消息文字消息文字消息文字消息文字消息文字消息文字消息文字消息文字消息文字消息文字消息文字消息文字消息文字消息文字消息文字消息文字消息文字消息文字消息文字消息文字消息文字消息文字消息文字消息文字消息文字消息文字消息文字
|
|
||||||
</div>
|
</div>
|
||||||
<div class="table-cell">消息文字</div>
|
<div class="table-cell">
|
||||||
<div class="table-cell">消息文字</div>
|
<img src="https://halo.run/avatar" class="rounded-full w-5" />
|
||||||
</div>
|
</div>
|
||||||
<div class="table-item">
|
<div class="table-cell">0</div>
|
||||||
<div class="table-cell">message</div>
|
<div class="table-cell">123</div>
|
||||||
<div class="table-cell">消息文字</div>
|
|
||||||
<div class="table-cell">消息文字</div>
|
|
||||||
<div class="table-cell">消息文字消息文字消息文字消息文字消息文字</div>
|
|
||||||
<div class="table-cell">消息文字</div>
|
|
||||||
</div>
|
|
||||||
<div class="table-item">
|
|
||||||
<div class="table-cell">message</div>
|
|
||||||
<div class="table-cell">消息文字</div>
|
|
||||||
<div class="table-cell">消息文字</div>
|
|
||||||
<div class="table-cell">消息文字</div>
|
|
||||||
<div class="table-cell">消息文字</div>
|
|
||||||
</div>
|
|
||||||
<div class="table-item">
|
|
||||||
<div class="table-cell">message</div>
|
|
||||||
<div class="table-cell">消息文字</div>
|
|
||||||
<div class="table-cell">消息文字</div>
|
|
||||||
<div class="table-cell">消息文字</div>
|
|
||||||
<div class="table-cell">消息文字</div>
|
<div class="table-cell">消息文字</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -87,6 +56,12 @@ import { IconBookRead } from "@/core/icons";
|
||||||
|
|
||||||
.table-item {
|
.table-item {
|
||||||
@apply table-row;
|
@apply table-row;
|
||||||
|
@apply cursor-pointer;
|
||||||
|
@apply transition-all;
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
@apply bg-gray-100;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.table-cell {
|
.table-cell {
|
||||||
|
|
Loading…
Reference in New Issue