Изменений не так много, но над некоторыми пришлось постараться как следует
Внешний вид и функционал:
• Реализована регистрация
• Последние просмотренные тайтлы на главной открывают страницу тайтла
• Жанры на страницах тайтлов теперь открывают страницу по жанру
• Ники в комментариях теперь отображаются в виде кнопок
• Изменён вид списков в профиле
Незаментные изменения:
• IrisLib разделено на несколько файлов
• Файл gresource генерируется автоматически — спасибо Владимиру Романову
• Добавлены брендинговые цвета — спасибо Виктории Зубачёвой
В данной версии было два довольно сложных момента:
• Регистрация, а точнее текст Правил и Политики конфиденциальности
• Виджеты-кнопки по никам в комментариях
Сама по себе регистрация реализуется довольно просто, однако сложным было создать механизм получения текста Правил и Политики конфиденциальности. Проблема заключалась в том, что через API, как другую информацию с сайта, эти данные не получить. Оставалось скачивать страницы и парсить их, однако здесь блоком стало то, что они рендерятся на JS. В решении данного вопроса помог Максим Слипенко, посоветовав использовать инструмент
puppeteer для рендеринга страницы через запуск браузера.Более тяжкой задачей оказалась реализация виджета текста с встроенными в него виджетами-кнопками. За вдохновление спасибо проекту Fractal (GTK4/Libadwaita Matrix-клиент) и их виджету LabelWithWidgets. В итоге логика виджета получилось не такой сложной, как казалось: ники заменяются на специальный символ, который потом прячется за виджетом-кнопкой; в то же время в тексте на месте этого спец. символа выделяется достаточное количество места, чтобы кнопка не перекрывала текст вокруг.
Канал | Чат | Сайт
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
