diff --git a/.eslintrc.json b/.eslintrc.json index 7f3665fff..cabeaf066 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -30,6 +30,7 @@ "rules": { "no-console": "error", "react/display-name": "off", + "react-hooks/exhaustive-deps": "off", "react/react-in-jsx-scope": "off", "react/prop-types": "off", "import/no-anonymous-default-export": "off", diff --git a/src/app/(main)/reports/[reportId]/FieldAddForm.tsx b/src/app/(main)/reports/[reportId]/FieldAddForm.tsx index 9db472d8d..ac7bff5bc 100644 --- a/src/app/(main)/reports/[reportId]/FieldAddForm.tsx +++ b/src/app/(main)/reports/[reportId]/FieldAddForm.tsx @@ -1,3 +1,4 @@ +'use client'; import { useState } from 'react'; import { createPortal } from 'react-dom'; import { REPORT_PARAMETERS } from 'lib/constants'; diff --git a/src/components/hooks/queries/useApi.ts b/src/components/hooks/queries/useApi.ts index e806d37ed..88427bc72 100644 --- a/src/components/hooks/queries/useApi.ts +++ b/src/components/hooks/queries/useApi.ts @@ -1,3 +1,4 @@ +'use client'; import * as reactQuery from '@tanstack/react-query'; import { useApi as nextUseApi } from 'next-basics'; import { getClientAuthToken } from 'lib/client'; diff --git a/src/components/hooks/queries/useConfig.ts b/src/components/hooks/queries/useConfig.ts index 72fe095d0..505a93f3b 100644 --- a/src/components/hooks/queries/useConfig.ts +++ b/src/components/hooks/queries/useConfig.ts @@ -1,3 +1,4 @@ +'use client'; import { useEffect } from 'react'; import useStore, { setConfig } from 'store/app'; import { useApi } from './useApi'; diff --git a/src/components/hooks/queries/useFilterQuery.ts b/src/components/hooks/queries/useFilterQuery.ts index 7e4c9a86f..5d86c7241 100644 --- a/src/components/hooks/queries/useFilterQuery.ts +++ b/src/components/hooks/queries/useFilterQuery.ts @@ -1,3 +1,4 @@ +'use client'; import { UseQueryOptions } from '@tanstack/react-query'; import { useState, Dispatch, SetStateAction } from 'react'; import { useApi } from './useApi'; diff --git a/src/components/hooks/queries/useLogin.ts b/src/components/hooks/queries/useLogin.ts index c17687b04..2f777a77f 100644 --- a/src/components/hooks/queries/useLogin.ts +++ b/src/components/hooks/queries/useLogin.ts @@ -1,3 +1,4 @@ +'use client'; import useStore, { setUser } from 'store/app'; import useApi from './useApi'; import { UseQueryResult } from '@tanstack/react-query'; diff --git a/src/components/hooks/queries/useReport.ts b/src/components/hooks/queries/useReport.ts index 38061761d..332ba755f 100644 --- a/src/components/hooks/queries/useReport.ts +++ b/src/components/hooks/queries/useReport.ts @@ -1,3 +1,4 @@ +'use client'; import { produce } from 'immer'; import { useCallback, useEffect, useState } from 'react'; import { useApi } from './useApi'; diff --git a/src/components/hooks/queries/useReports.ts b/src/components/hooks/queries/useReports.ts index 2176411f2..99054dfdb 100644 --- a/src/components/hooks/queries/useReports.ts +++ b/src/components/hooks/queries/useReports.ts @@ -1,3 +1,4 @@ +'use client'; import useApi from './useApi'; import useFilterQuery from './useFilterQuery'; import useCache from 'store/cache'; diff --git a/src/components/hooks/queries/useShareToken.ts b/src/components/hooks/queries/useShareToken.ts index 189657be4..8197fe665 100644 --- a/src/components/hooks/queries/useShareToken.ts +++ b/src/components/hooks/queries/useShareToken.ts @@ -1,3 +1,4 @@ +'use client'; import useStore, { setShareToken } from 'store/app'; import useApi from './useApi'; diff --git a/src/components/hooks/queries/useTeam.ts b/src/components/hooks/queries/useTeam.ts index e348531c6..1a8ccc548 100644 --- a/src/components/hooks/queries/useTeam.ts +++ b/src/components/hooks/queries/useTeam.ts @@ -1,3 +1,4 @@ +'use client'; import useApi from './useApi'; export function useTeam(teamId: string) { diff --git a/src/components/hooks/queries/useTeamMembers.ts b/src/components/hooks/queries/useTeamMembers.ts index 064231d10..ccfd6c9b4 100644 --- a/src/components/hooks/queries/useTeamMembers.ts +++ b/src/components/hooks/queries/useTeamMembers.ts @@ -1,3 +1,4 @@ +'use client'; import useApi from './useApi'; import useFilterQuery from './useFilterQuery'; diff --git a/src/components/hooks/queries/useTeamWebsites.ts b/src/components/hooks/queries/useTeamWebsites.ts index 19bcdf762..036d715be 100644 --- a/src/components/hooks/queries/useTeamWebsites.ts +++ b/src/components/hooks/queries/useTeamWebsites.ts @@ -1,3 +1,4 @@ +'use client'; import useApi from './useApi'; import useFilterQuery from './useFilterQuery'; diff --git a/src/components/hooks/queries/useUser.ts b/src/components/hooks/queries/useUser.ts index 61c22ecdf..7ff73daca 100644 --- a/src/components/hooks/queries/useUser.ts +++ b/src/components/hooks/queries/useUser.ts @@ -1,3 +1,4 @@ +'use client'; import useApi from './useApi'; export function useUser(userId: string, options?: { [key: string]: any }) { diff --git a/src/components/hooks/queries/useUsers.ts b/src/components/hooks/queries/useUsers.ts index b12738147..d7bc80742 100644 --- a/src/components/hooks/queries/useUsers.ts +++ b/src/components/hooks/queries/useUsers.ts @@ -1,3 +1,4 @@ +'use client'; import useApi from './useApi'; import useFilterQuery from './useFilterQuery'; import useCache from 'store/cache'; diff --git a/src/components/hooks/queries/useWebsite.ts b/src/components/hooks/queries/useWebsite.ts index 386607eb4..c29a6cd03 100644 --- a/src/components/hooks/queries/useWebsite.ts +++ b/src/components/hooks/queries/useWebsite.ts @@ -1,3 +1,4 @@ +'use client'; import useApi from './useApi'; export function useWebsite(websiteId: string, options?: { [key: string]: any }) { diff --git a/src/components/hooks/queries/useWebsiteEvents.ts b/src/components/hooks/queries/useWebsiteEvents.ts index de18a1f90..613788e2f 100644 --- a/src/components/hooks/queries/useWebsiteEvents.ts +++ b/src/components/hooks/queries/useWebsiteEvents.ts @@ -1,3 +1,4 @@ +'use client'; import useApi from './useApi'; import { UseQueryOptions } from '@tanstack/react-query'; diff --git a/src/components/hooks/queries/useWebsiteMetrics.ts b/src/components/hooks/queries/useWebsiteMetrics.ts index 8e7d00db9..300e526da 100644 --- a/src/components/hooks/queries/useWebsiteMetrics.ts +++ b/src/components/hooks/queries/useWebsiteMetrics.ts @@ -1,3 +1,4 @@ +'use client'; import useApi from './useApi'; import { UseQueryOptions } from '@tanstack/react-query'; diff --git a/src/components/hooks/queries/useWebsites.ts b/src/components/hooks/queries/useWebsites.ts index 4f2681a05..ed34193fc 100644 --- a/src/components/hooks/queries/useWebsites.ts +++ b/src/components/hooks/queries/useWebsites.ts @@ -1,3 +1,4 @@ +'use client'; import { useApi } from './useApi'; import { useFilterQuery } from './useFilterQuery'; import { useLogin } from './useLogin'; diff --git a/src/components/hooks/useCountryNames.ts b/src/components/hooks/useCountryNames.ts index acfada442..477164494 100644 --- a/src/components/hooks/useCountryNames.ts +++ b/src/components/hooks/useCountryNames.ts @@ -1,3 +1,4 @@ +'use client'; import { useState, useEffect } from 'react'; import { httpGet } from 'next-basics'; import enUS from '../../../public/intl/country/en-US.json'; diff --git a/src/components/hooks/useDateRange.ts b/src/components/hooks/useDateRange.ts index e022d9604..8d7cf57c0 100644 --- a/src/components/hooks/useDateRange.ts +++ b/src/components/hooks/useDateRange.ts @@ -1,3 +1,4 @@ +'use client'; import { getMinimumUnit, parseDateRange } from 'lib/date'; import { setItem } from 'next-basics'; import { DATE_RANGE_CONFIG, DEFAULT_DATE_RANGE } from 'lib/constants'; diff --git a/src/components/hooks/useDocumentClick.ts b/src/components/hooks/useDocumentClick.ts index eefd93669..dce9e1064 100644 --- a/src/components/hooks/useDocumentClick.ts +++ b/src/components/hooks/useDocumentClick.ts @@ -1,3 +1,4 @@ +'use client'; import { useEffect } from 'react'; export function useDocumentClick(handler: (event: MouseEvent) => any) { diff --git a/src/components/hooks/useEscapeKey.ts b/src/components/hooks/useEscapeKey.ts index 5c3350e73..567878b07 100644 --- a/src/components/hooks/useEscapeKey.ts +++ b/src/components/hooks/useEscapeKey.ts @@ -1,3 +1,4 @@ +'use client'; import { useEffect, useCallback, KeyboardEvent } from 'react'; export function useEscapeKey(handler: (event: KeyboardEvent) => void) { diff --git a/src/components/hooks/useFilters.ts b/src/components/hooks/useFilters.ts index e1a9a8858..51a5d972c 100644 --- a/src/components/hooks/useFilters.ts +++ b/src/components/hooks/useFilters.ts @@ -1,3 +1,4 @@ +'use client'; import { useMessages } from './useMessages'; import { OPERATORS } from 'lib/constants'; diff --git a/src/components/hooks/useForceUpdate.ts b/src/components/hooks/useForceUpdate.ts index 35f7fe162..1798cdd83 100644 --- a/src/components/hooks/useForceUpdate.ts +++ b/src/components/hooks/useForceUpdate.ts @@ -1,3 +1,4 @@ +'use client'; import { useCallback, useState } from 'react'; export function useForceUpdate() { diff --git a/src/components/hooks/useFormat.ts b/src/components/hooks/useFormat.ts index 3057e9d87..4d8994fce 100644 --- a/src/components/hooks/useFormat.ts +++ b/src/components/hooks/useFormat.ts @@ -1,3 +1,4 @@ +'use client'; import useMessages from './useMessages'; import { BROWSERS } from 'lib/constants'; import useLocale from './useLocale'; diff --git a/src/components/hooks/useLanguageNames.ts b/src/components/hooks/useLanguageNames.ts index d4bfbf2fb..95b1a97f8 100644 --- a/src/components/hooks/useLanguageNames.ts +++ b/src/components/hooks/useLanguageNames.ts @@ -1,3 +1,4 @@ +'use client'; import { useState, useEffect } from 'react'; import { httpGet } from 'next-basics'; import enUS from '../../../public/intl/language/en-US.json'; diff --git a/src/components/hooks/useLocale.ts b/src/components/hooks/useLocale.ts index 8facb2bdc..356e525b8 100644 --- a/src/components/hooks/useLocale.ts +++ b/src/components/hooks/useLocale.ts @@ -1,3 +1,4 @@ +'use client'; import { useEffect } from 'react'; import { httpGet, setItem } from 'next-basics'; import { LOCALE_CONFIG } from 'lib/constants'; diff --git a/src/components/hooks/useMessages.ts b/src/components/hooks/useMessages.ts index 594a3c61d..8b82dd579 100644 --- a/src/components/hooks/useMessages.ts +++ b/src/components/hooks/useMessages.ts @@ -1,6 +1,6 @@ -import { useIntl, FormattedMessage, MessageDescriptor, PrimitiveType } from 'react-intl'; +'use client'; +import { useIntl, FormattedMessage } from 'react-intl'; import { messages, labels } from 'components/messages'; -import { FormatXMLElementFn, Options } from 'intl-messageformat'; export function useMessages(): any { const intl = useIntl(); @@ -12,14 +12,12 @@ export function useMessages(): any { }; const formatMessage = ( - descriptor: - | MessageDescriptor - | { - id: string; - defaultMessage: string; - }, - values?: Record>, - opts?: Options, + descriptor: { + id: string; + defaultMessage: string; + }, + values?: { [key: string]: string }, + opts?: any, ) => { return descriptor ? intl.formatMessage(descriptor, values, opts) : null; }; diff --git a/src/components/hooks/useNavigation.ts b/src/components/hooks/useNavigation.ts index 0ff7155a2..59731c3ec 100644 --- a/src/components/hooks/useNavigation.ts +++ b/src/components/hooks/useNavigation.ts @@ -1,3 +1,4 @@ +'use client'; import { useMemo } from 'react'; import { usePathname, useRouter, useSearchParams } from 'next/navigation'; import { buildUrl } from 'next-basics'; diff --git a/src/components/hooks/useSticky.ts b/src/components/hooks/useSticky.ts index 459c489ad..39c57f6e2 100644 --- a/src/components/hooks/useSticky.ts +++ b/src/components/hooks/useSticky.ts @@ -1,3 +1,4 @@ +'use client'; import { useState, useEffect, useRef } from 'react'; export function useSticky({ enabled = true, threshold = 1 }) { diff --git a/src/components/hooks/useTeamContext.ts b/src/components/hooks/useTeamContext.ts index 0c0c0a7df..001c9cd10 100644 --- a/src/components/hooks/useTeamContext.ts +++ b/src/components/hooks/useTeamContext.ts @@ -1,3 +1,4 @@ +'use client'; import { usePathname } from 'next/navigation'; export function useTeamContext(): { diff --git a/src/components/hooks/useTheme.ts b/src/components/hooks/useTheme.ts index 099bf962b..cd19f7021 100644 --- a/src/components/hooks/useTheme.ts +++ b/src/components/hooks/useTheme.ts @@ -1,3 +1,4 @@ +'use client'; import { useEffect } from 'react'; import useStore, { setTheme } from 'store/app'; import { getItem, setItem } from 'next-basics'; diff --git a/src/components/hooks/useTimezone.ts b/src/components/hooks/useTimezone.ts index 3dbb52b3b..0f5f8dbcb 100644 --- a/src/components/hooks/useTimezone.ts +++ b/src/components/hooks/useTimezone.ts @@ -1,3 +1,4 @@ +'use client'; import { useState, useCallback } from 'react'; import { getTimezone } from 'lib/date'; import { getItem, setItem } from 'next-basics';