Skip to content

Feature/UI improvements - #40

Merged
fxai merged 18 commits into
mainfrom
feature/ui-improvements
Oct 26, 2026
Merged

fxai merged 18 commits into
mainfrom
feature/ui-improvements

Conversation

@fxai

@fxai fxai commented Oct 26, 2026

Copy link
Copy Markdown
Collaborator

Summary

Dependency update plus a series of UI improvements for the assessment table, sidebar and activity form, and two small backend extensions. Commits are kept atomic (one per change), so the PR can be reviewed commit by commit.

Dependencies

  • Backend and frontend dependencies updated (incl. SQLAlchemy 2.1, FastAPI 0.162, pinia 4, vueuse 15, reka-ui 2.11 which fixes the AlertDialog regression we had pinned around); Biome nextTick hints fixed.

Activity form

  • Sections (Activity Details, Activity Detection, Evaluation, Attachments) are now browser-style tabs; each new activity opens on Activity Details at the top of the page.
  • Assets: "+ Add" tile always available, pencil to edit an asset directly, "Manage" buttons removed.
  • Pass/N/A/Fail buttons no longer overlap the sticky header.
  • Tag input uses the same outlined tag style as the rest of the app; tag suggestions dropdown scrolls.

Sidebar

  • Empty groups are shown; tag pills next to activities.
  • Activities and groups can be reordered by drag & drop (grouped view, Position sort, red team/admin only).

Table & dialogs

  • Group/activity checkboxes aligned; empty groups show a disabled checkbox.
  • "Toggle Visibility" replaced by explicit Show / Hide; selection is kept after bulk actions.
  • "Manage Order" no longer sends deleted activities (fixed 400 error).
  • Create Activity: choose the target group (default group preselected).
  • Dialogs no longer close when clicking outside (×, Cancel or Escape close them).
  • New asset icons: phone, email, app, website.

Backend (backwards compatible)

  • PUT /activity/{id}/visible accepts an optional { "visible": true|false } body to set an explicit state; without a body it still toggles.
  • POST /activity/ accepts an optional activity_group_id; without it the default group is used as before.

Testing

  • Backend: 281 tests pass, ruff clean.
  • Frontend: bun run lint and bun run build pass.
  • Manually checked in the browser during development; please also verify drag & drop in the sidebar and the Show/Hide bulk actions

fxai and others added 18 commits October 26, 2026 14:42
POST /assessments/{id}/activity/ accepts an optional activity_group_id
(new ActivityCreate schema). Without it the activity is added to the
default group as before; with it, it is added at the end of that group.
The group is looked up with get_activity_group_by_id_service, like the
other services that assign activities to groups.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The dialog lists the non-deleted activity groups with the default group
preselected, and sends the chosen group with the create request.
Regenerated API types (ActivityBase is replaced by ActivityCreate).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@fxai
fxai merged commit e3f2020 into main Oct 26, 2026
6 checks passed
@fxai
fxai deleted the feature/ui-improvements branch October 27, 2026 07:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant