fix(ui): add close button to all success toasts

This commit is contained in:
Jason
2025-12-16 10:56:39 +08:00
parent 510a013449
commit d4f33224c6
29 changed files with 98 additions and 56 deletions
@@ -54,6 +54,7 @@ export function AutoFailoverConfigPanel({
});
toast.success(
t("proxy.autoFailover.configSaved", "自动故障转移配置已保存"),
{ closeButton: true },
);
} catch (e) {
toast.error(
@@ -34,7 +34,7 @@ export function CircuitBreakerConfigPanel() {
const handleSave = async () => {
try {
await updateConfig.mutateAsync(formData);
toast.success("熔断器配置已保存");
toast.success("熔断器配置已保存", { closeButton: true });
} catch (error) {
toast.error("保存失败: " + String(error));
}
+13 -12
View File
@@ -73,10 +73,8 @@ export function FailoverQueueManager({
isLoading: isQueueLoading,
error: queueError,
} = useFailoverQueue(appType);
const {
data: availableProviders,
isLoading: isProvidersLoading,
} = useAvailableProvidersForFailover(appType);
const { data: availableProviders, isLoading: isProvidersLoading } =
useAvailableProvidersForFailover(appType);
// Mutations
const addToQueue = useAddToFailoverQueue();
@@ -122,6 +120,7 @@ export function FailoverQueueManager({
await reorderQueue.mutateAsync({ appType, providerIds });
toast.success(
t("proxy.failoverQueue.reorderSuccess", "队列顺序已更新"),
{ closeButton: true },
);
} catch (error) {
toast.error(
@@ -144,7 +143,10 @@ export function FailoverQueueManager({
providerId: selectedProviderId,
});
setSelectedProviderId("");
toast.success(t("proxy.failoverQueue.addSuccess", "已添加到故障转移队列"));
toast.success(
t("proxy.failoverQueue.addSuccess", "已添加到故障转移队列"),
{ closeButton: true },
);
} catch (error) {
toast.error(
t("proxy.failoverQueue.addFailed", "添加失败") + ": " + String(error),
@@ -158,10 +160,13 @@ export function FailoverQueueManager({
await removeFromQueue.mutateAsync({ appType, providerId });
toast.success(
t("proxy.failoverQueue.removeSuccess", "已从故障转移队列移除"),
{ closeButton: true },
);
} catch (error) {
toast.error(
t("proxy.failoverQueue.removeFailed", "移除失败") + ": " + String(error),
t("proxy.failoverQueue.removeFailed", "移除失败") +
": " +
String(error),
);
}
};
@@ -242,9 +247,7 @@ export function FailoverQueueManager({
</Select>
<Button
onClick={handleAddProvider}
disabled={
disabled || !selectedProviderId || addToQueue.isPending
}
disabled={disabled || !selectedProviderId || addToQueue.isPending}
size="icon"
variant="outline"
>
@@ -386,9 +389,7 @@ function SortableQueueItem({
{/* 启用开关 */}
<Switch
checked={item.enabled}
onCheckedChange={(checked) =>
onToggleEnabled(item.providerId, checked)
}
onCheckedChange={(checked) => onToggleEnabled(item.providerId, checked)}
disabled={disabled || isToggling}
aria-label={t("proxy.failoverQueue.toggleEnabled", "启用/禁用")}
/>
+1 -1
View File
@@ -51,7 +51,7 @@ export function ProxyPanel() {
navigator.clipboard.writeText(
`http://${status.address}:${status.port}`,
);
toast.success("地址已复制");
toast.success("地址已复制", { closeButton: true });
}}
>