system-message.tsx 548 B

123456789101112131415161718192021222324252627
  1. import Close from './close'
  2. import usePersistedState from '../hooks/use-persisted-state'
  3. type SystemMessageProps = {
  4. id: string
  5. children: React.ReactNode
  6. }
  7. function SystemMessage({ id, children }: SystemMessageProps) {
  8. const [hidden, setHidden] = usePersistedState(
  9. `systemMessage.hide.${id}`,
  10. false
  11. )
  12. if (hidden) {
  13. return null
  14. }
  15. return (
  16. <li className="system-message">
  17. {id !== 'protected' ? <Close onDismiss={() => setHidden(true)} /> : null}
  18. {children}
  19. </li>
  20. )
  21. }
  22. export default SystemMessage