- Statuses can now be bulk-imported/updated via CSV (Name, Color columns;
matches and updates existing statuses by name). New
internal/statuses/csv.go, tested.
- Icon fields (folder create/rename, item type form) are now a searchable
dropdown of the 50 most common Bootstrap Icons instead of a free-text
box, via a small reusable .icon-picker widget in app.js/app.css.
- CSV asset import is now folder-scoped when triggered from the tree:
right-click a folder (or its background) > Import CSV... imports every
row directly into that folder, so the CSV needs no Folder column at
all, and the option no longer appears at the top level. The original
global, Folder-path-aware import (with auto-create-missing-folders)
moved to a new admin-only Settings > Import / Export page, alongside
the new Statuses import and format examples for both. assets.Import
gained ImportOptions.TargetFolderID to drive the folder-scoped mode.
- Site Name (Settings > General) now actually renders in the navbar
brand and <title>, via a per-App "siteName" template func bound in
loadTemplates. The brand is plain text now, not a link to /inventory.
- Main panel is now blank at the top level ("Select a folder or asset
from the tree") instead of showing a dashboard - browsing happens in
the tree, the panel only shows something once you click into it.
Removed the now-dead DashboardStats/Stats() machinery it depended on.
- Add/Edit Asset no longer takes over the main panel; it opens in
#assetModal instead; asset_form.html was trimmed down to just the form
(no more breadcrumb/panel wrapper) since the modal chrome provides the
title and footer buttons now. The dynamic item-type-fields and submit
listeners moved from #main-panel's delegation to the modal element's.
- Statuses split out of the General settings page into its own
/settings/statuses page and sub-nav entry, alongside General, Item
Types, and Users.