# `PhoenixKitCatalogue`
[🔗](https://github.com/BeamLabEU/phoenix_kit_catalogue/blob/v0.31.3/lib/phoenix_kit_catalogue.ex#L1)

Catalogue module for PhoenixKit.

Manages product catalogues with categories and items.
Designed for manufacturing companies (e.g., kitchen/furniture producers) that need
to organize materials and components.

Suppliers and manufacturers are NOT managed here: both are companies in the
CRM module, holding the `supplier` / `manufacturer` role. This module
keeps only the per-item sourcing facts (cost, SKU, lead time) and resolves the
supplier's identity through `PhoenixKitCatalogue.Catalogue.Suppliers`.

## Installation

Add to your parent app's `mix.exs`:

    {:phoenix_kit_catalogue, path: "../phoenix_kit_catalogue"}

Then `mix deps.get`. The module auto-discovers via beam scanning.
Enable it in Admin > Modules.

## Structure

- **Manufacturers** — companies that produce materials/components
- **Suppliers** — companies that deliver materials (many-to-many with manufacturers)
- **Catalogues** — top-level groupings (e.g., "Kitchen Furniture", "Plumbing")
- **Categories** — subdivisions within a catalogue (e.g., "Cabinet Frames", "Doors")
- **Items** — individual products with SKU, price, unit of measure

# `ai_translatables`

# `resolve_comment_resources`

```elixir
@spec resolve_comment_resources([binary()]) :: %{required(binary()) =&gt; map()}
```

Resolver for supplier comment threads (`"catalogue_item_supplier"`): turns
thread uuids into `%{uuid => %{title, path}}` chips, so a "he promised a
discount" note links back to the item's Suppliers tab from the central
Comments admin and the Activity feed.

Registered automatically through `resource_links/0`. Paths are RAW (no URL
prefix) — core applies the prefix/locale once at render.

See `PhoenixKitCatalogue.Catalogue.SupplierComments` for the thread model.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
