major changes

This commit is contained in:
Mark Gregory
2026-06-17 14:44:14 +01:00
parent bfea992994
commit b735595869
7 changed files with 185 additions and 169 deletions
@@ -605,17 +605,37 @@
@endif
</nav>
<div class="wms-sidebar-footer">
<flux:dropdown position="top" align="start">
<button type="button" class="wms-user-card wms-user-card-button" data-wms-sidebar-label>
<div class="wms-user-avatar">{{ auth()->user()?->initials() ?? 'U' }}</div>
<button
type="button"
class="wms-sidebar-resizer"
data-wms-sidebar-resizer
aria-label="{{ __('Resize sidebar') }}"
title="{{ __('Drag to resize sidebar') }}"
></button>
</aside>
<div class="wms-user-copy">
<div class="wms-user-name">{{ auth()->user()?->name ?? __('User') }}</div>
<div class="wms-user-email">{{ auth()->user()?->email ?? '' }}</div>
</div>
<div class="wms-main-panel">
<header class="wms-desktop-topbar" role="banner">
<a href="{{ auth()->user()?->isMpbaPlatformAdmin() && Route::has('platform.dashboard') ? route('platform.dashboard') : route('dashboard') }}" wire:navigate class="wms-topbar-brand" aria-label="{{ __('Warehouse Management System') }}">
<span class="wms-brand-mark">
<span class="wms-brand-mark-inner">W</span>
</span>
<i class="fa-solid fa-chevron-up wms-user-chevron" aria-hidden="true"></i>
<span class="wms-brand-copy">
<span class="wms-brand-title">{{ __('Warehouse Management System') }}</span>
<span class="wms-brand-subtitle">MPBA</span>
</span>
</a>
<flux:dropdown position="bottom" align="end">
<button type="button" class="wms-topbar-user-button" aria-label="{{ __('Open account menu') }}">
<span class="wms-topbar-user-copy">
<span class="wms-user-name">{{ auth()->user()?->name ?? __('User') }}</span>
<span class="wms-user-email">{{ auth()->user()?->email ?? '' }}</span>
</span>
<span class="wms-user-avatar">{{ auth()->user()?->initials() ?? 'U' }}</span>
<i class="fa-solid fa-chevron-down wms-user-chevron" aria-hidden="true"></i>
</button>
<flux:menu>
@@ -649,40 +669,8 @@
</form>
</flux:menu>
</flux:dropdown>
</header>
<flux:dropdown position="top" align="start">
<button type="button" class="wms-user-rail-button" title="{{ __('Account') }}">
{{ auth()->user()?->initials() ?? 'U' }}
</button>
<flux:menu>
<flux:menu.item :href="route('profile.edit')" icon="cog" wire:navigate>
{{ __('Settings') }}
</flux:menu.item>
<flux:menu.separator />
<form method="POST" action="{{ route('logout') }}" class="w-full">
@csrf
<flux:menu.item as="button" type="submit" icon="arrow-right-start-on-rectangle" class="w-full cursor-pointer">
{{ __('Log out') }}
</flux:menu.item>
</form>
</flux:menu>
</flux:dropdown>
</div>
<button
type="button"
class="wms-sidebar-resizer"
data-wms-sidebar-resizer
aria-label="{{ __('Resize sidebar') }}"
title="{{ __('Drag to resize sidebar') }}"
></button>
</aside>
<div class="wms-main-panel">
<header class="wms-mobile-header" role="banner">
<button type="button" class="wms-mobile-menu" data-wms-mobile-open aria-label="{{ __('Open navigation menu') }}" aria-controls="wms-main-sidebar" aria-expanded="false">
<i class="fa-solid fa-bars" aria-hidden="true"></i>
@@ -599,17 +599,37 @@
@endif
</nav>
<div class="wms-sidebar-footer">
<flux:dropdown position="top" align="start">
<button type="button" class="wms-user-card wms-user-card-button" data-wms-sidebar-label>
<div class="wms-user-avatar">{{ auth()->user()?->initials() ?? 'U' }}</div>
<button
type="button"
class="wms-sidebar-resizer"
data-wms-sidebar-resizer
aria-label="{{ __('Resize sidebar') }}"
title="{{ __('Drag to resize sidebar') }}"
></button>
</aside>
<div class="wms-user-copy">
<div class="wms-user-name">{{ auth()->user()?->name ?? __('User') }}</div>
<div class="wms-user-email">{{ auth()->user()?->email ?? '' }}</div>
</div>
<div class="wms-main-panel">
<header class="wms-desktop-topbar" role="banner">
<a href="{{ auth()->user()?->isMpbaPlatformAdmin() && Route::has('platform.dashboard') ? route('platform.dashboard') : route('dashboard') }}" wire:navigate class="wms-topbar-brand" aria-label="{{ __('Warehouse Management System') }}">
<span class="wms-brand-mark">
<span class="wms-brand-mark-inner">W</span>
</span>
<i class="fa-solid fa-chevron-up wms-user-chevron" aria-hidden="true"></i>
<span class="wms-brand-copy">
<span class="wms-brand-title">{{ __('Warehouse Management System') }}</span>
<span class="wms-brand-subtitle">MPBA</span>
</span>
</a>
<flux:dropdown position="bottom" align="end">
<button type="button" class="wms-topbar-user-button" aria-label="{{ __('Open account menu') }}">
<span class="wms-topbar-user-copy">
<span class="wms-user-name">{{ auth()->user()?->name ?? __('User') }}</span>
<span class="wms-user-email">{{ auth()->user()?->email ?? '' }}</span>
</span>
<span class="wms-user-avatar">{{ auth()->user()?->initials() ?? 'U' }}</span>
<i class="fa-solid fa-chevron-down wms-user-chevron" aria-hidden="true"></i>
</button>
<flux:menu>
@@ -643,40 +663,8 @@
</form>
</flux:menu>
</flux:dropdown>
</header>
<flux:dropdown position="top" align="start">
<button type="button" class="wms-user-rail-button" title="{{ __('Account') }}">
{{ auth()->user()?->initials() ?? 'U' }}
</button>
<flux:menu>
<flux:menu.item :href="route('profile.edit')" icon="cog" wire:navigate>
{{ __('Settings') }}
</flux:menu.item>
<flux:menu.separator />
<form method="POST" action="{{ route('logout') }}" class="w-full">
@csrf
<flux:menu.item as="button" type="submit" icon="arrow-right-start-on-rectangle" class="w-full cursor-pointer">
{{ __('Log out') }}
</flux:menu.item>
</form>
</flux:menu>
</flux:dropdown>
</div>
<button
type="button"
class="wms-sidebar-resizer"
data-wms-sidebar-resizer
aria-label="{{ __('Resize sidebar') }}"
title="{{ __('Drag to resize sidebar') }}"
></button>
</aside>
<div class="wms-main-panel">
<header class="wms-mobile-header" role="banner">
<button type="button" class="wms-mobile-menu" data-wms-mobile-open aria-label="{{ __('Open navigation menu') }}" aria-controls="wms-main-sidebar" aria-expanded="false">
<i class="fa-solid fa-bars" aria-hidden="true"></i>
+7
View File
@@ -371,3 +371,10 @@ versions:
- Reworked Kanban drag/drop refresh to move the card in the browser immediately, update visible column counts, and then force a Livewire refresh after the database move completes.
- Added a browser reload fallback for Kanban moves if Livewire does not expose a refresh method after drag/drop.
- Kept module.json version in sync with changelog.yaml.
- version: 1.9.24
date: 2026-06-17
changed:
- Moved the original account dropdown from the sidebar footer to the desktop top bar while preserving the existing sidebar navigation, FontAwesome icons, collapse behaviour, and mobile menu.
- Kept the full Settings and Log out account menu behaviour in the new top-right position.
- Kept module.json version in sync with changelog.yaml.
+1 -1
View File
@@ -22,5 +22,5 @@
"Modules\\Helpdesk\\Providers\\HelpdeskServiceProvider"
],
"files": [],
"version": "1.9.23"
"version": "1.9.24"
}
+57
View File
@@ -510,6 +510,59 @@ select:focus[data-flux-control] {
color: white;
}
.wms-desktop-topbar {
display: flex;
align-items: center;
justify-content: space-between;
gap: 1rem;
min-height: 4.25rem;
border-bottom: 1px solid rgb(228 228 231);
background: rgb(250 250 250 / 0.94);
padding: 0.75rem 1.5rem;
backdrop-filter: blur(14px);
}
.dark .wms-desktop-topbar {
border-bottom-color: rgb(63 63 70);
background: rgb(15 15 19 / 0.94);
}
.wms-topbar-brand {
display: inline-flex;
min-width: 0;
align-items: center;
gap: 0.75rem;
color: inherit;
text-decoration: none;
}
.wms-topbar-user-button {
display: inline-flex;
align-items: center;
gap: 0.7rem;
border-radius: 999px;
border: 1px solid transparent;
padding: 0.35rem 0.45rem 0.35rem 0.85rem;
text-align: right;
transition: background 120ms ease, border-color 120ms ease;
}
.wms-topbar-user-button:hover {
border-color: rgb(228 228 231);
background: rgb(244 244 245);
}
.dark .wms-topbar-user-button:hover {
border-color: rgb(63 63 70);
background: rgb(39 39 42);
}
.wms-topbar-user-copy {
display: grid;
min-width: 0;
}
.wms-mobile-header {
display: none;
}
@@ -568,6 +621,10 @@ select:focus[data-flux-control] {
}
@media (max-width: 1023px) {
.wms-desktop-topbar {
display: none;
}
.wms-app-shell {
display: block;
}
@@ -603,17 +603,37 @@
@endif
</nav>
<div class="wms-sidebar-footer">
<flux:dropdown position="top" align="start">
<button type="button" class="wms-user-card wms-user-card-button" data-wms-sidebar-label>
<div class="wms-user-avatar">{{ auth()->user()?->initials() ?? 'U' }}</div>
<button
type="button"
class="wms-sidebar-resizer"
data-wms-sidebar-resizer
aria-label="{{ __('Resize sidebar') }}"
title="{{ __('Drag to resize sidebar') }}"
></button>
</aside>
<div class="wms-user-copy">
<div class="wms-user-name">{{ auth()->user()?->name ?? __('User') }}</div>
<div class="wms-user-email">{{ auth()->user()?->email ?? '' }}</div>
</div>
<div class="wms-main-panel">
<header class="wms-desktop-topbar" role="banner">
<a href="{{ auth()->user()?->isMpbaPlatformAdmin() && Route::has('platform.dashboard') ? route('platform.dashboard') : route('dashboard') }}" wire:navigate class="wms-topbar-brand" aria-label="{{ __('Warehouse Management System') }}">
<span class="wms-brand-mark">
<span class="wms-brand-mark-inner">W</span>
</span>
<i class="fa-solid fa-chevron-up wms-user-chevron" aria-hidden="true"></i>
<span class="wms-brand-copy">
<span class="wms-brand-title">{{ __('Warehouse Management System') }}</span>
<span class="wms-brand-subtitle">MPBA</span>
</span>
</a>
<flux:dropdown position="bottom" align="end">
<button type="button" class="wms-topbar-user-button" aria-label="{{ __('Open account menu') }}">
<span class="wms-topbar-user-copy">
<span class="wms-user-name">{{ auth()->user()?->name ?? __('User') }}</span>
<span class="wms-user-email">{{ auth()->user()?->email ?? '' }}</span>
</span>
<span class="wms-user-avatar">{{ auth()->user()?->initials() ?? 'U' }}</span>
<i class="fa-solid fa-chevron-down wms-user-chevron" aria-hidden="true"></i>
</button>
<flux:menu>
@@ -647,40 +667,8 @@
</form>
</flux:menu>
</flux:dropdown>
</header>
<flux:dropdown position="top" align="start">
<button type="button" class="wms-user-rail-button" title="{{ __('Account') }}">
{{ auth()->user()?->initials() ?? 'U' }}
</button>
<flux:menu>
<flux:menu.item :href="route('profile.edit')" icon="cog" wire:navigate>
{{ __('Settings') }}
</flux:menu.item>
<flux:menu.separator />
<form method="POST" action="{{ route('logout') }}" class="w-full">
@csrf
<flux:menu.item as="button" type="submit" icon="arrow-right-start-on-rectangle" class="w-full cursor-pointer">
{{ __('Log out') }}
</flux:menu.item>
</form>
</flux:menu>
</flux:dropdown>
</div>
<button
type="button"
class="wms-sidebar-resizer"
data-wms-sidebar-resizer
aria-label="{{ __('Resize sidebar') }}"
title="{{ __('Drag to resize sidebar') }}"
></button>
</aside>
<div class="wms-main-panel">
<header class="wms-mobile-header" role="banner">
<button type="button" class="wms-mobile-menu" data-wms-mobile-open aria-label="{{ __('Open navigation menu') }}" aria-controls="wms-main-sidebar" aria-expanded="false">
<i class="fa-solid fa-bars" aria-hidden="true"></i>
+30 -42
View File
@@ -597,17 +597,37 @@
@endif
</nav>
<div class="wms-sidebar-footer">
<flux:dropdown position="top" align="start">
<button type="button" class="wms-user-card wms-user-card-button" data-wms-sidebar-label>
<div class="wms-user-avatar">{{ auth()->user()?->initials() ?? 'U' }}</div>
<button
type="button"
class="wms-sidebar-resizer"
data-wms-sidebar-resizer
aria-label="{{ __('Resize sidebar') }}"
title="{{ __('Drag to resize sidebar') }}"
></button>
</aside>
<div class="wms-user-copy">
<div class="wms-user-name">{{ auth()->user()?->name ?? __('User') }}</div>
<div class="wms-user-email">{{ auth()->user()?->email ?? '' }}</div>
</div>
<div class="wms-main-panel">
<header class="wms-desktop-topbar" role="banner">
<a href="{{ auth()->user()?->isMpbaPlatformAdmin() && Route::has('platform.dashboard') ? route('platform.dashboard') : route('dashboard') }}" wire:navigate class="wms-topbar-brand" aria-label="{{ __('Warehouse Management System') }}">
<span class="wms-brand-mark">
<span class="wms-brand-mark-inner">W</span>
</span>
<i class="fa-solid fa-chevron-up wms-user-chevron" aria-hidden="true"></i>
<span class="wms-brand-copy">
<span class="wms-brand-title">{{ __('Warehouse Management System') }}</span>
<span class="wms-brand-subtitle">MPBA</span>
</span>
</a>
<flux:dropdown position="bottom" align="end">
<button type="button" class="wms-topbar-user-button" aria-label="{{ __('Open account menu') }}">
<span class="wms-topbar-user-copy">
<span class="wms-user-name">{{ auth()->user()?->name ?? __('User') }}</span>
<span class="wms-user-email">{{ auth()->user()?->email ?? '' }}</span>
</span>
<span class="wms-user-avatar">{{ auth()->user()?->initials() ?? 'U' }}</span>
<i class="fa-solid fa-chevron-down wms-user-chevron" aria-hidden="true"></i>
</button>
<flux:menu>
@@ -641,40 +661,8 @@
</form>
</flux:menu>
</flux:dropdown>
</header>
<flux:dropdown position="top" align="start">
<button type="button" class="wms-user-rail-button" title="{{ __('Account') }}">
{{ auth()->user()?->initials() ?? 'U' }}
</button>
<flux:menu>
<flux:menu.item :href="route('profile.edit')" icon="cog" wire:navigate>
{{ __('Settings') }}
</flux:menu.item>
<flux:menu.separator />
<form method="POST" action="{{ route('logout') }}" class="w-full">
@csrf
<flux:menu.item as="button" type="submit" icon="arrow-right-start-on-rectangle" class="w-full cursor-pointer">
{{ __('Log out') }}
</flux:menu.item>
</form>
</flux:menu>
</flux:dropdown>
</div>
<button
type="button"
class="wms-sidebar-resizer"
data-wms-sidebar-resizer
aria-label="{{ __('Resize sidebar') }}"
title="{{ __('Drag to resize sidebar') }}"
></button>
</aside>
<div class="wms-main-panel">
<header class="wms-mobile-header" role="banner">
<button type="button" class="wms-mobile-menu" data-wms-mobile-open aria-label="{{ __('Open navigation menu') }}" aria-controls="wms-main-sidebar" aria-expanded="false">
<i class="fa-solid fa-bars" aria-hidden="true"></i>