feat: enhance styling and layout for toolbar, map components, and editor
- Updated toolbar styles for improved layout and appearance, including padding and margin adjustments. - Introduced new styles for scale menu and compact dropdowns. - Enhanced map pin tooltips with better positioning and hover effects. - Added new styles for map sheet filters, including search and date range controls. - Improved editor styles for a more cohesive look and feel, including transport controls for video editing. - Expanded GeoLocation interface to include additional address fields and formatted address. - Updated MediaItem interface to include storage reference and uploadedBy fields. - Enhanced MediaComment interface with author details for better user identification. - Introduced GalleryUser interface to represent signed-in users in the host app.
This commit is contained in:
@@ -9,8 +9,12 @@
|
||||
A **reusable macOS Photos–style photo gallery SDK** (`@photo-gallery/sdk`) for React / Next.js, plus a
|
||||
Next.js demo (`apps/web`). Goal: a near carbon-copy of macOS Photos (light/dark/semi-dark, fully
|
||||
responsive) where **every feature is optional via flags**, so each consuming project enables only what
|
||||
it needs. See [`docs/ROADMAP.md`](docs/ROADMAP.md) for the complete, living feature checklist
|
||||
(done / in-progress / planned) and [`docs/ARCHITECTURE.md`](docs/ARCHITECTURE.md) for the design.
|
||||
it needs. It is **not just the standalone demo** — the SDK now **embeds into a host app** (e.g. the
|
||||
LynkedUp CRM): an `embedded` layout, suppressible `chrome`, host-driven theming (full `ThemeTokens` map),
|
||||
host **identity** (`currentUser` → identity-stamped comments / uploads / versions), a server-backed
|
||||
Recently-Deleted `lockProvider`, full-screen mode, and an **incremental** `StorageAdapter`
|
||||
(`applyChanges` + `putMedia`). See [`docs/ROADMAP.md`](docs/ROADMAP.md) for the complete, living feature
|
||||
checklist (done / in-progress / planned) and [`docs/ARCHITECTURE.md`](docs/ARCHITECTURE.md) for the design.
|
||||
|
||||
## Monorepo
|
||||
|
||||
@@ -25,6 +29,10 @@ it needs. See [`docs/ROADMAP.md`](docs/ROADMAP.md) for the complete, living feat
|
||||
- Storage is a pluggable `StorageAdapter` (default: localStorage/IndexedDB). AI is a pluggable
|
||||
`AIProvider` (object detection / faces / OCR / caption / embeddings / generativeEdit) — all optional.
|
||||
- Every capability is gated by a feature flag (`features={{ editor, camera, ai, map, import, export, ... }}`).
|
||||
- **Embedding the SDK in another app** (embedded layout, chrome suppression, host identity/`currentUser`,
|
||||
the full `ThemeTokens` → CSS-var table, and the incremental `applyChanges`/`putMedia` adapter contract):
|
||||
see [`packages/photo-sdk/README.md` → "Embedding in a host app"](packages/photo-sdk/README.md#embedding-in-a-host-app)
|
||||
and [`docs/ARCHITECTURE.md`](docs/ARCHITECTURE.md).
|
||||
- Security: strict per-request **nonce CSP** (middleware), input validation, URL-scheme allow-list,
|
||||
filename sanitization, server-only API keys (never `NEXT_PUBLIC_`). Don't regress this.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user