🐛 Fix some styling issues

This commit is contained in:
2025-11-30 15:42:51 +08:00
parent 4a7ff96a8b
commit 7bc44e8f06
4 changed files with 135 additions and 107 deletions

View File

@@ -654,22 +654,33 @@ class ChatRoomScreen extends HookConsumerWidget {
}
}
Widget chatMessageListWidget(
List<LocalChatMessage> messageList,
) => AnimatedPadding(
Widget chatMessageListWidget(List<LocalChatMessage> messageList) =>
ValueListenableBuilder<double>(
valueListenable: inputHeight,
builder: (context, height, child) {
return TweenAnimationBuilder<EdgeInsets>(
duration: const Duration(milliseconds: 200),
curve: Curves.easeOut,
padding: EdgeInsets.only(
bottom: MediaQuery.of(context).padding.bottom + 8 + inputHeight.value,
tween: EdgeInsetsTween(
begin: EdgeInsets.only(
bottom: MediaQuery.of(context).padding.bottom + 8 + height,
),
child: SuperListView.builder(
end: EdgeInsets.only(
bottom: MediaQuery.of(context).padding.bottom + 8 + height,
),
),
builder: (context, padding, child) {
return SuperListView.builder(
listController: listController,
controller: scrollController,
reverse: true, // Show newest messages at the bottom
padding: padding,
itemCount: messageList.length,
findChildIndexCallback: (key) {
if (key is! ValueKey<String>) return null;
final messageId = key.value.substring(messageKeyPrefix.length);
final messageId = key.value.substring(
messageKeyPrefix.length,
);
final index = messageList.indexWhere(
(m) => (m.nonce ?? m.id) == messageId,
);
@@ -679,7 +690,9 @@ class ChatRoomScreen extends HookConsumerWidget {
itemBuilder: (context, index) {
final message = messageList[index];
final nextMessage =
index < messageList.length - 1 ? messageList[index + 1] : null;
index < messageList.length - 1
? messageList[index + 1]
: null;
final isLastInGroup =
nextMessage == null ||
nextMessage.senderId != message.senderId ||
@@ -689,7 +702,9 @@ class ChatRoomScreen extends HookConsumerWidget {
.abs() >
3;
final key = Key('$messageKeyPrefix${message.nonce ?? message.id}');
final key = Key(
'$messageKeyPrefix${message.nonce ?? message.id}',
);
return MessageItemWrapper(
key: key,
@@ -716,7 +731,10 @@ class ChatRoomScreen extends HookConsumerWidget {
roomOpenTime: roomOpenTime,
);
},
),
);
},
);
},
);
return AppScaffold(

View File

@@ -109,7 +109,9 @@ class DeveloperHubScreen extends HookConsumerWidget {
),
)
else
_MainContentSection(
Expanded(
child: Center(
child: _MainContentSection(
currentDeveloper: currentDeveloper.value,
projects: projects,
developerStats: developerStats,
@@ -144,6 +146,8 @@ class DeveloperHubScreen extends HookConsumerWidget {
}
},
),
),
),
],
),
);
@@ -210,9 +214,12 @@ class _MainContentSection extends HookConsumerWidget {
data:
(stats) =>
currentDeveloper == null
? _DeveloperUnselectedWidget(
? ConstrainedBox(
constraints: BoxConstraints(maxWidth: 640),
child: _DeveloperUnselectedWidget(
onDeveloperSelected: onDeveloperSelected,
)
),
).center()
: Padding(
padding: const EdgeInsets.all(16),
child: Column(
@@ -725,6 +732,7 @@ class _DeveloperUnselectedWidget extends HookConsumerWidget {
return Card(
margin: const EdgeInsets.all(16),
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
if (!hasDevelopers) ...[
const Icon(

View File

@@ -182,6 +182,7 @@ class _FriendTile extends ConsumerWidget {
Symbols.play_arrow,
size: 10,
color: Colors.white,
fill: 1,
)
: null,
),

View File

@@ -171,7 +171,7 @@ PODS:
- irondash_engine_context (0.0.1):
- FlutterMacOS
- KeychainAccess (4.2.2)
- livekit_client (2.5.3):
- livekit_client (2.5.4):
- flutter_webrtc
- FlutterMacOS
- WebRTC-SDK (= 137.7151.04)
@@ -187,13 +187,14 @@ PODS:
- nanopb/encode (= 3.30910.0)
- nanopb/decode (3.30910.0)
- nanopb/encode (3.30910.0)
- objective_c (0.0.1):
- FlutterMacOS
- OrderedSet (6.0.3)
- package_info_plus (0.0.1):
- FlutterMacOS
- pasteboard (0.0.1):
- FlutterMacOS
- path_provider_foundation (0.0.1):
- Flutter
- FlutterMacOS
- PromisesObjC (2.4.0)
- PromisesSwift (2.4.0):
- PromisesObjC (= 2.4.0)
@@ -277,9 +278,9 @@ DEPENDENCIES:
- local_auth_darwin (from `Flutter/ephemeral/.symlinks/plugins/local_auth_darwin/darwin`)
- media_kit_libs_macos_video (from `Flutter/ephemeral/.symlinks/plugins/media_kit_libs_macos_video/macos`)
- media_kit_video (from `Flutter/ephemeral/.symlinks/plugins/media_kit_video/macos`)
- objective_c (from `Flutter/ephemeral/.symlinks/plugins/objective_c/macos`)
- package_info_plus (from `Flutter/ephemeral/.symlinks/plugins/package_info_plus/macos`)
- pasteboard (from `Flutter/ephemeral/.symlinks/plugins/pasteboard/macos`)
- path_provider_foundation (from `Flutter/ephemeral/.symlinks/plugins/path_provider_foundation/darwin`)
- protocol_handler_macos (from `Flutter/ephemeral/.symlinks/plugins/protocol_handler_macos/macos`)
- record_macos (from `Flutter/ephemeral/.symlinks/plugins/record_macos/macos`)
- screen_retriever_macos (from `Flutter/ephemeral/.symlinks/plugins/screen_retriever_macos/macos`)
@@ -367,12 +368,12 @@ EXTERNAL SOURCES:
:path: Flutter/ephemeral/.symlinks/plugins/media_kit_libs_macos_video/macos
media_kit_video:
:path: Flutter/ephemeral/.symlinks/plugins/media_kit_video/macos
objective_c:
:path: Flutter/ephemeral/.symlinks/plugins/objective_c/macos
package_info_plus:
:path: Flutter/ephemeral/.symlinks/plugins/package_info_plus/macos
pasteboard:
:path: Flutter/ephemeral/.symlinks/plugins/pasteboard/macos
path_provider_foundation:
:path: Flutter/ephemeral/.symlinks/plugins/path_provider_foundation/darwin
protocol_handler_macos:
:path: Flutter/ephemeral/.symlinks/plugins/protocol_handler_macos/macos
record_macos:
@@ -437,15 +438,15 @@ SPEC CHECKSUMS:
GoogleUtilities: 00c88b9a86066ef77f0da2fab05f65d7768ed8e1
irondash_engine_context: 893c7d96d20ce361d7e996f39d360c4c2f9869ba
KeychainAccess: c0c4f7f38f6fc7bbe58f5702e25f7bd2f65abf51
livekit_client: a6d5ae8aaeebf3e52235da866fea00f43156c72b
livekit_client: 3df5a1787d64010ca56c4002959d9e47c03ba3fb
local_auth_darwin: c3ee6cce0a8d56be34c8ccb66ba31f7f180aaebb
media_kit_libs_macos_video: 85a23e549b5f480e72cae3e5634b5514bc692f65
media_kit_video: fa6564e3799a0a28bff39442334817088b7ca758
nanopb: fad817b59e0457d11a5dfbde799381cd727c1275
objective_c: ec13431e45ba099cb734eb2829a5c1cd37986cba
OrderedSet: e539b66b644ff081c73a262d24ad552a69be3a94
package_info_plus: f0052d280d17aa382b932f399edf32507174e870
pasteboard: 278d8100149f940fb795d6b3a74f0720c890ecb7
path_provider_foundation: bb55f6dbba17d0dccd6737fe6f7f34fbd0376880
PromisesObjC: f5707f49cb48b9636751c5b2e7d227e43fba9f47
PromisesSwift: 9d77319bbe72ebf6d872900551f7eeba9bce2851
protocol_handler_macos: f9cd7b13bcaf6b0425f7410cbe52376cb843a936