@geenius/notifications
v0.16.1
Published
Geenius Notifications — In-app notification center for Convex apps (React + SolidJS)
Maintainers
Readme
@geenius/notifications
Commercial Studio-only notification surfaces for Geenius apps.
Overview
@geenius/notifications packages the shared notification contract, React and
SolidJS bindings, CSS variants, and Convex helpers behind a stable root export
map.
The current shipped surface includes:
- notification lists and grouped inbox views
- bell badges and slide-over panels
- preference management across channels and types
- shared helpers for grouping, formatting, and notification metadata
- React hooks and SolidJS primitives for inbox, preferences, push permission, and unread-badge state
- packaged Convex schema, queries, and mutations for inbox records and stored preferences
Repository: geenius-dev/geenius-notifications
Tier: Studio only
Installation
pnpm add @geenius/notificationsThis is a commercial package. Licensed access is required before installation or publishing.
Import Examples
import { groupByDate, TYPE_CONFIG } from '@geenius/notifications'
import { groupByDate, TYPE_CONFIG } from '@geenius/notifications/shared'
import { NotificationsPage } from '@geenius/notifications/react'
import { NotificationsPage } from '@geenius/notifications/react-css'
import { NotificationsPage } from '@geenius/notifications/solidjs'
import { NotificationsPage } from '@geenius/notifications/solidjs-css'
import { notificationsTables, schema, queries, mutations } from '@geenius/notifications/convex'Import the CSS variant stylesheets alongside the framework entrypoints:
import '@geenius/notifications/react-css/styles.css'
import '@geenius/notifications/solidjs-css/styles.css'Basic Usage
import { NotificationBell, NotificationPanel } from '@geenius/notifications/react'
import { notifications } from './fixtures'
export function HeaderNotifications(): JSX.Element {
return (
<>
<NotificationBell
unreadCount={12}
isOpen
ariaControls="header-notifications-panel"
onClick={() => undefined}
/>
<NotificationPanel
panelId="header-notifications-panel"
notifications={notifications}
onMarkAll={() => undefined}
onClose={() => undefined}
/>
</>
)
}Storybook
Both story surfaces use the shared @geenius/storybook shell and render the
Tailwind and vanilla CSS variants side by side so parity regressions are easy
to spot during review.
Package Contract
- Root imports map to the shared notifications contract.
- Framework variants are consumed through stable subpath exports.
- CSS variants ship standalone static stylesheets and do not re-export the Tailwind implementations.
- Development-only Storybook apps stay isolated from package build, test, and release flows.
This package follows the Geenius package golden standard used across the
Geenius ecosystem and keeps its published API aligned with the
geenius-dev/geenius-notifications repository.
License
SEE LICENSE IN LICENSE
