@anakin824/finpod-embedding
v0.2.3
Published
FinPod ERP Portal - Embeddable components and features for accounting, inventory, and order management
Maintainers
Readme
@anakin824/finpod-embedding
Embeddable FinPod UI components for Next.js applications.
Installation
npm install @anakin824/finpod-embeddingQuick Start
1. Wrap your app with FinPodProvider
// app/layout.tsx
import { FinPodProvider } from '@anakin824/finpod-embedding';
export default function RootLayout({ children }) {
return (
<html>
<body>
<FinPodProvider
apiUrl="https://your-api.example.com/api/v1"
getAuthToken={() => {
// Get token from your app's auth system
return localStorage.getItem('auth_token');
}}
onAuthError={() => {
// Handle auth errors
window.location.href = '/login';
}}
>
{children}
</FinPodProvider>
</body>
</html>
);
}2. Use portal pages/components
// app/erp/chart-accounts/page.tsx
import { ChartAccountsPage } from '@anakin824/finpod-embedding';
export default function Page() {
return <ChartAccountsPage />;
}Configuration
FinPodProvider Props
| Prop | Type | Required | Description |
|------|------|----------|-------------|
| apiUrl | string | Yes | Base URL for FinPod API |
| getAuthToken | () => string \| null | No | Function to get auth token (defaults to localStorage) |
| onAuthError | () => void | No | Callback when API returns 401/403 |
| onTokenExpired | () => void | No | Callback when token expires |
Available Components
Pages
ChartAccountsPage- Chart of Accounts managementOrdersPage- Sales OrdersPurchaseOrdersPage- Purchase OrdersItemsPage- Inventory ItemsWarehousesPage- Warehouse managementStockEntriesPage- Stock entry managementGeneralLedgerPage- General Ledger viewJournalEntriesPage- Journal EntriesCustomersPage- Customer managementSuppliersPage- Supplier managementCompaniesPage- Company managementInvoicesPage- Invoice managementAccountsPayablePage- Accounts PayableAccountsReceivablePage- Accounts ReceivableDashboardPage- Dashboard
Components
StatusBadge- Status badge componentDataTable- Data table componentPayButton- Payment button component
Hooks
All React Query hooks are exported for custom implementations:
useChartAccountsuseOrdersuseItemsuseCustomersuseSuppliers- And more...
Examples
Using Individual Components
import { ChartAccountsPage, OrdersPage } from '@anakin824/finpod-embedding';
// In your route
<ChartAccountsPage />Using Hooks Directly
import { useChartAccounts } from '@anakin824/finpod-embedding';
function CustomComponent() {
const { data, isLoading } = useChartAccounts();
// Use data...
}Custom Token Source
<FinPodProvider
apiUrl="https://api.example.com/api/v1"
getAuthToken={() => {
// Get from your app's auth context
return useAuth().token;
}}
>
{children}
</FinPodProvider>Requirements
- React 18+
- Next.js 14+
- @tanstack/react-query 5+
License
MIT
