Skip to content

feat: interlinear export job ui#148

Merged
arrocke merged 6 commits intoglobalbibletools:mainfrom
delgado-jacob:pdf_export/job_ui
Feb 2, 2026
Merged

feat: interlinear export job ui#148
arrocke merged 6 commits intoglobalbibletools:mainfrom
delgado-jacob:pdf_export/job_ui

Conversation

@delgado-jacob
Copy link
Copy Markdown
Contributor

Split from: #134

Introduces the feature‑flagged interlinear export UI plus job tracking, including new export module actions/use‑cases/query services/UI, job types and migration updates, admin nav wiring for the exports page, feature flag support, and associated tests

Copy link
Copy Markdown
Member

@arrocke arrocke left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for your PR! It might be helpful to explain the big picture direction to guide your decision making. Long term this is likely going to end up as a weekly scheduled export job that exports these PDFs to a published location that we can link to on our site. I don't see us needing a wizard that let's you configure books and chapters. It will be enough to just include completed chapters

Copy link
Copy Markdown
Member

@arrocke arrocke left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Woops, meant to request changes. Let me know if you have any questions!

Copy link
Copy Markdown
Member

@arrocke arrocke left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the changes! A few cleanup things before we merge. In the future I would ask you to avoid rebasing and force merging once I've reviewed as it's much harder to see what you've changed.

): Promise<RequestInterlinearExportResult> {
const language = await resolveLanguageByCode(request.languageCode);
if (!language) {
throw new NotFoundError("Language not found.");
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This error takes the resource type, not an error message

Suggested change
throw new NotFoundError("Language not found.");
throw new NotFoundError("Language");

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This use case can have a camelCase file name


initializeDatabase();

describe("requestInterlinearExport", () => {
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We generally don't wrap tests in their own describe block since the file provides that sort of context already

} from "../model";
import jobRepository from "@/shared/jobs/JobRepository";

export async function getInterlinearExportStatus(jobId: string) {
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not seeing this usecase used anywhere. Can we remove?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, left over from clean up. Removed.

@delgado-jacob
Copy link
Copy Markdown
Contributor Author

Thanks for the changes! A few cleanup things before we merge.

@arrocke Sorry! I wasn't quite done following up. I intended to reply to each of your comments and ensure everything was addressed but I ran out of time and got pulled away this morning after pushing some changes. I'll follow up with the remainder of these most likely this weekend.

@arrocke
Copy link
Copy Markdown
Member

arrocke commented Jan 29, 2026

Ah, my bad. I thought maybe you intended for me to review so I figured I'd at least see what changes you had addressed. When I saw that everything was complete, I left a review.

@delgado-jacob
Copy link
Copy Markdown
Contributor Author

In the future I would ask you to avoid rebasing and force merging once I've reviewed as it's much harder to see what you've changed.

Sounds good. Just habit since I work on several repos where the maintainers require all contributing PRs to always be rebased to head before merging.

@delgado-jacob
Copy link
Copy Markdown
Contributor Author

@arrocke I think I've addressed all your comments. Please let me know if anything else needs changed. Once this is merged, I'll open the upload placeholder PR.

@delgado-jacob delgado-jacob requested a review from arrocke January 31, 2026 20:00
@arrocke arrocke merged commit d1ba4a3 into globalbibletools:main Feb 2, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: ✅ Done

Development

Successfully merging this pull request may close these issues.

2 participants