🍱 Update app icon for v1.2.0

This commit is contained in:
LittleSheep 2024-07-30 11:50:26 +08:00
parent 8ab3ca5633
commit 18bb0d3db2
55 changed files with 27 additions and 90 deletions

View File

@ -7,6 +7,9 @@
# The following line activates a set of recommended lints for Flutter apps, # The following line activates a set of recommended lints for Flutter apps,
# packages, and plugins designed to encourage good coding practices. # packages, and plugins designed to encourage good coding practices.
analyzer:
errors:
use_build_context_synchronously: ignore
include: package:flutter_lints/flutter.yaml include: package:flutter_lints/flutter.yaml
linter: linter:

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.0 KiB

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.8 KiB

After

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 537 KiB

BIN
assets/icon-w-shadow.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 574 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 53 KiB

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 61 KiB

After

Width:  |  Height:  |  Size: 80 KiB

View File

@ -654,7 +654,7 @@
730D64942C4AC4D0005A1975 /* Debug */ = { 730D64942C4AC4D0005A1975 /* Debug */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
buildSettings = { buildSettings = {
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = AppIcon;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
CLANG_ENABLE_OBJC_WEAK = YES; CLANG_ENABLE_OBJC_WEAK = YES;
@ -694,7 +694,7 @@
730D64952C4AC4D0005A1975 /* Release */ = { 730D64952C4AC4D0005A1975 /* Release */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
buildSettings = { buildSettings = {
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = AppIcon;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
CLANG_ENABLE_OBJC_WEAK = YES; CLANG_ENABLE_OBJC_WEAK = YES;
@ -731,7 +731,7 @@
730D64962C4AC4D0005A1975 /* Profile */ = { 730D64962C4AC4D0005A1975 /* Profile */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
buildSettings = { buildSettings = {
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = AppIcon;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
CLANG_ENABLE_OBJC_WEAK = YES; CLANG_ENABLE_OBJC_WEAK = YES;

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 575 B

After

Width:  |  Height:  |  Size: 641 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 868 B

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.4 KiB

After

Width:  |  Height:  |  Size: 8.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.0 KiB

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.3 KiB

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.9 KiB

After

Width:  |  Height:  |  Size: 7.4 KiB

View File

@ -83,7 +83,6 @@ class AttachmentProvider extends GetConnect {
int id, int id,
String alt, String alt,
String usage, { String usage, {
double? ratio,
bool isMature = false, bool isMature = false,
}) async { }) async {
final AuthProvider auth = Get.find(); final AuthProvider auth = Get.find();
@ -92,9 +91,6 @@ class AttachmentProvider extends GetConnect {
final client = auth.configureClient('files'); final client = auth.configureClient('files');
var resp = await client.put('/attachments/$id', { var resp = await client.put('/attachments/$id', {
'metadata': {
if (ratio != null) 'ratio': ratio,
},
'alt': alt, 'alt': alt,
'usage': usage, 'usage': usage,
'is_mature': isMature, 'is_mature': isMature,

View File

@ -137,7 +137,7 @@ class PostCreatePopup extends StatelessWidget {
final List<dynamic> actionList = [ final List<dynamic> actionList = [
( (
icon: const Icon(Icons.edit_square), icon: const Icon(Icons.edit_square),
label: 'postEditor'.tr, label: 'postEditorModeStory'.tr,
onTap: () { onTap: () {
Navigator.pop(context); Navigator.pop(context);
AppRouter.instance.pushNamed('postEditor').then((val) { AppRouter.instance.pushNamed('postEditor').then((val) {

View File

@ -134,7 +134,7 @@ class _PostPublishScreenState extends State<PostPublishScreen> {
child: Scaffold( child: Scaffold(
appBar: AppBar( appBar: AppBar(
leading: AppBarLeadingButton.adaptive(context), leading: AppBarLeadingButton.adaptive(context),
title: AppBarTitle('postPublish'.tr), title: AppBarTitle('postEditorModeStory'.tr),
centerTitle: false, centerTitle: false,
toolbarHeight: SolianTheme.toolbarHeight(context), toolbarHeight: SolianTheme.toolbarHeight(context),
actions: [ actions: [

View File

@ -32,7 +32,9 @@ abstract class SolianTheme {
brightness: brightness, brightness: brightness,
useMaterial3: true, useMaterial3: true,
colorScheme: ColorScheme.fromSeed( colorScheme: ColorScheme.fromSeed(
brightness: brightness, seedColor: Colors.indigo), brightness: brightness,
seedColor: const Color.fromRGBO(103, 96, 193, 1),
),
); );
} }
} }

View File

@ -5,7 +5,7 @@ import 'package:solian/translations/zh_cn.dart';
class SolianMessages extends Translations { class SolianMessages extends Translations {
@override @override
Map<String, Map<String, String>> get keys => { Map<String, Map<String, String>> get keys => {
'en_US': messagesEnglish, 'en_US': i18nEnglish,
'zh_CN': simplifiedChineseMessages, 'zh_CN': i18nSimplifiedChinese,
}; };
} }

View File

@ -1,4 +1,4 @@
const messagesEnglish = { const i18nEnglish = {
'done': 'Done', 'done': 'Done',
'hide': 'Hide', 'hide': 'Hide',
'okay': 'Okay', 'okay': 'Okay',
@ -97,7 +97,9 @@ const messagesEnglish = {
'postPinned': 'Pinned', 'postPinned': 'Pinned',
'postListNews': 'News', 'postListNews': 'News',
'postListShuffle': 'Random', 'postListShuffle': 'Random',
'postEditor': 'Create new post', 'postEditorModeStory': 'Post a post',
'postEditorModeArticle': 'Post an article',
'postEditor': 'Post editor',
'articleEditor': 'Create new article', 'articleEditor': 'Create new article',
'articleDetail': 'Article details', 'articleDetail': 'Article details',
'draftBoxOpen': 'Open draft box', 'draftBoxOpen': 'Open draft box',

View File

@ -1,4 +1,4 @@
const simplifiedChineseMessages = { const i18nSimplifiedChinese = {
'done': '完成', 'done': '完成',
'hide': '隐藏', 'hide': '隐藏',
'okay': '确认', 'okay': '确认',
@ -89,7 +89,9 @@ const simplifiedChineseMessages = {
'pinPost': '置顶本帖', 'pinPost': '置顶本帖',
'unpinPost': '取消置顶本帖', 'unpinPost': '取消置顶本帖',
'postPinned': '已置顶', 'postPinned': '已置顶',
'postEditor': '发个帖子', 'postEditorModeStory': '发个帖子',
'postEditorModeArticle': '撰写文章',
'postEditor': '帖子编辑器',
'articleEditor': '撰写文章', 'articleEditor': '撰写文章',
'articleDetail': '文章详情', 'articleDetail': '文章详情',
'draftBoxOpen': '打开草稿箱', 'draftBoxOpen': '打开草稿箱',

View File

@ -108,7 +108,6 @@ class _AttachmentItemImage extends StatelessWidget {
final Function? onHide; final Function? onHide;
const _AttachmentItemImage({ const _AttachmentItemImage({
super.key,
required this.parentId, required this.parentId,
required this.item, required this.item,
required this.showBadge, required this.showBadge,
@ -215,7 +214,7 @@ class _AttachmentItemImage extends StatelessWidget {
class _AttachmentItemVideo extends StatefulWidget { class _AttachmentItemVideo extends StatefulWidget {
final Attachment item; final Attachment item;
const _AttachmentItemVideo({super.key, required this.item}); const _AttachmentItemVideo({required this.item});
@override @override
State<_AttachmentItemVideo> createState() => _AttachmentItemVideoState(); State<_AttachmentItemVideo> createState() => _AttachmentItemVideoState();

View File

@ -361,7 +361,7 @@ class _AttachmentPublishPopupState extends State<AttachmentPublishPopup> {
alignment: WrapAlignment.center, alignment: WrapAlignment.center,
runAlignment: WrapAlignment.center, runAlignment: WrapAlignment.center,
children: [ children: [
if (PlatformInfo.isDesktop) if (PlatformInfo.isDesktop || PlatformInfo.isIOS || PlatformInfo.isWeb)
ElevatedButton.icon( ElevatedButton.icon(
icon: const Icon(Icons.paste), icon: const Icon(Icons.paste),
label: Text('attachmentAddClipboard'.tr), label: Text('attachmentAddClipboard'.tr),
@ -426,12 +426,10 @@ class AttachmentEditorDialog extends StatefulWidget {
} }
class _AttachmentEditorDialogState extends State<AttachmentEditorDialog> { class _AttachmentEditorDialogState extends State<AttachmentEditorDialog> {
final _ratioController = TextEditingController();
final _altController = TextEditingController(); final _altController = TextEditingController();
bool _isBusy = false; bool _isBusy = false;
bool _isMature = false; bool _isMature = false;
bool _hasAspectRatio = false;
Future<Attachment?> updateAttachment() async { Future<Attachment?> updateAttachment() async {
final AttachmentProvider provider = Get.find(); final AttachmentProvider provider = Get.find();
@ -442,9 +440,6 @@ class _AttachmentEditorDialogState extends State<AttachmentEditorDialog> {
widget.item.id, widget.item.id,
_altController.value.text, _altController.value.text,
widget.item.usage, widget.item.usage,
ratio: _hasAspectRatio
? (double.tryParse(_ratioController.value.text) ?? 1)
: null,
isMature: _isMature, isMature: _isMature,
); );
@ -476,13 +471,6 @@ class _AttachmentEditorDialogState extends State<AttachmentEditorDialog> {
void syncWidget() { void syncWidget() {
_isMature = widget.item.isMature; _isMature = widget.item.isMature;
_altController.text = widget.item.alt; _altController.text = widget.item.alt;
if (['image', 'video']
.contains(widget.item.mimetype.split('/').firstOrNull)) {
_ratioController.text =
widget.item.metadata?['ratio']?.toString() ?? 1.toString();
_hasAspectRatio = true;
}
} }
@override @override
@ -517,61 +505,6 @@ class _AttachmentEditorDialogState extends State<AttachmentEditorDialog> {
onTapOutside: (_) => onTapOutside: (_) =>
FocusManager.instance.primaryFocus?.unfocus(), FocusManager.instance.primaryFocus?.unfocus(),
), ),
const SizedBox(height: 16),
TextField(
readOnly: !_hasAspectRatio,
controller: _ratioController,
decoration: InputDecoration(
isDense: true,
prefixIcon: const Icon(Icons.aspect_ratio),
border: const OutlineInputBorder(),
labelText: 'aspectRatio'.tr,
),
onTapOutside: (_) =>
FocusManager.instance.primaryFocus?.unfocus(),
),
const SizedBox(height: 5),
SingleChildScrollView(
scrollDirection: Axis.horizontal,
child: Wrap(
spacing: 6,
runSpacing: 0,
children: [
ActionChip(
avatar: Icon(Icons.square_rounded,
color: Theme.of(context).colorScheme.onSurfaceVariant),
label: Text('aspectRatioSquare'.tr),
onPressed: () {
if (_hasAspectRatio) {
setState(() => _ratioController.text = '1');
}
},
),
ActionChip(
avatar: Icon(Icons.portrait,
color: Theme.of(context).colorScheme.onSurfaceVariant),
label: Text('aspectRatioPortrait'.tr),
onPressed: () {
if (_hasAspectRatio) {
setState(
() => _ratioController.text = (9 / 16).toString());
}
},
),
ActionChip(
avatar: Icon(Icons.landscape,
color: Theme.of(context).colorScheme.onSurfaceVariant),
label: Text('aspectRatioLandscape'.tr),
onPressed: () {
if (_hasAspectRatio) {
setState(
() => _ratioController.text = (16 / 9).toString());
}
},
),
],
),
),
Card( Card(
child: CheckboxListTile( child: CheckboxListTile(
shape: const RoundedRectangleBorder( shape: const RoundedRectangleBorder(

Binary file not shown.

Before

Width:  |  Height:  |  Size: 160 KiB

After

Width:  |  Height:  |  Size: 176 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.0 KiB

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 589 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 52 KiB

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.0 KiB

After

Width:  |  Height:  |  Size: 3.3 KiB

View File

@ -2,7 +2,7 @@ name: solian
description: "The Solar Network App" description: "The Solar Network App"
publish_to: "none" publish_to: "none"
version: 1.2.0 version: 1.2.0+1
environment: environment:
sdk: ">=3.3.4 <4.0.0" sdk: ">=3.3.4 <4.0.0"
@ -83,16 +83,16 @@ flutter_launcher_icons:
min_sdk_android: 21 min_sdk_android: 21
web: web:
generate: true generate: true
image_path: "assets/icon-padded.png" image_path: "assets/icon-w-shadow.png"
background_color: "#ffffff" background_color: "#ffffff"
theme_color: "#4b5094" theme_color: "#4b5094"
windows: windows:
generate: true generate: true
image_path: "assets/icon-padded.png" image_path: "assets/icon-w-shadow.png"
icon_size: 256 icon_size: 256
macos: macos:
generate: true generate: true
image_path: "assets/icon-padded.png" image_path: "assets/icon-w-shadow.png"
msix_config: msix_config:
protocol_activation: solink protocol_activation: solink

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 589 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 52 KiB

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 52 KiB

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 20 KiB