xy: re-merge the lost export work #38

Merged
pecheny merged 3 commits from xy-export-remerge into main 2026-07-26 17:15:34 +00:00
Owner

Why

PR #35 is flagged merged, but its merge commit is not an ancestor of main — the export work never landed. This re-merges the same branch (xy-export-pack, e6ab06d) onto current main, unchanged.

One addition on top: the export modal was written before the overlay stack (#36) existed, so it kept its own Escape handler and pushed no history. It now registers with the stack like every other overlay, so back closes it.

Closes #16

# Why PR #35 is flagged merged, but its merge commit is not an ancestor of `main` — the export work never landed. This re-merges the same branch (`xy-export-pack`, e6ab06d) onto current `main`, unchanged. One addition on top: the export modal was written before the overlay stack (#36) existed, so it kept its own Escape handler and pushed no history. It now registers with the stack like every other overlay, so back closes it. Closes #16
The list menu carried three export entries and still could not produce
a .4s, the format chgksuite actually reads. It now carries one «Экспорт»
that opens a modal: tick any of .4s, .docx, .pdf, .pdf для телефона and
раздатки, get one file, or a zip of all of them.

The new /api/export/pack composes the existing docx, typst and split-fit
paths, so nothing about how a document renders changed. Images ride
along only for the .4s, which can only reference them by name; docx and
pdf embed their own copies.

A bare .4s with no images never reaches the network — the browser writes
it, which makes it the one export that works offline. Everything else is
disabled there, since it renders server-side.

«Генерация раздаток» keeps its own entry: the modal's checkbox runs
split-fit on saved settings, the editor is where you tune them.

Closes #16

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The export modal was written before the stack existed, so it kept its own
Escape handler and pushed no history — Android's back button would have
walked past it. It now registers like every other overlay.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
pecheny/dopesuite!38
No description provided.