feat: bump client-services (accumulated feature work + deploy fixes)

Snapshot of in-progress work across local_backend, manager_dashboard,
and waiter_pwa (pricing, chat, fiscal, prep zones, recovery codes, CRM,
inventory, permissions), plus the nginx/docker-compose deploy fixes for
the Unraid + NPM reverse-proxy setup.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-19 10:00:14 +03:00
parent 02ec1aa28f
commit 34ae328b0d
182 changed files with 34874 additions and 3556 deletions

View File

@@ -82,21 +82,27 @@ export default function UserMenu() {
return (
<div ref={ref} style={{ position: 'relative' }}>
<button
className="icon-btn"
onClick={() => setOpen(o => !o)}
title="Μενού χρήστη"
style={{ display: 'flex', alignItems: 'center', gap: 6, padding: '0 10px' }}
style={{
display: 'flex', alignItems: 'center', gap: 6,
padding: '8px 14px', borderRadius: 20, border: '2px solid transparent',
background: open ? 'var(--accent)' : 'var(--bg3)',
color: open ? 'var(--accent-fg)' : 'var(--text)',
fontSize: 14, fontWeight: 600, cursor: 'pointer', lineHeight: 1,
transition: 'background 0.12s, color 0.12s',
whiteSpace: 'nowrap',
}}
>
{/* Break indicator dot */}
{activeBreak && (
<span style={{
width: 8, height: 8, borderRadius: '50%',
background: 'var(--accent)', flexShrink: 0,
width: 7, height: 7, borderRadius: '50%',
background: open ? 'var(--accent-fg)' : 'var(--accent)', flexShrink: 0,
animation: 'tab-pulse 1.5s ease-in-out infinite',
}} />
)}
<span style={{ fontSize: 14, fontWeight: 600, color: 'var(--text)' }}>{user?.username}</span>
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" style={{ color: 'var(--muted)', flexShrink: 0 }}>
<span>{user?.username}</span>
<svg width="14" height="14" viewBox="0 0 16 16" fill="none" style={{ flexShrink: 0, opacity: 0.6 }}>
<path d="M4 6l4 4 4-4" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round"/>
</svg>
</button>
@@ -168,12 +174,6 @@ export default function UserMenu() {
<span>{dark ? 'Φωτεινό θέμα' : 'Σκοτεινό θέμα'}</span>
</button>
{/* ── Settings ──────────────────────────────────────── */}
<button className="user-menu-item" onClick={() => { setOpen(false); navigate('/settings') }}>
<span className="user-menu-item__icon"></span>
<span>Ρυθμίσεις</span>
</button>
<div className="user-menu-divider" />
<button className="user-menu-item user-menu-item--danger" onClick={handleLogout}>