Files
Isaac ConnorandClaude Opus 5 bf663a7818 feat: group the Analysis tab settings and label the audio ones properly
The audio settings were inserted between Analysis FPS and the reference blend
percentages, splitting the motion settings in half. The tab now reads as three
groups, each opened by a heading row with a rule above it: motion detection,
audio detection, then the settings that belong to neither - linked monitors and
the Amcrest API toggle.

A heading row rather than fieldset/legend, which is what user.php uses, because
these tabs are a flat <ul> of <li> rows and a <ul> may only contain <li>. The
heading gives the same separation without breaking the list or disturbing the
existing row layout.

The audio labels were whole sentences where every other row has a short one,
which is what made the label column so wide. They are now Audio Detection,
Audio Threshold and Audio Alarm Score, with the descriptions moved to form-text
help under each input, matching how Capturing and Decoding already describe
their options. The threshold help now also says to measure the device's quiet
level first, since setting it too low is what made a monitor alarm constantly.

The audio heading hides with its group when Motion Detection is None, since the
whole group is inert then.

Verified in the browser: the three groups render with their rules, the label
column is back to a normal width, and the help text sits under each input.
ESLint 0 problems, tests/js 154 assertions, php -l clean, and the new CSS
checked to be at top level rather than inside one of the media queries.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UvTCzCbvGt8xKQRNCSA7o8
2026-09-11 20:13:03 -05:00
..
2018-10-18 09:20:15 -04:00
2013-03-17 00:45:21 +01:00