feat: wikitext preview + custom-template columns + publish review

Summary

  • Per-row "Preview wikitext" action in the detail panel — read-only modal showing the assembled wikitext for that row, with copy-to-clipboard.
  • Custom wikitext-template columns: a "+ Add custom wikitext-template column" entry in the Columns modal lets the user define a column whose value is substituted into a __VALUE__-marked template body and appended to the file's wikitext at publish time.
  • Publish-stage review: the publish-confirmation modal shows the wikitext as an editable <textarea> (with Reset) so the user can hand-patch before commit; SDC sits beside it as a read-only payload. The bulk-publish modal grows a per-row "Review" disclosure with the same editable wikitext + SDC.

Phabricator

Test plan

  • Open any stash row's detail panel → click Preview wikitext → modal shows the assembled wikitext + the final filename. Copy button copies to clipboard. Esc / Done closes.
  • Open the Columns modal → expand the bottom + Add custom wikitext-template column form → set label "Photo angle" and template {{Photo-angle|angle=__VALUE__}} → click Add. The new column appears in the table. Click into a cell, type a value, press Enter → cell shows the value.
  • Open Preview wikitext for a row that has a value in the new column → the assembled wikitext contains {{Photo-angle|angle=<your value>}} after the license, before any categories.
  • Click Publish to Commons on a single row → the Wikitext section is now an editable textarea. Edit it (e.g. add a trailing comment line) → click Publish → the live Commons page reflects the hand-edited wikitext.
  • Select multiple rows → click bulk Publish → in the modal, click Review on a queued row → wikitext + SDC appear inline; edit the wikitext; click Publish → the per-row override lands on Commons.
  • Remove a custom column via its row in the Columns modal (expand → "Remove column"). The column disappears; its values are dropped.
  • npm run build succeeds (verified locally).

🤖 Generated with Claude Code

Merge request reports

Loading