💄 Better user agent

This commit is contained in:
2024-09-16 11:57:16 +08:00
parent c18ce88993
commit 780f7c22bc
39 changed files with 140 additions and 113 deletions

View File

@ -26,7 +26,7 @@ class _AccountProfilePopupState extends State<AccountProfilePopup> {
setState(() => _isBusy = true);
try {
final client = ServiceFinder.configureClient('auth');
final client = await ServiceFinder.configureClient('auth');
final resp = await client.get('/users/${widget.name}');
if (resp.statusCode == 200) {
setState(() {

View File

@ -36,16 +36,13 @@ class _AccountSelectorState extends State<AccountSelector> {
_revertSelectedUsers() async {
if (widget.initialSelection?.isEmpty ?? true) return;
final client = ServiceFinder.configureClient('auth');
final client = await ServiceFinder.configureClient('auth');
final idQuery = widget.initialSelection!.join(',');
final resp = await client.get('/users?id=$idQuery');
setState(() {
_selectedUsers.addAll(
resp.body
.map((e) => Account.fromJson(e))
.toList()
.cast<Account>(),
resp.body.map((e) => Account.fromJson(e)).toList().cast<Account>(),
);
});
}
@ -73,7 +70,7 @@ class _AccountSelectorState extends State<AccountSelector> {
if (_probeController.text.isEmpty) return;
final client = auth.configureClient('auth');
final client = await auth.configureClient('auth');
final resp = await client.get(
'/users/search?probe=${_probeController.text}',
);
@ -156,7 +153,8 @@ class _AccountSelectorState extends State<AccountSelector> {
}
setState(() {
final idx = _selectedUsers.indexWhere((x) => x.id == element.id);
final idx = _selectedUsers
.indexWhere((x) => x.id == element.id);
if (idx != -1) {
_selectedUsers.removeAt(idx);
} else {

View File

@ -29,10 +29,10 @@ class _ChannelDeletionDialogState extends State<ChannelDeletionDialog> {
setState(() => _isBusy = true);
final client = auth.configureClient('messaging');
final client = await auth.configureClient('messaging');
final resp = await client
.delete('/channels/${widget.realm}/${widget.channel.id}');
final resp =
await client.delete('/channels/${widget.realm}/${widget.channel.id}');
if (resp.statusCode != 200) {
context.showErrorDialog(resp.bodyString);
} else if (Navigator.canPop(context)) {
@ -48,7 +48,7 @@ class _ChannelDeletionDialogState extends State<ChannelDeletionDialog> {
setState(() => _isBusy = true);
final client = auth.configureClient('messaging');
final client = await auth.configureClient('messaging');
final resp = await client.delete(
'/channels/${widget.realm}/${widget.channel.alias}/members/me',
@ -69,11 +69,11 @@ class _ChannelDeletionDialogState extends State<ChannelDeletionDialog> {
? 'channelDeletionConfirm'.tr
: 'channelLeaveConfirm'.tr),
content: Text(
widget.isOwned ?
'channelDeletionConfirmCaption'
.trParams({'channel': '#${widget.channel.alias}'}) :
'channelLeaveConfirmCaption'
.trParams({'channel': '#${widget.channel.alias}'}),
widget.isOwned
? 'channelDeletionConfirmCaption'
.trParams({'channel': '#${widget.channel.alias}'})
: 'channelLeaveConfirmCaption'
.trParams({'channel': '#${widget.channel.alias}'}),
),
actions: <Widget>[
TextButton(

View File

@ -39,7 +39,7 @@ class _ChannelMemberListPopupState extends State<ChannelMemberListPopup> {
void getMembers() async {
setState(() => _isBusy = true);
final client = ServiceFinder.configureClient('messaging');
final client = await ServiceFinder.configureClient('messaging');
final resp = await client
.get('/channels/${widget.realm}/${widget.channel.alias}/members');
@ -75,7 +75,7 @@ class _ChannelMemberListPopupState extends State<ChannelMemberListPopup> {
setState(() => _isBusy = true);
final client = auth.configureClient('messaging');
final client = await auth.configureClient('messaging');
final resp = await client.post(
'/channels/${widget.realm}/${widget.channel.alias}/members',
@ -96,7 +96,7 @@ class _ChannelMemberListPopupState extends State<ChannelMemberListPopup> {
setState(() => _isBusy = true);
final client = auth.configureClient('messaging');
final client = await auth.configureClient('messaging');
final resp = await client.request(
'/channels/${widget.realm}/${widget.channel.alias}/members',

View File

@ -33,7 +33,7 @@ class _ChatCallButtonState extends State<ChatCallButton> {
final AuthProvider auth = Get.find();
if (auth.isAuthorized.isFalse) return;
final client = auth.configureClient('messaging');
final client = await auth.configureClient('messaging');
setState(() => _isBusy = true);
@ -57,7 +57,7 @@ class _ChatCallButtonState extends State<ChatCallButton> {
final AuthProvider auth = Get.find();
if (auth.isAuthorized.isFalse) return;
final client = auth.configureClient('messaging');
final client = await auth.configureClient('messaging');
setState(() => _isBusy = true);

View File

@ -30,7 +30,7 @@ class _ChatEventDeletionDialogState extends State<ChatEventDeletionDialog> {
final AuthProvider auth = Get.find();
if (auth.isAuthorized.isFalse) return;
final client = auth.configureClient('messaging');
final client = await auth.configureClient('messaging');
setState(() => _isBusy = true);

View File

@ -118,7 +118,7 @@ class _ChatMessageInputState extends State<ChatMessageInput> {
final mentionedUserNames = _findMentionedUsers(_textController.text);
final mentionedUserIds = List<int>.empty(growable: true);
var client = auth.configureClient('auth');
var client = await auth.configureClient('auth');
if (mentionedUserNames.isNotEmpty) {
resp = await client.get('/users?name=${mentionedUserNames.join(',')}');
if (resp.statusCode != 200) {
@ -131,7 +131,7 @@ class _ChatMessageInputState extends State<ChatMessageInput> {
}
}
client = auth.configureClient('messaging');
client = await auth.configureClient('messaging');
if (_textController.text.trim().isEmpty && _attachments.isEmpty) return;
@ -432,7 +432,7 @@ class _ChatMessageInputState extends State<ChatMessageInput> {
final userSearch = userMatch[1]!.toLowerCase();
final AuthProvider auth = Get.find();
final client = auth.configureClient('auth');
final client = await auth.configureClient('auth');
final resp = await client.get(
'/users/search?probe=$userSearch',
);

View File

@ -35,7 +35,7 @@ class _TagsFieldState extends State<TagsField> {
Future<List<String>?> _searchTags(String probe) async {
_currentSearchProbe = probe;
final client = ServiceFinder.configureClient('interactive');
final client = await ServiceFinder.configureClient('interactive');
final resp = await client.get(
'/tags?take=10&probe=$_currentSearchProbe',
);

View File

@ -192,7 +192,7 @@ class _PostActionState extends State<PostAction> {
: 'unpinPost'.tr,
),
onTap: () async {
final client = Get.find<AuthProvider>()
final client = await Get.find<AuthProvider>()
.configureClient('interactive');
await client.post('/posts/${widget.item.id}/pin', {});
Navigator.pop(context, true);
@ -254,7 +254,7 @@ class _PostDeletionDialogState extends State<PostDeletionDialog> {
final AuthProvider auth = Get.find();
if (auth.isAuthorized.isFalse) return;
final client = auth.configureClient('interactive');
final client = await auth.configureClient('interactive');
setState(() => _isBusy = true);
final resp = await client.delete('/posts/${widget.item.id}');

View File

@ -49,7 +49,7 @@ class _PostQuickActionState extends State<PostQuickAction> {
if (_isSubmitting) return;
if (auth.isAuthorized.isFalse) return;
final client = auth.configureClient('interactive');
final client = await auth.configureClient('interactive');
setState(() => _isSubmitting = true);

View File

@ -27,7 +27,7 @@ class _RealmDeletionDialogState extends State<RealmDeletionDialog> {
setState(() => _isBusy = true);
final client = auth.configureClient('auth');
final client = await auth.configureClient('auth');
final resp = await client.delete('/realms/${widget.realm.id}');
if (resp.statusCode != 200) {
@ -45,10 +45,9 @@ class _RealmDeletionDialogState extends State<RealmDeletionDialog> {
setState(() => _isBusy = true);
final client = auth.configureClient('auth');
final client = await auth.configureClient('auth');
final resp =
await client.delete('/realms/${widget.realm.id}/members/me');
final resp = await client.delete('/realms/${widget.realm.id}/members/me');
if (resp.statusCode != 200) {
context.showErrorDialog(resp.bodyString);
} else if (Navigator.canPop(context)) {

View File

@ -37,7 +37,7 @@ class _RealmMemberListPopupState extends State<RealmMemberListPopup> {
void getMembers() async {
setState(() => _isBusy = true);
final client = ServiceFinder.configureClient('auth');
final client = await ServiceFinder.configureClient('auth');
final resp = await client.get('/realms/${widget.realm.alias}/members');
if (resp.statusCode == 200) {
@ -72,7 +72,7 @@ class _RealmMemberListPopupState extends State<RealmMemberListPopup> {
setState(() => _isBusy = true);
final client = auth.configureClient('auth');
final client = await auth.configureClient('auth');
final resp = await client.post(
'/realms/${widget.realm.alias}/members',
@ -93,7 +93,7 @@ class _RealmMemberListPopupState extends State<RealmMemberListPopup> {
setState(() => _isBusy = true);
final client = auth.configureClient('auth');
final client = await auth.configureClient('auth');
final resp = await client.request(
'/realms/${widget.realm.alias}/members',

View File

@ -63,7 +63,7 @@ class _StickerUploadDialogState extends State<StickerUploadDialog> {
setState(() => _isBusy = true);
Response resp;
final client = auth.configureClient('files');
final client = await auth.configureClient('files');
if (widget.edit == null) {
resp = await client.post('/stickers', {
'name': _nameController.text,