From 583f60e70625c7e19fe03d9820801c4e8bb44939 Mon Sep 17 00:00:00 2001 From: RarDog Date: Sat, 5 Sep 2026 10:55:10 +0300 Subject: [PATCH] =?UTF-8?q?feat:=20=D1=80=D0=B5=D0=B1=D1=80=D0=B5=D0=BD?= =?UTF-8?q?=D0=B4=D0=B8=D0=BD=D0=B3=20=D0=B2=20Prisma=20=D0=B8=20=D1=83?= =?UTF-8?q?=D0=BB=D1=83=D1=87=D1=88=D0=B5=D0=BD=D0=BD=D0=B0=D1=8F=20=D0=BF?= =?UTF-8?q?=D1=80=D0=BE=D0=BA=D1=80=D1=83=D1=82=D0=BA=D0=B0=20=D0=B0=D0=BD?= =?UTF-8?q?=D0=BE=D0=BD=D1=81=D0=BE=D0=B2=20=D0=B0=D0=B2=D1=82=D0=BE=D1=80?= =?UTF-8?q?=D0=B0=20(v3.4.0)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 22 +++++++++---------- android/app/src/main/AndroidManifest.xml | 2 +- docs/wiki/FAQ.md | 8 +++---- docs/wiki/Getting-Started.md | 16 +++++++------- docs/wiki/Home.md | 4 ++-- docs/wiki/Media-Viewer.md | 4 ++-- docs/wiki/Offline-and-Downloads.md | 4 ++-- docs/wiki/Pawchive-Sync.md | 2 +- docs/wiki/Providers.md | 4 ++-- docs/wiki/Safety-and-Blacklist.md | 2 +- docs/wiki/Search-and-Tags.md | 4 ++-- docs/wiki/_Sidebar.md | 6 ++--- lib/app/app.dart | 2 +- lib/app/app_version.dart | 4 ++-- lib/app/changelog.dart | 9 ++++++++ lib/backend/services/update_service.dart | 8 +++---- .../presentation/artist_posts_screen.dart | 7 +++++- linux/runner/my_application.cc | 4 ++-- pubspec.yaml | 2 +- windows/runner/Runner.rc | 6 ++--- windows/runner/main.cpp | 2 +- 21 files changed, 68 insertions(+), 54 deletions(-) diff --git a/README.md b/README.md index 0533987..4f93eaf 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ -# 🌙 Lunaris +# 💎 Prisma

- Lunaris Logo + Prisma Logo

@@ -10,16 +10,16 @@

- Version 3.3.1 + Version 3.4.0 Flutter Platforms - Wiki + Wiki License MIT

