diff --git a/src/app/groups/[groupId]/@modal/(.)expenses/[expenseId]/edit/page.tsx b/src/app/groups/[groupId]/@modal/expenses/[expenseId]/edit/page.tsx
similarity index 100%
rename from src/app/groups/[groupId]/@modal/(.)expenses/[expenseId]/edit/page.tsx
rename to src/app/groups/[groupId]/@modal/expenses/[expenseId]/edit/page.tsx
diff --git a/src/app/groups/[groupId]/@modal/(.)expenses/create/page.tsx b/src/app/groups/[groupId]/@modal/expenses/create/page.tsx
similarity index 100%
rename from src/app/groups/[groupId]/@modal/(.)expenses/create/page.tsx
rename to src/app/groups/[groupId]/@modal/expenses/create/page.tsx
diff --git a/src/app/groups/[groupId]/expenses/[expenseId]/edit/page.tsx b/src/app/groups/[groupId]/expenses/[expenseId]/edit/page.tsx
deleted file mode 100644
index aeefaa5..0000000
--- a/src/app/groups/[groupId]/expenses/[expenseId]/edit/page.tsx
+++ /dev/null
@@ -1,26 +0,0 @@
-import { ExpensePage } from '@/app/groups/[groupId]/expenses/expense-page'
-import { ExpenseForm } from '@/components/expense-form'
-import { getExpense, getGroup } from '@/lib/api'
-import { Metadata } from 'next'
-import { notFound } from 'next/navigation'
-
-export const metadata: Metadata = {
- title: 'Edit expense',
-}
-
-export default async function EditExpensePage({
- params: { groupId, expenseId },
-}: {
- params: { groupId: string; expenseId: string }
-}) {
- const group = await getGroup(groupId)
- if (!group) notFound()
- const expense = await getExpense(groupId, expenseId)
- if (!expense) notFound()
-
- return (
-
-
-
- )
-}
diff --git a/src/app/groups/[groupId]/expenses/create/page.tsx b/src/app/groups/[groupId]/expenses/create/page.tsx
deleted file mode 100644
index 87f9c5b..0000000
--- a/src/app/groups/[groupId]/expenses/create/page.tsx
+++ /dev/null
@@ -1,24 +0,0 @@
-import { ExpensePage } from '@/app/groups/[groupId]/expenses/expense-page'
-import { ExpenseForm } from '@/components/expense-form'
-import { getGroup } from '@/lib/api'
-import { Metadata } from 'next'
-import { notFound } from 'next/navigation'
-
-export const metadata: Metadata = {
- title: 'Create expense',
-}
-
-export default async function CreateExpensePage({
- params: { groupId },
-}: {
- params: { groupId: string }
-}) {
- const group = await getGroup(groupId)
- if (!group) notFound()
-
- return (
-
-
-
- )
-}
diff --git a/src/app/groups/[groupId]/expenses/expense-list.tsx b/src/app/groups/[groupId]/expenses/expense-list.tsx
index 798a5f8..adc6e7a 100644
--- a/src/app/groups/[groupId]/expenses/expense-list.tsx
+++ b/src/app/groups/[groupId]/expenses/expense-list.tsx
@@ -33,7 +33,9 @@ export function ExpenseList({
expense.isReimbursement && 'italic',
)}
onClick={() => {
- router.push(`/groups/${groupId}/expenses/${expense.id}/edit`)
+ router.push(`/groups/${groupId}/expenses/${expense.id}/edit`, {
+ scroll: false,
+ })
}}
>
@@ -66,7 +68,10 @@ export function ExpenseList({
{currency} {(expense.amount / 100).toFixed(2)}
diff --git a/src/app/groups/[groupId]/expenses/page.tsx b/src/app/groups/[groupId]/expenses/page.tsx
index 5285cb8..64987a3 100644
--- a/src/app/groups/[groupId]/expenses/page.tsx
+++ b/src/app/groups/[groupId]/expenses/page.tsx
@@ -35,7 +35,7 @@ export default async function GroupExpensesPage({
diff --git a/src/app/groups/[groupId]/not-found.tsx b/src/app/groups/[groupId]/not-found.tsx
new file mode 100644
index 0000000..bb00545
--- /dev/null
+++ b/src/app/groups/[groupId]/not-found.tsx
@@ -0,0 +1,8 @@
+'use client'
+import { redirect, useParams } from 'next/navigation'
+
+export default function NotFound() {
+ const { groupId } = useParams()
+ console.log('Not found!', { groupId })
+ redirect(`/groups/${groupId}`)
+}
diff --git a/src/components/expense-form.tsx b/src/components/expense-form.tsx
index b4cf150..a5cae6e 100644
--- a/src/components/expense-form.tsx
+++ b/src/components/expense-form.tsx
@@ -65,11 +65,13 @@ export function ExpenseForm({ group, expense }: Props) {
return (