From b9825304c3287428e5daf3a0b6c3f73516970d64 Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Mon, 5 Feb 2024 15:32:36 -0800 Subject: [PATCH] Fixed paging. Updated edit props. --- src/app/(main)/settings/teams/TeamsTable.tsx | 46 +++++++------------ .../settings/websites/WebsitesHeader.tsx | 6 +-- src/components/input/ProfileButton.module.css | 6 +++ src/components/input/ProfileButton.tsx | 8 +--- src/lib/prisma.ts | 2 +- .../api/teams/[teamId]/websites/index.ts | 2 +- src/pages/api/teams/index.ts | 2 +- src/pages/api/users/[userId]/teams.ts | 2 +- src/pages/api/users/[userId]/websites.ts | 2 +- src/pages/api/websites/[websiteId]/reports.ts | 2 +- 10 files changed, 32 insertions(+), 46 deletions(-) diff --git a/src/app/(main)/settings/teams/TeamsTable.tsx b/src/app/(main)/settings/teams/TeamsTable.tsx index 76778271..65d79e51 100644 --- a/src/app/(main)/settings/teams/TeamsTable.tsx +++ b/src/app/(main)/settings/teams/TeamsTable.tsx @@ -1,13 +1,12 @@ 'use client'; import { GridColumn, GridTable, Icon, Text, useBreakpoint } from 'react-basics'; -import { useMessages, useLogin } from 'components/hooks'; +import { useMessages } from 'components/hooks'; import Icons from 'components/icons'; import { ROLES } from 'lib/constants'; import LinkButton from 'components/common/LinkButton'; export function TeamsTable({ data = [], - allowEdit = false, showActions = true, }: { data: any[]; @@ -15,7 +14,6 @@ export function TeamsTable({ showActions?: boolean; }) { const { formatMessage, labels } = useMessages(); - const { user } = useLogin(); const breakpoint = useBreakpoint(); return ( @@ -30,34 +28,22 @@ export function TeamsTable({ {row => row._count.teamUser} - - {row => { - const { id, teamUser } = row; - const owner = teamUser.find(({ role }) => role === ROLES.teamOwner); - const isOwner = user.id === owner?.userId; + {showActions && ( + + {row => { + const { id } = row; - return ( - showActions && ( - <> - {allowEdit && isOwner && ( - - - - - {formatMessage(labels.edit)} - - )} - - - - - {formatMessage(labels.switch)} - - - ) - ); - }} - + return ( + + + + + {formatMessage(labels.view)} + + ); + }} + + )} ); } diff --git a/src/app/(main)/settings/websites/WebsitesHeader.tsx b/src/app/(main)/settings/websites/WebsitesHeader.tsx index 7809b0c4..3ffc1a95 100644 --- a/src/app/(main)/settings/websites/WebsitesHeader.tsx +++ b/src/app/(main)/settings/websites/WebsitesHeader.tsx @@ -5,15 +5,15 @@ import WebsiteAddButton from './WebsiteAddButton'; export interface WebsitesHeaderProps { teamId?: string; - showActions?: boolean; + allowCreate?: boolean; } -export function WebsitesHeader({ teamId, showActions = true }: WebsitesHeaderProps) { +export function WebsitesHeader({ teamId, allowCreate = true }: WebsitesHeaderProps) { const { formatMessage, labels } = useMessages(); return ( - {!process.env.cloudMode && showActions && } + {allowCreate && !process.env.cloudMode && } ); } diff --git a/src/components/input/ProfileButton.module.css b/src/components/input/ProfileButton.module.css index 981bf4a9..1eebcab6 100644 --- a/src/components/input/ProfileButton.module.css +++ b/src/components/input/ProfileButton.module.css @@ -20,3 +20,9 @@ text-align: right; margin-right: 10px; } + +.name { + color: var(--font-color200); + background: var(--base75); + padding: var(--size300) var(--size600); +} diff --git a/src/components/input/ProfileButton.tsx b/src/components/input/ProfileButton.tsx index 2cabbff0..11cf1613 100644 --- a/src/components/input/ProfileButton.tsx +++ b/src/components/input/ProfileButton.tsx @@ -4,7 +4,6 @@ import { useRouter } from 'next/navigation'; import Icons from 'components/icons'; import { useMessages, useLogin, useLocale } from 'components/hooks'; import { CURRENT_VERSION } from 'lib/constants'; -import Avatar from 'components/common/Avatar'; import styles from './ProfileButton.module.css'; export function ProfileButton() { @@ -34,12 +33,7 @@ export function ProfileButton() { {(close: () => void) => ( handleSelect(key, close)} className={styles.menu}> - - - - - {user.username} - + {user.username} diff --git a/src/lib/prisma.ts b/src/lib/prisma.ts index a210b72b..3831d836 100644 --- a/src/lib/prisma.ts +++ b/src/lib/prisma.ts @@ -195,7 +195,7 @@ async function pagedQuery(model: string, criteria: T, filters: SearchFilter) const count = await prisma.client[model].count({ where: (criteria as any).where }); - return { data, count, page: +page, pageSize, orderBy }; + return { data, count, page: +page, pageSize: size, orderBy }; } function getQueryMode(): Prisma.QueryMode { diff --git a/src/pages/api/teams/[teamId]/websites/index.ts b/src/pages/api/teams/[teamId]/websites/index.ts index fa3afe23..e4919d20 100644 --- a/src/pages/api/teams/[teamId]/websites/index.ts +++ b/src/pages/api/teams/[teamId]/websites/index.ts @@ -48,7 +48,7 @@ export default async ( const websites = await getTeamWebsites(teamId, { page, query, - pageSize: +pageSize || undefined, + pageSize, }); return ok(res, websites); diff --git a/src/pages/api/teams/index.ts b/src/pages/api/teams/index.ts index 7684f306..def8dfb8 100644 --- a/src/pages/api/teams/index.ts +++ b/src/pages/api/teams/index.ts @@ -40,7 +40,7 @@ export default async ( const results = await getUserTeams(userId, { page, query, - pageSize: +pageSize || undefined, + pageSize, }); return ok(res, results); diff --git a/src/pages/api/users/[userId]/teams.ts b/src/pages/api/users/[userId]/teams.ts index 632a26a0..ac6b98ea 100644 --- a/src/pages/api/users/[userId]/teams.ts +++ b/src/pages/api/users/[userId]/teams.ts @@ -44,7 +44,7 @@ export default async ( const teams = await getUserTeams(userId, { query, page, - pageSize: +pageSize || undefined, + pageSize, }); return ok(res, teams); diff --git a/src/pages/api/users/[userId]/websites.ts b/src/pages/api/users/[userId]/websites.ts index e316dafb..2d48c177 100644 --- a/src/pages/api/users/[userId]/websites.ts +++ b/src/pages/api/users/[userId]/websites.ts @@ -30,7 +30,7 @@ export default async (req: NextApiRequestQueryBody, res: NextApiResponse) => { const websites = await getUserWebsites(userId, { page, - pageSize: +pageSize || undefined, + pageSize, query, ...rest, }); diff --git a/src/pages/api/websites/[websiteId]/reports.ts b/src/pages/api/websites/[websiteId]/reports.ts index e0342430..5bb1652b 100644 --- a/src/pages/api/websites/[websiteId]/reports.ts +++ b/src/pages/api/websites/[websiteId]/reports.ts @@ -37,7 +37,7 @@ export default async ( const data = await getWebsiteReports(websiteId, { page, - pageSize: +pageSize || undefined, + pageSize, query, });