Replace the DSH top-left BrandWordmark/FishLogo with your own image or text.
Features
- Three modes: Default (no change) / Image (≤256 KB upload) / Text
- Inline ⚙ handle inside the wordmark — hover the logo to reveal it (no floating widget)
- Alignment (left / center / right) for image and text modes
- Font size slider (10–48 px) with double-click \�uto\ to fit the original wordmark height
- Color picker for text mode
- localStorage persistence (key: \dsh.custom-logo.v1)
- Sidebar-collapsed safe — everything removes itself in the rail state
- Settings panel lives in a Shadow DOM, no CSS bleed into DSH shell
Install
\\sh
dsh plugin --profile web add git+https://github.com/189-sketch/dsh-custom-logo.git
\\
Hard-refresh the browser (Ctrl+F5) after install.
How it works
- TypeScript + \ sdown\ standalone bundle (inlines the DSH clientBundle preset)
- CSS Modules inlined into \lib/client.js\ (*.module.css\ filename)
- Module-level singletons for the ⚙ handle and slot element — survives DSH's React re-renders without losing hover state
- Document-level click delegation — handles stay clickable even when DSH swaps the .brand\ button
- Plain \localStorage\ (no \ctx.settings\ wiring) — \config\ argument is reserved for dynamic plugins through \cordis-client-runner\
License
MIT