@geenius/admin
v0.16.1
Published
Geenius Admin — Super admin panel for Convex apps (React + SolidJS)
Downloads
416
Maintainers
Readme
@geenius/admin
Production-ready admin surfaces for the Geenius ecosystem: shared contracts, React and SolidJS UI variants, vanilla-CSS variants, and a typed Convex backend package.
Installation
pnpm add @geenius/adminSubpath Imports
import { DEFAULT_ADMIN_CONFIG, type AdminUser } from '@geenius/admin'
import { AdminProvider, AdminDashboardPage } from '@geenius/admin/react'
import { AdminProvider as CssAdminProvider, AdminDashboardPage as CssDashboardPage } from '@geenius/admin/react-css'
import { AdminProvider as SolidAdminProvider, AdminDashboardPage as SolidDashboardPage } from '@geenius/admin/solidjs'
import { AdminProvider as SolidCssAdminProvider, AdminDashboardPage as SolidCssDashboardPage } from '@geenius/admin/solidjs-css'
import { adminTables, getUsers, createUser, api } from '@geenius/admin/convex'Variants
| Subpath | Purpose |
| --- | --- |
| @geenius/admin | Shared types, constants, validators, and permission helpers |
| @geenius/admin/react | React components, pages, hooks, and provider |
| @geenius/admin/react-css | React components and pages styled with standalone vanilla CSS |
| @geenius/admin/solidjs | SolidJS components, pages, primitives, and provider |
| @geenius/admin/solidjs-css | SolidJS components and pages styled with standalone vanilla CSS |
| @geenius/admin/convex | Convex schema, queries, mutations, validators, and generated API bindings |
Basic Usage
import {
AdminProvider,
AdminDashboardPage,
type AdminNavItem,
} from '@geenius/admin/react'
import type { AdminUser, SystemMetrics } from '@geenius/admin'
const admin: AdminUser = {
id: 'admin_1',
email: '[email protected]',
name: 'Operations Lead',
role: 'super_admin',
permissions: [],
isActive: true,
isDeleted: false,
createdAt: Date.now(),
status: 'active',
}
const navItems: AdminNavItem[] = [
{ label: 'Dashboard', href: '/admin', icon: '📊', active: true },
{ label: 'Users', href: '/admin/users', icon: '👥' },
{ label: 'Audit Log', href: '/admin/audit', icon: '📋' },
{ label: 'Settings', href: '/admin/settings', icon: '⚙️' },
]
const metrics: SystemMetrics = {
totalUsers: 1280,
activeUsers: 932,
monthlyRecurringRevenue: 48000,
churnRate: 2.1,
averageSessionDuration: 742,
}
export function AdminApp() {
return (
<AdminProvider admin={admin} navItems={navItems} appName="Geenius">
<AdminDashboardPage
admin={admin}
navItems={navItems}
appName="Geenius"
metrics={metrics}
onNavigate={(href) => {
window.location.assign(href)
}}
/>
</AdminProvider>
)
}Convex Usage
import { defineSchema } from 'convex/server'
import { adminTables } from '@geenius/admin/convex'
export default defineSchema({
...adminTables,
})The Convex subpath also exports generated api and internal bindings so consuming apps can keep typed function references aligned with the package schema.
Storybook
This package ships repo-local Storybook apps for React and SolidJS parity verification. Source:
Build them with:
pnpm storybook:react:build
pnpm storybook:solidjs:buildLicense
SEE LICENSE IN LICENSE
