Edycja i udostępnianie
Strona szczegółów oferty otwiera się po kliknięciu Zobacz na liście Oferty. To ten sam ekran co przy tworzeniu: pełny formularz w sześciu zakładkach (Podstawowe, Promocje, Szczegóły, Grafik, Opłaty, Zaawansowane) z podglądem na żywo strony płatności po prawej. Zapis odbywa się jednym przyciskiem Zapisz zmiany na dole formularza - bez osobnych modali dla poszczególnych sekcji. Poniżej: układ strony, uprawnienia ról, blokady edycji, archiwizacja i usuwanie.
Górna część strony
- Powrót do ofert (strzałka w lewo) - powrót na listę.
- Udostępnij (niebieski przycisk u góry po prawej) - modal z linkiem, QR i wysyłką e-mail. Widoczny dla wszystkich ról, w tym członka zespołu (MEMBER).
- Tytuł oferty (nagłówek H1) oraz identyfikator qrId pod tytułem.
- Przełącznik Aktywne / Nieaktywne obok tytułu - tylko dla właściciela i administratora organizacji; członek zespołu go nie widzi.
Formularz edycji (sześć zakładek)
Środek strony to komponent QROfferForm w trybie edycji - te same pola co przy Tworzenie oferty krok po kroku. Zakładki z błędami walidacji są podświetlone na czerwono; system przenosi Cię do pierwszej zakładki z błędem. Szczegóły pól: strony dokumentacji każdej zakładki oraz Formularz oferty - zakładki (mapowanie pól).
- Podstawowe informacje - tytuł, kwoty (brutto, VAT, netto), waluta, subskrypcja BLIK, limity płatności.
- Promocje - trial, ogólna zniżka, harmonogram zniżek, kupony, linki polecające.
- Szczegóły - do 4 zdjęć, opis markdown.
- Grafik - rezerwacje, pracownicy, moment pobrania opłaty (Premium).
- Opłaty - powiązane opłaty dodatkowe z katalogu.
- Zaawansowane - metody płatności, kraj zakupu, zbieranie danych, fallbacki, ponawianie płatności, grupa ofert, oferta retencyjna, strony wyniku, metadane.
Podgląd na żywo
Po prawej stronie (na większych ekranach) CheckoutPreview odzwierciedla bieżące wartości formularza: logo organizacji, tytuł, kwoty w walucie oferty, promocje, opłaty dodatkowe, pola zgód i faktury (gdy włączone w Zaawansowane). Podgląd nie wykonuje płatności - służy wyłącznie do weryfikacji wyglądu strony płatności.
Zapis zmian
Przycisk Zapisz zmiany jest na dole karty formularza, widoczny na każdej zakładce. Po udanym zapisie tytuł u góry i podgląd odświeżają się; toast potwierdza zapis. Przy błędach walidacji odpowiednie zakładki są oznaczone, a pierwsze błędne pole otrzymuje fokus.
Blokady edycji pól podstawowych
Część pól w Podstawowych (tytuł, kwoty, waluta, rdzeń subskrypcji) może być zablokowana po pierwszych płatnościach lub subskrypcjach - chroni to istniejących klientów przed zmianą warunków. Tooltip przy polu wyjaśnia powód: np. „Nie można edytować - istnieją subskrypcje”, „Nie można edytować - istnieją płatności” lub oba naraz. Członek zespołu (MEMBER) ma cały formularz tylko do odczytu (disabled) z komunikatem o braku uprawnień do edycji.
Zmiana statusu Aktywne / Nieaktywne
Przełączenie na Nieaktywne wymaga potwierdzenia w oknie dialogowym (Dezaktywuj produkt). Klienci nie mogą wtedy zapłacić; subskrypcje powiązane z ofertą przechodzą w SUSPENDED. Ponowne Aktywne wznawia zawieszone subskrypcje (okno Aktywuj produkt).
Archiwizacja i usuwanie (stopka strony)
Na dole strony (pod formularzem), tylko dla administratora/właściciela i gdy oferta nie jest zarchiwizowana, widoczny jest jeden z przycisków:
- Usuń ofertę - gdy paymentsCount = 0 i subscriptionsCount = 0. Trwałe usunięcie; oferta znika z listy.
- Archiwizuj produkt - gdy istnieje co najmniej jedna płatność lub subskrypcja. Oferta przechodzi w status ARCHIVED i znika z aktywnej listy; historyczne płatności pozostają w Subskrypcje i płatności.
Oba działania wymagają potwierdzenia w oknie dialogowym. Po archiwizacji wracasz na listę ofert. Zarchiwizowanej oferty nie edytujesz ani nie aktywujesz ponownie z tego ekranu.
Uprawnienia według roli
- Właściciel / administrator - pełna edycja (z ewentualnymi blokadami pól po płatnościach), przełącznik statusu, archiwizacja/usuwanie, Udostępnij.
- Członek (MEMBER) - formularz tylko do odczytu, brak przełącznika statusu i brak archiwizacji/usuwania, ale może Udostępniać link/QR/e-mail (lista i szczegóły).
Gdy oferta nie istnieje
Błędny lub usunięty identyfikator pokazuje widok Oferta nie znaleziona z przyciskiem Powrót do ofert.