--- -## 🚀 Что нового в Lunaris 3.0 (Major Release) +## 🚀 Что нового в Prisma 3.0 (Major Release) ### 🎨 Дизайн 2.0 - **Современный визуальный стиль**: Полный переход на squircle-карточки, адаптивную цветовую палитру и улучшенную Material You динамическую тему. @@ -28,7 +28,7 @@ ### 🐾 Глубокая интеграция Pawchive 2.0 - **Мульти-аккаунты**: Поддержка авторизации по логину и паролю, а также прямому вводу `Session Cookie`. -- **Двусторонняя синхронизация (Two-Way Sync)**: Автоматическая синхронизация избранного между локальной базой Lunaris и профилем Pawchive. Новые авторы с сервера добавляются в приложение, а локальные авторы выгружаются на сервер в один тап. +- **Двусторонняя синхронизация (Two-Way Sync)**: Автоматическая синхронизация избранного между локальной базой Prisma и профилем Pawchive. Новые авторы с сервера добавляются в приложение, а локальные авторы выгружаются на сервер в один тап. - **Моментальная синхронизация**: При нажатии кнопки «В избранное» у любого автора (Fanbox, Patreon, Fantia, Boosty, Gumroad, DLsite, Discord) статус синхронизируется с сервером на лету. ### 🎬 Умный медиаплеер и определение разрешения @@ -43,7 +43,7 @@ ## 📚 Документация и Вики (Руководство пользователя) -Подробные иллюстрированные руководства доступны в **[Lunaris Wiki](https://github.com/RarDog/Lunaris/wiki)** и прямо в репозитории: +Подробные иллюстрированные руководства доступны в **[Prisma Wiki](https://github.com/RarDog/Prisma/wiki)** и прямо в репозитории: - 🚀 **[Быстрый старт и установка](docs/wiki/Getting-Started.md)** — выбор правильного APK под процессор, запуск на Linux. - 🌐 **[Провайдеры контента](docs/wiki/Providers.md)** — особенности Booru (Gelbooru, Rule34, Realbooru, e621) и архивов Pawchive. @@ -81,7 +81,7 @@ ## 📥 Загрузка (Скачать сборки) -Релизы доступны на странице **[GitHub Releases](https://github.com/RarDog/Lunaris/releases)**. +Релизы доступны на странице **[GitHub Releases](https://github.com/RarDog/Prisma/releases)**. | Платформа | Архитектура | Формат | Описание | |---|---|---|---| @@ -105,8 +105,8 @@ ```bash # Клонирование репозитория -git clone https://github.com/RarDog/Lunaris.git -cd Lunaris +git clone https://github.com/RarDog/Prisma.git +cd Prisma # Установка зависимостей flutter pub get @@ -155,7 +155,7 @@ lib/ ## 🔒 Безопасность и конфиденциальность - **100% локальное хранение**: Вся история, закладки, локальные авторы и конфигурации хранятся только в вашей локальной базе на устройстве. -- **Никакой телеметрии**: Lunaris не собирает аналитику, не отправляет логи и уважает вашу приватность. +- **Никакой телеметрии**: Prisma не собирает аналитику, не отправляет логи и уважает вашу приватность. - **Прямое соединение**: Запросы отправляются напрямую к выбранным API без прокси-серверов посредников. --- diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index 956e680..ae95f7b 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -3,7 +3,7 @@ [!TIP] -> **Умное автообновление:** При проверке обновлений прямо внутри Lunaris приложение **самостоятельно определит архитектуру** вашего процессора и автоматически скачает правильный файл! +> **Умное автообновление:** При проверке обновлений прямо внутри Prisma приложение **самостоятельно определит архитектуру** вашего процессора и автоматически скачает правильный файл! #### Шаги установки: 1. Скачайте нужный `.apk` файл на устройство. 2. Откройте файл через менеджер файлов и подтвердите установку («Разрешить установку из этого источника»). -3. Запустите **Lunaris**. +3. Запустите **Prisma**. --- ### 🐧 2. Установка на Linux -Lunaris распространяется для 64-битных Linux в виде готового автономного архива: +Prisma распространяется для 64-битных Linux в виде готового автономного архива: -1. Скачайте **`Lunaris-v3.0.0-linux-x64.tar.gz`**. +1. Скачайте **`Prisma-v3.0.0-linux-x64.tar.gz`**. 2. Распакуйте архив в любую удобную папку: ```bash - tar -xzf Lunaris-v3.0.0-linux-x64.tar.gz -C ~/Lunaris + tar -xzf Prisma-v3.0.0-linux-x64.tar.gz -C ~/Prisma ``` 3. Запустите приложение: ```bash - cd ~/Lunaris + cd ~/Prisma ./lunaris ``` diff --git a/docs/wiki/Home.md b/docs/wiki/Home.md index 185ce41..d57efe0 100644 --- a/docs/wiki/Home.md +++ b/docs/wiki/Home.md @@ -1,6 +1,6 @@ -# 🌙 Добро пожаловать в Lunaris Wiki! +# 🌙 Добро пожаловать в Prisma Wiki! -**Lunaris** — это современный, быстрый и функциональный кроссплатформенный клиент для Booru-борд и архивов независимых авторов (Creator Archives). +**Prisma** — это современный, быстрый и функциональный кроссплатформенный клиент для Booru-борд и архивов независимых авторов (Creator Archives). Приложение разработано на Flutter для **Android**, **Linux** и **Windows** с акцентом на плавный интерфейс в стиле Pinterest, глубокую кастомизацию, приватность и удобную работу с медиа. diff --git a/docs/wiki/Media-Viewer.md b/docs/wiki/Media-Viewer.md index 85398a7..480ee26 100644 --- a/docs/wiki/Media-Viewer.md +++ b/docs/wiki/Media-Viewer.md @@ -1,6 +1,6 @@ # 🎬 Медиаплеер и просмотр -Экран просмотра в Lunaris оптимизирован для быстрого, плавного и естественного взаимодействия с контентом. +Экран просмотра в Prisma оптимизирован для быстрого, плавного и естественного взаимодействия с контентом. --- @@ -17,7 +17,7 @@ ## 📐 Определение разрешения медиа (1920×1080 и др.) -В Lunaris 3.0 внедрено **интеллектуальное ленивое определение разрешения**: +В Prisma 3.0 внедрено **интеллектуальное ленивое определение разрешения**: - Для изображений и видео в инфо-панели поста отображаются точные физические размеры (например, `1920 × 1080`, `3840 × 2160`). - Определение происходит динамически через заголовки и потоковый декодер — приложению не требуется скачивать многомегабайтный файл целиком только ради того, чтобы узнать его габариты. diff --git a/docs/wiki/Offline-and-Downloads.md b/docs/wiki/Offline-and-Downloads.md index 3b73825..070e39d 100644 --- a/docs/wiki/Offline-and-Downloads.md +++ b/docs/wiki/Offline-and-Downloads.md @@ -1,6 +1,6 @@ # 💾 Офлайн-режим и загрузки -Lunaris предоставляет полноценный оффлайн-хаб для работы с вашей личной коллекцией без подключения к интернету. +Prisma предоставляет полноценный оффлайн-хаб для работы с вашей личной коллекцией без подключения к интернету. --- @@ -26,7 +26,7 @@ Lunaris предоставляет полноценный оффлайн-хаб *Пример шаблона:* ```text -Lunaris/{Provider}/{Artist}/{ID}.{ext} +Prisma/{Provider}/{Artist}/{ID}.{ext} ``` Файлы будут аккуратно раскладываться по папкам авторов и провайдеров, сохраняя порядок в вашей галерее. diff --git a/docs/wiki/Pawchive-Sync.md b/docs/wiki/Pawchive-Sync.md index f201787..1721b6c 100644 --- a/docs/wiki/Pawchive-Sync.md +++ b/docs/wiki/Pawchive-Sync.md @@ -1,6 +1,6 @@ # 🐾 Интеграция и синхронизация с Pawchive -Начиная с версии **Lunaris 3.0**, в приложении реализована глубокая интеграция с личным профилем Pawchive. +Начиная с версии **Prisma 3.0**, в приложении реализована глубокая интеграция с личным профилем Pawchive. --- diff --git a/docs/wiki/Providers.md b/docs/wiki/Providers.md index 87f4d5c..61759d7 100644 --- a/docs/wiki/Providers.md +++ b/docs/wiki/Providers.md @@ -1,6 +1,6 @@ # 🌐 Провайдеры контента -Lunaris объединяет два фундаментальных класса источников: классические **Booru-доски** и современные **архивы авторов (Pawchive)**. +Prisma объединяет два фундаментальных класса источников: классические **Booru-доски** и современные **архивы авторов (Pawchive)**. --- @@ -17,7 +17,7 @@ Lunaris объединяет два фундаментальных класса - `gumroad` (Gumroad) - `dlsite` (DLsite) - `discord` (Серверы Discord) -- **Возможности в Lunaris:** +- **Возможности в Prisma:** - Просмотр глобальной ленты свежих постов. - Персональные карточки авторов с аватаром, баннером, анонсами и ссылками на оригинальные профили. - Полноценная авторизация в профиль Pawchive (логин/пароль или Session Cookie). diff --git a/docs/wiki/Safety-and-Blacklist.md b/docs/wiki/Safety-and-Blacklist.md index 25dfda0..0bf0012 100644 --- a/docs/wiki/Safety-and-Blacklist.md +++ b/docs/wiki/Safety-and-Blacklist.md @@ -1,6 +1,6 @@ # 🛡️ Черный список и фильтрация -Lunaris оснащен многоуровневой системой защиты от нежелательного контента, работающей прямо на устройстве. +Prisma оснащен многоуровневой системой защиты от нежелательного контента, работающей прямо на устройстве. --- diff --git a/docs/wiki/Search-and-Tags.md b/docs/wiki/Search-and-Tags.md index 14a9db8..ac23676 100644 --- a/docs/wiki/Search-and-Tags.md +++ b/docs/wiki/Search-and-Tags.md @@ -1,6 +1,6 @@ # 🔍 Умный поиск и теги -Поиск в Lunaris спроектирован для мгновенного отклика и максимальной гибкости в построении сложных запросов. +Поиск в Prisma спроектирован для мгновенного отклика и максимальной гибкости в построении сложных запросов. --- @@ -21,7 +21,7 @@ Классические Booru-серверы при поиске нескольких тегов (`tag1 tag2`) возвращают только посты, где **присутствуют оба тега одновременно**. -Lunaris поддерживает специальный оператор **`and`**: +Prisma поддерживает специальный оператор **`and`**: ```text genshin_impact and honkai_star_rail ``` diff --git a/docs/wiki/_Sidebar.md b/docs/wiki/_Sidebar.md index b61bf72..1ded768 100644 --- a/docs/wiki/_Sidebar.md +++ b/docs/wiki/_Sidebar.md @@ -1,4 +1,4 @@ -### 🌙 Lunaris Wiki +### 🌙 Prisma Wiki - **[Главная](Home)** - **[Быстрый старт и установка](Getting-Started)** @@ -12,5 +12,5 @@ --- -**[Скачать Lunaris](https://github.com/RarDog/Lunaris/releases)** -**[Репозиторий GitHub](https://github.com/RarDog/Lunaris)** +**[Скачать Prisma](https://github.com/RarDog/Prisma/releases)** +**[Репозиторий GitHub](https://github.com/RarDog/Prisma)** diff --git a/lib/app/app.dart b/lib/app/app.dart index 7bce6ce..2ff0f6c 100644 --- a/lib/app/app.dart +++ b/lib/app/app.dart @@ -40,7 +40,7 @@ class GelRuleApp extends ConsumerWidget { return DynamicColorBuilder( builder: (lightDynamic, darkDynamic) { return MaterialApp.router( - title: 'Lunaris', + title: 'Prisma', debugShowCheckedModeBanner: false, theme: buildTheme( Brightness.light, diff --git a/lib/app/app_version.dart b/lib/app/app_version.dart index 6e13e75..6ba44de 100644 --- a/lib/app/app_version.dart +++ b/lib/app/app_version.dart @@ -1,3 +1,3 @@ -const appDisplayVersion = '3.3.1'; -const appBuildNumber = 73; +const appDisplayVersion = '3.4.0'; +const appBuildNumber = 74; const appReleaseChannel = 'Stable'; diff --git a/lib/app/changelog.dart b/lib/app/changelog.dart index 633eadd..4058d91 100644 --- a/lib/app/changelog.dart +++ b/lib/app/changelog.dart @@ -1,4 +1,13 @@ const lunarisChangelog = [ + LunarisChange( + version: '3.4.0', + title: 'Ребрендинг в Prisma: новое имя, комфортная прокрутка анонсов и обновленные репозитории', + bullets: [ + 'Ребрендинг в Prisma: приложение официально переименовано в Prisma — обновлены названия окон, манифесты и системные идентификаторы.', + 'Улучшенная прокрутка анонсов: в диалоге личных сообщений и рассылок автора добавлен дополнительный нижний отступ, чтобы карточки не перекрывались нижней панелью навигации и системными элементами управления.', + 'Синхронизация репозиториев: репозитории на GitHub и Gitea переведены на Prisma, ссылки внутри приложения и служба автообновления переключены на новые адреса.', + ], + ), LunarisChange( version: '3.3.1', title: 'Улучшенное разделение текстовых постов и облачных зеркал', diff --git a/lib/backend/services/update_service.dart b/lib/backend/services/update_service.dart index f9cdcb2..cbbcddc 100644 --- a/lib/backend/services/update_service.dart +++ b/lib/backend/services/update_service.dart @@ -18,14 +18,14 @@ class UpdateService { UpdateService(this._dio, this._settingsService); static const giteaLatestReleaseUrl = - 'https://gitea.rardogsynapse.online/api/v1/repos/RarDog/Lunaris/releases/latest'; + 'https://gitea.rardogsynapse.online/api/v1/repos/RarDog/Prisma/releases/latest'; static const giteaReleasesUrl = - 'https://gitea.rardogsynapse.online/api/v1/repos/RarDog/Lunaris/releases'; + 'https://gitea.rardogsynapse.online/api/v1/repos/RarDog/Prisma/releases'; static const githubLatestReleaseUrl = - 'https://api.github.com/repos/RarDog/Lunaris/releases/latest'; + 'https://api.github.com/repos/RarDog/Prisma/releases/latest'; static const githubReleasesUrl = - 'https://api.github.com/repos/RarDog/Lunaris/releases'; + 'https://api.github.com/repos/RarDog/Prisma/releases'; static const latestReleaseUrl = githubLatestReleaseUrl; static const releasesUrl = githubReleasesUrl; diff --git a/lib/features/artists/presentation/artist_posts_screen.dart b/lib/features/artists/presentation/artist_posts_screen.dart index 7e7adfc..07ae0e0 100644 --- a/lib/features/artists/presentation/artist_posts_screen.dart +++ b/lib/features/artists/presentation/artist_posts_screen.dart @@ -307,7 +307,12 @@ class _ArtistPostsScreenState extends ConsumerState { ) : ListView.separated( controller: scroll, - padding: const EdgeInsets.fromLTRB(16, 16, 16, 24), + padding: EdgeInsets.fromLTRB( + 16, + 16, + 16, + 120 + MediaQuery.paddingOf(context).bottom, + ), itemCount: _announcements.length, separatorBuilder: (_, __) => const SizedBox(height: 12), itemBuilder: (context, index) { diff --git a/linux/runner/my_application.cc b/linux/runner/my_application.cc index 8332c30..04ac2c9 100644 --- a/linux/runner/my_application.cc +++ b/linux/runner/my_application.cc @@ -45,11 +45,11 @@ static void my_application_activate(GApplication* application) { if (use_header_bar) { GtkHeaderBar* header_bar = GTK_HEADER_BAR(gtk_header_bar_new()); gtk_widget_show(GTK_WIDGET(header_bar)); - gtk_header_bar_set_title(header_bar, "Lunaris"); + gtk_header_bar_set_title(header_bar, "Prisma"); gtk_header_bar_set_show_close_button(header_bar, TRUE); gtk_window_set_titlebar(window, GTK_WIDGET(header_bar)); } else { - gtk_window_set_title(window, "Lunaris"); + gtk_window_set_title(window, "Prisma"); } gtk_window_set_default_size(window, 1280, 720); diff --git a/pubspec.yaml b/pubspec.yaml index 387b786..a1099c9 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,7 +1,7 @@ name: gel_rule_app description: Local backend/core layer for a Flutter booru browser app. publish_to: "none" -version: 3.3.1+73 +version: 3.4.0+74 environment: sdk: ">=3.3.0 <4.0.0" diff --git a/windows/runner/Runner.rc b/windows/runner/Runner.rc index cb7dab0..9f8f368 100644 --- a/windows/runner/Runner.rc +++ b/windows/runner/Runner.rc @@ -90,12 +90,12 @@ BEGIN BLOCK "040904e4" BEGIN VALUE "CompanyName", "com.example" "\0" - VALUE "FileDescription", "Lunaris" "\0" + VALUE "FileDescription", "Prisma" "\0" VALUE "FileVersion", VERSION_AS_STRING "\0" - VALUE "InternalName", "Lunaris" "\0" + VALUE "InternalName", "Prisma" "\0" VALUE "LegalCopyright", "Copyright (C) 2026 com.example. All rights reserved." "\0" VALUE "OriginalFilename", "gel_rule_app.exe" "\0" - VALUE "ProductName", "Lunaris" "\0" + VALUE "ProductName", "Prisma" "\0" VALUE "ProductVersion", VERSION_AS_STRING "\0" END END diff --git a/windows/runner/main.cpp b/windows/runner/main.cpp index 438bc9b..867ddb7 100644 --- a/windows/runner/main.cpp +++ b/windows/runner/main.cpp @@ -27,7 +27,7 @@ int APIENTRY wWinMain(_In_ HINSTANCE instance, _In_opt_ HINSTANCE prev, FlutterWindow window(project); Win32Window::Point origin(10, 10); Win32Window::Size size(1280, 720); - if (!window.Create(L"Lunaris", origin, size)) { + if (!window.Create(L"Prisma", origin, size)) { return EXIT_FAILURE; } window.SetQuitOnClose(true);