# PhoenixKitLocations v0.3.0 - Table of Contents

> Locations module for PhoenixKit — manage physical locations with custom types.

## Modules

- [PhoenixKitLocations](PhoenixKitLocations.md): Locations module for PhoenixKit.
- [PhoenixKitLocations.Attachments](PhoenixKitLocations.Attachments.md): Folder-scoped file attachments + featured image for Locations
resources (Location, Space). Designed for **multi-resource** LVs:
many Files cards can live on the same page, each keyed by an
opaque string "scope" — typically the resource's id or a draft id.
- [PhoenixKitLocations.Errors](PhoenixKitLocations.Errors.md): Central mapping from error atoms (returned by the Locations module's
public API and used across its LiveViews) to translated human-readable
strings.
- [PhoenixKitLocations.Gettext](PhoenixKitLocations.Gettext.md): Gettext backend for phoenix_kit_locations.
- [PhoenixKitLocations.Locations](PhoenixKitLocations.Locations.md): Context module for managing locations and location types.
- [PhoenixKitLocations.Paths](PhoenixKitLocations.Paths.md): Centralized path helpers for the Locations module.
- [PhoenixKitLocations.Schemas.Location](PhoenixKitLocations.Schemas.Location.md): Schema for locations.
- [PhoenixKitLocations.Schemas.LocationType](PhoenixKitLocations.Schemas.LocationType.md): Schema for location types (e.g., Showroom, Storage, Office).
- [PhoenixKitLocations.Schemas.LocationTypeAssignment](PhoenixKitLocations.Schemas.LocationTypeAssignment.md): Join table for many-to-many between locations and location types.
- [PhoenixKitLocations.Schemas.Space](PhoenixKitLocations.Schemas.Space.md): A nested space inside a `Location` — a floor, room, zone, etc.
- [PhoenixKitLocations.Spaces](PhoenixKitLocations.Spaces.md): Context for nested spaces under a Location — rooms, floors, zones,
etc. forming a per-location tree.
- [PhoenixKitLocations.Web.Components.FilesCard](PhoenixKitLocations.Web.Components.FilesCard.md): Reusable Files + Featured Image card body. Renders the same UI
for Location, floors, and rooms — each instance scoped by the
`scope` attr, which is forwarded as `phx-value-scope` on every
event button. The single shared upload config is owned by the
parent LiveView; each dropzone here also sets `:active_upload_scope`
on click so the upload routes to the right folder.

- [PhoenixKitLocations.Web.Components.LocationTabs](PhoenixKitLocations.Web.Components.LocationTabs.md): Shared tab navigation between a Location's "Details" and "Structure"
pages. Each tab is served by a separate LiveView (`LocationFormLive`
and `LocationStructureLive`), so tab links use `navigate` rather than
`patch`, mirroring `PhoenixKitWarehouse.Web.Components.WarehouseHeader`.
- [PhoenixKitLocations.Web.Components.PlacePicker](PhoenixKitLocations.Web.Components.PlacePicker.md): LiveComponent for picking a Location, and optionally a Space inside
it, in one widget — a search-combobox for the Location half and the
existing `SpaceTree` (read-only picker mode) for the Space half.
- [PhoenixKitLocations.Web.Components.SpaceTree](PhoenixKitLocations.Web.Components.SpaceTree.md): Recursive tree of a Location's `Space` hierarchy (floors, rooms, zones,
sections, aisles, shelves) — an adaptation of
`PhoenixKitWeb.Components.FolderExplorer.folder_tree_node/1` for
`PhoenixKitLocations.Spaces.list_tree/1` nodes. Simplified relative to
that model: no desktop-only fixed-width sidebar and no drag/drop or
connector-line CSS — a single full-width column.
- [PhoenixKitLocations.Web.LocationFormLive](PhoenixKitLocations.Web.LocationFormLive.md): Create/edit form for locations with multilang, type toggles, and feature checkboxes.
- [PhoenixKitLocations.Web.LocationStructureLive](PhoenixKitLocations.Web.LocationStructureLive.md): The "Structure" tab of a Location's admin page — mounts the Location,
loads its Space tree via `Spaces.list_tree/1`, and renders it through
`SpaceTree.space_tree/1` next to `LocationTabs.location_tabs/1` (the
shared tab header with `LocationFormLive`'s "Details" tab).
- [PhoenixKitLocations.Web.LocationTypeFormLive](PhoenixKitLocations.Web.LocationTypeFormLive.md): Create/edit form for location types with multilang support.
- [PhoenixKitLocations.Web.LocationsLive](PhoenixKitLocations.Web.LocationsLive.md): Landing page for the Locations module.

