Added "use client".

This commit is contained in:
Mike Cao 2024-02-04 00:44:20 -08:00
parent 7ae3d47947
commit 102f5b78b1
68 changed files with 73 additions and 6 deletions

View File

@ -1,3 +1,4 @@
'use client';
import { TooltipPopup, Icon, Text, Flexbox, Button } from 'react-basics'; import { TooltipPopup, Icon, Text, Flexbox, Button } from 'react-basics';
import Icons from 'components/icons'; import Icons from 'components/icons';
import { saveDashboard } from 'store/dashboard'; import { saveDashboard } from 'store/dashboard';

View File

@ -1,3 +1,4 @@
'use client';
import { Button, Icon, Icons, Modal, ModalTrigger, Text } from 'react-basics'; import { Button, Icon, Icons, Modal, ModalTrigger, Text } from 'react-basics';
import { useApi, useMessages } from 'components/hooks'; import { useApi, useMessages } from 'components/hooks';
import { touch } from 'store/cache'; import { touch } from 'store/cache';

View File

@ -1,3 +1,4 @@
'use client';
import { GridColumn, GridTable, Icon, Icons, Text, useBreakpoint } from 'react-basics'; import { GridColumn, GridTable, Icon, Icons, Text, useBreakpoint } from 'react-basics';
import LinkButton from 'components/common/LinkButton'; import LinkButton from 'components/common/LinkButton';
import { useMessages, useLogin, useTeamContext } from 'components/hooks'; import { useMessages, useLogin, useTeamContext } from 'components/hooks';

View File

@ -1,3 +1,4 @@
'use client';
import { useContext } from 'react'; import { useContext } from 'react';
import { FormRow } from 'react-basics'; import { FormRow } from 'react-basics';
import { parseDateRange } from 'lib/date'; import { parseDateRange } from 'lib/date';

View File

@ -1,3 +1,4 @@
'use client';
import { Form, FormRow, Menu, Item } from 'react-basics'; import { Form, FormRow, Menu, Item } from 'react-basics';
import { useMessages } from 'components/hooks'; import { useMessages } from 'components/hooks';

View File

@ -1,3 +1,4 @@
'use client';
import { useState, useMemo } from 'react'; import { useState, useMemo } from 'react';
import { Form, FormRow, Item, Flexbox, Dropdown, Button } from 'react-basics'; import { Form, FormRow, Item, Flexbox, Dropdown, Button } from 'react-basics';
import { useMessages, useFilters, useFormat, useLocale } from 'components/hooks'; import { useMessages, useFilters, useFormat, useLocale } from 'components/hooks';

View File

@ -1,3 +1,4 @@
'use client';
import { Menu, Item, Form, FormRow } from 'react-basics'; import { Menu, Item, Form, FormRow } from 'react-basics';
import { useMessages } from 'components/hooks'; import { useMessages } from 'components/hooks';
import styles from './FieldSelectForm.module.css'; import styles from './FieldSelectForm.module.css';

View File

@ -1,3 +1,4 @@
'use client';
import { useState } from 'react'; import { useState } from 'react';
import { Loading } from 'react-basics'; import { Loading } from 'react-basics';
import { subDays } from 'date-fns'; import { subDays } from 'date-fns';

View File

@ -1,3 +1,4 @@
'use client';
import { ReactNode } from 'react'; import { ReactNode } from 'react';
import { Icon, TooltipPopup } from 'react-basics'; import { Icon, TooltipPopup } from 'react-basics';
import Icons from 'components/icons'; import Icons from 'components/icons';

View File

@ -1,3 +1,4 @@
'use client';
import { CSSProperties, ReactNode } from 'react'; import { CSSProperties, ReactNode } from 'react';
import classNames from 'classnames'; import classNames from 'classnames';
import styles from './PopupForm.module.css'; import styles from './PopupForm.module.css';

View File

@ -1,3 +1,4 @@
'use client';
import styles from './ReportBody.module.css'; import styles from './ReportBody.module.css';
import { useContext } from 'react'; import { useContext } from 'react';
import { ReportContext } from './Report'; import { ReportContext } from './Report';

View File

