Refactor: removed default exports.

This commit is contained in:
Mike Cao 2025-02-13 22:53:25 -08:00
parent cd944e14ce
commit f83a12d6cd
343 changed files with 555 additions and 1046 deletions

View file

@ -33,7 +33,7 @@ function customScriptName(req) {
} }
} }
export default function middleware(req) { export function middleware(req) {
const fns = [customCollectEndpoint, customScriptName]; const fns = [customCollectEndpoint, customScriptName];
for (const fn of fns) { for (const fn of fns) {

View file

@ -75,7 +75,7 @@
"@react-spring/web": "^9.7.3", "@react-spring/web": "^9.7.3",
"@tanstack/react-query": "^5.28.6", "@tanstack/react-query": "^5.28.6",
"@umami/prisma-client": "^0.14.0", "@umami/prisma-client": "^0.14.0",
"@umami/react-zen": "^0.50.0", "@umami/react-zen": "^0.51.0",
"@umami/redis-client": "^0.26.0", "@umami/redis-client": "^0.26.0",
"bcryptjs": "^2.4.3", "bcryptjs": "^2.4.3",
"chalk": "^4.1.1", "chalk": "^4.1.1",

View file

@ -2,9 +2,9 @@
import { Grid, Loading } from '@umami/react-zen'; import { Grid, Loading } from '@umami/react-zen';
import Script from 'next/script'; import Script from 'next/script';
import { usePathname } from 'next/navigation'; import { usePathname } from 'next/navigation';
import UpdateNotice from './UpdateNotice'; import { UpdateNotice } from './UpdateNotice';
import NavBar from '@/app/(main)/NavBar'; import { NavBar } from '@/app/(main)/NavBar';
import Page from '@/components/layout/Page'; import { Page } from '@/components/layout/Page';
import { useLogin, useConfig } from '@/components/hooks'; import { useLogin, useConfig } from '@/components/hooks';
export function App({ children }) { export function App({ children }) {
@ -41,5 +41,3 @@ export function App({ children }) {
</Grid> </Grid>
); );
} }
export default App;

View file

@ -1,10 +1,10 @@
'use client'; 'use client';
import { Icon, Text, ThemeButton, Row } from '@umami/react-zen'; import { Icon, Text, ThemeButton, Row } from '@umami/react-zen';
import Link from 'next/link'; import Link from 'next/link';
import LanguageButton from '@/components/input/LanguageButton'; import { LanguageButton } from '@/components/input/LanguageButton';
import ProfileButton from '@/components/input/ProfileButton'; import { ProfileButton } from '@/components/input/ProfileButton';
import TeamsButton from '@/components/input/TeamsButton'; import { TeamsButton } from '@/components/input/TeamsButton';
import Icons from '@/components/icons'; import { Icons } from '@/components/icons';
import { useMessages, useTeamUrl } from '@/components/hooks'; import { useMessages, useTeamUrl } from '@/components/hooks';
export function NavBar() { export function NavBar() {
@ -46,5 +46,3 @@ export function NavBar() {
</Row> </Row>
); );
} }
export default NavBar;

View file

@ -1,14 +1,14 @@
import { useEffect, useCallback, useState } from 'react'; import { useEffect, useCallback, useState } from 'react';
import { Button, AlertBanner, Flexbox } from '@umami/react-zen'; import { Button, AlertBanner, Flexbox } from '@umami/react-zen';
import { setItem } from '@/lib/storage'; import { setItem } from '@/lib/storage';
import useStore, { checkVersion } from '@/store/version'; import { useVersion, checkVersion } from '@/store/version';
import { REPO_URL, VERSION_CHECK } from '@/lib/constants'; import { REPO_URL, VERSION_CHECK } from '@/lib/constants';
import { useMessages } from '@/components/hooks'; import { useMessages } from '@/components/hooks';
import { usePathname } from 'next/navigation'; import { usePathname } from 'next/navigation';
export function UpdateNotice({ user, config }) { export function UpdateNotice({ user, config }) {
const { formatMessage, labels, messages } = useMessages(); const { formatMessage, labels, messages } = useMessages();
const { latest, checked, hasUpdate, releaseUrl } = useStore(); const { latest, checked, hasUpdate, releaseUrl } = useVersion();
const pathname = usePathname(); const pathname = usePathname();
const [dismissed, setDismissed] = useState(checked); const [dismissed, setDismissed] = useState(checked);
const allowUpdate = const allowUpdate =
@ -56,5 +56,3 @@ export function UpdateNotice({ user, config }) {
</Flexbox> </Flexbox>
); );
} }
export default UpdateNotice;

View file

@ -1,3 +1,3 @@
export default function BoardsPage() { export function BoardsPage() {
return <h1>hi.</h1>; return <h1>hi.</h1>;
} }

View file

@ -1,4 +1,4 @@
import BoardsPage from './BoardsPage'; import { BoardsPage } from './BoardsPage';
import { Metadata } from 'next'; import { Metadata } from 'next';
export default function () { export default function () {

View file

@ -1,6 +1,6 @@
'use client'; 'use client';
import TestConsole from './TestConsole'; import { TestConsole } from './TestConsole';
export default function ConsolePage({ websiteId }) { export function ConsolePage({ websiteId }) {
return <TestConsole websiteId={websiteId} />; return <TestConsole websiteId={websiteId} />;
} }

View file

@ -1,11 +1,11 @@
import { Button } from 'react-basics'; import { Button } from 'react-basics';
import Link from 'next/link'; import Link from 'next/link';
import Script from 'next/script'; import Script from 'next/script';
import WebsiteSelect from '@/components/input/WebsiteSelect'; import { WebsiteSelect } from '@/components/input/WebsiteSelect';
import Page from '@/components/layout/Page'; import { Page } from '@/components/layout/Page';
import PageHeader from '@/components/layout/PageHeader'; import { PageHeader } from '@/components/layout/PageHeader';
import EventsChart from '@/components/metrics/EventsChart'; import { EventsChart } from '@/components/metrics/EventsChart';
import WebsiteChart from '../websites/[websiteId]/WebsiteChart'; import { WebsiteChart } from '../websites/[websiteId]/WebsiteChart';
import { useApi, useNavigation } from '@/components/hooks'; import { useApi, useNavigation } from '@/components/hooks';
import styles from './TestConsole.module.css'; import styles from './TestConsole.module.css';
@ -216,5 +216,3 @@ export function TestConsole({ websiteId }: { websiteId: string }) {
</Page> </Page>
); );
} }
export default TestConsole;

View file

