Converted user and website settings.

This commit is contained in:
Mike Cao 2025-02-21 16:55:05 -08:00
parent 4c24e54fdd
commit b5c6194f36
59 changed files with 363 additions and 554 deletions

View file

@ -1,7 +1,7 @@
import { Dropdown, Icon, Icons, Item, Text } from 'react-basics';
import { LinkButton } from '@/components/common/LinkButton';
import { useLocale, useMessages, useNavigation } from '@/components/hooks';
import { SideNav } from '@/components/layout/SideNav';
import { MenuNav } from '@/components/layout/MenuNav';
import { BrowsersTable } from '@/components/metrics/BrowsersTable';
import { CitiesTable } from '@/components/metrics/CitiesTable';
import { CountriesTable } from '@/components/metrics/CountriesTable';
@ -156,7 +156,7 @@ export function WebsiteExpandedView({
</Icon>
<Text>{formatMessage(labels.back)}</Text>
</LinkButton>
<SideNav className={styles.nav} items={items} selectedKey={view} shallow={true} />
<MenuNav className={styles.nav} items={items} selectedKey={view} shallow={true} />
<Dropdown
className={styles.dropdown}
items={items}

View file

@ -1,6 +1,6 @@
import { useDateRange, useMessages, useNavigation } from '@/components/hooks';
import { Grid, GridRow } from '@/components/layout/Grid';
import { SideNav } from '@/components/layout/SideNav';
import { MenuNav } from '@/components/layout/MenuNav';
import { BrowsersTable } from '@/components/metrics/BrowsersTable';
import { ChangeLabel } from '@/components/metrics/ChangeLabel';
import { CitiesTable } from '@/components/metrics/CitiesTable';
@ -145,7 +145,7 @@ export function WebsiteCompareTables({ websiteId }: { websiteId: string }) {
return (
<Grid className={styles.container}>
<GridRow columns="compare">
<SideNav className={styles.nav} items={items} selectedKey={view} shallow={true} />
<MenuNav className={styles.nav} items={items} selectedKey={view} shallow={true} />
<div>
<div className={styles.title}>{formatMessage(labels.previous)}</div>
<Component

View file

@ -1,7 +1,7 @@
import { WebsiteComparePage } from './WebsiteComparePage';
import { Metadata } from 'next';
export default async function ({ params }: { params: { websiteId: string } }) {
export default async function ({ params }: { params: Promise<{ websiteId: string }> }) {
const { websiteId } = await params;
return <WebsiteComparePage websiteId={websiteId} />;

View file

@ -1,6 +1,6 @@
import { useWebsiteEvents } from '@/components/hooks';
import { EventsTable } from './EventsTable';
import { DataTable } from '@/components/common/DataTable';
import { DataGrid } from '@/components/common/DataGrid';
import { ReactNode } from 'react';
export function EventsDataTable({
@ -13,8 +13,8 @@ export function EventsDataTable({
const queryResult = useWebsiteEvents(websiteId);
return (
<DataTable queryResult={queryResult} allowSearch={true} autoFocus={false}>
<DataGrid queryResult={queryResult} allowSearch={true} autoFocus={false}>
{({ data }) => <EventsTable data={data} />}
</DataTable>
</DataGrid>
);
}

View file

@ -1,7 +1,7 @@
import { Metadata } from 'next';
import { EventsPage } from './EventsPage';
export default async function ({ params }: { params: { websiteId: string } }) {
export default async function ({ params }: { params: Promise<{ websiteId: string }> }) {
const { websiteId } = await params;
return <EventsPage websiteId={websiteId} />;

View file

@ -1,7 +1,7 @@
import { WebsiteRealtimePage } from './WebsiteRealtimePage';
import { Metadata } from 'next';
export default async function ({ params }: { params: { websiteId: string } }) {
export default async function ({ params }: { params: Promise<{ websiteId: string }> }) {
const { websiteId } = await params;
return <WebsiteRealtimePage websiteId={websiteId} />;

View file

@ -1,7 +1,7 @@
import { WebsiteReportsPage } from './WebsiteReportsPage';
import { Metadata } from 'next';
export default async function ({ params }: { params: { websiteId: string } }) {
export default async function ({ params }: { params: Promise<{ websiteId: string }> }) {
const { websiteId } = await params;
return <WebsiteReportsPage websiteId={websiteId} />;

View file

@ -1,6 +1,6 @@
import { useWebsiteSessions } from '@/components/hooks';
import { SessionsTable } from './SessionsTable';
import { DataTable } from '@/components/common/DataTable';
import { DataGrid } from '@/components/common/DataGrid';
import { ReactNode } from 'react';
export function SessionsDataTable({
@ -14,8 +14,8 @@ export function SessionsDataTable({
const queryResult = useWebsiteSessions(websiteId);
return (
<DataTable queryResult={queryResult} allowSearch={false} renderEmpty={() => children}>
<DataGrid queryResult={queryResult} allowSearch={false} renderEmpty={() => children}>
{({ data }) => <SessionsTable data={data} showDomain={!websiteId} />}
</DataTable>
</DataGrid>
);
}

View file

@ -4,7 +4,7 @@ import { Metadata } from 'next';
export default async function WebsitePage({
params,
}: {
params: { websiteId: string; sessionId: string };
params: Promise<{ websiteId: string; sessionId: string }>;
}) {
const { websiteId, sessionId } = await params;

View file

@ -1,7 +1,7 @@
import { SessionsPage } from './SessionsPage';
import { Metadata } from 'next';
export default async function ({ params }: { params: { websiteId: string } }) {
export default async function ({ params }: { params: Promise<{ websiteId: string }> }) {
const { websiteId } = await params;
return <SessionsPage websiteId={websiteId} />;