summaryrefslogtreecommitdiff
path: root/app
AgeCommit message (Collapse)Author
2026-08-15Style totp input fields so that they work better on mobileerdgeist
2026-08-15Restore from and redesign the trash listerdgeist
2026-08-15Space the create-action groupserdgeist
2026-08-14Retire conventions overview pageerdgeist
2026-08-14Fold revision metadata into a two-line rowerdgeist
Title on the first line, date, revision and editor on the second, with the two actions as an icon grid. Four columns become two, so the table needs no mobile card treatment.
2026-08-14Move the revision picker into admin_interface.jserdgeist
2026-08-14Select revisions to compare by picking rowserdgeist
Two hidden fields hold the pair, picking a row pushes it as the target and the previous target becomes the source, so any pair takes two picks. Source and target carry the diff view's own colours, in the rows and in the sticky bar's readout. Rows are focusable and respond to Enter and Space, the readout is the accessible equivalent of the colour, so it is aria-live.
2026-08-14Bring menu_items#new up to the current markuperdgeist
The page now uses .admin_layout, so its fields get the shared treatment.xi The title fields carry .menu_field for the 44rem cap, which survives a third locale where an id list would not.
2026-08-14Scope admin form conventions with a classerdgeist
.admin_layout replaces the #admin_layout. All css rules and javascript queries were changed along and rules simplified where the opportunity arose.
2026-08-14Consolidate .action_button styling from visual nudgingerdgeist
Let containers space their own action buttons: Remove a superfluous margin-bottom from .action_button, their containers already properly arranged them. Align action rows on the text baseline: .aligned_action_row aligns its children on the baseline, so a control sits level with the text beside it without a per-element offset.
2026-08-13Name the desktop label banderdgeist
Convert the gutter, the label column and the gap from four literals in three rules two named variables.
2026-08-13Give every admin page one horizontal guttererdgeist
by many views inside. The inner ones are gone nodes#edit's becomes #body_field, which is what #edit_grid places in its full-width row. Rows now reach into the label band themselves rather than depending on a page wrapper to do it. The label column plus its gap equals the escape, so a row's content starts at the gutter on every page; #edit_grid's rows are exempt because the grid already steps back. share one left edge. #new_node's -118px was compensating for that 10px and left the page 7px out once it went. standalone_action_bar was overridden everywhere it appeared. page_translations#edit no longer uses #edit_grid: it has no metadata column, so the two-column template pushed its abstract into the empty half. nodes#edit's lower action bar was inside #edit_grid, so it was a grid item inheriting the escape and sat 125px left of the form above it.
2026-08-12Remove unused classes and consolidate css ruleserdgeist
2026-08-12Give the admin lists a shared table and row vocabularyerdgeist
row_primary and row_secondary replace four names for a row's title and five for its supporting line, across the tables and the sitemap. Actions cells no longer sit flush against the row edge Header rows move into thead, which retires the .header class from the CSS, the tr.header:hover suppression, and .no_hover Replace variety of nodes_table, assets_table, events_table, revisions_table, user_table and sitemap with a shared class admin_table
2026-08-11Fix admin.css button states and table paddingerdgeist
2026-08-09Escape feed content with Builder rather than by handerdgeist
Builder escapes by default; the three feed templates no longer call CGI.escapeHTML. This fixes two sites that never escaped at all: the tag feed's externally supplied :tag segment, interpolated into its title, self link and id, and dc:creator in the RDF template. Subscribers see one difference: quotes and apostrophes arrive raw, which is valid in element text. config/initializers/xmlparser.rb, which redefined Builder::XmlBase#_escape as the identity function, is gone. XML::Node#replace_with went with it, no callers.
2026-08-09Drop nodes.external_urlerdgeist
The column moved to page.rb and was now written only by publish_draft! and by the chapter seed, and read by nothing. lib/tasks/pages.rake goes with it. backfill_external_url reads the dropped column. backfill_address is spent and no longer safe to re-run.
2026-08-09Report every editorial attribute in the revision differdgeist
diff_against gained external_url, published_at and user. The view renders each metadata section only when that attribute changed, and says so once when none did. Metadata now precedes the locale pointer, which speaks only of translations: above the metadata it read as "nothing changed" on a revision that had moved the page.
2026-08-09Offer destroying an asset from its own pageerdgeist
2026-08-09Give the attach picker and the create-page action their own rowserdgeist
2026-08-09Attach an asset to a page from the asset's own pageerdgeist
The picker moves from assets/edit to assets/show, where the list of attached pages already is. A member route, POST assets/:id/attach_to_node, replaces the ride on #update. Supersedes the picker wiring in the previous commit; what remains of it is @attach_node in #create, the flash composition and the corrected hint.
2026-08-09Attach an asset to a page from its edit formerdgeist
2026-08-09Refuse destroying an asset that is still attachederdgeist
2026-08-09Attach assets to the draft instead of to every lifecycle rowerdgeist
Node#attach_asset! writes to the node's draft alone, creating one from the head when none is pending. It refuses when another user holds the lock, and when an autosave already exists The asset_attach verb goes with it. create_new_draft names the editor on the draft it creates and the publish entry's asset delta reports the attachment.
2026-08-08Move the external homepage onto the drafterdgeist
2026-08-07Show a pending address in the cockpit, the diff and the publish confirmerdgeist
2026-08-07Move the pending address from the node onto the drafterdgeist
2026-08-06Re-structure sitemap, all subpages collapsed by default, visually tightenederdgeist
2026-08-06Let editors set a node external homepage, gated and witnessederdgeist
2026-08-06Remove mis-leading flag for nodes in sitemaperdgeist
2026-08-06Rebuild the sitemap rows around the shared title and action patternserdgeist
2026-08-06Preload page titles for the sitemap, and order containers before leaveserdgeist
2026-08-06Make the events and assets lists work on a phoneerdgeist
2026-08-06Reduce the events list to title, when and actionserdgeist
2026-08-05Search assets and events, and order events by when they happenerdgeist
2026-08-04Tidy up headings on house keeping viewserdgeist
- Collapse page headers into one action row with an optional hint - limit will_paginate to one row
2026-08-04Give node lists a flag column and a shared action barerdgeist
2026-08-04Witness every promotion and demotion made through the roles formerdgeist
2026-08-03Require elevation before editing another accounterdgeist
2026-08-03Reroute events, tags, menuitems under /admin and reture events-without-a-page viewerdgeist
2026-08-03Share one flag stack between the account roster and the events listerdgeist
2026-08-03Render dates, booleans and counts through the locale fileserdgeist
2026-08-03Believe the file over the browser about what was uploadederdgeist
2026-08-03Run ImageMagick under a policy that travels with the projecterdgeist
2026-08-03Link each account to its own entries in the logerdgeist
2026-08-03Display stale accounts in users#indexerdgeist
2026-08-03Display last login date in users#showerdgeist
2026-08-02Log user logins and reconstruct last activity from logserdgeist
2026-08-02Report changing the end time of an event in action logerdgeist
2026-08-02Let an event start without endingerdgeist