fix(bookings): make the reservation import findable on the desktop panel

The import is not missing from the desktop — it sits at the far right of the
bookings toolbar, next to the accent "Manual Booking", above an empty page with
nothing but the mascot on it. On a fresh trip that is exactly where nobody
looks, which is how it reads as absent.

The empty state now offers the ways in that apply: add manually, import from a
file, and AirTrail where it is connected. EmptyState grows an optional action
slot for it, so every other caller is untouched.

Closes #2007
This commit is contained in:
Maurice
2026-08-21 12:47:46 +02:00
committed by Maurice
parent 9094f05604
commit 8b88986ca8
3 changed files with 45 additions and 7 deletions
+5 -1
View File
@@ -1,4 +1,4 @@
import type { CSSProperties } from 'react'
import type { CSSProperties, ReactNode } from 'react'
import MDancingTrek, { type TrekScene, type TrekMood } from '../../mobile/components/MDancingTrek'
/**
@@ -18,6 +18,7 @@ export default function EmptyState({
size = 104,
surface = 'var(--bg-card)',
className = '',
action,
}: {
scene?: TrekScene
mood?: TrekMood
@@ -25,6 +26,8 @@ export default function EmptyState({
size?: number
surface?: string
className?: string
/** Optional call to action under the title, for states that have an obvious next step. */
action?: ReactNode
}) {
return (
<div
@@ -33,6 +36,7 @@ export default function EmptyState({
>
<MDancingTrek scene={scene} mood={mood} size={size} />
<p className="text-[15px] font-semibold text-content-secondary">{title}</p>
{action}
</div>
)
}