UNPKG

@wener/console

Version:

Base console UI toolkit

41 lines (40 loc) 1.67 kB
'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