Сайт фотографа в Касселі, командна робота
Новий сайт фотостудії в Касселі: 16 сторінок, статика, із власним сервером на Node для віддачі. Командна робота: 39 комітів, з них мої 8. Моя частина лягла на той бік, якого не видно: вбудувати чужий чат так, щоб без згоди він не завантажувався взагалі.
Було і стало

Моя частина
- Чат-віджет ADON CRM вбудовано на всі 15 сторінок, не прямим тегом, а через завантажувач згоди: до згоди його немає в DOM зовсім
- Чужий віджет розібрано, перш ніж пускати: XHR з опитуванням, Shadow DOM, без iframe і WebSocket, звертається лише до власної адреси
- Заведено нову категорію функціональних куків й піднято версію згоди, нова мета обробки вимагає спитати заново
- Розширено CSP на сервері: адресу віджета додано в
script-srcіconnect-src - Куки приведено до рішення Planet49: аналітика і маркетинг вимкнені за умовчанням, функціональні теж
- Дописано розділ про чат у Datenschutzerklärung
- Перший екран: рамку знімка поставлено так, щоб фотографія її заповнювала; переписано описи студії
Перевірка
- До згоди: віджета в DOM немає, перевірено селектором, скрипт відсутній
- Після згоди на функціональні куки: віджет вставляється і будує свій інтерфейс у Shadow DOM
- При повторному заході зі збереженою згодою вантажиться сам
- Порушень CSP у консолі немає; з’єднання з API дозволене, ні iframe, ні WebSocket не потрібні
- Увесь хід роботи лежить у репозиторії журналом внесення, його можна перевірити, а не просто повірити
Технології: HTML, CSS, JavaScript, Node.js (віддача і CSP), Docker