fix: adjust settings button position and backup/json buttons layout (v3.0.9)
Build and Release / Build Windows x64 (push) Has been cancelled

This commit is contained in:
2026-09-04 18:42:00 +03:00
parent 586e3fc4db
commit ec594595c9
6 changed files with 73 additions and 30 deletions
+1 -1
View File
@@ -10,7 +10,7 @@
</p>
<p align="center">
<a href="https://github.com/RarDog/Lunaris/releases"><img src="https://img.shields.io/badge/Version-3.0.8-8A2BE2?style=for-the-badge&logo=semver&logoColor=white" alt="Version 3.0.8" /></a>
<a href="https://github.com/RarDog/Lunaris/releases"><img src="https://img.shields.io/badge/Version-3.0.9-8A2BE2?style=for-the-badge&logo=semver&logoColor=white" alt="Version 3.0.9" /></a>
<img src="https://img.shields.io/badge/Flutter-3.47+-02569B?style=for-the-badge&logo=flutter&logoColor=white" alt="Flutter" />
<img src="https://img.shields.io/badge/Platform-Android%20%7C%20Linux%20%7C%20Windows-00C853?style=for-the-badge" alt="Platforms" />
<a href="https://github.com/RarDog/Lunaris/wiki"><img src="https://img.shields.io/badge/Wiki-Documentation-FF6F00?style=for-the-badge&logo=gitbook&logoColor=white" alt="Wiki" /></a>
+2 -2
View File
@@ -1,3 +1,3 @@
const appDisplayVersion = '3.0.8';
const appBuildNumber = 59;
const appDisplayVersion = '3.0.9';
const appBuildNumber = 60;
const appReleaseChannel = 'Stable';
+9
View File
@@ -1,4 +1,13 @@
const lunarisChangelog = [
LunarisChange(
version: '3.0.9',
title: 'Коррекция позиции кнопки настроек и отображения кнопок JSON и бэкапа',
bullets: [
'Оптимальная позиция кнопки настроек: парящая стеклянная кнопка опущена прямо к нижней навигационной панели, без избыточного завышения над карточками контента.',
'Полная видимость кнопок JSON и бэкапа: добавлен увеличенный нижний отступ прокрутки в настройках, чтобы панель навигации не перекрывала кнопки при скролле до конца.',
'Улучшенный дизайн и сетка кнопок экспорта/импорта: кнопки бэкапа и JSON организованы в симметричные аккуратные строки с яркими акцентными бейджами.',
],
),
LunarisChange(
version: '3.0.8',
title: 'iPhone Liquid Glass — раздел «Настройки» и парящая стеклянная кнопка',
@@ -187,7 +187,12 @@ class _SettingsContentState extends ConsumerState<_SettingsContent> {
Expanded(
child: SingleChildScrollView(
controller: _scrollController,
padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 12),
padding: EdgeInsets.fromLTRB(
16,
12,
16,
120 + MediaQuery.paddingOf(context).bottom,
),
child: Align(
alignment: Alignment.topCenter,
child: ConstrainedBox(
@@ -2547,35 +2552,64 @@ class _HeroBrandBanner extends StatelessWidget {
Text(
isRu ? 'Резервное копирование и экспорт' : 'Backup & JSON Export',
style: theme.textTheme.titleSmall?.copyWith(
fontWeight: FontWeight.w600,
color: theme.colorScheme.onSurfaceVariant,
fontWeight: FontWeight.w700,
letterSpacing: -0.2,
),
),
const SizedBox(height: 12),
Wrap(
spacing: 10,
runSpacing: 10,
alignment: WrapAlignment.center,
Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: [
OutlinedButton.icon(
Row(
children: [
Expanded(
child: OutlinedButton.icon(
onPressed: onExportBackup,
icon: const Icon(Icons.file_upload_rounded, size: 18),
label: Text(isRu ? 'Экспорт бэкапа' : 'Export backup'),
label: Text(
isRu ? 'Экспорт бэкапа' : 'Export backup',
overflow: TextOverflow.ellipsis,
),
OutlinedButton.icon(
),
),
const SizedBox(width: 10),
Expanded(
child: OutlinedButton.icon(
onPressed: onImportBackup,
icon: const Icon(Icons.file_download_rounded, size: 18),
label: Text(isRu ? 'Импорт бэкапа' : 'Import backup'),
label: Text(
isRu ? 'Импорт бэкапа' : 'Import backup',
overflow: TextOverflow.ellipsis,
),
OutlinedButton.icon(
),
),
],
),
const SizedBox(height: 10),
Row(
children: [
Expanded(
child: FilledButton.tonalIcon(
onPressed: onExportJson,
icon: const Icon(Icons.upload_file_rounded, size: 18),
label: const Text('JSON Export'),
icon: const Icon(Icons.data_object_rounded, size: 18),
label: Text(
isRu ? 'JSON Экспорт' : 'JSON Export',
overflow: TextOverflow.ellipsis,
),
OutlinedButton.icon(
),
),
const SizedBox(width: 10),
Expanded(
child: FilledButton.tonalIcon(
onPressed: onImportJson,
icon: const Icon(Icons.download_for_offline_rounded, size: 18),
label: const Text('JSON Import'),
label: Text(
isRu ? 'JSON Импорт' : 'JSON Import',
overflow: TextOverflow.ellipsis,
),
),
),
],
),
],
),
+1 -1
View File
@@ -297,7 +297,7 @@ class _MobileShell extends StatelessWidget {
floatingActionButton: location == '/settings'
? null
: Padding(
padding: const EdgeInsets.only(bottom: 68, right: 4),
padding: const EdgeInsets.only(bottom: 0, right: 2),
child: _LiquidGlassSettingsButton(
ru: ru,
onTap: () => context.go('/settings'),
+1 -1
View File
@@ -1,7 +1,7 @@
name: gel_rule_app
description: Local backend/core layer for a Flutter booru browser app.
publish_to: "none"
version: 3.0.8+59
version: 3.0.9+60
environment:
sdk: ">=3.3.0 <4.0.0"