@ -3,7 +3,7 @@ import { DragDropContext, Draggable, Droppable } from '@hello-pangea/dnd';
import classNames from 'classnames'; import classNames from 'classnames';
import { Button, Loading, Toggle, SearchField } from 'react-basics'; import { Button, Loading, Toggle, SearchField } from 'react-basics';
import { firstBy } from 'thenby'; import { firstBy } from 'thenby';
import useDashboard, { saveDashboard } from '@/store/dashboard'; import { useDashboard, saveDashboard } from '@/store/dashboard';
import { useMessages, useWebsites } from '@/components/hooks'; import { useMessages, useWebsites } from '@/components/hooks';
import styles from './DashboardEdit.module.css'; import styles from './DashboardEdit.module.css';
@ -156,5 +156,3 @@ export function DashboardEdit({ teamId }: { teamId: string }) {
</> </>
); );
} }
export default DashboardEdit;

View file

@ -1,14 +1,14 @@
'use client'; 'use client';
import { Icon, Icons, Loading, Text } from 'react-basics'; import { Icon, Icons, Loading, Text } from 'react-basics';
import PageHeader from '@/components/layout/PageHeader'; import { PageHeader } from '@/components/layout/PageHeader';
import Pager from '@/components/common/Pager'; import { Pager } from '@/components/common/Pager';
import WebsiteChartList from '../websites/[websiteId]/WebsiteChartList'; import { WebsiteChartList } from '../websites/[websiteId]/WebsiteChartList';
import DashboardSettingsButton from '@/app/(main)/dashboard/DashboardSettingsButton'; import { DashboardSettingsButton } from '@/app/(main)/dashboard/DashboardSettingsButton';
import DashboardEdit from '@/app/(main)/dashboard/DashboardEdit'; import { DashboardEdit } from '@/app/(main)/dashboard/DashboardEdit';
import EmptyPlaceholder from '@/components/common/EmptyPlaceholder'; import { EmptyPlaceholder } from '@/components/common/EmptyPlaceholder';
import { useMessages, useLocale, useTeamUrl, useWebsites } from '@/components/hooks'; import { useMessages, useLocale, useTeamUrl, useWebsites } from '@/components/hooks';
import useDashboard from '@/store/dashboard'; import { useDashboard } from '@/store/dashboard';
import LinkButton from '@/components/common/LinkButton'; import { LinkButton } from '@/components/common/LinkButton';
export function DashboardPage() { export function DashboardPage() {
const { formatMessage, labels, messages } = useMessages(); const { formatMessage, labels, messages } = useMessages();
@ -67,5 +67,3 @@ export function DashboardPage() {
</section> </section>
); );
} }
export default DashboardPage;

View file

@ -1,5 +1,5 @@
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';
import { useMessages } from '@/components/hooks'; import { useMessages } from '@/components/hooks';
@ -32,5 +32,3 @@ export function DashboardSettingsButton() {
</Flexbox> </Flexbox>
); );
} }
export default DashboardSettingsButton;

View file

@ -1,4 +1,4 @@
import DashboardPage from './DashboardPage'; import { DashboardPage } from './DashboardPage';
import { Metadata } from 'next'; import { Metadata } from 'next';
export default function () { export default function () {

View file

@ -1,7 +1,7 @@
import { Metadata } from 'next'; import { Metadata } from 'next';
import App from './App'; import { App } from './App';
export default async function ({ children }) { export default function ({ children }) {
return <App>{children}</App>; return <App>{children}</App>;
} }

View file

@ -1,4 +1,4 @@
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';
import { DEFAULT_DATE_RANGE } from '@/lib/constants'; import { DEFAULT_DATE_RANGE } from '@/lib/constants';
@ -26,5 +26,3 @@ export function DateRangeSetting() {
</Flexbox> </Flexbox>
); );
} }
export default DateRangeSetting;

View file

@ -39,5 +39,3 @@ export function LanguageSetting() {
</Flexbox> </Flexbox>
); );
} }
export default LanguageSetting;

View file

@ -1,6 +1,6 @@
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)/profile/PasswordEditForm'; import { PasswordEditForm } from '@/app/(main)/profile/PasswordEditForm';
import Icons from '@/components/icons'; import { Icons } from '@/components/icons';
import { useMessages } from '@/components/hooks'; import { useMessages } from '@/components/hooks';
export function PasswordChangeButton() { export function PasswordChangeButton() {
@ -27,5 +27,3 @@ export function PasswordChangeButton() {
</> </>
); );
} }
export default PasswordChangeButton;

View file

@ -65,5 +65,3 @@ export function PasswordEditForm({ onSave, onClose }) {
</Form> </Form>
); );
} }
export default PasswordEditForm;

View file

@ -1,4 +1,4 @@
import PageHeader from '@/components/layout/PageHeader'; import { PageHeader } from '@/components/layout/PageHeader';
import { useMessages } from '@/components/hooks'; import { useMessages } from '@/components/hooks';
export function ProfileHeader() { export function ProfileHeader() {
@ -6,5 +6,3 @@ export function ProfileHeader() {
return <PageHeader title={formatMessage(labels.profile)}></PageHeader>; return <PageHeader title={formatMessage(labels.profile)}></PageHeader>;
} }
export default ProfileHeader;

View file

@ -1,9 +1,9 @@
'use client'; 'use client';
import ProfileHeader from './ProfileHeader'; import { ProfileHeader } from './ProfileHeader';
import ProfileSettings from './ProfileSettings'; import { ProfileSettings } from './ProfileSettings';
import styles from './ProfilePage.module.css'; import styles from './ProfilePage.module.css';
export default function () { export function ProfilePage() {
return ( return (
<div className={styles.container}> <div className={styles.container}>
<ProfileHeader /> <ProfileHeader />

View file

@ -1,9 +1,9 @@
import { Form, FormRow } from 'react-basics'; import { Form, FormRow } from 'react-basics';
import TimezoneSetting from '@/app/(main)/profile/TimezoneSetting'; import { TimezoneSetting } from '@/app/(main)/profile/TimezoneSetting';
import DateRangeSetting from '@/app/(main)/profile/DateRangeSetting'; import { DateRangeSetting } from '@/app/(main)/profile/DateRangeSetting';
import LanguageSetting from '@/app/(main)/profile/LanguageSetting'; import { LanguageSetting } from '@/app/(main)/profile/LanguageSetting';
import ThemeSetting from '@/app/(main)/profile/ThemeSetting'; import { ThemeSetting } from '@/app/(main)/profile/ThemeSetting';
import PasswordChangeButton from './PasswordChangeButton'; import { PasswordChangeButton } from './PasswordChangeButton';
import { useLogin, useMessages } from '@/components/hooks'; import { useLogin, useMessages } from '@/components/hooks';
import { ROLES } from '@/lib/constants'; import { ROLES } from '@/lib/constants';
@ -56,5 +56,3 @@ export function ProfileSettings() {
</Form> </Form>
); );
} }
export default ProfileSettings;

View file

@ -29,5 +29,3 @@ export function ThemeSetting() {
</div> </div>
); );
} }
export default ThemeSetting;

View file

