piilot-pack-pennylane-ui
v0.1.2
Published
Pennylane plugin — frontend contributions (Trésorerie module view, locales) for Piilot core.
Maintainers
Readme
Pennylane plugin — frontend
Frontend contributions of the Pennylane plugin: the Trésorerie module
view (including OAuth connection flow, firm client picker and
dashboard), plus i18n bundles. Loaded at boot by the core via the
plugin UI registry (frontend/src/lib/pluginUI).
Structure
src/
index.ts Entry — calls core.registerModuleView + registerI18nBundle
TreasuryModuleView.tsx Root view mounted at /modules/pennylane-treasury
components/
ConnectionsList.tsx Cards + "Add connection" button
ConnectionCard.tsx Single connection row (sync status, firm clients, actions)
ConnectPennylaneDialog.tsx Plugin-specific OAuth / API-key modal
FirmClientPicker.tsx Dropdown to switch between firm clients
TreasuryDashboard.tsx Charts + KPIs once a connection is selected
hooks/
useConnections.ts GET/POST/DELETE /plugins/pennylane/connections
useFirmClients.ts /plugins/pennylane/firm-clients/*
useIntegration.ts OAuth state + token exchange
useTreasury.ts /plugins/pennylane/treasury/dashboard
services/
pennylaneService.ts HTTP client for /plugins/pennylane/*
locales/
fr.json Namespaced under ``pennylane.*``
en.json
__tests__/
... Plugin-scoped vitest suiteHow the core finds this code
The core's frontend/vite.config.ts declares an alias:
'@plugin/pennylane': path.resolve(__dirname, '../plugins-dev/piilot-pack-pennylane/frontend/src')At boot the core imports @plugin/pennylane and calls its
register(core) default export. Production builds COPY this folder
into the frontend Docker image before npm run build.
Imports into the core
All cross-boundary imports go through the @plugin-host/* alias so
the migration to runtime module federation (if/when) is a one-liner
per import:
import { Button } from '@plugin-host/components/ui/button'
import { apiFetch } from '@plugin-host/services/httpClient'Direct import ... from '../../../frontend/src/...' is forbidden by
the plugin's ESLint rule (to-be-added).
Running tests
npm install
npm run testRequires the core frontend/ folder at ../../../frontend/ for the
@plugin-host alias to resolve.
