Tags: edit in place, sit beside the name, and fix five unstyled inputs
Three points from @Orhideous on #149, taking the middle path we settled on:
finish what tags already are, and do not spread them further until someone
asks.
Five inputs were rendering with no styles at all
"text input for tag name is unstyled." It was, and not only that one. The
input used className="input-field", and .input-field is not defined
anywhere -- the app's class is .input. So the browser drew its raw
default, which is the white box in his screenshot.
Five inputs in Settings used the undefined class:
Tags tag name
Maintenance Windows window name, start, end
Audit Log search
He only reported one. His broader remark that the settings UI felt
abandoned had a concrete cause spanning three sections.
.input sits in @layer components, so the per-input utilities (flex-1, w-64)
still win over its w-full and each field keeps its intended width.
Tags could not be edited
PUT /tags/:id and tagsApi.update() both existed and nothing called them --
the same shape assignment had before the last release. Each row in Settings
now edits in place: colour and name, Enter to save, Escape to cancel. Kept
in its own component with its own state rather than adding more to a
2,000-line settings page.
A rename or recolour invalidates the device lists as well as the tag list,
because the chips render from the device payloads. Verified: renaming and
recolouring a tag through the endpoint reached the device list immediately.
Beside the name, not beneath it
A second line per row doubled the height of the few rows carrying tags and
misaligned them with the rest. flex-wrap keeps a long tag list from pushing
the name off the row on a narrow screen.
Not done, deliberately
He listed topology, the rollout planner and the wireless pages as places a
finished tags feature would need to show them, and pointed out that doing
so has a permanent maintenance cost for a feature he personally will not
use. That is a fair argument, and it is why tags stop here: assignable,
editable, and useful in bulk commands, without being threaded through every
surface on speculation.
Container image: ghcr.io/2gt-media-group-llc/mikrotik-manager:0.24.18-beta
Documentation: https://2gt-media-group-llc.github.io/mikrotik-manager/