Files
myeasycms-v2/apps/web/app/admin/organizations/page.tsx
giancarlo cb8b23e8c0 Remove billing and checkout redirect buttons and related services
Deleted the billing-redirect-button, checkout-redirect-button, and embedded-stripe-checkout components. Additionally, removed the shadcn directory, which encompassed billing-related icons. This change streamlines the subscription settings interface and organizes the system's payment management. This update is a stepping stone towards improving the billing system's overall architecture.
2024-03-25 11:39:41 +08:00

68 lines
1.7 KiB
TypeScript

import { PageBody } from '@/components/app/Page';
import appConfig from '@/config/app.config';
import AdminGuard from '@/packages/admin/components/AdminGuard';
import AdminHeader from '@/packages/admin/components/AdminHeader';
import getSupabaseServerComponentClient from '@packages/supabase/server-component-client';
import { Input } from '@kit/ui/input';
import OrganizationsTable from './components/OrganizationsTable';
import { getOrganizations } from './queries';
interface OrganizationsAdminPageProps {
searchParams: {
page?: string;
search?: string;
};
}
export const metadata = {
title: `Organizations | ${appConfig.name}`,
};
async function OrganizationsAdminPage({
searchParams,
}: OrganizationsAdminPageProps) {
const page = searchParams.page ? parseInt(searchParams.page, 10) : 1;
const client = getSupabaseServerComponentClient({ admin: true });
const perPage = 10;
const search = searchParams.search || '';
const { organizations, count } = await getOrganizations(
client,
search,
page,
perPage,
);
const pageCount = count ? Math.ceil(count / perPage) : 0;
return (
<div className={'flex flex-1 flex-col'}>
<AdminHeader>Manage Organizations</AdminHeader>
<PageBody>
<div className={'flex flex-col space-y-4'}>
<form method={'GET'}>
<Input
name={'search'}
defaultValue={search}
placeholder={'Search Organization...'}
/>
</form>
<OrganizationsTable
perPage={perPage}
page={page}
pageCount={pageCount}
organizations={organizations}
/>
</div>
</PageBody>
</div>
);
}
export default AdminGuard(OrganizationsAdminPage);