mirror of
https://github.com/sky-systems/sky_phone.git
synced 2026-09-04 09:13:24 +00:00
FIX - repair company actions and key rebindings (#32)
* FIX - repair company detail actions Constrain compact navbar titles to their grid column so long company names cannot overlap the back action. Allow configured public emergency companies to accept normal service requests, and migrate existing police profile and Phone Configurator defaults exactly once. * FIX - preserve phone key rebindings Use the stable sky_phone_toggle command as the RegisterKeyMapping identifier. The previous revisioned command names detached FiveM's persisted keyboard settings from the active handler whenever the mapping identity changed.
This commit is contained in:
@@ -135,6 +135,49 @@ describe('admin configurator fixture', () => {
|
||||
).toBe('map')
|
||||
})
|
||||
|
||||
it('exposes the requestable police assistance defaults', () => {
|
||||
const companyJobs = loadConfiguratorSections()
|
||||
.flatMap((section) => section.fields)
|
||||
.find((field) => field.path === 'Companies.Definitions')
|
||||
const police = (
|
||||
companyJobs?.value as
|
||||
| Record<string, Record<string, unknown>>
|
||||
| undefined
|
||||
)?.police
|
||||
|
||||
expect(police).toMatchObject({
|
||||
AcceptsRequests: true,
|
||||
Emergency: true,
|
||||
Services: [
|
||||
{
|
||||
Id: 'police-assistance',
|
||||
RequestsEnabled: true,
|
||||
},
|
||||
],
|
||||
})
|
||||
expect(
|
||||
companyJobs?.structure?.fields?.police.fields?.Services,
|
||||
).toMatchObject({
|
||||
items: [
|
||||
{
|
||||
fields: {
|
||||
Id: { kind: 'value', valueType: 'string' },
|
||||
RequestsEnabled: { kind: 'value', valueType: 'boolean' },
|
||||
},
|
||||
kind: 'table',
|
||||
},
|
||||
],
|
||||
kind: 'list',
|
||||
template: {
|
||||
fields: {
|
||||
Id: { kind: 'value', valueType: 'string' },
|
||||
RequestsEnabled: { kind: 'value', valueType: 'boolean' },
|
||||
},
|
||||
kind: 'table',
|
||||
},
|
||||
})
|
||||
})
|
||||
|
||||
it('publishes fixed schemas for every empty configurable collection', () => {
|
||||
const fields = loadConfiguratorSections().flatMap(
|
||||
(section) => section.fields,
|
||||
@@ -183,7 +226,7 @@ describe('admin configurator fixture', () => {
|
||||
template: { kind: 'value', valueType: 'string' },
|
||||
})
|
||||
expect(
|
||||
root('Companies.Definitions')?.fields?.police.fields?.Services,
|
||||
root('Companies.Definitions')?.fields?.ambulance.fields?.Services,
|
||||
).toMatchObject({
|
||||
items: [],
|
||||
kind: 'list',
|
||||
|
||||
@@ -4178,7 +4178,7 @@ const companyCategories = [
|
||||
let companyCallAvailable = false
|
||||
const companyProfiles = [
|
||||
{
|
||||
acceptsRequests: false,
|
||||
acceptsRequests: true,
|
||||
announcement: {
|
||||
body: 'Community traffic unit active around Legion Square.',
|
||||
expiresAt: isoTime(6 * 60 * 60 * 1000),
|
||||
@@ -4202,28 +4202,20 @@ const companyProfiles = [
|
||||
label: 'Mission Row Police Station',
|
||||
},
|
||||
logoUrl: 'https://picsum.photos/seed/companies-police-logo/180/180',
|
||||
name: 'Los Santos Police',
|
||||
name: 'Los Santos Police Department',
|
||||
phoneNumber: '911',
|
||||
revision: 3,
|
||||
services: [
|
||||
{
|
||||
acceptsRequests: false,
|
||||
acceptsRequests: true,
|
||||
active: true,
|
||||
description: 'Immediate police response through the service line.',
|
||||
id: 'emergency-response',
|
||||
description: 'Request non-emergency police assistance.',
|
||||
id: 'police-assistance',
|
||||
priceText: null,
|
||||
title: 'Emergency Response',
|
||||
},
|
||||
{
|
||||
acceptsRequests: false,
|
||||
active: true,
|
||||
description: 'General information and non-emergency assistance.',
|
||||
id: 'public-assistance',
|
||||
priceText: null,
|
||||
title: 'Public Assistance',
|
||||
title: 'Police Assistance',
|
||||
},
|
||||
],
|
||||
serviceSummary: 'Emergency response and public assistance',
|
||||
serviceSummary: 'Non-emergency police assistance',
|
||||
verified: true,
|
||||
},
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user