system-message.tsx 581 B

1234567891011121314151617181920212223242526272829
  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' ? (
  18. <Close onDismiss={() => setHidden(true)} variant="dark" />
  19. ) : null}
  20. {children}
  21. </li>
  22. )
  23. }
  24. export default SystemMessage