Added Phase‑1 continuation work across deep links, offline moderation queue, and admin push.
resources/js/admin/mobile/lib.
- Admin push is end‑to‑end: new backend model/migration/service/job + API endpoints, admin runtime config, push‑aware
service worker, and a settings toggle via useAdminPushSubscription. Notifications now auto‑refresh on push.
- New PHP/JS tests: admin push API feature test and queue/haptics unit tests
Added admin-specific PWA icon assets and wired them into the admin manifest, service worker, and admin shell, plus a
new “Device & permissions” card in mobile Settings with a persistent storage action and translations.
Details: public/manifest.json, public/admin-sw.js, resources/views/admin.blade.php, new icons in public/; new hook
resources/js/admin/mobile/hooks/useDevicePermissions.ts, helpers/tests in resources/js/admin/mobile/lib/
devicePermissions.ts + resources/js/admin/mobile/lib/devicePermissions.test.ts, and Settings UI updates in resources/
js/admin/mobile/SettingsPage.tsx with copy in resources/js/admin/i18n/locales/en/management.json and resources/js/
admin/i18n/locales/de/management.json.
This commit is contained in:
@@ -59,6 +59,19 @@ export function DevTenantSwitcher({ bottomOffset = 16, variant = 'floating' }: D
|
||||
return null;
|
||||
}
|
||||
|
||||
async function handleLogin(key: string) {
|
||||
if (!helper) {
|
||||
return;
|
||||
}
|
||||
setLoggingIn(key);
|
||||
try {
|
||||
await helper.loginAs(key);
|
||||
} catch (error) {
|
||||
console.error('[DevAuth] Switch failed', error);
|
||||
setLoggingIn(null);
|
||||
}
|
||||
}
|
||||
|
||||
if (variant === 'inline') {
|
||||
if (collapsed) {
|
||||
return (
|
||||
@@ -133,25 +146,14 @@ export function DevTenantSwitcher({ bottomOffset = 16, variant = 'floating' }: D
|
||||
icon={<PanelRightOpen size={16} />}
|
||||
borderRadius={999}
|
||||
position="fixed"
|
||||
right="$4"
|
||||
zIndex={1000}
|
||||
onPress={() => setCollapsed(false)}
|
||||
style={{ bottom: bottomOffset + 70 }}
|
||||
>
|
||||
Demo tenants
|
||||
</Button>
|
||||
);
|
||||
}
|
||||
|
||||
async function handleLogin(key: string) {
|
||||
if (!helper) return;
|
||||
setLoggingIn(key);
|
||||
try {
|
||||
await helper.loginAs(key);
|
||||
} catch (error) {
|
||||
console.error('[DevAuth] Switch failed', error);
|
||||
setLoggingIn(null);
|
||||
}
|
||||
right="$4"
|
||||
zIndex={1000}
|
||||
onPress={() => setCollapsed(false)}
|
||||
style={{ bottom: bottomOffset + 70 }}
|
||||
>
|
||||
Demo tenants
|
||||
</Button>
|
||||
);
|
||||
}
|
||||
|
||||
return (
|
||||
|
||||
Reference in New Issue
Block a user