🖥 Вышла версия 0.2.1
Изменений не так много, но над некоторыми пришлось постараться как следует
👀 Изменения за эту версию
Внешний вид и функционал:
• Реализована регистрация
• Последние просмотренные тайтлы на главной открывают страницу тайтла
• Жанры на страницах тайтлов теперь открывают страницу по жанру
• Ники в комментариях теперь отображаются в виде кнопок
• Изменён вид списков в профиле
Незаментные изменения:
• IrisLib разделено на несколько файлов
• Файл gresource генерируется автоматически — спасибо
https://t.me/rirusha
• Добавлены брендинговые цвета — спасибо
https://t.me/whothisgingercat
✏️ Немного историй разработки
В данной версии было два довольно сложных момента:
• Регистрация, а точнее текст Правил и Политики конфиденциальности
• Виджеты-кнопки по никам в комментариях
Сама по себе регистрация реализуется довольно просто, однако сложным было создать механизм получения текста Правил и Политики конфиденциальности. Проблема заключалась в том, что через API, как другую информацию с сайта, эти данные не получить. Оставалось скачивать страницы и парсить их, однако здесь блоком стало то, что они рендерятся на JS. В решении данного вопроса помог
https://t.me/Maks1m_S, посоветовав использовать инструмент puppeteer для рендеринга страницы через запуск браузера.
Более тяжкой задачей оказалась реализация виджета текста с встроенными в него виджетами-кнопками. За вдохновление спасибо проекту https://gitlab.gnome.org/World/fractal/ (GTK4/Libadwaita Matrix-клиент) и их виджету https://gitlab.gnome.org/World/fractal/-/blob/main/src/components/label_with_widgets.rs. В итоге логика виджета получилось не такой сложной, как казалось: ники заменяются на специальный символ, который потом прячется за виджетом-кнопкой; в то же время в тексте на месте этого спец. символа выделяется достаточное количество места, чтобы кнопка не перекрывала текст вокруг. Казалось бы, не сложно, но на корректную аллокацию места ушло довольно много времени — за помощь спасибо
https://t.me/rirusha
📌 З.Ы.: Недавно проект http://altlinux.space/alt-gnome/iris под организацию http://altlinux.space/alt-gnome
💬 Если у вас есть идеи для проекта или вы нашли баг — пишите под постами, в чате проекта или в http://altlinux.space/alt-gnome/iris/issues
|
https://t.me/iris_gtk_chat | http://iris.x1z53.space/