With Notification component you can show required messages that looks like Push (or Local) system notifications.
There are following components included:
Notification
Name | Type | Default | Description |
---|---|---|---|
button | ReactNode | Notification button content | |
colors | object | Object with Tailwind CSS colors classes | |
colors.bgIos | string | 'bg-white dark:bg-[#1e1e1e]' | Notifiaction bg color in iOS theme |
colors.bgMaterial | string | 'bg-md-light-surface-5 dark:bg-md-dark-surface-5' | Notification bg color in Material theme |
colors.deleteIconIos | string | 'fill-stone-400 active:fill-stone-200 dark:fill-stone-500 dark:active:fill-stone-700' | Notification Delete Icon color in IOS theme |
colors.deleteIconMd | string | 'text-md-light-on-surface-variant dark:text-md-dark-on-surface-variant' | Notification Delete Icon color in Material theme |
colors.subtitleIos | string | 'text-black dark:text-white' | Notification subtitle color in IOS theme |
colors.textMaterial | string | 'text-md-light-on-surface-variant dark:text-md-dark-on-surface-variant' | Notification text color in Material theme |
colors.titleIos | string | 'text-black dark:text-white' | Notification title color in IOS theme |
colors.titleRightIos | string | 'text-opacity-45 text-black dark:text-white dark:text-opacity-45' | Notification right text color in IOS theme |
colors.titleRightMd | string | 'text-md-light-on-surface-variant before:bg-md-light-on-surface-variant dark:text-md-dark-on-surface-variant before:dark:bg-md-dark-on-surface-variant' | Notification right text color in Material theme |
component | string | 'div' | Component's HTML Element |
icon | ReactNode | Notification icon HTML layout or image | |
opened | boolean | undefined | Allows to open/close Notification and set its initial state |
subtitle | ReactNode | Content of the notification "subtitle" area | |
text | ReactNode | Content of the notification "text" area | |
title | ReactNode | Content of the notification "title" area | |
titleRightText | ReactNode | Content of the notification "title right text" area | |
translucent | boolean | true | Makes Notification background translucent (with |
onClose | function(e) | Click handler on to close element |
import React, { useState, useEffect } from 'react';import {Page,Navbar,NavbarBackLink,Block,Notification,Button,Dialog,DialogButton,} from 'konsta/react';import DemoIcon from '../components/DemoIcon';export default function NotificationPage() {const [notificationFull, setNotificationFull] = useState(false);const [notificationWithButton, setNotificationWithButton] = useState(false);const [notificationCloseOnClick, setNotificationCloseOnClick] =useState(false);const [notificationCallbackOnClose, setNotificationCallbackOnClose] =useState(false);const [alertOpened, setAlertOpened] = useState(false);const openNotification = (setter) => {setNotificationFull(false);setNotificationWithButton(false);setNotificationCloseOnClick(false);setNotificationCallbackOnClose(false);setter(true);};useEffect(() => {let timer;if (notificationFull) {timer = setTimeout(() => {setNotificationFull(false);}, 3000);}return () => clearTimeout(timer);}, [notificationFull]);return (<Page><Navbartitle="Notification"/><Notificationopened={notificationFull}icon={<DemoIcon />}title="Konsta UI"titleRightText="now"subtitle="This is a subtitle"text="This is a simple notification message"/><Notificationopened={notificationWithButton}icon={<DemoIcon />}title="Konsta UI"buttononClick={() => setNotificationWithButton(false)}subtitle="Notification with close button"text="Click (x) button to close me"/><Notificationopened={notificationCloseOnClick}icon={<DemoIcon />}title="Konsta UI"titleRightText="now"subtitle="Notification with close on click"text="Click me to close"onClick={() => setNotificationCloseOnClick(false)}/><Notificationopened={notificationCallbackOnClose}icon={<DemoIcon />}title="Konsta UI"titleRightText="now"subtitle="Notification with close on click"text="Click me to close"onClick={() => {setNotificationCallbackOnClose(false);setAlertOpened(true);}}/><Dialogopened={alertOpened}onBackdropClick={() => setAlertOpened(false)}title="Konsta UI"content="Notification closed"buttons={<DialogButton onClick={() => setAlertOpened(false)}>Ok</DialogButton>}/><Block strongIos outlineIos className="space-y-4"><p>Konsta UI comes with simple Notifications component that allows you toshow some useful messages to user and request basic actions.</p><p><Button onClick={() => openNotification(setNotificationFull)}>Full layout notification</Button></p><p><Button onClick={() => openNotification(setNotificationWithButton)}>With Close Button</Button></p><p><Button onClick={() => openNotification(setNotificationCloseOnClick)}>Click to Close</Button></p><p><ButtononClick={() => openNotification(setNotificationCallbackOnClose)}>Callback on Close</Button></p></Block></Page>);}