feat(admin): rewrite orders page with tabs, search, multi-select filters

- AdminOrdersPanel: clean rewrite matching earth-tone theme
- Add status tabs (All/Pending/Picked Up) with pill-style buttons
- Add search bar for name, phone, order ID
- Add stop multi-select dropdown with checkbox filter
- Standard 7-column table with pagination
- UpgradePlanModal: Apple HIG glass-style modal component
- DashboardHeader: reusable header with upgrade modal integration
- DashboardUpgradeButton: standalone upgrade button component
- Update stripe-checkout to support annual billing period
- Fix readability in tools/addons section (darker badges)
This commit is contained in:
2026-06-01 20:29:30 +00:00
parent ca864e61a0
commit 2747d8ea45
10 changed files with 1038 additions and 277 deletions
@@ -0,0 +1,41 @@
import type { Metadata } from "next";
const BASE_URL = process.env.NEXT_PUBLIC_SITE_URL ?? "https://yourdomain.com";
export const metadata: Metadata = {
title: "Our Story | A Passion for All Things Fruit",
description:
"Since 1985, Indian River Direct has been bringing the finest peaches and citrus from our Florida groves directly to your neighborhood. Family-owned and operated.",
openGraph: {
title: "Our Story | Indian River Direct",
description:
"Since 1985, bringing the finest peaches and citrus from our Florida groves directly to your neighborhood. A passion for all things fruit.",
url: `${BASE_URL}/indian-river-direct/about`,
images: [
{
url: `${BASE_URL}/og-indian-river-about.jpg`,
width: 1200,
height: 630,
alt: "Indian River Direct - Our Family Grove Story",
},
],
},
twitter: {
card: "summary_large_image",
title: "Our Story | Indian River Direct",
description:
"Since 1985, bringing the finest peaches and citrus from our Florida groves directly to your neighborhood.",
images: [`${BASE_URL}/og-indian-river-about.jpg`],
},
alternates: {
canonical: `${BASE_URL}/indian-river-direct/about`,
},
};
export default function IndianRiverAboutLayout({
children,
}: {
children: React.ReactNode;
}) {
return children;
}