Istotna edycja zatwierdzonego ogloszenia wraca do moderacji
Deploy Polska Lokalnie / deploy (push) Successful in 12s

- Zmiana tytulu, opisu, zdjec, danych kontaktowych lub linku spaceru
  w ogloszeniu opublikowanym albo wstrzymanym ustawia status PENDING;
  cena i parametry zmieniaja sie od razu.
- Frontend nie koduje ponownie zapisanych zdjec JPEG przy edycji (bez utraty
  jakosci i bez falszywej zmiany zdjec); informacja o weryfikacji w formularzu.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-09-23 16:39:15 +02:00
parent b850e4c092
commit a53cae7c37
3 changed files with 97 additions and 3 deletions
+11
View File
@@ -986,6 +986,11 @@ type PriceFormatters = {
* `maxDim` px po dluzszym boku - dzieki temu zdjecia da sie utrwalic w bazie bez rozdmuchiwania jej.
*/
async function imageUrlToDataUrl(url: string, maxDim = 1280, quality = 0.72): Promise<string | null> {
// Zdjecie juz zapisane w ogloszeniu (skompresowany JPEG) zostaje bez zmian. Ponowne kodowanie przy
// kazdej edycji pogarszalo jakosc i zmienialo bajty - serwer uznawal to za podmiane zdjec.
if (url.startsWith('data:image/jpeg;base64,')) {
return url;
}
try {
const blob = await (await fetch(url)).blob();
const bitmap = await createImageBitmap(blob);
@@ -15054,6 +15059,12 @@ function AddListingPage({ editListingId }: { editListingId?: number }) {
{publishState === 'error' && (
<p className="publish-feedback error" role="alert">{publishError}</p>
)}
{isEdit && (
<p className="publish-feedback">
Zmiana tytułu, opisu, zdjęć, danych kontaktowych lub wirtualnego spaceru wymaga ponownej
akceptacji - do tego czasu ogłoszenie nie będzie widoczne. Cena i parametry zmieniają się od razu.
</p>
)}
<div className="add-location-actions final-actions">
<button className="back-step-button" type="button" onClick={() => goToStep(3)}>
Wstecz