mirror of
https://github.com/twonlyapp/twonly-app.git
synced 2026-01-15 11:18:41 +00:00
fix #87
This commit is contained in:
parent
f485366719
commit
6abfecb4f3
5 changed files with 248 additions and 217 deletions
|
|
@ -107,10 +107,13 @@ class UserCheckbox extends StatelessWidget {
|
|||
child: Container(
|
||||
padding: EdgeInsets.symmetric(horizontal: 10, vertical: 0),
|
||||
decoration: BoxDecoration(
|
||||
border: Border.all(
|
||||
color: Theme.of(context).colorScheme.outline,
|
||||
width: 1.0,
|
||||
color: Theme.of(context).colorScheme.outline.withAlpha(50),
|
||||
boxShadow: [
|
||||
BoxShadow(
|
||||
blurRadius: 10.9,
|
||||
color: Color.fromRGBO(0, 0, 0, 0.1),
|
||||
),
|
||||
],
|
||||
borderRadius: BorderRadius.circular(8.0),
|
||||
),
|
||||
child: Row(
|
||||
|
|
@ -157,6 +160,15 @@ class UserCheckbox extends StatelessWidget {
|
|||
Expanded(child: Container()),
|
||||
Checkbox(
|
||||
value: isChecked,
|
||||
side: WidgetStateBorderSide.resolveWith(
|
||||
(Set states) {
|
||||
if (states.contains(WidgetState.selected)) {
|
||||
return BorderSide(width: 0);
|
||||
}
|
||||
return BorderSide(
|
||||
width: 1, color: Theme.of(context).colorScheme.outline);
|
||||
},
|
||||
),
|
||||
onChanged: (bool? value) {
|
||||
onChanged(user.userId, value ?? false);
|
||||
},
|
||||
|
|
|
|||
|
|
@ -157,8 +157,9 @@ class _ShareImageView extends State<ShareImageView> {
|
|||
appBar: AppBar(
|
||||
title: Text(context.lang.shareImageTitle),
|
||||
),
|
||||
body: Padding(
|
||||
padding: EdgeInsets.only(bottom: 20, left: 10, top: 20, right: 10),
|
||||
body: SafeArea(
|
||||
child: Padding(
|
||||
padding: EdgeInsets.only(bottom: 40, left: 10, top: 20, right: 10),
|
||||
child: Column(
|
||||
children: [
|
||||
Padding(
|
||||
|
|
@ -198,6 +199,7 @@ class _ShareImageView extends State<ShareImageView> {
|
|||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
floatingActionButton: SizedBox(
|
||||
height: 120,
|
||||
child: Padding(
|
||||
|
|
@ -274,8 +276,8 @@ class UserList extends StatelessWidget {
|
|||
@override
|
||||
Widget build(BuildContext context) {
|
||||
// Step 1: Sort the users alphabetically
|
||||
users.sort(
|
||||
(a, b) => getContactDisplayName(a).compareTo(getContactDisplayName(b)));
|
||||
users
|
||||
.sort((a, b) => a.lastMessageExchange.compareTo(b.lastMessageExchange));
|
||||
|
||||
return ListView.builder(
|
||||
restorationId: 'new_message_users_list',
|
||||
|
|
@ -309,6 +311,15 @@ class UserList extends StatelessWidget {
|
|||
),
|
||||
trailing: Checkbox(
|
||||
value: selectedUserIds.contains(user.userId),
|
||||
side: WidgetStateBorderSide.resolveWith(
|
||||
(Set states) {
|
||||
if (states.contains(WidgetState.selected)) {
|
||||
return BorderSide(width: 0);
|
||||
}
|
||||
return BorderSide(
|
||||
width: 1, color: Theme.of(context).colorScheme.outline);
|
||||
},
|
||||
),
|
||||
onChanged: (bool? value) {
|
||||
if (value == null) return;
|
||||
updateStatus(user.userId, value);
|
||||
|
|
|
|||
|
|
@ -251,7 +251,8 @@ class _ChatItemDetailsViewState extends State<ChatItemDetailsView> {
|
|||
),
|
||||
),
|
||||
),
|
||||
body: Column(
|
||||
body: SafeArea(
|
||||
child: Column(
|
||||
children: [
|
||||
Expanded(
|
||||
child: ListView.builder(
|
||||
|
|
@ -275,8 +276,8 @@ class _ChatItemDetailsViewState extends State<ChatItemDetailsView> {
|
|||
),
|
||||
),
|
||||
Padding(
|
||||
padding:
|
||||
const EdgeInsets.only(bottom: 30, left: 20, right: 20, top: 10),
|
||||
padding: const EdgeInsets.only(
|
||||
bottom: 30, left: 20, right: 20, top: 10),
|
||||
child: Row(
|
||||
children: [
|
||||
Expanded(
|
||||
|
|
@ -310,7 +311,8 @@ class _ChatItemDetailsViewState extends State<ChatItemDetailsView> {
|
|||
enabledBorder: OutlineInputBorder(
|
||||
borderRadius: BorderRadius.circular(
|
||||
20.0), // Same radius for enabled border
|
||||
borderSide: BorderSide(color: Colors.grey, width: 2.0),
|
||||
borderSide:
|
||||
BorderSide(color: Colors.grey, width: 2.0),
|
||||
),
|
||||
),
|
||||
),
|
||||
|
|
@ -330,7 +332,8 @@ class _ChatItemDetailsViewState extends State<ChatItemDetailsView> {
|
|||
.read<SendNextMediaTo>()
|
||||
.updateSendNextMediaTo(widget.userid);
|
||||
globalUpdateOfHomeViewPageIndex(0);
|
||||
Navigator.popUntil(context, (route) => route.isFirst);
|
||||
Navigator.popUntil(
|
||||
context, (route) => route.isFirst);
|
||||
},
|
||||
)
|
||||
],
|
||||
|
|
@ -338,6 +341,7 @@ class _ChatItemDetailsViewState extends State<ChatItemDetailsView> {
|
|||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -106,7 +106,8 @@ class _SearchUsernameView extends State<SearchUsernameView> {
|
|||
appBar: AppBar(
|
||||
title: Text(context.lang.searchUsernameTitle),
|
||||
),
|
||||
body: Padding(
|
||||
body: SafeArea(
|
||||
child: Padding(
|
||||
padding: EdgeInsets.only(bottom: 20, left: 10, top: 20, right: 10),
|
||||
child: Column(
|
||||
children: [
|
||||
|
|
@ -151,6 +152,7 @@ class _SearchUsernameView extends State<SearchUsernameView> {
|
|||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
floatingActionButton: Padding(
|
||||
padding: const EdgeInsets.only(bottom: 30.0),
|
||||
child: FloatingActionButton(
|
||||
|
|
|
|||
|
|
@ -9,7 +9,8 @@ class DiagnosticsView extends StatelessWidget {
|
|||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return FutureBuilder<String>(
|
||||
return SafeArea(
|
||||
child: FutureBuilder<String>(
|
||||
future: _loadLogFile(),
|
||||
builder: (context, snapshot) {
|
||||
if (snapshot.connectionState == ConnectionState.waiting) {
|
||||
|
|
@ -70,6 +71,7 @@ class DiagnosticsView extends StatelessWidget {
|
|||
);
|
||||
}
|
||||
},
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue