Lint fixes.

This commit is contained in:
Mike Cao 2025-03-08 08:40:41 -08:00
parent c948bbca12
commit e1e6493dec
17 changed files with 41 additions and 71 deletions

View file

@ -77,7 +77,7 @@
"@react-spring/web": "^9.7.5",
"@tanstack/react-query": "^5.66.11",
"@umami/prisma-client": "^0.14.0",
"@umami/react-zen": "link:C:/Users/mike/AppData/Local/pnpm/global/5/node_modules/@umami/react-zen",
"@umami/react-zen": "link:../../../Library/pnpm/global/5/node_modules/@umami/react-zen",
"@umami/redis-client": "^0.26.0",
"bcryptjs": "^2.4.3",
"chalk": "^4.1.2",
@ -120,7 +120,6 @@
"react-simple-maps": "^2.3.0",
"react-use-measure": "^2.1.7",
"react-window": "^1.8.11",
"react-zen": "link:C:/Users/mike/AppData/Local/pnpm/global/5/node_modules/@umami/react-zen",
"request-ip": "^3.3.0",
"semver": "^7.7.1",
"serialize-error": "^12.0.0",
@ -197,7 +196,7 @@
"sharp"
],
"overrides": {
"react-zen": "link:C:/Users/mike/AppData/Local/pnpm/global/5/node_modules/@umami/react-zen"
"@umami/react-zen": "link:../../../Library/pnpm/global/5/node_modules/@umami/react-zen"
}
}
}

9
pnpm-lock.yaml generated
View file

