@wener/console
Version:
Base console UI toolkit
41 lines (40 loc) • 1.67 kB
JavaScript
'use client';
import React, { useId } from "react";
import { createPortal } from "react-dom";
import { useMounted } from "@wener/reaction";
export const UpdateNotificationToast = (props)=>{
let id = useId();
let mounted = useMounted();
if (!mounted) {
return null;
}
// https://github.com/GreatAuk/plugin-web-update-notification/blob/master/packages/core/src/shim.d.ts
const { title, description, open, refreshButtonText, dismissButtonText, onRefresh = ()=>{
location.reload();
}, onOpenChange } = Object.assign({}, Locals.zh_CN, props);
if (!open) {
return null;
}
return /*#__PURE__*/ createPortal(/*#__PURE__*/ React.createElement("div", {
className: "toast toast-end isolate z-50 mb-4 mr-4 rounded bg-base-100 shadow"
}, /*#__PURE__*/ React.createElement("h3", null, title), /*#__PURE__*/ React.createElement("p", null, description), /*#__PURE__*/ React.createElement("div", {
className: 'flex justify-end gap-4'
}, onOpenChange && /*#__PURE__*/ React.createElement("button", {
type: 'button',
className: 'btn btn-ghost btn-sm',
onClick: ()=>onOpenChange?.(false)
}, dismissButtonText), /*#__PURE__*/ React.createElement("button", {
type: 'button',
className: 'btn btn-primary btn-sm',
onClick: onRefresh
}, refreshButtonText))), document.body, id);
};
const Locals = {
zh_CN: {
title: '发现新版本',
description: '网页更新啦!请刷新页面后使用。',
refreshButtonText: '刷新',
dismissButtonText: '忽略'
}
};
//# sourceMappingURL=UpdateNotificationToast.js.map