@ -1,3 +1,4 @@
'use client';
import { useContext } from 'react'; import { useContext } from 'react';
import { Icon, LoadingButton, InlineEditField, useToasts } from 'react-basics'; import { Icon, LoadingButton, InlineEditField, useToasts } from 'react-basics';
import { useMessages, useApi, useNavigation, useTeamContext } from 'components/hooks'; import { useMessages, useApi, useNavigation, useTeamContext } from 'components/hooks';

View File

@ -1,3 +1,4 @@
'use client';
import styles from './ReportMenu.module.css'; import styles from './ReportMenu.module.css';
import { useContext } from 'react'; import { useContext } from 'react';
import { ReportContext } from './Report'; import { ReportContext } from './Report';

View File

@ -1,3 +1,4 @@
'use client';
import { useContext } from 'react'; import { useContext } from 'react';
import { Form, FormRow, FormButtons, SubmitButton, PopupTrigger, Icon, Popup } from 'react-basics'; import { Form, FormRow, FormButtons, SubmitButton, PopupTrigger, Icon, Popup } from 'react-basics';
import Empty from 'components/common/Empty'; import Empty from 'components/common/Empty';

View File

@ -1,3 +1,4 @@
'use client';
import Report from '../[reportId]/Report'; import Report from '../[reportId]/Report';
import ReportHeader from '../[reportId]/ReportHeader'; import ReportHeader from '../[reportId]/ReportHeader';
import ReportMenu from '../[reportId]/ReportMenu'; import ReportMenu from '../[reportId]/ReportMenu';

View File

@ -1,3 +1,4 @@
'use client';
import { useContext } from 'react'; import { useContext } from 'react';
import { GridTable, GridColumn } from 'react-basics'; import { GridTable, GridColumn } from 'react-basics';
import { useMessages } from 'components/hooks'; import { useMessages } from 'components/hooks';

View File

@ -1,10 +1,10 @@
import { Metadata } from 'next'; import { Metadata } from 'next';
import EventDataReport from './EventDataReport'; import EventDataReport from './EventDataReport';
export default function FunnelReportPage() { export default function EventDataReportPage() {
return <EventDataReport />; return <EventDataReport />;
} }
export const metadata: Metadata = { export const metadata: Metadata = {
title: 'Funnel Report | Umami', title: 'Event Data Report | Umami',
}; };

View File

@ -1,3 +1,4 @@
'use client';
import { JSX, useCallback, useContext, useMemo } from 'react'; import { JSX, useCallback, useContext, useMemo } from 'react';
import { Loading, StatusLight } from 'react-basics'; import { Loading, StatusLight } from 'react-basics';
import { useMessages, useTheme } from 'components/hooks'; import { useMessages, useTheme } from 'components/hooks';

View File

