Add a dedicated Take Photo button alongside the library picker

This commit is contained in:
Barely Removable 2026-08-22 09:32:10 -07:00
parent e74bcee35f
commit 6b247794db
2 changed files with 24 additions and 7 deletions

View file

@ -277,13 +277,9 @@ function resetGradeState() {
renderGradeReview();
}
$('#btn-grade').addEventListener('click', () => {
resetGradeState();
$('#grade-file').click();
});
$('#grade-file').addEventListener('change', async (e) => {
async function addPickedFrom(input) {
try {
const picked = await readPickedImages(e.target, 6 - gradeState.files.length);
const picked = await readPickedImages(input, 6 - gradeState.files.length);
if (!picked.length) return;
gradeState.files.push(...picked);
renderGradeReview();
@ -291,7 +287,19 @@ $('#grade-file').addEventListener('change', async (e) => {
$('#grade-status').hidden = false;
$('#grade-status').textContent = err.message;
}
}
$('#btn-grade').addEventListener('click', () => {
resetGradeState();
$('#grade-file').click();
});
$('#grade-file').addEventListener('change', (e) => addPickedFrom(e.target));
// Camera shots add onto whatever's already picked (front, then flip to the
// back for a second shot) rather than resetting — resetGradeState() is only
// for starting a fresh card, which the library button already does.
$('#btn-camera').addEventListener('click', () => $('#grade-camera').click());
$('#grade-camera').addEventListener('change', (e) => addPickedFrom(e.target));
$('#grade-review').addEventListener('click', (e) => {
if (e.target.closest('#grade-add-more')) { $('#grade-file').click(); return; }
if (e.target.closest('#grade-cancel') || e.target.closest('#grade-discard')) {