@ -5,7 +5,7 @@ settings:
excludeLinksFromLockfile: false
overrides:
react-zen: link:C:/Users/mike/AppData/Local/pnpm/global/5/node_modules/@umami/react-zen
'@umami/react-zen': link:../../../Library/pnpm/global/5/node_modules/@umami/react-zen
importers:
@ -48,8 +48,8 @@ importers:
specifier: ^0.14.0
version: 0.14.0(@prisma/client@6.4.1(prisma@6.4.1(typescript@5.8.2))(typescript@5.8.2))(@prisma/extension-read-replicas@0.4.0(@prisma/client@6.4.1(prisma@6.4.1(typescript@5.8.2))(typescript@5.8.2)))
'@umami/react-zen':
specifier: link:C:/Users/mike/AppData/Local/pnpm/global/5/node_modules/@umami/react-zen
version: link:C:/Users/mike/AppData/Local/pnpm/global/5/node_modules/@umami/react-zen
specifier: link:../../../Library/pnpm/global/5/node_modules/@umami/react-zen
version: link:../../../Library/pnpm/global/5/node_modules/@umami/react-zen
'@umami/redis-client':
specifier: ^0.26.0
version: 0.26.0
@ -176,9 +176,6 @@ importers:
react-window:
specifier: ^1.8.11
version: 1.8.11(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
react-zen:
specifier: link:C:/Users/mike/AppData/Local/pnpm/global/5/node_modules/@umami/react-zen
version: link:C:/Users/mike/AppData/Local/pnpm/global/5/node_modules/@umami/react-zen
request-ip:
specifier: ^3.3.0
version: 3.3.0

View file

@ -4,7 +4,6 @@ import { useContext } from 'react';
import { Button, Row, Label, Icon, Popover, MenuTrigger } from '@umami/react-zen';
import { FieldSelectForm } from '../[reportId]/FieldSelectForm';
import { ParameterList } from '../[reportId]/ParameterList';
import { PopupForm } from '../[reportId]/PopupForm';
import { ReportContext } from './Report';
export function FieldParameters() {

View file

@ -1,7 +1,7 @@
import { useContext } from 'react';
import { useMessages, useFormat, useFilters, useFields } from '@/components/hooks';
import { Icons } from '@/components/icons';
import { Button, Text, Row, Label, Icon, Popover, MenuTrigger } from '@umami/react-zen';
import { Button, Row, Label, Icon, Popover, MenuTrigger } from '@umami/react-zen';
import { FilterSelectForm } from '../[reportId]/FilterSelectForm';
import { ParameterList } from '../[reportId]/ParameterList';
import { PopupForm } from '../[reportId]/PopupForm';

View file

@ -71,14 +71,6 @@ export function GoalsAddForm({
}
};
const renderTypeValue = (value: any) => {
return items.find(item => item.value === value)?.label;
};
const renderoperatorValue = (value: any) => {
return operators.find(item => item.value === value)?.label;
};
return (
<Column gap="3">
<Label>{formatMessage(defaultValue ? labels.update : labels.add)}</Label>
@ -87,7 +79,6 @@ export function GoalsAddForm({
className={styles.dropdown}
items={items}
value={type}
renderValue={renderTypeValue}
onChange={(value: any) => setType(value)}
>
{({ value, label }: any) => {

View file

@ -22,10 +22,6 @@ export function RetentionParameters() {
}
};
const handleDateChange = value => {
updateReport({ parameters: { dateRange: { ...parseDateRange(value) } } });
};
return (
<Form values={parameters} onSubmit={handleSubmit} preventSubmit={true}>
<BaseParameters showDateSelect={false} allowWebsiteSelect={!id} />

View file

@ -11,7 +11,6 @@ import {
} from '@umami/react-zen';
import { useApi, useMessages } from '@/components/hooks';
import { ROLES } from '@/lib/constants';
import { messages } from '@/components/messages';
export function UserAddForm({ onSave, onClose }) {
const { post, useMutation } = useApi();
@ -51,9 +50,15 @@ export function UserAddForm({ onSave, onClose }) {
rules={{ required: formatMessage(labels.required) }}
>
<Select>
<ListItem id={ROLES.viewOnly} data-test="dropdown-item-viewOnly">{formatMessage(labels.viewOnly)}</ListItem>
<ListItem id={ROLES.user} data-test="dropdown-item-user">{formatMessage(labels.user)}</ListItem>
<ListItem id={ROLES.admin} data-test="dropdown-item-admin">{formatMessage(labels.admin)}</ListItem>
<ListItem id={ROLES.viewOnly} data-test="dropdown-item-viewOnly">
{formatMessage(labels.viewOnly)}
</ListItem>
<ListItem id={ROLES.user} data-test="dropdown-item-user">
{formatMessage(labels.user)}
</ListItem>
<ListItem id={ROLES.admin} data-test="dropdown-item-admin">
{formatMessage(labels.admin)}
</ListItem>
</Select>
</FormField>
<FormButtons>

View file

@ -3,8 +3,7 @@ import Link from 'next/link';
import { formatDistance } from 'date-fns';
import { ROLES } from '@/lib/constants';
import { useMessages, useLocale } from '@/components/hooks';
import UserDeleteButton from './UserDeleteButton';
import LinkButton from '@/components/common/LinkButton';
import { UserDeleteButton } from './UserDeleteButton';
export function UsersTable({
data = [],

View file

@ -66,14 +66,22 @@ export function UserEditForm({ userId, onSave }: { userId: string; onSave?: () =
rules={{ required: formatMessage(labels.required) }}
>
<Select defaultSelectedKey={user.role}>
<ListItem id={ROLES.viewOnly} data-test="dropdown-item-viewOnly">{formatMessage(labels.viewOnly)}</ListItem>
<ListItem id={ROLES.user} data-test="dropdown-item-user">{formatMessage(labels.user)}</ListItem>
<ListItem id={ROLES.admin} data-test="dropdown-item-admin">{formatMessage(labels.admin)}</ListItem>
<ListItem id={ROLES.viewOnly} data-test="dropdown-item-viewOnly">
{formatMessage(labels.viewOnly)}
</ListItem>
<ListItem id={ROLES.user} data-test="dropdown-item-user">
{formatMessage(labels.user)}
</ListItem>
<ListItem id={ROLES.admin} data-test="dropdown-item-admin">
{formatMessage(labels.admin)}
</ListItem>
</Select>
</FormField>
)}
<FormButtons>
<FormSubmitButton data-test="button-submit" variant="primary">{formatMessage(labels.save)}</FormSubmitButton>
<FormSubmitButton data-test="button-submit" variant="primary">
{formatMessage(labels.save)}
</FormSubmitButton>
</FormButtons>
</Form>
);

View file

@ -37,7 +37,6 @@ export function ShareUrl({ hostUrl, onSave }: { hostUrl?: string; onSave?: () =>
};
const handleSwitch = (checked: boolean) => {
console.log({ checked });
const data = {
name: website.name,
domain: website.domain,

View file

@ -1,4 +1,4 @@
import { Select, Icon, Icons, ListItem, Text, Grid, Column } from '@umami/react-zen';
import { Icon, Icons, Text, Grid, Column } from '@umami/react-zen';
import { LinkButton } from '@/components/common/LinkButton';
import { useMessages, useNavigation } from '@/components/hooks';
import { MenuNav } from '@/components/layout/MenuNav';
@ -17,7 +17,6 @@ import { RegionsTable } from '@/components/metrics/RegionsTable';
import { ScreenTable } from '@/components/metrics/ScreenTable';
import { TagsTable } from '@/components/metrics/TagsTable';
import { ChannelsTable } from '@/components/metrics/ChannelsTable';
import Link from 'next/link';
const views = {
url: PagesTable,
@ -50,7 +49,6 @@ export function WebsiteExpandedView({
}) {
const { formatMessage, labels } = useMessages();
const {
router,
renderUrl,
query: { view },
} = useNavigation();

View file

@ -1,5 +1,4 @@
import { Button, Icon, Icons, Box, MenuTrigger, Popover, Text } from '@umami/react-zen';
import { PopupForm } from '@/app/(main)/reports/[reportId]/PopupForm';
import { FilterSelectForm } from '@/app/(main)/reports/[reportId]/FilterSelectForm';
import { useFields, useMessages, useNavigation, useDateRange } from '@/components/hooks';
import { OPERATOR_PREFIXES } from '@/lib/constants';

View file

@ -1,5 +1,5 @@
import { Key } from 'react';
import { Row, Button, Flexbox } from '@umami/react-zen';
import { Text, Row, Button, Flexbox } from '@umami/react-zen';
export interface FilterButtonsProps {
items: any[];
@ -12,7 +12,9 @@ export function FilterButtons({ items, selectedKey, onSelect }: FilterButtonsPro
<Flexbox justifyContent="center">
<Row>
{items.map(({ key, label }) => (
<Button key={key}>{label}</Button>
<Button key={key} onPress={() => onSelect(key)}>
<Text weight={key === selectedKey ? 'bold' : undefined}>{label}</Text>
</Button>
))}
</Row>
</Flexbox>

View file

@ -1,20 +1,10 @@
import { useState, Key } from 'react';
import {
Icon,
Modal,
Select,
Text,
Block,
Row,
ListItem,
ListSeparator,
Dialog,
} from '@umami/react-zen';
import { Icon, Modal, Select, Text, Row, ListItem, ListSeparator, Dialog } from '@umami/react-zen';
import { endOfYear, isSameDay } from 'date-fns';
import { DatePickerForm } from '@/components/metrics/DatePickerForm';
import { useLocale, useMessages } from '@/components/hooks';
import { Icons } from '@/components/icons';
import { formatDate, parseDateValue } from '@/lib/date';
import { formatDate } from '@/lib/date';
import styles from './DateFilter.module.css';
import classNames from 'classnames';
@ -41,7 +31,6 @@ export function DateFilter({
}: DateFilterProps) {
const { formatMessage, labels } = useMessages();
const [showPicker, setShowPicker] = useState(false);
const { locale } = useLocale();
const options = [
{ label: formatMessage(labels.today), value: '0day' },
@ -108,6 +97,7 @@ export function DateFilter({
onChange(value.toString());
};
/*
const handleClose = () => setShowPicker(false);
const renderValue = (value: string) => {
@ -133,9 +123,7 @@ export function DateFilter({
}
return options.find(e => e.value === value)?.label;
};
console.log({ showPicker });
};*/
return (
<>

View file

@ -1,4 +1,4 @@
import { useDateRange, useLocale } from '@/components/hooks';
import { useDateRange } from '@/components/hooks';
import { isAfter } from 'date-fns';
import { getOffsetDateRange } from '@/lib/date';
import { Button, Icon, Icons } from '@umami/react-zen';
@ -13,7 +13,6 @@ export function WebsiteDateFilter({
websiteId: string;
showAllTime?: boolean;
}) {
const { dir } = useLocale();
const { dateRange, saveDateRange } = useDateRange(websiteId);
const { value, startDate, endDate, offset } = dateRange;
const disableForward =

View file

@ -1,7 +1,6 @@
import { useState, Key } from 'react';
import { Select, ListItem } from '@umami/react-zen';
import { useWebsite, useWebsites, useMessages } from '@/components/hooks';
import { Empty } from '@/components/common/Empty';
import { useWebsites, useMessages } from '@/components/hooks';
export function WebsiteSelect({
websiteId,
@ -12,18 +11,12 @@ export function WebsiteSelect({
teamId?: string;
onSelect?: (key: any) => void;
}) {
const { formatMessage, labels, messages } = useMessages();
const { formatMessage, labels } = useMessages();
const [search, setSearch] = useState('');
const [selectedId, setSelectedId] = useState<Key>(websiteId);
const { data: website } = useWebsite(selectedId as string);
const queryResult = useWebsites({ teamId }, { search, pageSize: 5 });
const renderEmpty = () => {
return <Empty message={formatMessage(messages.noResultsFound)} />;
};
const handleSelect = (value: any) => {
setSelectedId(value);
onSelect?.(value);

View file

@ -19,7 +19,7 @@ export function DatePickerForm({
);
const [singleDate, setSingleDate] = useState(defaultStartDate || new Date());
const [startDate, setStartDate] = useState(defaultStartDate || new Date());
const [endDate, setEndDate] = useState(defaultEndDate || new Date());
const [endDate] = useState(defaultEndDate || new Date());
const { formatMessage, labels } = useMessages();
const disabled =
@ -35,8 +35,6 @@ export function DatePickerForm({
}
};
console.log({ minDate, maxDate, singleDate, startDate, endDate, disabled });
return (
<div className={styles.container}>
<div className={styles.filter}>