Fixed websites paging.
This commit is contained in:
parent
9671414edd
commit
d709f4eb80
|
@ -2,7 +2,7 @@
|
||||||
import TeamsDataTable from './TeamsDataTable';
|
import TeamsDataTable from './TeamsDataTable';
|
||||||
import TeamsHeader from './TeamsHeader';
|
import TeamsHeader from './TeamsHeader';
|
||||||
|
|
||||||
export default function TeamsPage() {
|
export default function TeamsSettingsPage() {
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<TeamsHeader />
|
<TeamsHeader />
|
|
@ -1,8 +1,8 @@
|
||||||
import { Metadata } from 'next';
|
import { Metadata } from 'next';
|
||||||
import TeamsPage from './TeamsPage';
|
import TeamsSettingsPage from './TeamsSettingsPage';
|
||||||
|
|
||||||
export default function () {
|
export default function () {
|
||||||
return <TeamsPage />;
|
return <TeamsSettingsPage />;
|
||||||
}
|
}
|
||||||
|
|
||||||
export const metadata: Metadata = {
|
export const metadata: Metadata = {
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
import UsersDataTable from './UsersDataTable';
|
import UsersDataTable from './UsersDataTable';
|
||||||
import UsersHeader from './UsersHeader';
|
import UsersHeader from './UsersHeader';
|
||||||
|
|
||||||
export default function UsersPage() {
|
export default function UsersSettingsPage() {
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<UsersHeader />
|
<UsersHeader />
|
|
@ -1,8 +1,8 @@
|
||||||
import { Metadata } from 'next';
|
import { Metadata } from 'next';
|
||||||
import UsersPage from './UsersPage';
|
import UsersSettingsPage from './UsersSettingsPage';
|
||||||
|
|
||||||
export default function () {
|
export default function () {
|
||||||
return <UsersPage />;
|
return <UsersSettingsPage />;
|
||||||
}
|
}
|
||||||
export const metadata: Metadata = {
|
export const metadata: Metadata = {
|
||||||
title: 'Users',
|
title: 'Users',
|
||||||
|
|
|
@ -4,21 +4,19 @@ import DataTable from 'components/common/DataTable';
|
||||||
import { useWebsites } from 'components/hooks';
|
import { useWebsites } from 'components/hooks';
|
||||||
|
|
||||||
export function WebsitesDataTable({
|
export function WebsitesDataTable({
|
||||||
userId,
|
|
||||||
teamId,
|
teamId,
|
||||||
allowEdit = true,
|
allowEdit = true,
|
||||||
allowView = true,
|
allowView = true,
|
||||||
showActions = true,
|
showActions = true,
|
||||||
children,
|
children,
|
||||||
}: {
|
}: {
|
||||||
userId?: string;
|
|
||||||
teamId?: string;
|
teamId?: string;
|
||||||
allowEdit?: boolean;
|
allowEdit?: boolean;
|
||||||
allowView?: boolean;
|
allowView?: boolean;
|
||||||
showActions?: boolean;
|
showActions?: boolean;
|
||||||
children?: ReactNode;
|
children?: ReactNode;
|
||||||
}) {
|
}) {
|
||||||
const queryResult = useWebsites({ userId, teamId });
|
const queryResult = useWebsites({ teamId });
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<DataTable queryResult={queryResult}>
|
<DataTable queryResult={queryResult}>
|
||||||
|
|
|
@ -1,15 +0,0 @@
|
||||||
'use client';
|
|
||||||
import { useLogin } from 'components/hooks';
|
|
||||||
import WebsitesDataTable from './WebsitesDataTable';
|
|
||||||
import WebsitesHeader from './WebsitesHeader';
|
|
||||||
|
|
||||||
export default function WebsitesPage({ teamId }: { teamId: string }) {
|
|
||||||
const { user } = useLogin();
|
|
||||||
|
|
||||||
return (
|
|
||||||
<>
|
|
||||||
<WebsitesHeader teamId={teamId} allowCreate={user.role !== 'view-only'} />
|
|
||||||
<WebsitesDataTable teamId={teamId} userId={user.id} allowEdit={true} />
|
|
||||||
</>
|
|
||||||
);
|
|
||||||
}
|
|
|
@ -0,0 +1,12 @@
|
||||||
|
'use client';
|
||||||
|
import WebsitesDataTable from './WebsitesDataTable';
|
||||||
|
import WebsitesHeader from './WebsitesHeader';
|
||||||
|
|
||||||
|
export default function WebsitesSettingsPage({ teamId }: { teamId: string }) {
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<WebsitesHeader teamId={teamId} />
|
||||||
|
<WebsitesDataTable teamId={teamId} />
|
||||||
|
</>
|
||||||
|
);
|
||||||
|
}
|
|
@ -2,7 +2,7 @@
|
||||||
import WebsiteProvider from 'app/(main)/websites/[websiteId]/WebsiteProvider';
|
import WebsiteProvider from 'app/(main)/websites/[websiteId]/WebsiteProvider';
|
||||||
import WebsiteSettings from './WebsiteSettings';
|
import WebsiteSettings from './WebsiteSettings';
|
||||||
|
|
||||||
export default function WebsitePage({ websiteId }: { websiteId: string }) {
|
export default function WebsiteSettingsPage({ websiteId }: { websiteId: string }) {
|
||||||
return (
|
return (
|
||||||
<WebsiteProvider websiteId={websiteId}>
|
<WebsiteProvider websiteId={websiteId}>
|
||||||
<WebsiteSettings websiteId={websiteId} />
|
<WebsiteSettings websiteId={websiteId} />
|
|
@ -1,8 +1,8 @@
|
||||||
import WebsitePage from './WebsitePage';
|
import WebsiteSettingsPage from './WebsiteSettingsPage';
|
||||||
import { Metadata } from 'next';
|
import { Metadata } from 'next';
|
||||||
|
|
||||||
export default async function ({ params: { websiteId } }) {
|
export default async function ({ params: { websiteId } }) {
|
||||||
return <WebsitePage websiteId={websiteId} />;
|
return <WebsiteSettingsPage websiteId={websiteId} />;
|
||||||
}
|
}
|
||||||
|
|
||||||
export const metadata: Metadata = {
|
export const metadata: Metadata = {
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
import { Metadata } from 'next';
|
import { Metadata } from 'next';
|
||||||
import WebsitesPage from './WebsitesPage';
|
import WebsitesSettingsPage from './WebsitesSettingsPage';
|
||||||
|
|
||||||
export default function ({ params: { teamId } }: { params: { teamId: string } }) {
|
export default function ({ params: { teamId } }: { params: { teamId: string } }) {
|
||||||
return <WebsitesPage teamId={teamId} />;
|
return <WebsitesSettingsPage teamId={teamId} />;
|
||||||
}
|
}
|
||||||
|
|
||||||
export const metadata: Metadata = {
|
export const metadata: Metadata = {
|
||||||
|
|
|
@ -1,12 +1,15 @@
|
||||||
'use client';
|
'use client';
|
||||||
import WebsitesHeader from 'app/(main)/settings/websites/WebsitesHeader';
|
import WebsitesHeader from 'app/(main)/settings/websites/WebsitesHeader';
|
||||||
import WebsitesDataTable from 'app/(main)/settings/websites/WebsitesDataTable';
|
import WebsitesDataTable from 'app/(main)/settings/websites/WebsitesDataTable';
|
||||||
|
import { useLogin } from 'components/hooks';
|
||||||
|
|
||||||
|
export default function WebsitesPage({ teamId }: { teamId: string; userId: string }) {
|
||||||
|
const { user } = useLogin();
|
||||||
|
|
||||||
export default function WebsitesPage({ teamId, userId }: { teamId: string; userId: string }) {
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<WebsitesHeader teamId={teamId} />
|
<WebsitesHeader teamId={teamId} allowCreate={user.role !== 'view-only'} />
|
||||||
<WebsitesDataTable teamId={teamId} userId={userId} allowEdit={false} />
|
<WebsitesDataTable teamId={teamId} allowEdit={false} />
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,6 +23,7 @@ export function Pager({ page, pageSize, count, onPageChange, className }: PagerP
|
||||||
|
|
||||||
const handlePageChange = (value: number) => {
|
const handlePageChange = (value: number) => {
|
||||||
const nextPage = page + value;
|
const nextPage = page + value;
|
||||||
|
|
||||||
if (nextPage > 0 && nextPage <= maxPage) {
|
if (nextPage > 0 && nextPage <= maxPage) {
|
||||||
onPageChange(nextPage);
|
onPageChange(nextPage);
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,8 +13,9 @@ export function useWebsites(
|
||||||
|
|
||||||
return useFilterQuery({
|
return useFilterQuery({
|
||||||
queryKey: ['websites', { userId, teamId, modified, ...params }],
|
queryKey: ['websites', { userId, teamId, modified, ...params }],
|
||||||
queryFn: () => {
|
queryFn: (data: any) => {
|
||||||
return get(teamId ? `/teams/${teamId}/websites` : `/users/${userId || user.id}/websites`, {
|
return get(teamId ? `/teams/${teamId}/websites` : `/users/${userId || user.id}/websites`, {
|
||||||
|
...data,
|
||||||
...params,
|
...params,
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
|
@ -7,12 +7,10 @@ import styles from './WebsiteSelect.module.css';
|
||||||
export function WebsiteSelect({
|
export function WebsiteSelect({
|
||||||
websiteId,
|
websiteId,
|
||||||
teamId,
|
teamId,
|
||||||
userId,
|
|
||||||
onSelect,
|
onSelect,
|
||||||
}: {
|
}: {
|
||||||
websiteId?: string;
|
websiteId?: string;
|
||||||
teamId?: string;
|
teamId?: string;
|
||||||
userId?: string;
|
|
||||||
onSelect?: (key: any) => void;
|
onSelect?: (key: any) => void;
|
||||||
}) {
|
}) {
|
||||||
const { formatMessage, labels, messages } = useMessages();
|
const { formatMessage, labels, messages } = useMessages();
|
||||||
|
@ -21,7 +19,7 @@ export function WebsiteSelect({
|
||||||
|
|
||||||
const { data: website } = useWebsite(selectedId as string);
|
const { data: website } = useWebsite(selectedId as string);
|
||||||
|
|
||||||
const queryResult = useWebsites({ teamId, userId }, { query, pageSize: 5 });
|
const queryResult = useWebsites({ teamId }, { query, pageSize: 5 });
|
||||||
|
|
||||||
const renderValue = () => {
|
const renderValue = () => {
|
||||||
return website?.name;
|
return website?.name;
|
||||||
|
|
Loading…
Reference in New Issue