File: //tmp/bm_upload_cancel_reassure_patch.cjs
const fs = require('fs');
function replaceExact(file, from, to) {
let s = fs.readFileSync(file, 'utf8');
if (!s.includes(from)) throw new Error(`Missing expected text in ${file}: ${from.slice(0,180)}`);
s = s.replace(from, to);
fs.writeFileSync(file, s, 'utf8');
}
replaceExact('web/src/modules/photos/UploadPage.jsx',
` pendingPickerRef.current = null;
void trackEvent('upload_file_picker_cancel', {`,
` pendingPickerRef.current = null;
setMsg('Kein Foto gewählt · nichts wurde übertragen. Öffne die Galerie einfach erneut, wenn du bereit bist.');
setUploadStep('Abgebrochen bleibt privat: kein Upload, keine Veröffentlichung, keine Anmeldung.');
void trackEvent('upload_file_picker_cancel', {`);
for (const file of ['scripts/growth-smoke-check.mjs', 'scripts/growth-journey-smoke-check.mjs']) {
let s = fs.readFileSync(file, 'utf8');
if (!s.includes('Kein Foto gewählt · nichts wurde übertragen')) {
s = s.replaceAll("'timeout_no_selection'", "'timeout_no_selection', 'Kein Foto gewählt · nichts wurde übertragen', 'Abgebrochen bleibt privat'");
}
fs.writeFileSync(file, s, 'utf8');
}