✨ Allow to delete contact methods
This commit is contained in:
parent
58421e5d5e
commit
ac2aec48aa
@ -835,5 +835,7 @@
|
|||||||
"accountContactMethodsEdit": "Edit Contact Method",
|
"accountContactMethodsEdit": "Edit Contact Method",
|
||||||
"accountContactMethodsAddDescription": "Add a new contact method.",
|
"accountContactMethodsAddDescription": "Add a new contact method.",
|
||||||
"fieldContactContent": "Contact method",
|
"fieldContactContent": "Contact method",
|
||||||
"accountContactMethodsPublicHint": "This contact method will be displayed publicly on your profile."
|
"accountContactMethodsPublicHint": "This contact method will be displayed publicly on your profile.",
|
||||||
|
"accountContactMethodsDelete": "Delete Contact Method",
|
||||||
|
"accountContactMethodsDeleteDescription": "Are you sure you want to delete contact method {}? This operation is irreversible."
|
||||||
}
|
}
|
||||||
|
@ -835,5 +835,7 @@
|
|||||||
"accountContactMethodsEdit": "编辑联系方式",
|
"accountContactMethodsEdit": "编辑联系方式",
|
||||||
"accountContactMethodsAddDescription": "添加新的联系方式。",
|
"accountContactMethodsAddDescription": "添加新的联系方式。",
|
||||||
"fieldContactContent": "联系方式",
|
"fieldContactContent": "联系方式",
|
||||||
"accountContactMethodsPublicHint": "这个联系方式公开地显示在个人资料中。"
|
"accountContactMethodsPublicHint": "这个联系方式公开地显示在个人资料中。",
|
||||||
|
"accountContactMethodsDelete": "删除联系方式",
|
||||||
|
"accountContactMethodsDeleteDescription": "你确定要删除联系方式 {} 吗?这个操作不可撤销。"
|
||||||
}
|
}
|
||||||
|
@ -835,5 +835,7 @@
|
|||||||
"accountContactMethodsEdit": "編輯聯繫方式",
|
"accountContactMethodsEdit": "編輯聯繫方式",
|
||||||
"accountContactMethodsAddDescription": "添加新的聯繫方式。",
|
"accountContactMethodsAddDescription": "添加新的聯繫方式。",
|
||||||
"fieldContactContent": "聯繫方式",
|
"fieldContactContent": "聯繫方式",
|
||||||
"accountContactMethodsPublicHint": "這個聯繫方式公開地顯示在個人資料中。"
|
"accountContactMethodsPublicHint": "這個聯繫方式公開地顯示在個人資料中。",
|
||||||
|
"accountContactMethodsDelete": "刪除聯繫方式",
|
||||||
|
"accountContactMethodsDeleteDescription": "你確定要刪除聯繫方式 {} 嗎?這個操作不可撤銷。"
|
||||||
}
|
}
|
||||||
|
@ -835,5 +835,7 @@
|
|||||||
"accountContactMethodsEdit": "編輯聯繫方式",
|
"accountContactMethodsEdit": "編輯聯繫方式",
|
||||||
"accountContactMethodsAddDescription": "添加新的聯繫方式。",
|
"accountContactMethodsAddDescription": "添加新的聯繫方式。",
|
||||||
"fieldContactContent": "聯繫方式",
|
"fieldContactContent": "聯繫方式",
|
||||||
"accountContactMethodsPublicHint": "這個聯繫方式公開地顯示在個人資料中。"
|
"accountContactMethodsPublicHint": "這個聯繫方式公開地顯示在個人資料中。",
|
||||||
|
"accountContactMethodsDelete": "刪除聯繫方式",
|
||||||
|
"accountContactMethodsDeleteDescription": "你確定要刪除聯繫方式 {} 嗎?這個操作不可撤銷。"
|
||||||
}
|
}
|
||||||
|
@ -42,6 +42,24 @@ class _AccountContactMethodState extends State<AccountContactMethod> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Future<void> _deleteContactMethod(SnAccountContact contact) async {
|
||||||
|
final confirm = await context.showConfirmDialog(
|
||||||
|
'accountContactMethodsDelete'.tr(),
|
||||||
|
'accountContactMethodsDeleteDescription'.tr(args: [contact.content]),
|
||||||
|
);
|
||||||
|
if (!confirm || !mounted) return;
|
||||||
|
|
||||||
|
try {
|
||||||
|
final sn = context.read<SnNetworkProvider>();
|
||||||
|
await sn.client.delete('/cgi/id/users/me/contacts/${contact.id}');
|
||||||
|
if (!mounted) return;
|
||||||
|
await _fetchContactMethods();
|
||||||
|
} catch (err) {
|
||||||
|
if (!mounted) return;
|
||||||
|
context.showErrorDialog(err);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void initState() {
|
void initState() {
|
||||||
super.initState();
|
super.initState();
|
||||||
@ -118,7 +136,7 @@ class _AccountContactMethodState extends State<AccountContactMethod> {
|
|||||||
child: Row(
|
child: Row(
|
||||||
children: [
|
children: [
|
||||||
const Icon(Symbols.edit),
|
const Icon(Symbols.edit),
|
||||||
const Gap(8),
|
const Gap(16),
|
||||||
Text('edit').tr(),
|
Text('edit').tr(),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
@ -135,6 +153,18 @@ class _AccountContactMethodState extends State<AccountContactMethod> {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
|
PopupMenuItem(
|
||||||
|
child: Row(
|
||||||
|
children: [
|
||||||
|
const Icon(Symbols.delete),
|
||||||
|
const Gap(16),
|
||||||
|
Text('delete'.tr()),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
onTap: () {
|
||||||
|
_deleteContactMethod(method);
|
||||||
|
},
|
||||||
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user