Adjust event defaults and nav width
Some checks failed
linter / quality (push) Has been cancelled
tests / ci (push) Has been cancelled
tests / ui (push) Has been cancelled

This commit is contained in:
Codex Agent
2026-01-06 12:22:12 +01:00
parent cc89cc667a
commit e82a10cb8b
4 changed files with 20 additions and 5 deletions

View File

@@ -94,9 +94,9 @@ export default function MobileEventFormPage() {
try {
const types = await getEventTypes();
setEventTypes(types);
// Default to first type if none set
if (!form.eventTypeId && types.length) {
setForm((prev) => ({ ...prev, eventTypeId: types[0].id }));
const preferredType = types.find((type) => type.slug === 'wedding') ?? types[0] ?? null;
if (preferredType) {
setForm((prev) => (prev.eventTypeId ? prev : { ...prev, eventTypeId: preferredType.id }));
}
} catch {
// silently ignore; fallback to null

View File

@@ -81,6 +81,7 @@ vi.mock('../theme', () => ({
}),
}));
import { getEventTypes } from '../../api';
import MobileEventFormPage from '../EventFormPage';
describe('MobileEventFormPage', () => {
@@ -94,4 +95,18 @@ describe('MobileEventFormPage', () => {
expect(backMock).toHaveBeenCalled();
});
it('defaults event type to wedding when available', async () => {
vi.mocked(getEventTypes).mockResolvedValueOnce([
{ id: 11, slug: 'conference', name: 'Conference', name_translations: {}, icon: null, settings: {} },
{ id: 22, slug: 'wedding', name: 'Wedding', name_translations: {}, icon: null, settings: {} },
]);
await act(async () => {
render(<MobileEventFormPage />);
});
const select = screen.getByRole('combobox');
expect(select).toHaveValue('22');
});
});

View File

@@ -47,7 +47,7 @@ export function BottomNav({ active, onNavigate }: { active: NavKey; onNavigate:
WebkitBackdropFilter: 'blur(14px)',
}}
>
<XStack justifyContent="space-between" alignItems="center">
<XStack width="100%" maxWidth={800} marginHorizontal="auto" justifyContent="space-between" alignItems="center">
{items.map((item) => {
const activeState = item.key === active;
const isPressed = pressedKey === item.key;