@ -1,3 +1,4 @@
'use client';
import { useContext } from 'react'; import { useContext } from 'react';
import { useMessages } from 'components/hooks'; import { useMessages } from 'components/hooks';
import { import {

View File

@ -1,3 +1,4 @@
'use client';
import { useContext } from 'react'; import { useContext } from 'react';
import ListTable from 'components/metrics/ListTable'; import ListTable from 'components/metrics/ListTable';
import { useMessages } from 'components/hooks'; import { useMessages } from 'components/hooks';

View File

@ -1,3 +1,4 @@
'use client';
import { useState } from 'react'; import { useState } from 'react';
import { useMessages } from 'components/hooks'; import { useMessages } from 'components/hooks';
import { Button, Form, FormRow, TextField, Flexbox } from 'react-basics'; import { Button, Form, FormRow, TextField, Flexbox } from 'react-basics';

View File

@ -1,3 +1,4 @@
'use client';
import { useContext } from 'react'; import { useContext } from 'react';
import { useFormat, useMessages, useFilters } from 'components/hooks'; import { useFormat, useMessages, useFilters } from 'components/hooks';
import { import {

View File

@ -1,3 +1,4 @@
'use client';
import { useContext, useEffect, useState } from 'react'; import { useContext, useEffect, useState } from 'react';
import { GridTable, GridColumn } from 'react-basics'; import { GridTable, GridColumn } from 'react-basics';
import { useFormat, useMessages } from 'components/hooks'; import { useFormat, useMessages } from 'components/hooks';

View File

@ -1,3 +1,4 @@
'use client';
import { useContext } from 'react'; import { useContext } from 'react';
import { useMessages } from 'components/hooks'; import { useMessages } from 'components/hooks';
import { Form, FormButtons, FormRow, SubmitButton } from 'react-basics'; import { Form, FormButtons, FormRow, SubmitButton } from 'react-basics';

View File

@ -1,3 +1,4 @@
'use client';
import { useContext } from 'react'; import { useContext } from 'react';
import classNames from 'classnames'; import classNames from 'classnames';
import { ReportContext } from '../[reportId]/Report'; import { ReportContext } from '../[reportId]/Report';

View File

@ -1,3 +1,4 @@
'use client';
import DateFilter from 'components/input/DateFilter'; import DateFilter from 'components/input/DateFilter';
import { Button, Flexbox } from 'react-basics'; import { Button, Flexbox } from 'react-basics';
import { useDateRange, useMessages } from 'components/hooks'; import { useDateRange, useMessages } from 'components/hooks';

View File

@ -1,3 +1,4 @@
'use client';
import { useState } from 'react'; import { useState } from 'react';
import { Button, Dropdown, Item, Flexbox } from 'react-basics'; import { Button, Dropdown, Item, Flexbox } from 'react-basics';
import { useLocale, useMessages } from 'components/hooks'; import { useLocale, useMessages } from 'components/hooks';

View File

@ -1,3 +1,4 @@
'use client';
import { Button, Icon, Text, useToasts, ModalTrigger, Modal } from 'react-basics'; import { Button, Icon, Text, useToasts, ModalTrigger, Modal } from 'react-basics';
import PasswordEditForm from 'app/(main)/settings/profile/PasswordEditForm'; import PasswordEditForm from 'app/(main)/settings/profile/PasswordEditForm';
import Icons from 'components/icons'; import Icons from 'components/icons';

View File

@ -1,3 +1,4 @@
'use client';
import { useRef } from 'react'; import { useRef } from 'react';
import { Form, FormRow, FormInput, FormButtons, PasswordField, Button } from 'react-basics'; import { Form, FormRow, FormInput, FormButtons, PasswordField, Button } from 'react-basics';
import { useApi, useMessages } from 'components/hooks'; import { useApi, useMessages } from 'components/hooks';

View File

@ -1,3 +1,4 @@
'use client';
import classNames from 'classnames'; import classNames from 'classnames';
import { Button, Icon } from 'react-basics'; import { Button, Icon } from 'react-basics';
import { useTheme } from 'components/hooks'; import { useTheme } from 'components/hooks';

View File

@ -1,3 +1,4 @@
'use client';
import { useState } from 'react'; import { useState } from 'react';
import { Dropdown, Item, Button, Flexbox } from 'react-basics'; import { Dropdown, Item, Button, Flexbox } from 'react-basics';
import { listTimeZones } from 'timezone-support'; import { listTimeZones } from 'timezone-support';

View File

@ -1,3 +1,4 @@
'use client';
import { import {
Form, Form,
FormRow, FormRow,

View File

@ -1,3 +1,4 @@
'use client';
import { useApi, useMessages } from 'components/hooks'; import { useApi, useMessages } from 'components/hooks';
import { touch } from 'store/cache'; import { touch } from 'store/cache';
import TypeConfirmationForm from 'components/common/TypeConfirmationForm'; import TypeConfirmationForm from 'components/common/TypeConfirmationForm';

View File

@ -1,3 +1,4 @@
'use client';
import { useRef } from 'react'; import { useRef } from 'react';
import { import {
Form, Form,

View File

@ -1,3 +1,4 @@
'use client';
import { Button, Icon, Icons, Modal, ModalTrigger, Text } from 'react-basics'; import { Button, Icon, Icons, Modal, ModalTrigger, Text } from 'react-basics';
import { useMessages, useLocale, useLogin } from 'components/hooks'; import { useMessages, useLocale, useLogin } from 'components/hooks';
import TeamDeleteForm from './TeamLeaveForm'; import TeamDeleteForm from './TeamLeaveForm';

View File

@ -1,3 +1,4 @@
'use client';
import { useApi, useMessages } from 'components/hooks'; import { useApi, useMessages } from 'components/hooks';
import { touch } from 'store/cache'; import { touch } from 'store/cache';
import ConfirmationForm from 'components/common/ConfirmationForm'; import ConfirmationForm from 'components/common/ConfirmationForm';

View File

@ -1,3 +1,4 @@
'use client';
import { Button, Icon, Modal, ModalTrigger, Text } from 'react-basics'; import { Button, Icon, Modal, ModalTrigger, Text } from 'react-basics';
import Icons from 'components/icons'; import Icons from 'components/icons';
import { useMessages } from 'components/hooks'; import { useMessages } from 'components/hooks';

View File

@ -1,3 +1,4 @@
'use client';
import { Button, Icon, Modal, ModalTrigger, Text, useToasts } from 'react-basics'; import { Button, Icon, Modal, ModalTrigger, Text, useToasts } from 'react-basics';
import Icons from 'components/icons'; import Icons from 'components/icons';
import { useMessages } from 'components/hooks'; import { useMessages } from 'components/hooks';

View File

@ -1,3 +1,4 @@
'use client';
import { Button, Icon, Icons, Text } from 'react-basics'; import { Button, Icon, Icons, Text } from 'react-basics';
import styles from './WebsiteTags.module.css'; import styles from './WebsiteTags.module.css';

View File

@ -1,3 +1,4 @@
'use client';
import { Button, Icon, Text, Modal, Icons, ModalTrigger, useToasts } from 'react-basics'; import { Button, Icon, Text, Modal, Icons, ModalTrigger, useToasts } from 'react-basics';
import UserAddForm from './UserAddForm'; import UserAddForm from './UserAddForm';
import { useMessages } from 'components/hooks'; import { useMessages } from 'components/hooks';

View File

@ -1,3 +1,4 @@
'use client';
import { import {
Dropdown, Dropdown,
Item, Item,

View File

@ -1,3 +1,4 @@
'use client';
import { Button, Icon, Icons, Modal, ModalTrigger, Text } from 'react-basics'; import { Button, Icon, Icons, Modal, ModalTrigger, Text } from 'react-basics';
import { useMessages, useLogin } from 'components/hooks'; import { useMessages, useLogin } from 'components/hooks';
import UserDeleteForm from './UserDeleteForm'; import UserDeleteForm from './UserDeleteForm';

View File

@ -1,3 +1,4 @@
'use client';
import { useApi, useMessages } from 'components/hooks'; import { useApi, useMessages } from 'components/hooks';
import ConfirmationForm from 'components/common/ConfirmationForm'; import ConfirmationForm from 'components/common/ConfirmationForm';
import { touch } from 'store/cache'; import { touch } from 'store/cache';

View File

@ -1,3 +1,4 @@
'use client';
import { import {
Dropdown, Dropdown,
Item, Item,

View File

@ -1,3 +1,4 @@
'use client';
import { Button, Text, Icon, Icons, GridTable, GridColumn, useBreakpoint } from 'react-basics'; import { Button, Text, Icon, Icons, GridTable, GridColumn, useBreakpoint } from 'react-basics';
import { formatDistance } from 'date-fns'; import { formatDistance } from 'date-fns';
import Link from 'next/link'; import Link from 'next/link';

View File

@ -1,3 +1,4 @@
'use client';
import { Button, Icon, Icons, Modal, ModalTrigger, Text, useToasts } from 'react-basics'; import { Button, Icon, Icons, Modal, ModalTrigger, Text, useToasts } from 'react-basics';
import WebsiteAddForm from './WebsiteAddForm'; import WebsiteAddForm from './WebsiteAddForm';
import { useMessages } from 'components/hooks'; import { useMessages } from 'components/hooks';

View File

@ -1,3 +1,4 @@
'use client';
import { import {
Form, Form,
FormRow, FormRow,

View File

@ -1,3 +1,4 @@
'use client';
import { ReactNode } from 'react'; import { ReactNode } from 'react';
import Link from 'next/link'; import Link from 'next/link';
import { Button, Text, Icon, Icons, GridTable, GridColumn, useBreakpoint } from 'react-basics'; import { Button, Text, Icon, Icons, GridTable, GridColumn, useBreakpoint } from 'react-basics';

View File

@ -1,3 +1,4 @@
'use client';
import { Website } from '@prisma/client'; import { Website } from '@prisma/client';
import { import {
Form, Form,

View File

@ -1,3 +1,4 @@
'use client';
import { TextArea } from 'react-basics'; import { TextArea } from 'react-basics';
import { useMessages, useConfig } from 'components/hooks'; import { useMessages, useConfig } from 'components/hooks';

View File

@ -1,3 +1,4 @@
'use client';
import { Button, Modal, ModalTrigger, ActionForm, useToasts } from 'react-basics'; import { Button, Modal, ModalTrigger, ActionForm, useToasts } from 'react-basics';
import { useRouter } from 'next/navigation'; import { useRouter } from 'next/navigation';
import { useMessages } from 'components/hooks'; import { useMessages } from 'components/hooks';

View File

@ -1,3 +1,4 @@
'use client';
import { useApi, useMessages } from 'components/hooks'; import { useApi, useMessages } from 'components/hooks';
import TypeConfirmationForm from 'components/common/TypeConfirmationForm'; import TypeConfirmationForm from 'components/common/TypeConfirmationForm';

View File

@ -1,3 +1,4 @@
'use client';
import { Website } from '@prisma/client'; import { Website } from '@prisma/client';
import { useRef } from 'react'; import { useRef } from 'react';
import { import {

View File

@ -1,3 +1,4 @@
'use client';
import { useApi, useMessages } from 'components/hooks'; import { useApi, useMessages } from 'components/hooks';
import TypeConfirmationForm from 'components/common/TypeConfirmationForm'; import TypeConfirmationForm from 'components/common/TypeConfirmationForm';

View File

@ -1,3 +1,4 @@
'use client';
import { useMemo } from 'react'; import { useMemo } from 'react';
import PageviewsChart from 'components/metrics/PageviewsChart'; import PageviewsChart from 'components/metrics/PageviewsChart';
import { useApi, useDateRange, useTimezone, useNavigation } from 'components/hooks'; import { useApi, useDateRange, useTimezone, useNavigation } from 'components/hooks';

View File

@ -1,3 +1,4 @@
'use client';
import { Button, Text, Icon, Icons } from 'react-basics'; import { Button, Text, Icon, Icons } from 'react-basics';
import { useMemo } from 'react'; import { useMemo } from 'react';
import { firstBy } from 'thenby'; import { firstBy } from 'thenby';

View File

@ -1,3 +1,4 @@
'use client';
import { Icons, Icon, Text, Dropdown, Item } from 'react-basics'; import { Icons, Icon, Text, Dropdown, Item } from 'react-basics';
import BrowsersTable from 'components/metrics/BrowsersTable'; import BrowsersTable from 'components/metrics/BrowsersTable';
import CountriesTable from 'components/metrics/CountriesTable'; import CountriesTable from 'components/metrics/CountriesTable';

View File

@ -1,6 +1,7 @@
'use client';
import { Button, Icon, Icons, Popup, PopupTrigger, Text } from 'react-basics'; import { Button, Icon, Icons, Popup, PopupTrigger, Text } from 'react-basics';
import PopupForm from '../../reports/[reportId]/PopupForm'; import PopupForm from 'app/(main)/reports/[reportId]/PopupForm';
import FilterSelectForm from '../../reports/[reportId]/FilterSelectForm'; import FilterSelectForm from 'app/(main)/reports/[reportId]/FilterSelectForm';
import { useMessages, useNavigation } from 'components/hooks'; import { useMessages, useNavigation } from 'components/hooks';
export function WebsiteFilterButton({ export function WebsiteFilterButton({

View File

@ -1,3 +1,4 @@
'use client';
import classNames from 'classnames'; import classNames from 'classnames';
import { useApi, useDateRange, useMessages, useNavigation, useSticky } from 'components/hooks'; import { useApi, useDateRange, useMessages, useNavigation, useSticky } from 'components/hooks';
import WebsiteDateFilter from 'components/input/WebsiteDateFilter'; import WebsiteDateFilter from 'components/input/WebsiteDateFilter';

View File

@ -1,3 +1,4 @@
'use client';
import { useState } from 'react'; import { useState } from 'react';
import { Grid, GridRow } from 'components/layout/Grid'; import { Grid, GridRow } from 'components/layout/Grid';
import PagesTable from 'components/metrics/PagesTable'; import PagesTable from 'components/metrics/PagesTable';

View File

@ -1,3 +1,4 @@
'use client';
import { useApi, useDateRange } from 'components/hooks'; import { useApi, useDateRange } from 'components/hooks';
import MetricCard from 'components/metrics/MetricCard'; import MetricCard from 'components/metrics/MetricCard';
import { useMessages } from 'components/hooks'; import { useMessages } from 'components/hooks';
@ -9,10 +10,10 @@ export function EventDataMetricsBar({ websiteId }: { websiteId: string }) {
const { formatMessage, labels } = useMessages(); const { formatMessage, labels } = useMessages();
const { get, useQuery } = useApi(); const { get, useQuery } = useApi();
const [dateRange] = useDateRange(websiteId); const [dateRange] = useDateRange(websiteId);
const { startDate, endDate, modified } = dateRange; const { startDate, endDate } = dateRange;
const { data, error, isLoading, isFetched } = useQuery({ const { data, error, isLoading, isFetched } = useQuery({
queryKey: ['event-data:stats', { websiteId, startDate, endDate, modified }], queryKey: ['event-data:stats', { websiteId, startDate, endDate }],
queryFn: () => queryFn: () =>
get(`/event-data/stats`, { get(`/event-data/stats`, {
websiteId, websiteId,

View File

@ -1,3 +1,4 @@
'use client';
import Link from 'next/link'; import Link from 'next/link';
import { GridTable, GridColumn } from 'react-basics'; import { GridTable, GridColumn } from 'react-basics';
import { useMessages, useNavigation } from 'components/hooks'; import { useMessages, useNavigation } from 'components/hooks';

View File

@ -1,3 +1,4 @@
'use client';
import { GridTable, GridColumn, Button, Icon, Text } from 'react-basics'; import { GridTable, GridColumn, Button, Icon, Text } from 'react-basics';
import { useMessages, useNavigation } from 'components/hooks'; import { useMessages, useNavigation } from 'components/hooks';
import Link from 'next/link'; import Link from 'next/link';

View File

@ -1,3 +1,4 @@
'use client';
import { useCallback } from 'react'; import { useCallback } from 'react';
import ListTable from 'components/metrics/ListTable'; import ListTable from 'components/metrics/ListTable';
import { useLocale } from 'components/hooks'; import { useLocale } from 'components/hooks';

View File

@ -1,3 +1,4 @@
'use client';
import MetricCard from 'components/metrics/MetricCard'; import MetricCard from 'components/metrics/MetricCard';
import { useMessages } from 'components/hooks'; import { useMessages } from 'components/hooks';
import { RealtimeData } from 'lib/types'; import { RealtimeData } from 'lib/types';

View File

@ -1,3 +1,4 @@
'use client';
import { useEffect } from 'react'; import { useEffect } from 'react';
import { useRouter } from 'next/navigation'; import { useRouter } from 'next/navigation';
import Page from 'components/layout/Page'; import Page from 'components/layout/Page';

View File

@ -1,3 +1,4 @@
'use client';
import { useMemo, useState } from 'react'; import { useMemo, useState } from 'react';
import { StatusLight, Icon, Text, SearchField } from 'react-basics'; import { StatusLight, Icon, Text, SearchField } from 'react-basics';
import { FixedSizeList } from 'react-window'; import { FixedSizeList } from 'react-window';

View File

@ -1,3 +1,4 @@
'use client';
import { Key, useMemo, useState } from 'react'; import { Key, useMemo, useState } from 'react';
import { ButtonGroup, Button, Flexbox } from 'react-basics'; import { ButtonGroup, Button, Flexbox } from 'react-basics';
import thenby from 'thenby'; import thenby from 'thenby';