--- phase: 92-buyer-name-copy plan: 01 type: execute wave: 1 depends_on: [] files_modified: [resources/views/orders/show.php, resources/scss/orders/_show.scss] autonomous: true delegation: off --- ## Goal Dodać ikonę kopiowania obok imienia i nazwiska kupującego w sekcji "Dane zamawiającego" na stronie szczegółów zamówienia. Kliknięcie ikony kopiuje pełne imię i nazwisko do schowka. ## Purpose Użytkownik często kopiuje dane kupującego — ikona eliminuje ręczne zaznaczanie tekstu. ## Output - Ikona kopiowania przy nazwie kupującego w sekcji "Dane zamawiającego" (addrType === 'customer') - Clipboard copy via navigator.clipboard.writeText() (istniejący wzorzec w projekcie) ## Project Context @.paul/PROJECT.md @.paul/STATE.md ## Source Files @resources/views/orders/show.php (linie 268-305 — sekcja adresów, linia 280 — nazwa kupującego) @resources/views/settings/printing.php (linia 23 — istniejący wzorzec copy-to-clipboard z navigator.clipboard.writeText) ## AC-1: Ikona kopiowania widoczna przy nazwie kupującego ```gherkin Given strona szczegółów zamówienia /orders/{id} When sekcja "Dane zamawiającego" zawiera imię i nazwisko Then obok nazwy kupującego widoczna jest ikona kopiowania (clipboard icon) ``` ## AC-2: Kliknięcie kopiuje dane do schowka ```gherkin Given strona szczegółów zamówienia z danymi kupującego When użytkownik kliknie ikonę kopiowania Then imię i nazwisko kupującego zostaje skopiowane do schowka systemowego ``` ## AC-3: Feedback wizualny po skopiowaniu ```gherkin Given użytkownik kliknął ikonę kopiowania When kopiowanie się powiodło Then ikona zmienia się na chwilę (np. checkmark) jako potwierdzenie ``` Task 1: Dodać ikonę kopiowania w widoku show.php resources/views/orders/show.php W sekcji adresów (linia 280), dla addrType === 'customer', obok diva z nazwą kupującego dodać ikonę kopiowania: - Dodać span/button z ikoną clipboard (SVG inline lub FontAwesome jeśli dostępny w projekcie) - onclick: navigator.clipboard.writeText() kopiuje tekst nazwy - Po skopiowaniu: zmienić ikonę na checkmark na 1.5s, potem przywrócić oryginalną - Ikona widoczna zawsze (nie tylko na hover) — ma być szybko dostępna - Nie dodawać ikony kopiowania do sekcji invoice i delivery — tylko customer Otworzyć /orders/{id}, zobaczyć ikonę kopiowania przy nazwie w "Dane zamawiającego", kliknąć — dane w schowku AC-1, AC-2, AC-3 satisfied Task 2: Styl ikony kopiowania resources/scss/orders/_show.scss Dodać styl dla ikony kopiowania w sekcji adresu: - Ikona mała (14-16px), kolor muted, cursor pointer - Hover: kolor primary - Pozycjonowanie inline obok nazwy (nie zaburzając layoutu) - Klasa np. .copy-btn-inline Ikona wygląda spójnie z resztą UI, nie zaburza layoutu adresu AC-1 satisfied — ikona spójna wizualnie ## DO NOT CHANGE - Logika pobierania danych adresowych (PHP) - Sekcje invoice i delivery — bez zmian - resources/modules/jquery-alerts/* — nie używać do tego celu ## SCOPE LIMITS - Tylko sekcja "Dane zamawiającego" (customer) — ikona kopiowania tylko przy nazwie - Nie dodawać kopiowania do telefonu, emaila, adresu (chyba że user poprosi później) - Nie dodawać zewnętrznych bibliotek clipboard Before declaring plan complete: - [ ] Ikona kopiowania widoczna przy nazwie kupującego w /orders/{id} - [ ] Kliknięcie kopiuje imię i nazwisko do schowka - [ ] Feedback wizualny (checkmark) po skopiowaniu - [ ] Brak błędów w konsoli JS - [ ] SCSS zbudowany do CSS - [ ] Layout adresu niezmieniony poza dodaną ikoną - Ikona kopiowania działa w sekcji "Dane zamawiającego" - navigator.clipboard.writeText() kopiuje poprawne dane - Wizualny feedback po skopiowaniu - Brak regresji w wyglądzie strony szczegółów zamówienia After completion, create `.paul/phases/92-buyer-name-copy/92-01-SUMMARY.md`