fix: adjust settings button position and backup/json buttons layout (v3.0.9)
Build and Release / Build Windows x64 (push) Has been cancelled
Build and Release / Build Windows x64 (push) Has been cancelled
This commit is contained in:
@@ -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>
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
const appDisplayVersion = '3.0.8';
|
||||
const appBuildNumber = 59;
|
||||
const appDisplayVersion = '3.0.9';
|
||||
const appBuildNumber = 60;
|
||||
const appReleaseChannel = 'Stable';
|
||||
|
||||
@@ -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,
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
],
|
||||
),
|
||||
|
||||
@@ -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
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user