-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathPageAside.vue
More file actions
144 lines (138 loc) · 6.13 KB
/
Copy pathPageAside.vue
File metadata and controls
144 lines (138 loc) · 6.13 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
<template>
<div class="flex flex-col gap-8">
<GallerySection title="Basic usage">
<div class="w-full rounded-lg border border-default overflow-hidden">
<UPage>
<template #left>
<UPageAside>
<UPageLinks
title="Agent Runtime"
:links="[
{ label: 'Overview', icon: 'i-material-symbols-dashboard-outline', to: '#' },
{ label: 'Sessions', icon: 'i-material-symbols-terminal-outline', to: '#' },
{ label: 'Jobs', icon: 'i-material-symbols-work-outline', to: '#' },
{ label: 'Traces', icon: 'i-material-symbols-timeline-outline', to: '#' },
]"
/>
</UPageAside>
</template>
<div class="p-6 text-sm text-muted">
<p>Main page content renders here alongside the aside.</p>
</div>
</UPage>
</div>
</GallerySection>
<GallerySection title="With top slot">
<div class="w-full rounded-lg border border-default overflow-hidden">
<UPage>
<template #left>
<UPageAside>
<template #top>
<div class="flex items-center gap-2 px-1 pb-2 border-b border-default mb-2">
<UIcon name="i-material-symbols-memory-outline" class="size-5 text-primary" />
<span class="font-semibold text-sm">ARCP Console</span>
</div>
</template>
<UPageLinks
title="Navigation"
:links="[
{ label: 'Runtimes', icon: 'i-material-symbols-cloud-outline', to: '#' },
{ label: 'Agents', icon: 'i-material-symbols-smart-toy-outline', to: '#' },
{ label: 'Leases', icon: 'i-material-symbols-key-outline', to: '#' },
]"
/>
</UPageAside>
</template>
<div class="p-6 text-sm text-muted">
<p>The <code>#top</code> slot pins content above the scrollable region.</p>
</div>
</UPage>
</div>
</GallerySection>
<GallerySection title="With bottom slot">
<div class="w-full rounded-lg border border-default overflow-hidden">
<UPage>
<template #left>
<UPageAside>
<UPageLinks
title="Monitoring"
:links="[
{ label: 'Events', icon: 'i-material-symbols-event-note-outline', to: '#' },
{ label: 'Metrics', icon: 'i-material-symbols-bar-chart-outline', to: '#' },
{ label: 'Alerts', icon: 'i-material-symbols-notifications-outline', to: '#' },
]"
/>
<template #bottom>
<div class="pt-4 border-t border-default mt-4">
<div class="flex items-center gap-2 text-xs text-muted px-1">
<UIcon name="i-material-symbols-info-outline" class="size-4 shrink-0" />
<span>Runtime v2.4.1 · 3 agents online</span>
</div>
</div>
</template>
</UPageAside>
</template>
<div class="p-6 text-sm text-muted">
<p>The <code>#bottom</code> slot sticks status content at the foot of the aside.</p>
</div>
</UPage>
</div>
</GallerySection>
<GallerySection title="Realistic sidebar — full layout">
<div class="w-full rounded-lg border border-default overflow-hidden">
<UPage>
<template #left>
<UPageAside>
<template #top>
<div class="flex items-center gap-2 px-1 pb-3 border-b border-default mb-3">
<UAvatar icon="i-material-symbols-hub-outline" size="sm" color="primary" variant="soft" />
<div class="min-w-0">
<p class="truncate text-sm font-semibold leading-tight">prod-cluster-01</p>
<p class="text-xs text-muted">Active runtime</p>
</div>
<UBadge color="success" variant="soft" size="sm" class="ml-auto shrink-0">Live</UBadge>
</div>
</template>
<UPageLinks
title="Workloads"
:links="[
{ label: 'Jobs', icon: 'i-material-symbols-work-outline', to: '#' },
{ label: 'Agents', icon: 'i-material-symbols-smart-toy-outline', to: '#' },
{ label: 'Sessions', icon: 'i-material-symbols-terminal-outline', to: '#' },
]"
/>
<UPageLinks
title="Observability"
class="mt-4"
:links="[
{ label: 'Traces', icon: 'i-material-symbols-timeline-outline', to: '#' },
{ label: 'Events', icon: 'i-material-symbols-event-note-outline', to: '#' },
{ label: 'Leases', icon: 'i-material-symbols-key-outline', to: '#' },
]"
/>
<template #bottom>
<div class="pt-3 border-t border-default mt-4 space-y-1">
<UPageLinks
:links="[
{ label: 'Settings', icon: 'i-material-symbols-settings-outline', to: '#' },
{ label: 'Documentation', icon: 'i-material-symbols-menu-book-outline', to: '#' },
]"
/>
</div>
</template>
</UPageAside>
</template>
<div class="p-6 space-y-4">
<h2 class="text-base font-semibold">Job Queue</h2>
<p class="text-sm text-muted">Displaying active jobs dispatched to prod-cluster-01.</p>
<div class="flex gap-2">
<UBadge color="info" variant="soft" icon="i-material-symbols-pending-outline">4 pending</UBadge>
<UBadge color="success" variant="soft" icon="i-material-symbols-check-circle-outline">12 completed</UBadge>
<UBadge color="error" variant="soft" icon="i-material-symbols-error-outline">1 failed</UBadge>
</div>
</div>
</UPage>
</div>
</GallerySection>
</div>
</template>