@ -33,5 +33,3 @@ export function TimezoneSetting() {
</Flexbox> </Flexbox>
); );
} }
export default TimezoneSetting;

View file

@ -1,5 +1,5 @@
import { Metadata } from 'next'; import { Metadata } from 'next';
import ProfilePage from './ProfilePage'; import { ProfilePage } from './ProfilePage';
export default function () { export default function () {
return <ProfilePage />; return <ProfilePage />;

View file

@ -1,6 +1,6 @@
import { Button, Icon, Icons, Modal, ModalTrigger, Text } from 'react-basics'; import { Button, Icon, Icons, Modal, ModalTrigger, Text } from 'react-basics';
import { useApi, useMessages, useModified } from '@/components/hooks'; import { useApi, useMessages, useModified } from '@/components/hooks';
import ConfirmationForm from '@/components/common/ConfirmationForm'; import { ConfirmationForm } from '@/components/common/ConfirmationForm';
export function ReportDeleteButton({ export function ReportDeleteButton({
reportId, reportId,
@ -51,5 +51,3 @@ export function ReportDeleteButton({
</ModalTrigger> </ModalTrigger>
); );
} }
export default ReportDeleteButton;

View file

@ -1,9 +1,9 @@
import { useReports } from '@/components/hooks'; import { useReports } from '@/components/hooks';
import ReportsTable from './ReportsTable'; import { ReportsTable } from './ReportsTable';
import DataTable from '@/components/common/DataTable'; import { DataTable } from '@/components/common/DataTable';
import { ReactNode } from 'react'; import { ReactNode } from 'react';
export default function ReportsDataTable({ export function ReportsDataTable({
websiteId, websiteId,
teamId, teamId,
children, children,

View file

@ -1,7 +1,7 @@
import PageHeader from '@/components/layout/PageHeader'; import { PageHeader } from '@/components/layout/PageHeader';
import { Icon, Icons, Text } from 'react-basics'; import { Icon, Icons, Text } from 'react-basics';
import { useLogin, useMessages, useTeamUrl } from '@/components/hooks'; import { useLogin, useMessages, useTeamUrl } from '@/components/hooks';
import LinkButton from '@/components/common/LinkButton'; import { LinkButton } from '@/components/common/LinkButton';
import { ROLES } from '@/lib/constants'; import { ROLES } from '@/lib/constants';
export function ReportsHeader() { export function ReportsHeader() {
@ -23,5 +23,3 @@ export function ReportsHeader() {
</PageHeader> </PageHeader>
); );
} }
export default ReportsHeader;

View file

@ -1,10 +1,10 @@
'use client'; 'use client';
import { Metadata } from 'next'; import { Metadata } from 'next';
import ReportsHeader from './ReportsHeader'; import { ReportsHeader } from './ReportsHeader';
import ReportsDataTable from './ReportsDataTable'; import { ReportsDataTable } from './ReportsDataTable';
import { useTeamUrl } from '@/components/hooks'; import { useTeamUrl } from '@/components/hooks';
export default function ReportsPage() { export function ReportsPage() {
const { teamId } = useTeamUrl(); const { teamId } = useTeamUrl();
return ( return (

View file

@ -1,8 +1,8 @@
import { GridColumn, GridTable, Icon, Icons, Text } from 'react-basics'; import { GridColumn, GridTable, Icon, Icons, Text } from 'react-basics';
import LinkButton from '@/components/common/LinkButton'; import { LinkButton } from '@/components/common/LinkButton';
import { useMessages, useLogin, useTeamUrl } from '@/components/hooks'; import { useMessages, useLogin, useTeamUrl } from '@/components/hooks';
import { REPORT_TYPES } from '@/lib/constants'; import { REPORT_TYPES } from '@/lib/constants';
import ReportDeleteButton from './ReportDeleteButton'; import { ReportDeleteButton } from './ReportDeleteButton';
export function ReportsTable({ data = [], showDomain }: { data: any[]; showDomain?: boolean }) { export function ReportsTable({ data = [], showDomain }: { data: any[]; showDomain?: boolean }) {
const { formatMessage, labels } = useMessages(); const { formatMessage, labels } = useMessages();
@ -46,5 +46,3 @@ export function ReportsTable({ data = [], showDomain }: { data: any[]; showDomai
</GridTable> </GridTable>
); );
} }
export default ReportsTable;

View file

@ -1,8 +1,8 @@
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';
import DateFilter from '@/components/input/DateFilter'; import { DateFilter } from '@/components/input/DateFilter';
import WebsiteSelect from '@/components/input/WebsiteSelect'; import { WebsiteSelect } from '@/components/input/WebsiteSelect';
import { useMessages, useTeamUrl, useWebsite } from '@/components/hooks'; import { useMessages, useTeamUrl, useWebsite } from '@/components/hooks';
import { ReportContext } from './Report'; import { ReportContext } from './Report';
import styles from './BaseParameters.module.css'; import styles from './BaseParameters.module.css';
@ -63,5 +63,3 @@ export function BaseParameters({
</> </>
); );
} }
export default BaseParameters;

View file

@ -1,8 +1,8 @@
import { useState } from 'react'; import { useState } from 'react';
import { createPortal } from 'react-dom'; import { createPortal } from 'react-dom';
import { REPORT_PARAMETERS } from '@/lib/constants'; import { REPORT_PARAMETERS } from '@/lib/constants';
import PopupForm from './PopupForm'; import { PopupForm } from './PopupForm';
import FieldSelectForm from './FieldSelectForm'; import { FieldSelectForm } from './FieldSelectForm';
export function FieldAddForm({ export function FieldAddForm({
fields = [], fields = [],
@ -45,5 +45,3 @@ export function FieldAddForm({
document.body, document.body,
); );
} }
export default FieldAddForm;

View file

@ -1,7 +1,7 @@
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';
export default function FieldAggregateForm({ export function FieldAggregateForm({
name, name,
type, type,
onSelect, onSelect,

View file

@ -33,7 +33,7 @@ export interface FieldFilterFormProps {
isNew?: boolean; isNew?: boolean;
} }
export default function FieldFilterEditForm({ export function FieldFilterEditForm({
websiteId, websiteId,
name, name,
label, label,

View file

@ -1,5 +1,5 @@
import { useFields, useMessages } from '@/components/hooks'; import { useFields, useMessages } from '@/components/hooks';
import Icons from '@/components/icons'; import { Icons } from '@/components/icons';
import { useContext } from 'react'; import { useContext } from 'react';
import { Button, FormRow, Icon, Popup, PopupTrigger } from 'react-basics'; import { Button, FormRow, Icon, Popup, PopupTrigger } from 'react-basics';
import FieldSelectForm from '../[reportId]/FieldSelectForm'; import FieldSelectForm from '../[reportId]/FieldSelectForm';
@ -59,5 +59,3 @@ export function FieldParameters() {
</FormRow> </FormRow>
); );
} }
export default FieldParameters;

View file

@ -9,11 +9,7 @@ export interface FieldSelectFormProps {
showType?: boolean; showType?: boolean;
} }
export default function FieldSelectForm({ export function FieldSelectForm({ fields = [], onSelect, showType = true }: FieldSelectFormProps) {
fields = [],
onSelect,
showType = true,
}: FieldSelectFormProps) {
const { formatMessage, labels } = useMessages(); const { formatMessage, labels } = useMessages();
return ( return (

View file

@ -1,6 +1,6 @@
import { useContext } from 'react'; import { useContext } from 'react';
import { useMessages, useFormat, useFilters, useFields } from '@/components/hooks'; import { useMessages, useFormat, useFilters, useFields } from '@/components/hooks';
import Icons from '@/components/icons'; import { Icons } from '@/components/icons';
import { Button, FormRow, Icon, Popup, PopupTrigger } from 'react-basics'; import { Button, FormRow, Icon, Popup, PopupTrigger } from 'react-basics';
import FilterSelectForm from '../[reportId]/FilterSelectForm'; import FilterSelectForm from '../[reportId]/FilterSelectForm';
import ParameterList from '../[reportId]/ParameterList'; import ParameterList from '../[reportId]/ParameterList';
@ -134,5 +134,3 @@ const FilterParameter = ({
</PopupTrigger> </PopupTrigger>
); );
}; };
export default FilterParameters;

View file

@ -1,6 +1,6 @@
import { useState } from 'react'; import { useState } from 'react';
import FieldSelectForm from './FieldSelectForm'; import { FieldSelectForm } from './FieldSelectForm';
import FieldFilterEditForm from './FieldFilterEditForm'; import { FieldFilterEditForm } from './FieldFilterEditForm';
export interface FilterSelectFormProps { export interface FilterSelectFormProps {
websiteId?: string; websiteId?: string;
@ -11,7 +11,7 @@ export interface FilterSelectFormProps {
allowFilterSelect?: boolean; allowFilterSelect?: boolean;
} }
export default function FilterSelectForm({ export function FilterSelectForm({
websiteId, websiteId,
fields, fields,
startDate, startDate,

View file

@ -1,7 +1,7 @@
import { ReactNode } from 'react'; import { ReactNode } from 'react';
import { Icon } from 'react-basics'; import { Icon } from 'react-basics';
import Icons from '@/components/icons'; import { Icons } from '@/components/icons';
import Empty from '@/components/common/Empty'; import { Empty } from '@/components/common/Empty';
import { useMessages } from '@/components/hooks'; import { useMessages } from '@/components/hooks';
import styles from './ParameterList.module.css'; import styles from './ParameterList.module.css';
import classNames from 'classnames'; import classNames from 'classnames';
@ -46,5 +46,3 @@ const Item = ({
}; };
ParameterList.Item = Item; ParameterList.Item = Item;
export default ParameterList;

View file

@ -21,5 +21,3 @@ export function PopupForm({
</div> </div>
); );
} }
export default PopupForm;

View file

@ -29,5 +29,3 @@ export function Report({
</ReportContext.Provider> </ReportContext.Provider>
); );
} }
export default Report;

View file

@ -11,5 +11,3 @@ export function ReportBody({ children }) {
return <div className={styles.body}>{children}</div>; return <div className={styles.body}>{children}</div>;
} }
export default ReportBody;

View file

@ -4,7 +4,7 @@ import { useMessages, useApi, useNavigation, useTeamUrl } from '@/components/hoo
import { ReportContext } from './Report'; import { ReportContext } from './Report';
import styles from './ReportHeader.module.css'; import styles from './ReportHeader.module.css';
import { REPORT_TYPES } from '@/lib/constants'; import { REPORT_TYPES } from '@/lib/constants';
import Breadcrumb from '@/components/common/Breadcrumb'; import { Breadcrumb } from '@/components/common/Breadcrumb';
export function ReportHeader({ icon }) { export function ReportHeader({ icon }) {
const { report, updateReport } = useContext(ReportContext); const { report, updateReport } = useContext(ReportContext);
@ -102,5 +102,3 @@ export function ReportHeader({ icon }) {
</div> </div>
); );
} }
export default ReportHeader;

View file

@ -23,5 +23,3 @@ export function ReportMenu({ children }) {
</div> </div>
); );
} }
export default ReportMenu;

View file

@ -20,7 +20,7 @@ const reports = {
revenue: RevenueReport, revenue: RevenueReport,
}; };
export default function ReportPage({ reportId }: { reportId: string }) { export function ReportPage({ reportId }: { reportId: string }) {
const { report } = useReport(reportId); const { report } = useReport(reportId);
if (!report) { if (!report) {

View file

@ -1,5 +1,5 @@
import { Metadata } from 'next'; import { Metadata } from 'next';
import ReportPage from './ReportPage'; import { ReportPage } from './ReportPage';
export default async function ({ params }: { params: { reportId: string } }) { export default async function ({ params }: { params: { reportId: string } }) {
const { reportId } = await params; const { reportId } = await params;

View file

@ -1,6 +1,6 @@
'use client'; 'use client';
import ReportTemplates from './ReportTemplates'; import { ReportTemplates } from './ReportTemplates';
export default function ReportCreatePage() { export function ReportCreatePage() {
return <ReportTemplates />; return <ReportTemplates />;
} }

View file

@ -6,7 +6,7 @@ import Path from '@/assets/path.svg';
import Tag from '@/assets/tag.svg'; import Tag from '@/assets/tag.svg';
import Target from '@/assets/target.svg'; import Target from '@/assets/target.svg';
import { useMessages, useTeamUrl } from '@/components/hooks'; import { useMessages, useTeamUrl } from '@/components/hooks';
import PageHeader from '@/components/layout/PageHeader'; import { PageHeader } from '@/components/layout/PageHeader';
import Link from 'next/link'; import Link from 'next/link';
import { Button, Icon, Icons, Text } from 'react-basics'; import { Button, Icon, Icons, Text } from 'react-basics';
import styles from './ReportTemplates.module.css'; import styles from './ReportTemplates.module.css';
@ -97,5 +97,3 @@ function ReportItem({ title, description, url, icon }) {
</div> </div>
); );
} }
export default ReportTemplates;

View file

@ -1,4 +1,4 @@
import ReportCreatePage from './ReportCreatePage'; import { ReportCreatePage } from './ReportCreatePage';
import { Metadata } from 'next'; import { Metadata } from 'next';
export default function () { export default function () {

View file

@ -1,7 +1,7 @@
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';
import Icons from '@/components/icons'; import { Icons } from '@/components/icons';
import { useApi, useMessages } from '@/components/hooks'; import { useApi, useMessages } from '@/components/hooks';
import { DATA_TYPES, REPORT_PARAMETERS } from '@/lib/constants'; import { DATA_TYPES, REPORT_PARAMETERS } from '@/lib/constants';
import { ReportContext } from '../[reportId]/Report'; import { ReportContext } from '../[reportId]/Report';
@ -137,5 +137,3 @@ export function EventDataParameters() {
</Form> </Form>
); );
} }
export default EventDataParameters;

View file

@ -2,8 +2,8 @@ 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';
import ReportBody from '../[reportId]/ReportBody'; import ReportBody from '../[reportId]/ReportBody';
import EventDataParameters from './EventDataParameters'; import { EventDataParameters } from './EventDataParameters';
import EventDataTable from './EventDataTable'; import { EventDataTable } from './EventDataTable';
import Nodes from '@/assets/nodes.svg'; import Nodes from '@/assets/nodes.svg';
const defaultParameters = { const defaultParameters = {
@ -11,7 +11,7 @@ const defaultParameters = {
parameters: { fields: [], filters: [] }, parameters: { fields: [], filters: [] },
}; };
export default function EventDataReport({ reportId }: { reportId?: string }) { export function EventDataReport({ reportId }: { reportId?: string }) {
return ( return (
<Report reportId={reportId} defaultParameters={defaultParameters}> <Report reportId={reportId} defaultParameters={defaultParameters}>
<ReportHeader icon={<Nodes />} /> <ReportHeader icon={<Nodes />} />

View file

@ -1,6 +1,6 @@
'use client'; 'use client';
import EventDataReport from './EventDataReport'; import { EventDataReport } from './EventDataReport';
export default function EventDataReportPage() { export function EventDataReportPage() {
return <EventDataReport />; return <EventDataReport />;
} }

View file

@ -15,5 +15,3 @@ export function EventDataTable() {
</GridTable> </GridTable>
); );
} }
export default EventDataTable;

View file

@ -1,5 +1,5 @@
import { Metadata } from 'next'; import { Metadata } from 'next';
import EventDataReportPage from './EventDataReportPage'; import { EventDataReportPage } from './EventDataReportPage';
export default function () { export default function () {
return <EventDataReportPage />; return <EventDataReportPage />;

View file

@ -52,5 +52,3 @@ export function FunnelChart({ className }: FunnelChartProps) {
</div> </div>
); );
} }
export default FunnelChart;

View file

@ -12,8 +12,8 @@ import {
TextField, TextField,
Button, Button,
} from 'react-basics'; } from 'react-basics';
import Icons from '@/components/icons'; import { Icons } from '@/components/icons';
import FunnelStepAddForm from './FunnelStepAddForm'; import { FunnelStepAddForm } from './FunnelStepAddForm';
import { ReportContext } from '../[reportId]/Report'; import { ReportContext } from '../[reportId]/Report';
import BaseParameters from '../[reportId]/BaseParameters'; import BaseParameters from '../[reportId]/BaseParameters';
import ParameterList from '../[reportId]/ParameterList'; import ParameterList from '../[reportId]/ParameterList';
@ -124,5 +124,3 @@ export function FunnelParameters() {
</Form> </Form>
); );
} }
export default FunnelParameters;

View file

@ -1,5 +1,5 @@
import FunnelChart from './FunnelChart'; import { FunnelChart } from './FunnelChart';
import FunnelParameters from './FunnelParameters'; import { FunnelParameters } from './FunnelParameters';
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';
@ -12,7 +12,7 @@ const defaultParameters = {
parameters: { window: 60, steps: [] }, parameters: { window: 60, steps: [] },
}; };
export default function FunnelReport({ reportId }: { reportId?: string }) { export function FunnelReport({ reportId }: { reportId?: string }) {
return ( return (
<Report reportId={reportId} defaultParameters={defaultParameters}> <Report reportId={reportId} defaultParameters={defaultParameters}>
<ReportHeader icon={<Funnel />} /> <ReportHeader icon={<Funnel />} />

View file

@ -1,6 +1,6 @@
'use client'; 'use client';
import FunnelReport from './FunnelReport'; import { FunnelReport } from './FunnelReport';
export default function FunnelReportPage() { export function FunnelReportPage() {
return <FunnelReport />; return <FunnelReport />;
} }

View file

@ -76,5 +76,3 @@ export function FunnelStepAddForm({
</Flexbox> </Flexbox>
); );
} }
export default FunnelStepAddForm;

View file

@ -1,4 +1,4 @@
import FunnelReportPage from './FunnelReportPage'; import { FunnelReportPage } from './FunnelReportPage';
import { Metadata } from 'next'; import { Metadata } from 'next';
export default function () { export default function () {

View file

@ -139,5 +139,3 @@ export function GoalsAddForm({
</Flexbox> </Flexbox>
); );
} }
export default GoalsAddForm;

View file

@ -70,5 +70,3 @@ export function GoalsChart({ className }: { className?: string; isLoading?: bool
</div> </div>
); );
} }
export default GoalsChart;

View file

@ -1,5 +1,5 @@
import { useMessages } from '@/components/hooks'; import { useMessages } from '@/components/hooks';
import Icons from '@/components/icons'; import { Icons } from '@/components/icons';
import { formatNumber } from '@/lib/format'; import { formatNumber } from '@/lib/format';
import { useContext } from 'react'; import { useContext } from 'react';
import { import {
@ -17,7 +17,7 @@ import BaseParameters from '../[reportId]/BaseParameters';
import ParameterList from '../[reportId]/ParameterList'; import ParameterList from '../[reportId]/ParameterList';
import PopupForm from '../[reportId]/PopupForm'; import PopupForm from '../[reportId]/PopupForm';
import { ReportContext } from '../[reportId]/Report'; import { ReportContext } from '../[reportId]/Report';
import GoalsAddForm from './GoalsAddForm'; import { GoalsAddForm } from './GoalsAddForm';
import styles from './GoalsParameters.module.css'; import styles from './GoalsParameters.module.css';
export function GoalsParameters() { export function GoalsParameters() {
@ -137,5 +137,3 @@ export function GoalsParameters() {
</Form> </Form>
); );
} }
export default GoalsParameters;

View file

@ -1,5 +1,5 @@
import GoalsChart from './GoalsChart'; import { GoalsChart } from './GoalsChart';
import GoalsParameters from './GoalsParameters'; import { GoalsParameters } from './GoalsParameters';
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';
@ -12,7 +12,7 @@ const defaultParameters = {
parameters: { goals: [] }, parameters: { goals: [] },
}; };
export default function GoalsReport({ reportId }: { reportId?: string }) { export function GoalsReport({ reportId }: { reportId?: string }) {
return ( return (
<Report reportId={reportId} defaultParameters={defaultParameters}> <Report reportId={reportId} defaultParameters={defaultParameters}>
<ReportHeader icon={<Target />} /> <ReportHeader icon={<Target />} />

View file

@ -1,6 +1,6 @@
'use client'; 'use client';
import GoalReport from './GoalsReport'; import { GoalReport } from './GoalsReport';
export default function GoalReportPage() { export function GoalReportPage() {
return <GoalReport />; return <GoalReport />;
} }

View file

@ -1,4 +1,4 @@
import GoalsReportPage from './GoalsReportPage'; import { GoalsReportPage } from './GoalsReportPage';
import { Metadata } from 'next'; import { Metadata } from 'next';
export default function () { export default function () {

View file

@ -32,5 +32,3 @@ export function InsightsParameters() {
</Form> </Form>
); );
} }
export default InsightsParameters;

View file

@ -2,8 +2,8 @@ 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';
import ReportBody from '../[reportId]/ReportBody'; import ReportBody from '../[reportId]/ReportBody';
import InsightsParameters from './InsightsParameters'; import { InsightsParameters } from './InsightsParameters';
import InsightsTable from './InsightsTable'; import { InsightsTable } from './InsightsTable';
import Lightbulb from '@/assets/lightbulb.svg'; import Lightbulb from '@/assets/lightbulb.svg';
import { REPORT_TYPES } from '@/lib/constants'; import { REPORT_TYPES } from '@/lib/constants';
@ -12,7 +12,7 @@ const defaultParameters = {
parameters: { fields: [], filters: [] }, parameters: { fields: [], filters: [] },
}; };
export default function InsightsReport({ reportId }: { reportId?: string }) { export function InsightsReport({ reportId }: { reportId?: string }) {
return ( return (
<Report reportId={reportId} defaultParameters={defaultParameters}> <Report reportId={reportId} defaultParameters={defaultParameters}>
<ReportHeader icon={<Lightbulb />} /> <ReportHeader icon={<Lightbulb />} />

View file

@ -1,6 +1,6 @@
'use client'; 'use client';
import InsightsReport from './InsightsReport'; import { InsightsReport } from './InsightsReport';
export default function InsightsReportPage() { export function InsightsReportPage() {
return <InsightsReport />; return <InsightsReport />;
} }

View file

@ -2,7 +2,7 @@ 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';
import { ReportContext } from '../[reportId]/Report'; import { ReportContext } from '../[reportId]/Report';
import EmptyPlaceholder from '@/components/common/EmptyPlaceholder'; import { EmptyPlaceholder } from '@/components/common/EmptyPlaceholder';
import { formatShortTime } from '@/lib/format'; import { formatShortTime } from '@/lib/format';
export function InsightsTable() { export function InsightsTable() {
@ -71,5 +71,3 @@ export function InsightsTable() {
</GridTable> </GridTable>
); );
} }
export default InsightsTable;

View file

@ -1,4 +1,4 @@
import InsightsReportPage from './InsightsReportPage'; import { InsightsReportPage } from './InsightsReportPage';
import { Metadata } from 'next'; import { Metadata } from 'next';
export default function () { export default function () {

View file

@ -59,5 +59,3 @@ export function JourneyParameters() {
</Form> </Form>
); );
} }
export default JourneyParameters;

View file

@ -3,8 +3,8 @@ 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';
import ReportBody from '../[reportId]/ReportBody'; import ReportBody from '../[reportId]/ReportBody';
import JourneyParameters from './JourneyParameters'; import { JourneyParameters } from './JourneyParameters';
import JourneyView from './JourneyView'; import { JourneyView } from './JourneyView';
import Path from '@/assets/path.svg'; import Path from '@/assets/path.svg';
import { REPORT_TYPES } from '@/lib/constants'; import { REPORT_TYPES } from '@/lib/constants';
@ -13,7 +13,7 @@ const defaultParameters = {
parameters: { steps: 5 }, parameters: { steps: 5 },
}; };
export default function JourneyReport({ reportId }: { reportId?: string }) { export function JourneyReport({ reportId }: { reportId?: string }) {
return ( return (
<Report reportId={reportId} defaultParameters={defaultParameters}> <Report reportId={reportId} defaultParameters={defaultParameters}>
<ReportHeader icon={<Path />} /> <ReportHeader icon={<Path />} />

View file

@ -1,5 +1,5 @@
import JourneyReport from './JourneyReport'; import { JourneyReport } from './JourneyReport';
export default function JourneyReportPage() { export function JourneyReportPage() {
return <JourneyReport />; return <JourneyReport />;
} }

View file

@ -12,7 +12,7 @@ const NODE_HEIGHT = 60;
const NODE_GAP = 10; const NODE_GAP = 10;
const LINE_WIDTH = 3; const LINE_WIDTH = 3;
export default function JourneyView() { export function JourneyView() {
const [selectedNode, setSelectedNode] = useState(null); const [selectedNode, setSelectedNode] = useState(null);
const [activeNode, setActiveNode] = useState(null); const [activeNode, setActiveNode] = useState(null);
const { report } = useContext(ReportContext); const { report } = useContext(ReportContext);

View file

@ -1,5 +1,5 @@
import { Metadata } from 'next'; import { Metadata } from 'next';
import JourneyReportPage from './JourneyReportPage'; import { JourneyReportPage } from './JourneyReportPage';
export default function () { export default function () {
return <JourneyReportPage />; return <JourneyReportPage />;

View file

@ -1,4 +1,4 @@
import ReportsPage from './ReportsPage'; import { ReportsPage } from './ReportsPage';
import { Metadata } from 'next'; import { Metadata } from 'next';
export default function () { export default function () {

View file

@ -42,5 +42,3 @@ export function RetentionParameters() {
</Form> </Form>
); );
} }
export default RetentionParameters;

View file

@ -1,5 +1,5 @@
import RetentionTable from './RetentionTable'; import { RetentionTable } from './RetentionTable';
import RetentionParameters from './RetentionParameters'; import { RetentionParameters } from './RetentionParameters';
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';
@ -18,7 +18,7 @@ const defaultParameters = {
}, },
}; };
export default function RetentionReport({ reportId }: { reportId?: string }) { export function RetentionReport({ reportId }: { reportId?: string }) {
return ( return (
<Report reportId={reportId} defaultParameters={defaultParameters}> <Report reportId={reportId} defaultParameters={defaultParameters}>
<ReportHeader icon={<Magnet />} /> <ReportHeader icon={<Magnet />} />

View file

@ -1,8 +1,8 @@
'use client'; 'use client';
import { Metadata } from 'next'; import { Metadata } from 'next';
import RetentionReport from './RetentionReport'; import { RetentionReport } from './RetentionReport';
export default function RetentionReportPage() { export function RetentionReportPage() {
return <RetentionReport />; return <RetentionReport />;
} }

View file

@ -1,7 +1,7 @@
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';
import EmptyPlaceholder from '@/components/common/EmptyPlaceholder'; import { EmptyPlaceholder } from '@/components/common/EmptyPlaceholder';
import { useMessages, useLocale } from '@/components/hooks'; import { useMessages, useLocale } from '@/components/hooks';
import { formatDate } from '@/lib/date'; import { formatDate } from '@/lib/date';
import styles from './RetentionTable.module.css'; import styles from './RetentionTable.module.css';
@ -75,5 +75,3 @@ export function RetentionTable({ days = DAYS }) {
</> </>
); );
} }
export default RetentionTable;

View file

@ -1,5 +1,5 @@
import { Metadata } from 'next'; import { Metadata } from 'next';
import RetentionReportPage from './RetentionReportPage'; import { RetentionReportPage } from './RetentionReportPage';
export default function () { export default function () {
return <RetentionReportPage />; return <RetentionReportPage />;

View file

@ -1,5 +1,5 @@
import { useMessages } from '@/components/hooks'; import { useMessages } from '@/components/hooks';
import useRevenueValues from '@/components/hooks/queries/useRevenueValues'; import { useRevenueValues } from '@/components/hooks/queries/useRevenueValues';
import { useContext } from 'react'; import { useContext } from 'react';
import { Dropdown, Form, FormButtons, FormInput, FormRow, Item, SubmitButton } from 'react-basics'; import { Dropdown, Form, FormButtons, FormInput, FormRow, Item, SubmitButton } from 'react-basics';
import BaseParameters from '../[reportId]/BaseParameters'; import BaseParameters from '../[reportId]/BaseParameters';
@ -42,5 +42,3 @@ export function RevenueParameters() {
</Form> </Form>
); );
} }
export default RevenueParameters;

View file

@ -4,15 +4,15 @@ import Report from '../[reportId]/Report';
import ReportBody from '../[reportId]/ReportBody'; import ReportBody from '../[reportId]/ReportBody';
import ReportHeader from '../[reportId]/ReportHeader'; import ReportHeader from '../[reportId]/ReportHeader';
import ReportMenu from '../[reportId]/ReportMenu'; import ReportMenu from '../[reportId]/ReportMenu';
import RevenueParameters from './RevenueParameters'; import { RevenueParameters } from './RevenueParameters';
import RevenueView from './RevenueView'; import { RevenueView } from './RevenueView';
const defaultParameters = { const defaultParameters = {
type: REPORT_TYPES.revenue, type: REPORT_TYPES.revenue,
parameters: {}, parameters: {},
}; };
export default function RevenueReport({ reportId }: { reportId?: string }) { export function RevenueReport({ reportId }: { reportId?: string }) {
return ( return (
<Report reportId={reportId} defaultParameters={defaultParameters}> <Report reportId={reportId} defaultParameters={defaultParameters}>
<ReportHeader icon={<Money />} /> <ReportHeader icon={<Money />} />

View file

@ -1,6 +1,6 @@
'use client'; 'use client';
import RevenueReport from './RevenueReport'; import { RevenueReport } from './RevenueReport';
export default function RevenueReportPage() { export function RevenueReportPage() {
return <RevenueReport />; return <RevenueReport />;
} }

View file

@ -1,4 +1,4 @@
import EmptyPlaceholder from '@/components/common/EmptyPlaceholder'; import { EmptyPlaceholder } from '@/components/common/EmptyPlaceholder';
import { useMessages } from '@/components/hooks'; import { useMessages } from '@/components/hooks';
import { useContext } from 'react'; import { useContext } from 'react';
import { GridColumn, GridTable } from 'react-basics'; import { GridColumn, GridTable } from 'react-basics';
@ -34,5 +34,3 @@ export function RevenueTable() {
</GridTable> </GridTable>
); );
} }
export default RevenueTable;

View file

@ -1,19 +1,19 @@
import classNames from 'classnames'; import classNames from 'classnames';
import { colord } from 'colord'; import { colord } from 'colord';
import BarChart from '@/components/charts/BarChart'; import { BarChart } from '@/components/charts/BarChart';
import PieChart from '@/components/charts/PieChart'; import { PieChart } from '@/components/charts/PieChart';
import TypeIcon from '@/components/common/TypeIcon'; import { TypeIcon } from '@/components/common/TypeIcon';
import { useCountryNames, useLocale, useMessages } from '@/components/hooks'; import { useCountryNames, useLocale, useMessages } from '@/components/hooks';
import { GridRow } from '@/components/layout/Grid'; import { GridRow } from '@/components/layout/Grid';
import ListTable from '@/components/metrics/ListTable'; import { ListTable } from '@/components/metrics/ListTable';
import MetricCard from '@/components/metrics/MetricCard'; import { MetricCard } from '@/components/metrics/MetricCard';
import MetricsBar from '@/components/metrics/MetricsBar'; import { MetricsBar } from '@/components/metrics/MetricsBar';
import { renderDateLabels } from '@/lib/charts'; import { renderDateLabels } from '@/lib/charts';
import { CHART_COLORS } from '@/lib/constants'; import { CHART_COLORS } from '@/lib/constants';
import { formatLongCurrency, formatLongNumber } from '@/lib/format'; import { formatLongCurrency, formatLongNumber } from '@/lib/format';
import { useCallback, useContext, useMemo } from 'react'; import { useCallback, useContext, useMemo } from 'react';
import { ReportContext } from '../[reportId]/Report'; import { ReportContext } from '../[reportId]/Report';
import RevenueTable from './RevenueTable'; import { RevenueTable } from './RevenueTable';
import styles from './RevenueView.module.css'; import styles from './RevenueView.module.css';
export interface RevenueViewProps { export interface RevenueViewProps {
@ -152,5 +152,3 @@ export function RevenueView({ isLoading }: RevenueViewProps) {
</> </>
); );
} }
export default RevenueView;

View file

@ -1,4 +1,4 @@
import RevenueReportPage from './RevenueReportPage'; import { RevenueReportPage } from './RevenueReportPage';
import { Metadata } from 'next'; import { Metadata } from 'next';
export default function () { export default function () {

View file

@ -32,5 +32,3 @@ export function UTMParameters() {
</Form> </Form>
); );
} }
export default UTMParameters;

View file

@ -3,8 +3,8 @@ 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';
import ReportBody from '../[reportId]/ReportBody'; import ReportBody from '../[reportId]/ReportBody';
import UTMParameters from './UTMParameters'; import { UTMParameters } from './UTMParameters';
import UTMView from './UTMView'; import { UTMView } from './UTMView';
import Tag from '@/assets/tag.svg'; import Tag from '@/assets/tag.svg';
import { REPORT_TYPES } from '@/lib/constants'; import { REPORT_TYPES } from '@/lib/constants';
@ -13,7 +13,7 @@ const defaultParameters = {
parameters: {}, parameters: {},
}; };
export default function UTMReport({ reportId }: { reportId?: string }) { export function UTMReport({ reportId }: { reportId?: string }) {
return ( return (
<Report reportId={reportId} defaultParameters={defaultParameters}> <Report reportId={reportId} defaultParameters={defaultParameters}>
<ReportHeader icon={<Tag />} /> <ReportHeader icon={<Tag />} />

View file

@ -1,5 +1,5 @@
import UTMReport from './UTMReport'; import { UTMReport } from './UTMReport';
export default function UTMReportPage() { export function UTMReportPage() {
return <UTMReport />; return <UTMReport />;
} }

View file

@ -2,8 +2,8 @@ import { useContext } from 'react';
import { firstBy } from 'thenby'; import { firstBy } from 'thenby';
import { ReportContext } from '../[reportId]/Report'; import { ReportContext } from '../[reportId]/Report';
import { CHART_COLORS, UTM_PARAMS } from '@/lib/constants'; import { CHART_COLORS, UTM_PARAMS } from '@/lib/constants';
import PieChart from '@/components/charts/PieChart'; import { PieChart } from '@/components/charts/PieChart';
import ListTable from '@/components/metrics/ListTable'; import { ListTable } from '@/components/metrics/ListTable';
import styles from './UTMView.module.css'; import styles from './UTMView.module.css';
import { useMessages } from '@/components/hooks'; import { useMessages } from '@/components/hooks';
@ -15,7 +15,7 @@ function toArray(data: { [key: string]: number } = {}) {
.sort(firstBy('value', -1)); .sort(firstBy('value', -1));
} }
export default function UTMView() { export function UTMView() {
const { formatMessage, labels } = useMessages(); const { formatMessage, labels } = useMessages();
const { report } = useContext(ReportContext); const { report } = useContext(ReportContext);
const { data } = report || {}; const { data } = report || {};

View file

@ -1,5 +1,5 @@
import { Metadata } from 'next'; import { Metadata } from 'next';
import UTMReportPage from './UTMReportPage'; import { UTMReportPage } from './UTMReportPage';
export default function () { export default function () {
return <UTMReportPage />; return <UTMReportPage />;

View file

@ -1,9 +1,9 @@
'use client'; 'use client';
import { ReactNode } from 'react'; import { ReactNode } from 'react';
import { useLogin, useMessages } from '@/components/hooks'; import { useLogin, useMessages } from '@/components/hooks';
import MenuLayout from '@/components/layout/MenuLayout'; import { MenuLayout } from '@/components/layout/MenuLayout';
export default function SettingsLayout({ children }: { children: ReactNode }) { export function SettingsLayout({ children }: { children: ReactNode }) {
const { user } = useLogin(); const { user } = useLogin();
const { formatMessage, labels } = useMessages(); const { formatMessage, labels } = useMessages();

View file

@ -1,4 +1,4 @@
import SettingsLayout from './SettingsLayout'; import { SettingsLayout } from './SettingsLayout';
import { Metadata } from 'next'; import { Metadata } from 'next';
export default function ({ children }) { export default function ({ children }) {

View file

@ -43,5 +43,3 @@ export function TeamAddForm({ onSave, onClose }: { onSave: () => void; onClose:
</Form> </Form>
); );
} }
export default TeamAddForm;

View file

@ -41,5 +41,3 @@ export function TeamJoinForm({ onSave, onClose }: { onSave: () => void; onClose:
</Form> </Form>
); );
} }
export default TeamJoinForm;

View file

@ -1,7 +1,7 @@
import { useLocale, useLogin, useMessages, useModified } from '@/components/hooks'; import { useLocale, useLogin, useMessages, useModified } from '@/components/hooks';
import { useRouter } from 'next/navigation'; import { useRouter } from 'next/navigation';
import { Button, Icon, Icons, Modal, ModalTrigger, Text } from 'react-basics'; import { Button, Icon, Icons, Modal, ModalTrigger, Text } from 'react-basics';
import TeamDeleteForm from './TeamLeaveForm'; import { TeamLeaveForm } from './TeamLeaveForm';
export function TeamLeaveButton({ teamId, teamName }: { teamId: string; teamName: string }) { export function TeamLeaveButton({ teamId, teamName }: { teamId: string; teamName: string }) {
const { formatMessage, labels } = useMessages(); const { formatMessage, labels } = useMessages();
@ -25,7 +25,7 @@ export function TeamLeaveButton({ teamId, teamName }: { teamId: string; teamName
</Button> </Button>
<Modal title={formatMessage(labels.leaveTeam)}> <Modal title={formatMessage(labels.leaveTeam)}>
{(close: () => void) => ( {(close: () => void) => (
<TeamDeleteForm <TeamLeaveForm
teamId={teamId} teamId={teamId}
userId={user.id} userId={user.id}
teamName={teamName} teamName={teamName}
@ -37,5 +37,3 @@ export function TeamLeaveButton({ teamId, teamName }: { teamId: string; teamName
</ModalTrigger> </ModalTrigger>
); );
} }
export default TeamLeaveButton;

View file

@ -1,5 +1,5 @@
import { useApi, useMessages, useModified } from '@/components/hooks'; import { useApi, useMessages, useModified } from '@/components/hooks';
import ConfirmationForm from '@/components/common/ConfirmationForm'; import { ConfirmationForm } from '@/components/common/ConfirmationForm';
export function TeamLeaveForm({ export function TeamLeaveForm({
teamId, teamId,
@ -42,5 +42,3 @@ export function TeamLeaveForm({
/> />
); );
} }
export default TeamLeaveForm;

View file

@ -1,7 +1,7 @@
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, useModified } from '@/components/hooks'; import { useMessages, useModified } from '@/components/hooks';
import TeamAddForm from './TeamAddForm'; import { TeamAddForm } from './TeamAddForm';
import { messages } from '@/components/messages'; import { messages } from '@/components/messages';
export function TeamsAddButton({ onSave }: { onSave?: () => void }) { export function TeamsAddButton({ onSave }: { onSave?: () => void }) {
@ -29,5 +29,3 @@ export function TeamsAddButton({ onSave }: { onSave?: () => void }) {
</ModalTrigger> </ModalTrigger>
); );
} }
export default TeamsAddButton;

View file

@ -1,5 +1,5 @@
import DataTable from '@/components/common/DataTable'; import { DataTable } from '@/components/common/DataTable';
import TeamsTable from '@/app/(main)/settings/teams/TeamsTable'; import { TeamsTable } from '@/app/(main)/settings/teams/TeamsTable';
import { useLogin, useTeams } from '@/components/hooks'; import { useLogin, useTeams } from '@/components/hooks';
import { ReactNode } from 'react'; import { ReactNode } from 'react';
@ -23,5 +23,3 @@ export function TeamsDataTable({
</DataTable> </DataTable>
); );
} }
export default TeamsDataTable;

Some files were not shown because too many files have changed in this diff Show more