Add real replacement pages for Pages, Media Library, and Users (v2.6.0)

Completes the "skinned vs. replaced" conversion started with Posts —
every native list-table screen the user asked about now has a genuine
custom Vue page behind it instead of dark-themed CSS over the native
markup. All three follow the same pattern as Posts: own REST controller
in admin/src/Rest/, own Vue page matching the Comments layout, native
screen redirected away (direct visits too, not just the sidebar link),
gated by its own Settings toggle defaulting to on.

- Pages (PagesData.php + Pages.vue): same as Posts, parent page shown
  instead of categories. edit.php?post_type=page redirects; other post
  types untouched.
- Media Library (MediaData.php + Media.vue): thumbnail grid with type
  filters (Images/Audio/Video/Documents/Unattached). Replaces the
  browse/library experience only — media-new.php (the actual upload
  screen) is untouched, same reasoning as leaving the block editor
  alone for Posts/Pages.
- Users (UsersData.php + Users.vue): filterable by role. Deleting a
  user always reassigns their content to whoever performs the deletion
  rather than exposing WP core's reassign-or-delete-everything choice
  as a one-click action — deliberately simplified to avoid a surprising,
  highly destructive default. user-new.php untouched.

Verified live: Media's grid renders real thumbnails/dimensions/file
sizes with working filters and search; Users shows real accounts with
role filters and correctly hides delete for the current user; both
redirect correctly from their native URLs.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
This commit is contained in:
nixpanel
2026-07-05 06:40:22 -05:00
co-authored by Claude Sonnet 5
parent 56b6674527
commit 204c4365e2
18 changed files with 2542 additions and 44 deletions
+27
View File
@@ -5,6 +5,33 @@ version bump. Starts at 2.1.0 — earlier history (the theming rebuild,
window chrome/taskbar, Site Editor support, etc.) lives in `git log` and
`PROJECT_STATUS.md`, not reconstructed here.
## [2.6.0] - 2026-07-05
### Added
- Real replacement pages for Pages, Media Library, and Users — the
remaining native admin screens that were only dark-themed skinning,
now built the same way as Posts/Comments/Plugins (own REST controller,
own Vue page, native screen redirected away):
- **Pages** (`PagesData.php` + `Pages.vue`): same as Posts, but shows
the parent page instead of categories. `edit.php?post_type=page`
redirects; other post types are untouched.
- **Media Library** (`MediaData.php` + `Media.vue`): a thumbnail grid
(not a rebuilt drag-drop uploader) with type filters (Images/Audio/
Video/Documents/Unattached), search, and delete. `upload.php`
(both grid and list mode) redirects; `media-new.php` (the actual
upload screen) is untouched, same reasoning as leaving the block
editor alone for Posts/Pages.
- **Users** (`UsersData.php` + `Users.vue`): filterable by role, with
edit/delete actions. Deleting a user always reassigns their content
to whoever performs the deletion, rather than exposing WP core's
reassign-or-delete-everything choice as a one-click REST action —
deliberately simplified to avoid a surprising, highly destructive
default. `users.php` redirects; `user-new.php` (account creation)
is untouched.
- All four gated by their own Settings toggle (`modern_pages`,
`modern_media`, `modern_users` — `modern_posts` already existed),
each defaulting to on.
## [2.5.0] - 2026-07-05
### Added