refactor(10-12): migrate sidebar + layout + TreeItem SVGs to AppIcon
- StorageBrowser.vue: replace 8 inline SVGs (plus, folder x2, pencil, trash, share, folderMove, document) - AppSidebar.vue: replace 8 inline SVGs (tag, inbox, chevronRight x2, folder, cloud, shield, cog dual-path, logout) - AdminSidebar.vue: replace 6 inline SVGs (home, users, chartBar, lightBulb, clipboardList, logout) - TreeItem.vue: replace 1 inline SVG (chevronRight expand/collapse)
This commit is contained in:
@@ -11,10 +11,7 @@
|
||||
class="nav-link"
|
||||
:class="{ 'nav-link-active': $route.path === '/admin' }"
|
||||
>
|
||||
<svg class="w-4 h-4 mr-2 shrink-0" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
|
||||
d="M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6" />
|
||||
</svg>
|
||||
<AppIcon name="home" class="w-4 h-4 mr-2 shrink-0" />
|
||||
Overview
|
||||
</router-link>
|
||||
|
||||
@@ -23,10 +20,7 @@
|
||||
class="nav-link"
|
||||
:class="{ 'nav-link-active': $route.path.startsWith('/admin/users') }"
|
||||
>
|
||||
<svg class="w-4 h-4 mr-2 shrink-0" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
|
||||
d="M12 4.354a4 4 0 110 5.292M15 21H3v-1a6 6 0 0112 0v1zm0 0h6v-1a6 6 0 00-9-5.197M13 7a4 4 0 11-8 0 4 4 0 018 0z" />
|
||||
</svg>
|
||||
<AppIcon name="users" class="w-4 h-4 mr-2 shrink-0" />
|
||||
Users
|
||||
</router-link>
|
||||
|
||||
@@ -35,10 +29,7 @@
|
||||
class="nav-link"
|
||||
:class="{ 'nav-link-active': $route.path.startsWith('/admin/quotas') }"
|
||||
>
|
||||
<svg class="w-4 h-4 mr-2 shrink-0" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
|
||||
d="M9 19v-6a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2a2 2 0 002-2zm0 0V9a2 2 0 012-2h2a2 2 0 012 2v10m-6 0a2 2 0 002 2h2a2 2 0 002-2m0 0V5a2 2 0 012-2h2a2 2 0 012 2v14a2 2 0 01-2 2h-2a2 2 0 01-2-2z" />
|
||||
</svg>
|
||||
<AppIcon name="chartBar" class="w-4 h-4 mr-2 shrink-0" />
|
||||
Quotas
|
||||
</router-link>
|
||||
|
||||
@@ -47,10 +38,7 @@
|
||||
class="nav-link"
|
||||
:class="{ 'nav-link-active': $route.path.startsWith('/admin/ai') }"
|
||||
>
|
||||
<svg class="w-4 h-4 mr-2 shrink-0" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
|
||||
d="M9.663 17h4.673M12 3v1m6.364 1.636l-.707.707M21 12h-1M4 12H3m3.343-5.657l-.707-.707m2.828 9.9a5 5 0 117.072 0l-.548.547A3.374 3.374 0 0014 18.469V19a2 2 0 11-4 0v-.531c0-.895-.356-1.754-.988-2.386l-.548-.547z" />
|
||||
</svg>
|
||||
<AppIcon name="lightBulb" class="w-4 h-4 mr-2 shrink-0" />
|
||||
AI Config
|
||||
</router-link>
|
||||
|
||||
@@ -59,10 +47,7 @@
|
||||
class="nav-link"
|
||||
:class="{ 'nav-link-active': $route.path.startsWith('/admin/audit') }"
|
||||
>
|
||||
<svg class="w-4 h-4 mr-2 shrink-0" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
|
||||
d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-3 7h3m-3 4h3m-6-4h.01M9 16h.01" />
|
||||
</svg>
|
||||
<AppIcon name="clipboardList" class="w-4 h-4 mr-2 shrink-0" />
|
||||
Audit Log
|
||||
</router-link>
|
||||
</nav>
|
||||
@@ -78,10 +63,7 @@
|
||||
aria-label="Sign out"
|
||||
class="text-gray-400 hover:text-gray-600 transition-colors"
|
||||
>
|
||||
<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
|
||||
d="M17 16l4-4m0 0l-4-4m4 4H7m6 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a3 3 0 013-3h4a3 3 0 013 3v1" />
|
||||
</svg>
|
||||
<AppIcon name="logout" class="w-4 h-4" />
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
@@ -91,6 +73,7 @@
|
||||
<script setup>
|
||||
import { useRouter } from 'vue-router'
|
||||
import { useAuthStore } from '../../stores/auth.js'
|
||||
import AppIcon from '../ui/AppIcon.vue'
|
||||
|
||||
const authStore = useAuthStore()
|
||||
const router = useRouter()
|
||||
|
||||
Reference in New Issue
Block a user