Add recurring expenses with active nav tab highlighting
- Add RecurringExpense model to Prisma schema with migration - Add lib/recurring-expenses.ts: CRUD + virtual projection per month - Add /recurring-expenses API routes (GET, POST, PATCH, DELETE) - Merge projected recurring expenses into dashboard totals and expense list - Add RecurringExpenseManager component to /add-expense page - Show amber "Recurring" badge on projected items; hide edit/delete for them - Highlight active nav tab using usePathname() with hover state - Fix Turbopack/Prisma stub issue by adding serverExternalPackages to next.config.ts - Clear stale Turbopack stub in Dockerfile before each build Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
import { ExpenseWorkspace } from "@/components/expense-workspace";
|
||||
import { RecurringExpenseManager } from "@/components/recurring-expense-manager";
|
||||
import { CATEGORY_OPTIONS } from "@/lib/categories";
|
||||
|
||||
export const metadata = {
|
||||
@@ -16,6 +17,8 @@ export default function AddExpensePage() {
|
||||
</p>
|
||||
</header>
|
||||
|
||||
<RecurringExpenseManager categoryOptions={CATEGORY_OPTIONS.map((option) => ({ ...option }))} />
|
||||
|
||||
<ExpenseWorkspace categoryOptions={CATEGORY_OPTIONS.map((option) => ({ ...option }))} />
|
||||
</div>
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user