Workspace & Appearance
Layout, theme, and keyboard shortcuts that follow each user across devices
These settings belong to the signed-in person, not the business. A cashier who moves the cart to the left and a manager who keeps it on the right each keep their own choice — on any device they sign in to. The preferences are stored on the account and mirrored to local storage so the screen paints correctly the instant it loads, before the server round-trip.
What You Can Customize
| Preference | Options | Where to change it |
|---|---|---|
| Sidebar side | Left or right | Settings › Appearance, or the move icon in the sidebar header |
| POS cart side | Left or right | Settings › Appearance, or the toggle in the POS cart header |
| Theme | Light · Dark · Match system | Settings › Appearance theme picker |
| Fullscreen | On / off | Topbar fullscreen button |
| Keyboard shortcuts | Rebindable per action | Settings › Appearance › Keyboard shortcuts |
In-Context Controls
You don't have to dig into Settings to move things around — the most-used toggles sit where you feel the friction, and they update the same saved preference (so Settings stays in sync).
| Control | Location | What it does |
|---|---|---|
| Sidebar side | Icon button in the expanded sidebar header (desktop) | Flips the sidebar — and the page layout — to the other side |
| POS cart side | Toggle in the POS cart panel header (desktop) | Moves the cart column to the opposite side of the POS grid |
| Fullscreen | Topbar, beside the notification bell | Enters / exits browser fullscreen; the icon mirrors the real state |
| Shortcuts cheat sheet | Keyboard icon in the topbar | Opens the shortcuts overlay (also Ctrl/⌘ + /) |
Keyboard Shortcuts
POSVelo ships a set of global shortcuts spanning general actions and page
navigation — search, toggling the sidebar, switching theme, fullscreen, opening
help, and jumping between pages. Open the cheat sheet any time with
Ctrl/⌘ + /.
In Settings › Appearance › Keyboard shortcuts you can record a new combination for any action. A binding must include Ctrl/⌘ or Alt, and a combo already used by another action is rejected — so you can't accidentally shadow an existing shortcut. While you're recording, the global listener is suspended so your keystrokes set the binding instead of firing the old one.
How It's Saved
| Layer | Role |
|---|---|
| Account (server) | Preferences persist via PATCH /api/v1/auth/me/preferences, which merges your patch into the account's stored preferences |
| Local cache | A local-storage mirror paints the correct layout immediately on reload, before the account data is fetched |
| On sign-in | Your saved preferences hydrate from /auth/me, so a new device adopts them on first load |
Changing a preference updates the screen and the local cache immediately and writes to your account in the background — so the UI never waits on the network to feel responsive, and the choice is still durably saved.