Restructure application to use /home for authenticated pages
- Move authenticated home page from /[locale] to /[locale]/home - Move login page from /[locale]/login to /[locale] (new landing page) - Move all restricted pages (bill, location, year-month, print, account) under /[locale]/home - Simplify middleware to protect all routes under /home instead of using publicPages array - Update auth config: change signIn page from /login to / - Update SignInButton callback URL to redirect to /home after login - Update all internal links throughout the application to reflect new structure - Update server action redirects in navigationActions.ts - Public share routes (/share/*) remain unchanged 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
6
app/[locale]/home/bill/[id]/add/not-found.tsx
Normal file
6
app/[locale]/home/bill/[id]/add/not-found.tsx
Normal file
@@ -0,0 +1,6 @@
|
||||
import { NotFoundPage } from '@/app/ui/NotFoundPage';
|
||||
|
||||
const BillNotFound = () =>
|
||||
<NotFoundPage title="404 Bill Not Found" description="Could not find the requested Bill." />;
|
||||
|
||||
export default BillNotFound;
|
||||
19
app/[locale]/home/bill/[id]/add/page.tsx
Normal file
19
app/[locale]/home/bill/[id]/add/page.tsx
Normal file
@@ -0,0 +1,19 @@
|
||||
import { fetchLocationById } from '@/app/lib/actions/locationActions';
|
||||
import { BillEditForm } from '@/app/ui/BillEditForm';
|
||||
import { Main } from '@/app/ui/Main';
|
||||
import { notFound } from 'next/navigation';
|
||||
|
||||
export default async function Page({ params:{ id:locationID } }: { params: { id:string } }) {
|
||||
|
||||
const location = await fetchLocationById(locationID);
|
||||
|
||||
if (!location) {
|
||||
return(notFound());
|
||||
}
|
||||
|
||||
return (
|
||||
<Main>
|
||||
<BillEditForm location={location} />
|
||||
</Main>
|
||||
);
|
||||
}
|
||||
6
app/[locale]/home/bill/[id]/delete/not-found.tsx
Normal file
6
app/[locale]/home/bill/[id]/delete/not-found.tsx
Normal file
@@ -0,0 +1,6 @@
|
||||
import { NotFoundPage } from '@/app/ui/NotFoundPage';
|
||||
|
||||
const BillNotFound = () =>
|
||||
<NotFoundPage title="404 Bill Not Found" description="Could not find the requested Bill." />;
|
||||
|
||||
export default BillNotFound;
|
||||
20
app/[locale]/home/bill/[id]/delete/page.tsx
Normal file
20
app/[locale]/home/bill/[id]/delete/page.tsx
Normal file
@@ -0,0 +1,20 @@
|
||||
import { notFound } from 'next/navigation';
|
||||
import { BillDeleteForm } from '@/app/ui/BillDeleteForm';
|
||||
import { fetchBillById } from '@/app/lib/actions/billActions';
|
||||
import { Main } from '@/app/ui/Main';
|
||||
|
||||
export default async function Page({ params:{ id } }: { params: { id:string } }) {
|
||||
const [locationID, billID] = id.split('-');
|
||||
|
||||
const [location, bill] = await fetchBillById(locationID, billID) ?? [];
|
||||
|
||||
if (!location || !bill) {
|
||||
return(notFound());
|
||||
}
|
||||
|
||||
return (
|
||||
<Main>
|
||||
<BillDeleteForm location={location} bill={bill} />
|
||||
</Main>
|
||||
);
|
||||
}
|
||||
6
app/[locale]/home/bill/[id]/edit/not-found.tsx
Normal file
6
app/[locale]/home/bill/[id]/edit/not-found.tsx
Normal file
@@ -0,0 +1,6 @@
|
||||
import { NotFoundPage } from '@/app/ui/NotFoundPage';
|
||||
|
||||
const BillNotFound = () =>
|
||||
<NotFoundPage title="404 Bill Not Found" description="Could not find the requested Bill." />;
|
||||
|
||||
export default BillNotFound;
|
||||
20
app/[locale]/home/bill/[id]/edit/page.tsx
Normal file
20
app/[locale]/home/bill/[id]/edit/page.tsx
Normal file
@@ -0,0 +1,20 @@
|
||||
import { fetchBillById } from '@/app/lib/actions/billActions';
|
||||
import { BillEditForm } from '@/app/ui/BillEditForm';
|
||||
import { Main } from '@/app/ui/Main';
|
||||
import { notFound } from 'next/navigation';
|
||||
|
||||
export default async function Page({ params:{ id } }: { params: { id:string } }) {
|
||||
|
||||
const [locationID, billID] = id.split('-');
|
||||
|
||||
const [location, bill] = await fetchBillById(locationID, billID) ?? [];
|
||||
|
||||
if (!bill || !location) {
|
||||
return(notFound());
|
||||
}
|
||||
return (
|
||||
<Main>
|
||||
<BillEditForm location={location} bill={bill} />
|
||||
</Main>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user