mirror of
https://github.com/ZoneMinder/zoneminder.git
synced 2026-09-12 21:27:39 -04:00
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