mirror of
https://github.com/Donkie/Spoolman.git
synced 2026-10-22 01:52:17 -05:00
The change-filament dialog could only pick a filament that already existed, in the catalog or in SpoolmanDB. But the only way to create one anywhere in client_v2 is the add-spools flow, which always mints at least one spool — so refilling a shelf slot with a roll nobody had catalogued meant adding a throwaway spool and deleting it again, handing out exactly the new spool id the feature exists to avoid (issue #1010). The dialog now offers the same third path the add-spools flow does. Picking it swaps the search for the new-filament form and applies as one action: the filament (and its manufacturer) are created, then the spool is repointed at it. The spool keeps its number, location, dates and usage history. The form itself moves to NewFilamentCards, shared with AddSpoolModal so both dialogs keep the per-record card layout from #1038, with its rules and its mapping onto the API in lib/filament/draft.ts. The one difference is the weight/spool weight/price trio: the add-spools flow writes those to the spool it creates as well, and so keeps showing them in its spool block, while here they belong to the filament alone.