Typing in the account search field briefly emptied the list and
displayed "No accounts" until the request returned, which on large
instances misled admins into thinking the query matched nothing. The
empty-state now keeps the loading spinner visible whenever the list is
empty and a fetch is in flight, regardless of whether it is the initial
page load or a subsequent search/group switch.
Signed-off-by: nfebe <fenn25.fn@gmail.com>
Adds an NcDialog confirmation to the Revoke action; deletion was
previously instant on click. When the token is marked for remote
wipe, the dialog surfaces a warning and the destructive button
switches to "Cancel wipe and revoke" so cancelling an in-flight
wipe is an explicit opt-in.
Also migrates the existing Wipe confirm from the legacy
window.OC.dialogs.confirm helper to NcDialog, matching the new
delete dialog. The auth token store actions are now pure API
callers; the UI does the gating.
Signed-off-by: Peter Ringelmann <peter.ringelmann@nextcloud.com>
On the new tinted active background the inversion flips icons to
white on a light surface. Now scoped to the legacy design only.
Signed-off-by: nfebe <fenn25.fn@gmail.com>
`NcAppNavigation` is only allowed in `NcContent` but we were not using
it because the content was rendered by the server as templates.
This is now fixed by moving the content inside the `NcContent` once
mounted.
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
Replace inline row editing in user management with a modal dialog.
Extract shared form fields into UserFormFields with sub-components
(Groups, Quota, Language, Manager) using a single formData prop.
Normalize newUser shape to API-aligned field names.
Refs: #40903
-e
Signed-off-by: Peter Ringelmann <peter.ringelmann@nextcloud.com>
Add atomic multi-field user update with collected validation errors,
IAppConfig migration, and corresponding Vuex store action/mutation.
Signed-off-by: Peter Ringelmann <peter.ringelmann@nextcloud.com>
Replace the unified search event bus subscription and the separate group
sidebar search with a single input in the account management navigation.
The query is shared via Vuex so UserList and AppNavigationGroupList
react to the same state.
Part of #53862Fixes#59166
Signed-off-by: Peter Ringelmann <peter.ringelmann@nextcloud.com>
Register axios password confirmation interceptors in the apps
management, admin delegation, admin security, and OAuth2 settings
bundles, and pass PwdConfirmationMode.Strict on requests to endpoints
protected with #[PasswordConfirmationRequired(strict: true)], so that
the user password is verified via Basic auth on the request itself
rather than relying on the session timestamp.
Signed-off-by: Peter Ringelmann <peter.ringelmann@nextcloud.com>
Migrate away from jQuery and Snap.js for the navigation.
This is required to finally drop both dependencies.
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
- replace renamed `word-wrap` with new name `overflow-wrap` (CSS3)
- use extensions for `@use`
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
The `security_password` was last used in the personal setting security
section, but already migrated to vue.
So it can be safely removed.
The styles can also be removed by moving the required ones directly to
the Vue component.
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
1. Remove unused legacy parts (no code match in the whole github
organization).
2. Consolidate `OC.Settings` in `core/src/OC` for consistency.
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>