✨ Empty sticker picker placeholder
This commit is contained in:
parent
02ffe9866d
commit
71899dd4f2
@ -819,5 +819,8 @@
|
|||||||
"accountUnconfirmedSubtitle": "Your account is unconfirmed, which will make most features unavailable and your account will be destroyed in 24 hours. You should receive an email in your inbox with a confirmation link.",
|
"accountUnconfirmedSubtitle": "Your account is unconfirmed, which will make most features unavailable and your account will be destroyed in 24 hours. You should receive an email in your inbox with a confirmation link.",
|
||||||
"accountUnconfirmedUnreceived": "Didn't receive the email?",
|
"accountUnconfirmedUnreceived": "Didn't receive the email?",
|
||||||
"accountUnconfirmedResend": "Resend one",
|
"accountUnconfirmedResend": "Resend one",
|
||||||
"accountUnconfirmedResendSuccessful": "Email has been resent, you can resend it again in 60 minutes."
|
"accountUnconfirmedResendSuccessful": "Email has been resent, you can resend it again in 60 minutes.",
|
||||||
|
"stickerPickerEmpty": "Sticker list is empty",
|
||||||
|
"stickerPickerEmptyHint": "To start using stickers, you need to add a sticker pack first.",
|
||||||
|
"goto": "Go to {}"
|
||||||
}
|
}
|
||||||
|
@ -819,5 +819,8 @@
|
|||||||
"accountUnconfirmedSubtitle": "您的账户尚未确认,这会导致大部分功能不可用,并且您的帐户将在 24 小时后自毁。您绑定的邮箱的收件箱应该会有一封邮件指引您确认您的帐户。",
|
"accountUnconfirmedSubtitle": "您的账户尚未确认,这会导致大部分功能不可用,并且您的帐户将在 24 小时后自毁。您绑定的邮箱的收件箱应该会有一封邮件指引您确认您的帐户。",
|
||||||
"accountUnconfirmedUnreceived": "未收到邮件?",
|
"accountUnconfirmedUnreceived": "未收到邮件?",
|
||||||
"accountUnconfirmedResend": "重新发送一封",
|
"accountUnconfirmedResend": "重新发送一封",
|
||||||
"accountUnconfirmedResendSuccessful": "邮件已重新发送,你可以在 60 分钟后再重发一封。"
|
"accountUnconfirmedResendSuccessful": "邮件已重新发送,你可以在 60 分钟后再重发一封。",
|
||||||
|
"stickerPickerEmpty": "贴图列表为空",
|
||||||
|
"stickerPickerEmptyHint": "想要开始使用贴图,请先添加贴图包。",
|
||||||
|
"goto": "跳转到 {}"
|
||||||
}
|
}
|
||||||
|
@ -819,5 +819,8 @@
|
|||||||
"accountUnconfirmedSubtitle": "您的賬户尚未確認,這會導致大部分功能不可用,並且您的帳户將在 24 小時後自毀。您綁定的郵箱的收件箱應該會有一封郵件指引您確認您的帳户。",
|
"accountUnconfirmedSubtitle": "您的賬户尚未確認,這會導致大部分功能不可用,並且您的帳户將在 24 小時後自毀。您綁定的郵箱的收件箱應該會有一封郵件指引您確認您的帳户。",
|
||||||
"accountUnconfirmedUnreceived": "未收到郵件?",
|
"accountUnconfirmedUnreceived": "未收到郵件?",
|
||||||
"accountUnconfirmedResend": "重新發送一封",
|
"accountUnconfirmedResend": "重新發送一封",
|
||||||
"accountUnconfirmedResendSuccessful": "郵件已重新發送,你可以在 60 分鐘後再重發一封。"
|
"accountUnconfirmedResendSuccessful": "郵件已重新發送,你可以在 60 分鐘後再重發一封。",
|
||||||
|
"stickerPickerEmpty": "貼圖列表為空",
|
||||||
|
"stickerPickerEmptyHint": "想要開始使用貼圖,請先添加貼圖包。",
|
||||||
|
"goto": "跳轉到 {}"
|
||||||
}
|
}
|
||||||
|
@ -819,5 +819,8 @@
|
|||||||
"accountUnconfirmedSubtitle": "您的賬戶尚未確認,這會導致大部分功能不可用,並且您的帳戶將在 24 小時後自毀。您綁定的郵箱的收件箱應該會有一封郵件指引您確認您的帳戶。",
|
"accountUnconfirmedSubtitle": "您的賬戶尚未確認,這會導致大部分功能不可用,並且您的帳戶將在 24 小時後自毀。您綁定的郵箱的收件箱應該會有一封郵件指引您確認您的帳戶。",
|
||||||
"accountUnconfirmedUnreceived": "未收到郵件?",
|
"accountUnconfirmedUnreceived": "未收到郵件?",
|
||||||
"accountUnconfirmedResend": "重新發送一封",
|
"accountUnconfirmedResend": "重新發送一封",
|
||||||
"accountUnconfirmedResendSuccessful": "郵件已重新發送,你可以在 60 分鐘後再重發一封。"
|
"accountUnconfirmedResendSuccessful": "郵件已重新發送,你可以在 60 分鐘後再重發一封。",
|
||||||
|
"stickerPickerEmpty": "貼圖列表為空",
|
||||||
|
"stickerPickerEmptyHint": "想要開始使用貼圖,請先添加貼圖包。",
|
||||||
|
"goto": "跳轉到 {}"
|
||||||
}
|
}
|
||||||
|
@ -6,6 +6,7 @@ import 'package:flutter/foundation.dart';
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter/services.dart';
|
import 'package:flutter/services.dart';
|
||||||
import 'package:gap/gap.dart';
|
import 'package:gap/gap.dart';
|
||||||
|
import 'package:go_router/go_router.dart';
|
||||||
import 'package:google_fonts/google_fonts.dart';
|
import 'package:google_fonts/google_fonts.dart';
|
||||||
import 'package:hotkey_manager/hotkey_manager.dart';
|
import 'package:hotkey_manager/hotkey_manager.dart';
|
||||||
import 'package:material_symbols_icons/symbols.dart';
|
import 'package:material_symbols_icons/symbols.dart';
|
||||||
@ -445,6 +446,61 @@ class _StickerPicker extends StatelessWidget {
|
|||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
final sticker = context.read<SnStickerProvider>();
|
final sticker = context.read<SnStickerProvider>();
|
||||||
|
if (sticker.stickersByPack.isEmpty) {
|
||||||
|
return GestureDetector(
|
||||||
|
onTap: () {
|
||||||
|
onDismiss?.call();
|
||||||
|
},
|
||||||
|
child: Container(
|
||||||
|
constraints: BoxConstraints(
|
||||||
|
maxWidth: min(360, MediaQuery.of(context).size.width - 40),
|
||||||
|
),
|
||||||
|
child: Material(
|
||||||
|
elevation: 8,
|
||||||
|
borderRadius: const BorderRadius.all(Radius.circular(8)),
|
||||||
|
child: ClipRRect(
|
||||||
|
borderRadius: const BorderRadius.all(Radius.circular(8)),
|
||||||
|
child: Column(
|
||||||
|
mainAxisSize: MainAxisSize.min,
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.center,
|
||||||
|
children: [
|
||||||
|
const Icon(Symbols.ar_stickers, size: 48),
|
||||||
|
const Gap(8),
|
||||||
|
Text('stickerPickerEmpty').tr().bold(),
|
||||||
|
Text(
|
||||||
|
'stickerPickerEmptyHint',
|
||||||
|
textAlign: TextAlign.center,
|
||||||
|
).tr().opacity(0.75),
|
||||||
|
TextButton(
|
||||||
|
child: Text('goto'.tr(args: ['screenStickers'.tr()])),
|
||||||
|
onPressed: () {
|
||||||
|
GoRouter.of(context).goNamed('stickers');
|
||||||
|
},
|
||||||
|
),
|
||||||
|
InkWell(
|
||||||
|
child: Text(
|
||||||
|
'stickersReload',
|
||||||
|
style: TextStyle(
|
||||||
|
fontSize: 12,
|
||||||
|
color: Theme.of(context).colorScheme.primary,
|
||||||
|
),
|
||||||
|
).tr(),
|
||||||
|
onTap: () async {
|
||||||
|
await sticker.listSticker();
|
||||||
|
if (!context.mounted) return;
|
||||||
|
HapticFeedback.heavyImpact();
|
||||||
|
context.showSnackbar('stickersReloaded'.tr());
|
||||||
|
onDismiss?.call();
|
||||||
|
},
|
||||||
|
)
|
||||||
|
],
|
||||||
|
).padding(all: 64),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
return GestureDetector(
|
return GestureDetector(
|
||||||
onTap: () {
|
onTap: () {
|
||||||
onDismiss?.call();
|
onDismiss?.call();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user