UNPKG

@wener/console

Version:
44 lines (43 loc) 2.06 kB
'use client'; import { useId } from 'react'; import { createPortal } from 'react-dom'; import { useMounted } from '@wener/reaction'; export var UpdateNotificationToast = function(props) { var id = useId(); var mounted = useMounted(); if (!mounted) { return null; } // https://github.com/GreatAuk/plugin-web-update-notification/blob/master/packages/core/src/shim.d.ts var _Object_assign = Object.assign({}, Locals.zh_CN, props), title = _Object_assign.title, description = _Object_assign.description, open = _Object_assign.open, refreshButtonText = _Object_assign.refreshButtonText, dismissButtonText = _Object_assign.dismissButtonText, _Object_assign_onRefresh = _Object_assign.onRefresh, onRefresh = _Object_assign_onRefresh === void 0 ? function() { location.reload(); } : _Object_assign_onRefresh, onOpenChange = _Object_assign.onOpenChange; if (!open) { return null; } return /*#__PURE__*/ createPortal(/*#__PURE__*/ React.createElement("div", { className: "toast toast-end bg-base-100 isolate z-50 mr-4 mb-4 rounded p-4 shadow" }, /*#__PURE__*/ React.createElement("h3", { className: 'font-bold' }, 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: function() { return onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(false); } }, dismissButtonText), /*#__PURE__*/ React.createElement("button", { type: 'button', className: 'btn btn-primary btn-sm', onClick: onRefresh }, refreshButtonText))), document.body, id); }; var Locals = { zh_CN: { title: '发现新版本', description: '网页更新啦!请刷新页面后使用。', refreshButtonText: '刷新', dismissButtonText: '忽略' } };