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:
49
manager_dashboard/src/hooks/usePermissions.js
Normal file
49
manager_dashboard/src/hooks/usePermissions.js
Normal file
@@ -0,0 +1,49 @@
|
||||
import useAuthStore from '../store/authStore'
|
||||
|
||||
/**
|
||||
* Returns a permissions object derived from the logged-in user.
|
||||
* Superadmin always has every permission regardless of stored flags.
|
||||
*/
|
||||
export default function usePermissions() {
|
||||
const user = useAuthStore(s => s.user)
|
||||
|
||||
if (!user) {
|
||||
return {
|
||||
isSuperadmin: false,
|
||||
accessDashboard: false,
|
||||
accessWaiterApp: false,
|
||||
accessKds: false,
|
||||
cancelOrders: false,
|
||||
applyDiscounts: false,
|
||||
modifyPrices: false,
|
||||
openOrders: false,
|
||||
closeOrders: false,
|
||||
viewReports: false,
|
||||
manageStaff: false,
|
||||
manageTables: false,
|
||||
manageMenu: false,
|
||||
manageSettings: false,
|
||||
}
|
||||
}
|
||||
|
||||
const superadmin = user.role === 'superadmin'
|
||||
|
||||
const p = (flag) => superadmin || !!user[flag]
|
||||
|
||||
return {
|
||||
isSuperadmin: superadmin,
|
||||
accessDashboard: p('perm_access_dashboard'),
|
||||
accessWaiterApp: p('perm_access_waiter_app'),
|
||||
accessKds: p('perm_access_kds'),
|
||||
cancelOrders: p('perm_cancel_orders'),
|
||||
applyDiscounts: p('perm_apply_discounts'),
|
||||
modifyPrices: p('perm_modify_prices'),
|
||||
openOrders: p('perm_open_orders'),
|
||||
closeOrders: p('perm_close_orders'),
|
||||
viewReports: p('perm_view_reports'),
|
||||
manageStaff: p('perm_manage_staff'),
|
||||
manageTables: p('perm_manage_tables'),
|
||||
manageMenu: p('perm_manage_menu'),
|
||||
manageSettings: p('perm_manage_settings'),
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user