История коммитов

simba77
docs: describe the dashboard of the panel and the comment feed for modules
simba77
fix(admin): lay the dashboard out for narrow screens
The comments and the security block stand side by side from 1200px only; the three numbers of security stay in a row, one under another on a phone; the system block takes four columns, two, or one, and each of its parts sits on a plate of its own under a title with an icon. Two metric cards fit in a row on a 375px phone.

On a phone the date of a comment goes under the name, and the footer of the panel puts the counters above the copyright and the statistics. The button that opened the menu on the dashboard is gone: the top bar opens it.
simba77
feat(admin): add quick actions to the dashboard
Modules offer them through the menu extension point, in the new area MenuArea::AdminActions; each is shown only to whoever may take it. The panel offers finding a user, the search by IP, a new advertisement and the settings; the news offer writing an article.
simba77
feat(admin): show the state of the system on the dashboard
schedule:run records the moment it starts (data/schedule/last-run, outside the cache), so the panel knows whether cron runs. A scheduler silent for more than ten minutes, or one that never ran, is a problem among the lines that need attention, and so is a disk with less than a tenth free.

A system block for whoever manages the site: the scheduler with the line of crontab when it does not run, the versions of JohnCMS, PHP and the database server, the disk, the sizes of the cache and the logs, the debug mode and a button that clears the cache.
simba77
feat(admin): show the security of the last day on the dashboard
A security block next to the latest comments: refused sign-ins of the day and the addresses refused most often, the latest sign-ins of the staff, active bans and bans issued today. What comes from the sign-in log is shown only to whoever may read it.

An address refused ten times or more within a day is listed among the lines that need attention.
simba77
feat(admin): gather the comments of every module in one feed
Modules put their comments into the feed through CommentFeedSourceInterface, a new tagged extension point of the core; each source answers only whoever moderates its comments. Downloads, library, album and news provide them.

New page /admin/comments lists them the newest first, each leading to its place on the site; the dashboard shows the latest ones. The library and the news get repositories of their comments, and a news comment knows its article.
simba77
feat(admin): show the trend of the numbers on the dashboard
Modules put their numbers on the dashboard through DashboardMetricProviderInterface, a new tagged extension point of the core: today's count, the change since the day before and a line of the last two weeks, counted by day in one query with DailyCounts. Users, forum, guestbook, downloads, library and album provide cards.

The panel no longer depends on the forum: the forum counts its own posts, and the cleanup of inactive users removes the read marks through UserClean like the deletion of a single user. johncms/forum leaves the requires of the module.
simba77
feat(admin): list what needs attention on the dashboard
Modules add lines through DashboardAttentionProviderInterface, a new tagged extension point of the core: pending registrations, failed PHP checks, files and articles waiting for moderation. Each provider checks its own permission; the most pressing lines go first.

The counters of the day move to the stat cards of the panel.
simba77
build(admin): drop the styles of the site from the panel
The panel still compiled the partials of the public theme: posts, forum sections, lists, user rows, albums, the homepage and their dark variants. The redesigned templates use none of them. They are removed; what the panel did rely on moves into its own ui styles: the compact pagination of a phone and pagination-no-padding, the not-allowed cursor of a disabled button, and the tables and pictures CKEditor inserts, whose dark look stays in _dark.scss scoped to the editor.

The flag of the languages page uses the flag class of the panel (admin-flag, formerly admin-topbar__flag), and .form-group, gone from Bootstrap 5, gives way to spacing utilities on the sign-in form, the consent form and the CKEditor input. The styles of the panel go from 327 KB to 311 KB.
simba77
build(admin): drop the scripts of the site from the panel
The panel carried copies of the scripts of the public theme: the forum previews, the screenshot slider with the whole of Swiper, the image gallery, the round progress bars and Prism, with their styles. None of the templates of the panel uses them. They are removed with their imports, styles and the Prism setup; the entry script of the panel goes from 57 KB to 14 KB and its styles from 357 KB to 327 KB. bootstrap, globals, csrf and main stay as scripts of the panel of its own.