- {/* fix: 将 items-start 改为 items-center 来实现垂直居中 */}
+
@@ -77,7 +73,6 @@ export function Home() {
{t('Save your password and continue using this email in 1 day')}
- {/* fix: 移除 truncate 类,并将 break-all 直接应用在 span 上 */}
{password}
@@ -88,15 +83,6 @@ export function Home() {
-
-
-
-
),
{
id: 'password-notification', // 防止重复通知
@@ -138,6 +124,7 @@ export function Home() {
Cookies.set('userMailbox', mailbox, { expires: 1 }); // cookie 有效期1天
setAddress(mailbox);
setHasReceivedEmail(false); // 重置接收邮件状态
+ toast.success(t('Email created successfully')); // feat: 使用全局 toast 提示
} catch (error) {
toast.error(t('Failed to verify captcha'));
console.error("Turnstile verification failed:", error);
@@ -152,12 +139,18 @@ export function Home() {
setSelectedEmail(null); // 清除选中的邮件
queryClient.invalidateQueries({ queryKey: ['emails'] }); // 清理缓存
};
+
+ // feat: 手动刷新邮件
+ const handleRefresh = () => {
+ refetch();
+ toast.success(t('Mailbox refreshed'));
+ };
// 删除邮件的 useMutation hook
const deleteMutation = useMutation({
mutationFn: (ids: string[]) => deleteEmails(ids),
onSuccess: () => {
- toast.success(t('Emails deleted'));
+ toast.success(t('Emails deleted successfully')); // feat: 使用全局 toast 提示
setSelectedIds([]); // 清空选择
if (selectedEmail && selectedIds.includes(selectedEmail.id)) {
setSelectedEmail(null); // 如果删除的邮件是被选中的,则清除
@@ -165,7 +158,7 @@ export function Home() {
queryClient.invalidateQueries({ queryKey: ['emails', address] }); // 刷新列表
},
onError: () => {
- toast.error(t('Deletion failed'));
+ toast.error(t('Failed to delete emails')); // feat: 使用全局 toast 提示
}
});
@@ -216,7 +209,6 @@ export function Home() {
return (
-
{/* 左侧信息面板 */}
@@ -280,7 +272,7 @@ export function Home() {
isFetching={isFetching}
onDelete={handleDeleteEmails}
isDeleting={deleteMutation.isPending}
- onRefresh={refetch}
+ onRefresh={handleRefresh} // feat: 传递新的刷新函数
selectedIds={selectedIds}
setSelectedIds={setSelectedIds}
onSelectEmail={handleSelectEmail} // 传递选择邮件的函数