Components
Bothsrc/components/dropzone.tsx

Dropzone

The shared upload family: a click-or-drag zone, plus the two controls that sit on top of a media preview. It rests as a faint tint with no edge, deepens on hover, and shows a solid ink edge only while a file is dragged over it. Validation belongs to the call site, so a rejected file type can get a visible message.

Scrim rule: a control layered on a photo uses a fixed dark scrim with white content, never bg-ink. ink inverts with the theme, so an overlay built from it goes white-on-white in dark mode. A photo has no theme, so neither can the thing sitting on it. Check the two examples below in both modes.

Zone: tile

Zone: block

Overlay controls on a preview

Front

Used on

Console
/console (every page)/console/fleet/[id]/console/locations/console/locations/[id]/console/locations/franchises/[id]/console/people/[id]/console/scheduling
Portal
/(student) (every page)/dashboard