Skip to content

Commit c2845a9

Browse files
committed
chore: wip
1 parent b686e85 commit c2845a9

File tree

4 files changed

+39
-6
lines changed

4 files changed

+39
-6
lines changed

storage/framework/browser-auto-imports.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -446,6 +446,7 @@
446446
"dateFormat": true,
447447
"format": true,
448448
"now": true,
449-
"parse": true
449+
"parse": true,
450+
"RetryOptions": true
450451
}
451452
}

storage/framework/defaults/components/Dashboard/Sidebar.vue

Lines changed: 28 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,8 @@ const sections = ref<Sections>({
4444
// Add separate state for nested items
4545
const expandedItems = ref<Record<string, boolean>>({
4646
'/cloud': false,
47-
'/queue': false
47+
'#queue': false,
48+
'#commerce': false
4849
})
4950
5051
// Create an ordered array of sections that we can reorder
@@ -149,13 +150,31 @@ const sectionContent: Record<string, SectionContent> = {
149150
{ to: '/actions', icon: 'i-hugeicons-function-of-x', text: 'Actions' },
150151
{ to: '/commands', icon: 'i-hugeicons-command-line', text: 'Commands' },
151152
{
152-
to: '/queue',
153+
to: '#queue',
153154
icon: 'i-hugeicons-queue-02',
154155
text: 'Queue',
155156
children: [
157+
{ to: '/queue', icon: 'i-hugeicons-dashboard-speed-01', text: 'Dashboard' },
156158
{ to: '/jobs', icon: 'i-hugeicons-briefcase-01', text: 'Jobs' }
157159
]
158160
},
161+
{
162+
to: '#commerce',
163+
icon: 'i-hugeicons-shopping-cart-02',
164+
text: 'Commerce',
165+
children: [
166+
{ to: '/commerce', icon: 'i-hugeicons-dashboard-speed-01', text: 'Dashboard' },
167+
{ to: '/commerce/products', icon: 'i-hugeicons-package', text: 'Products' },
168+
{ to: '/commerce/categories', icon: 'i-hugeicons-tags', text: 'Categories' },
169+
{ to: '/commerce/orders', icon: 'i-hugeicons-search-list-01', text: 'Orders' },
170+
{ to: '/commerce/customers', icon: 'i-hugeicons-user-account', text: 'Customers' },
171+
{ to: '/commerce/coupons', icon: 'i-hugeicons-coupon-01', text: 'Coupons' },
172+
{ to: '/commerce/gift-cards', icon: 'i-hugeicons-gift-card', text: 'Gift Cards' },
173+
{ to: '/commerce/payments', icon: 'i-hugeicons-invoice-01', text: 'Payments' },
174+
{ to: '/commerce/shipping', icon: 'i-hugeicons-shipping-truck-01', text: 'Shipping' },
175+
{ to: '/commerce/analytics', icon: 'i-hugeicons-analytics-01', text: 'Analytics' }
176+
]
177+
},
159178
{ to: '/notifications', icon: 'i-hugeicons-notification-square', text: 'Notifications' }
160179
]
161180
},
@@ -217,7 +236,7 @@ const sectionContent: Record<string, SectionContent> = {
217236
draggable="true"
218237
:style="{
219238
transform: calculateTransform(sectionKey),
220-
transition: dragTarget?.value && dragTarget.value === sectionKey ? 'transform 150ms cubic-bezier(0.4, 0, 0.2, 1)' : 'none',
239+
transition: dragTarget && dragTarget === sectionKey ? 'transform 150ms cubic-bezier(0.4, 0, 0.2, 1)' : 'none',
221240
position: 'relative',
222241
zIndex: draggedItem === sectionKey ? 20 : 10
223242
}"
@@ -260,7 +279,7 @@ const sectionContent: Record<string, SectionContent> = {
260279
class="mt-2 -mx-2 space-y-1 section-content"
261280
:class="sections[sectionKey] ? 'expanded' : 'collapsed'"
262281
>
263-
<li v-for="item in sectionContent[sectionKey].items" :key="item.to">
282+
<li v-for="item in sectionContent[sectionKey]?.items || []" :key="item.to">
264283
<div>
265284
<RouterLink
266285
:to="item.to"
@@ -287,7 +306,11 @@ const sectionContent: Record<string, SectionContent> = {
287306
v-if="item.children"
288307
role="list"
289308
class="mt-1 space-y-1 overflow-hidden transition-all duration-200"
290-
:class="{ 'max-h-0': !expandedItems[item.to], 'max-h-40': expandedItems[item.to] }"
309+
:class="{
310+
'max-h-0': !expandedItems[item.to],
311+
'max-h-40': expandedItems[item.to] && item.children.length <= 3,
312+
'max-h-[500px]': expandedItems[item.to] && item.children.length > 3
313+
}"
291314
>
292315
<li v-for="child in item.children" :key="child.to">
293316
<RouterLink :to="child.to" class="sidebar-child-link group">

storage/framework/types/browser-auto-imports.d.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -442,6 +442,9 @@ declare global {
442442
export type { Flag, Input, MagicRegExp, MagicRegExpMatchArray, MapToStringCapturedBy, StringCapturedBy } from '../core/browser/src/utils/regex'
443443
import('../core/browser/src/utils/regex')
444444
// @ts-ignore
445+
export type { RetryOptions } from '../core/browser/src/utils/retry'
446+
import('../core/browser/src/utils/retry')
447+
// @ts-ignore
445448
export type { NonNegativeInteger, WaitOptions } from '../core/browser/src/utils/sleep'
446449
import('../core/browser/src/utils/sleep')
447450
// @ts-ignore

storage/framework/types/components.d.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
// @ts-nocheck
33
// Generated by unplugin-vue-components
44
// Read more: https://github.com/vuejs/core/pull/3399
5+
// biome-ignore lint: disable
56
export {}
67

78
/* prettier-ignore */
@@ -24,15 +25,18 @@ declare module 'vue' {
2425
CLIForm: typeof import('./../defaults/components/Dashboard/Settings/Forms/CLIForm.vue')['default']
2526
CloudForm: typeof import('./../defaults/components/Dashboard/Settings/Forms/CloudForm.vue')['default']
2627
CodeEditor: typeof import('./../defaults/components/Dashboard/CodeEditor.vue')['default']
28+
ComboboxDemo: typeof import('./../defaults/components/Docs/ComboboxDemo.vue')['default']
2729
ComingSoon: typeof import('./../defaults/components/Marketing/ComingSoon.vue')['default']
2830
Container: typeof import('./../../../resources/components/Container.vue')['default']
2931
Counter: typeof import('./../defaults/components/Buttons/Counter.vue')['default']
3032
DatabaseForm: typeof import('./../defaults/components/Dashboard/Settings/Forms/DatabaseForm.vue')['default']
3133
DeploymentHistory: typeof import('./../defaults/components/Dashboard/Deployments/DeploymentHistory.vue')['default']
3234
DeploymentList: typeof import('./../defaults/components/Dashboard/Deployments/DeploymentList.vue')['default']
3335
DeployScript: typeof import('./../defaults/components/Dashboard/Deployments/DeployScript.vue')['default']
36+
DialogDemo: typeof import('./../defaults/components/Docs/DialogDemo.vue')['default']
3437
DNSForm: typeof import('./../defaults/components/Dashboard/Settings/Forms/DNSForm.vue')['default']
3538
Dropdown: typeof import('./../defaults/components/Dashboard/Elements/Dropdown.vue')['default']
39+
DropdownDemo: typeof import('./../defaults/components/Docs/DropdownDemo.vue')['default']
3640
EmailForm: typeof import('./../defaults/components/Dashboard/Settings/Forms/EmailForm.vue')['default']
3741
Faqs: typeof import('./../defaults/components/Marketing/Faqs.vue')['default']
3842
Feature: typeof import('./../defaults/components/Marketing/Feature.vue')['default']
@@ -50,6 +54,7 @@ declare module 'vue' {
5054
IconButton: typeof import('./../defaults/components/Dashboard/Buttons/IconButton.vue')['default']
5155
Layout: typeof import('./../defaults/components/Marketing/Layout.vue')['default']
5256
LibraryForm: typeof import('./../defaults/components/Dashboard/Settings/Forms/LibraryForm.vue')['default']
57+
ListboxDemo: typeof import('./../defaults/components/Docs/ListboxDemo.vue')['default']
5358
LiveTerminalOutput: typeof import('./../defaults/components/Dashboard/Deployments/LiveTerminalOutput.vue')['default']
5459
LoadingCard: typeof import('./../defaults/components/Dashboard/Skeleton/LoadingCard.vue')['default']
5560
LoadingDetails: typeof import('./../defaults/components/Dashboard/Skeleton/LoadingDetails.vue')['default']
@@ -58,6 +63,7 @@ declare module 'vue' {
5863
MonacoEditor: typeof import('./../defaults/components/MonacoEditor.vue')['default']
5964
Navbar: typeof import('./../defaults/components/Dashboard/Navbar.vue')['default']
6065
NavLink: typeof import('./../defaults/components/Marketing/NavLink.vue')['default']
66+
NotificationDemo: typeof import('./../defaults/components/Docs/NotificationDemo.vue')['default']
6167
OneTimePayment: typeof import('./../defaults/components/Dashboard/Billing/OneTimePayment.vue')['default']
6268
Pagination: typeof import('./../defaults/components/Dashboard/Pagination.vue')['default']
6369
PaymentForm: typeof import('./../defaults/components/Dashboard/Billing/PaymentForm.vue')['default']

0 commit comments

Comments
 (0)