Updated settings components.

This commit is contained in:
Mike Cao 2025-05-07 12:33:53 -07:00
parent a15c7cd596
commit 3004c37ccf
8 changed files with 20 additions and 13 deletions

View file

@ -79,7 +79,7 @@
"@prisma/extension-read-replicas": "^0.4.1", "@prisma/extension-read-replicas": "^0.4.1",
"@react-spring/web": "^9.7.3", "@react-spring/web": "^9.7.3",
"@tanstack/react-query": "^5.74.11", "@tanstack/react-query": "^5.74.11",
"@umami/react-zen": "^0.96.0", "@umami/react-zen": "^0.97.0",
"@umami/redis-client": "^0.27.0", "@umami/redis-client": "^0.27.0",
"bcryptjs": "^2.4.3", "bcryptjs": "^2.4.3",
"chalk": "^4.1.1", "chalk": "^4.1.1",

10
pnpm-lock.yaml generated
View file

@ -39,8 +39,8 @@ importers:
specifier: ^5.74.11 specifier: ^5.74.11
version: 5.74.11(react@19.1.0) version: 5.74.11(react@19.1.0)
'@umami/react-zen': '@umami/react-zen':
specifier: ^0.96.0 specifier: ^0.97.0
version: 0.96.0(@babel/core@7.26.10)(@types/react@19.1.2)(immer@9.0.21)(use-sync-external-store@1.5.0(react@19.1.0)) version: 0.97.0(@babel/core@7.26.10)(@types/react@19.1.2)(immer@9.0.21)(use-sync-external-store@1.5.0(react@19.1.0))
'@umami/redis-client': '@umami/redis-client':
specifier: ^0.27.0 specifier: ^0.27.0
version: 0.27.0 version: 0.27.0
@ -2992,8 +2992,8 @@ packages:
resolution: {integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==} resolution: {integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==}
engines: {node: ^16.0.0 || >=18.0.0} engines: {node: ^16.0.0 || >=18.0.0}
'@umami/react-zen@0.96.0': '@umami/react-zen@0.97.0':
resolution: {integrity: sha512-ojY3sOehvGbYN29fHrPHyBlsrrjOFJdlftlYTsPQSbX/25SiD1Sk6/WqcY/YEJZS71gZyklc4yjd/EKSZgxJqw==} resolution: {integrity: sha512-+oGk/yKbeluWEfyUCLSffjoLGHx8JlgN5pbFdVKCSgXjKoPWpgiD7xqQHOIgw1KHrtdHEhbJkuoZ5frj3/0ZoQ==}
'@umami/redis-client@0.27.0': '@umami/redis-client@0.27.0':
resolution: {integrity: sha512-SbHTpxhgeZyTBUSp2zdZM+XUtpsaSL4Tad8QXIEhEtjWhvvfoornyT5kLuyYCVtzSAT4daALeGmOO1z6EE1KcA==} resolution: {integrity: sha512-SbHTpxhgeZyTBUSp2zdZM+XUtpsaSL4Tad8QXIEhEtjWhvvfoornyT5kLuyYCVtzSAT4daALeGmOO1z6EE1KcA==}
@ -10784,7 +10784,7 @@ snapshots:
'@typescript-eslint/types': 6.21.0 '@typescript-eslint/types': 6.21.0
eslint-visitor-keys: 3.4.3 eslint-visitor-keys: 3.4.3
'@umami/react-zen@0.96.0(@babel/core@7.26.10)(@types/react@19.1.2)(immer@9.0.21)(use-sync-external-store@1.5.0(react@19.1.0))': '@umami/react-zen@0.97.0(@babel/core@7.26.10)(@types/react@19.1.2)(immer@9.0.21)(use-sync-external-store@1.5.0(react@19.1.0))':
dependencies: dependencies:
'@fontsource/jetbrains-mono': 5.2.5 '@fontsource/jetbrains-mono': 5.2.5
'@internationalized/date': 3.8.0 '@internationalized/date': 3.8.0

View file

@ -28,7 +28,7 @@ export function LanguageSetting() {
return ( return (
<Row gap="3"> <Row gap="3">
<Select <Select
selectedKey={locale} value={locale}
onChange={val => saveLocale(val as string)} onChange={val => saveLocale(val as string)}
allowSearch allowSearch
onSearch={setSearch} onSearch={setSearch}

View file

@ -24,7 +24,7 @@ export function TimezoneSetting() {
return ( return (
<Row gap="3"> <Row gap="3">
<Select <Select
selectedKey={timezone} value={timezone}
onChange={(value: any) => saveTimezone(value)} onChange={(value: any) => saveTimezone(value)}
allowSearch={true} allowSearch={true}
onSearch={setSearch} onSearch={setSearch}

View file

@ -70,7 +70,11 @@ export function UsersTable({
</Row> </Row>
</MenuItem> </MenuItem>
<MenuSeparator /> <MenuSeparator />
<MenuItem id="delete" onAction={() => setDeleteUser(row)}> <MenuItem
id="delete"
onAction={() => setDeleteUser(row)}
data-test="link-button-delete"
>
<Row alignItems="center" gap> <Row alignItems="center" gap>
<Icon> <Icon>
<Icons.Trash /> <Icons.Trash />

View file

@ -3,6 +3,7 @@ import { Row, Text, Icon, DataTable, DataColumn, MenuItem } from '@umami/react-z
import { useMessages, useNavigation } from '@/components/hooks'; import { useMessages, useNavigation } from '@/components/hooks';
import { MenuButton } from '@/components/input/MenuButton'; import { MenuButton } from '@/components/input/MenuButton';
import { Lucide } from '@/components/icons'; import { Lucide } from '@/components/icons';
import Link from 'next/link';
export interface WebsitesTableProps { export interface WebsitesTableProps {
data: any[]; data: any[];
@ -29,7 +30,9 @@ export function WebsitesTable({
return ( return (
<DataTable data={data}> <DataTable data={data}>
<DataColumn id="name" label={formatMessage(labels.name)} /> <DataColumn id="name" label={formatMessage(labels.name)}>
{(row: any) => <Link href={`/websites/${row.id}`}>{row.name}</Link>}
</DataColumn>
<DataColumn id="domain" label={formatMessage(labels.domain)} /> <DataColumn id="domain" label={formatMessage(labels.domain)} />
{showActions && ( {showActions && (
<DataColumn id="action" label=" " align="end"> <DataColumn id="action" label=" " align="end">

View file

@ -102,7 +102,7 @@ export function DateFilter({
return ( return (
<> <>
<Select <Select
selectedKey={value} value={value}
placeholder={formatMessage(labels.selectDate)} placeholder={formatMessage(labels.selectDate)}
onChange={handleChange} onChange={handleChange}
renderValue={renderValue} renderValue={renderValue}

View file

@ -20,8 +20,8 @@ export function MenuButton({
<Lucide.Ellipsis /> <Lucide.Ellipsis />
</Icon> </Icon>
</Button> </Button>
<Popover> <Popover placement="bottom start">
<Menu onAction={handleAction} style={{ minWidth: '140px' }}> <Menu aria-label="menu" onAction={handleAction} style={{ minWidth: '140px' }}>
{children} {children}
</Menu> </Menu>
</Popover> </Popover>