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

simba77
feat(admin): lay out the system check in cards with a summary
The checks were four bordered tables. A line on top now sums them up, and each group is a card of rows with a mark, the name, the value and the description under it. A failed check is marked by how much it matters, which the checker already told: a required one in red, a recommendation in amber, a note such as the accounts on the old password hash in blue rather than as an error.
simba77
feat(admin): turn the languages of the site on and off
/admin/languages lists every language whose files are on the disk, read afresh on each opening, with the default chosen in one column and a switch for being on the site in the other; the default is always on. The configured list (lng_list) holds the languages turned on, so the switch, the profile and the detection of the language offer only them, and a member who chose one turned off sees the default. The files of a language turned off stay in place.

The management of language packs is removed with its routes (/admin/languages/manage, install, update, delete): its catalogue on johncms.com answers with a page instead of a list, its buttons posted to addresses that did not exist, and deleting removed files of the release. The button to read the list again is gone as well.
simba77
fix(admin): name the smilies section like the rest of the site
The item of the menu said Update Smilies, which the page no longer is about; it is Smilies now, as the heading. The Russian translations of the section call them смайлы, as the catalogue and the other modules do, instead of смайлики.
simba77
perf(smilies): look at the folders only from the admin panel
Drawing the smilies checked the time of every folder of public/assets/emoticons against the cache on each request. The site now reads the cache file only and builds it when it is missing or of an older format. SmiliesMap::isStale() compares the folders with it, and /admin/emoticons asks it on opening and builds the list again when a picture was put in, taken out or renamed.

cache:clear no longer keeps the file of the smilies: it is built again on the next request.
simba77
feat(admin): show the folders of the smilies on /admin/emoticons
The page was a single button to build the cache, which builds itself now. It explains how to add a smiley, which folder gives which codes, and shows each folder of public/assets/emoticons with the number of its pictures, a few of them and the code one is written with. The public catalogue and the rebuild, kept for an emergency, move to the head of the page; the message of the rebuild counts pictures.
simba77
fix(smilies): build the map of the smilies by itself
The map of the codes was built only by the button on /admin/emoticons and by the installer: a picture put in a folder was no smiley until someone pressed it, and without the cache file the site drew no smilies at all. SmiliesMap (system/src/Smilies) now builds the file whenever it is missing, of an older format or older than the folders of public/assets/emoticons, which SmileyFolders lists.

The cache keeps the paths of the pictures from the root of the site; the renderer adds the address of the site, so changing it no longer leaves the smilies on the old one.

The scanner, the cache repository and their interfaces leave the admin module, the installer no longer builds the cache, and the rebuild counts pictures rather than their Latin and Cyrillic codes.
simba77
feat(admin): set the built-in captcha apart from the services
The picture with a code had far more fields than the services, so a row of the grid of providers was left half empty. The picture, which the forms fall back to, now stands first on two thirds of the width with its fields three abreast, and the external services follow in a row of their own under a heading. CaptchaManager::FALLBACK_PROVIDER is public for the controller to tell them apart.
simba77
feat(admin): lay out the mail, image and captcha settings in cards
The three tabs beside the general settings were fieldsets in a narrow column. They are cards now, with the sticky footer of buttons of the other forms.

Mail: the sending method is chosen from a list that says what each one does, and only the card of the chosen one is shown (SMTP or sendmail, mail-settings.js); the connection string and the address for development have cards of their own, and the test letter sits on the right.
Images in the editor: the size and the resolution on the left with their units, the storage format and quality on the right.
Captcha: a card for each provider, the one in use picked in its head and framed, with a badge for the providers without their keys; the warning about falling back to the picture is left for a provider picked without its keys. The field of a provider setting follows the forms of the panel.
simba77
feat(admin): join the settings pages under tabs
The general settings, mail, images in the editor and captcha were four items of the menu reached only from it. They are tabs of one Settings page now (components/settings-tabs), headed Settings with the section in the breadcrumbs, and the menu keeps a single Settings item lit on any of them.
simba77
feat(admin): lay out the system settings in cards
The settings were one narrow column of fieldsets with a single Save at the very bottom. They are cards in two columns now — the site, search engines and legal documents on the left; registration, comments, time and files on the right — with switches instead of checkboxes and a sticky footer of buttons.

The time of the site is picked from a list of the shifts from UTC−12 to UTC+14, each with the time it gives now, instead of a number typed under "+ - 12 Hour"; a shift out of that range is no longer saved. The limit of a file says what it covers and how large a file the server accepts at all. The hints say what the settings do: the site e-mail sends the letters and gets the feedback, the meta tags are those of the homepage.

The gzip switch is gone: nothing read it.