From 91731896c4e012afae5cda7fdb79a4bb6c684906 Mon Sep 17 00:00:00 2001 From: Alessio Gravili Date: Tue, 19 Mar 2024 14:25:16 -0400 Subject: [PATCH] providers --- packages/ui/src/exports/providers.ts | 2 -- packages/ui/src/providers/Auth/index.tsx | 16 +++++++++++++--- packages/ui/src/providers/Auth/types.ts | 14 -------------- .../ui/src/providers/DocumentEvents/index.tsx | 6 +++++- .../ui/src/providers/DocumentEvents/types.ts | 10 ---------- .../ui/src/providers/FormQueryParams/index.tsx | 2 +- packages/ui/src/providers/ListInfo/index.tsx | 4 +++- packages/ui/src/providers/Locale/index.tsx | 2 -- packages/ui/src/providers/Portal/index.tsx | 8 -------- packages/ui/src/providers/RouteCache/index.tsx | 4 +++- packages/ui/src/providers/RouteCache/types.ts | 3 --- .../ui/src/providers/SearchParams/index.tsx | 7 ++++++- packages/ui/src/providers/SearchParams/types.ts | 6 ------ packages/ui/src/providers/Theme/index.tsx | 2 -- packages/ui/src/providers/Theme/types.ts | 7 ------- packages/ui/src/providers/Theme/utilities.ts | 17 ----------------- 16 files changed, 31 insertions(+), 79 deletions(-) delete mode 100644 packages/ui/src/providers/Auth/types.ts delete mode 100644 packages/ui/src/providers/DocumentEvents/types.ts delete mode 100644 packages/ui/src/providers/Portal/index.tsx delete mode 100644 packages/ui/src/providers/RouteCache/types.ts delete mode 100644 packages/ui/src/providers/SearchParams/types.ts delete mode 100644 packages/ui/src/providers/Theme/types.ts delete mode 100644 packages/ui/src/providers/Theme/utilities.ts diff --git a/packages/ui/src/exports/providers.ts b/packages/ui/src/exports/providers.ts index e35dbc887a..262494b697 100644 --- a/packages/ui/src/exports/providers.ts +++ b/packages/ui/src/exports/providers.ts @@ -16,7 +16,6 @@ export { export { EditDepthContext, EditDepthProvider } from '../providers/EditDepth/index.js' export { useEditDepth } from '../providers/EditDepth/index.js' export { FormQueryParams, FormQueryParamsProvider } from '../providers/FormQueryParams/index.js' -export type { QueryParamTypes } from '../providers/FormQueryParams/index.js' export { useFormQueryParams } from '../providers/FormQueryParams/index.js' export { useListInfo } from '../providers/ListInfo/index.js' export { ListInfoProvider } from '../providers/ListInfo/index.js' @@ -31,5 +30,4 @@ export { useSelection, } from '../providers/SelectionProvider/index.js' export { useTheme } from '../providers/Theme/index.js' -export type { Theme } from '../providers/Theme/types.js' export { useTranslation } from '../providers/Translation/index.js' diff --git a/packages/ui/src/providers/Auth/index.tsx b/packages/ui/src/providers/Auth/index.tsx index 8f425e6be7..ebcc1ed838 100644 --- a/packages/ui/src/providers/Auth/index.tsx +++ b/packages/ui/src/providers/Auth/index.tsx @@ -8,14 +8,24 @@ import qs from 'qs' import React, { createContext, useCallback, useContext, useEffect, useState } from 'react' import { toast } from 'react-toastify' -import type { AuthContext } from './types.js' - import useDebounce from '../../hooks/useDebounce.js' import { useTranslation } from '../../providers/Translation/index.js' import { requests } from '../../utilities/api.js' import { useConfig } from '../Config/index.js' import { useSearchParams } from '../SearchParams/index.js' -// import { useLocale } from '../Locale' + +export type AuthContext = { + fetchFullUser: () => Promise + logOut: () => void + permissions?: Permissions + refreshCookie: (forceRefresh?: boolean) => void + refreshCookieAsync: () => Promise + refreshPermissions: () => Promise + setPermissions: (permissions: Permissions) => void + setUser: (user: T) => void + token?: string + user?: T | null +} const Context = createContext({} as AuthContext) diff --git a/packages/ui/src/providers/Auth/types.ts b/packages/ui/src/providers/Auth/types.ts deleted file mode 100644 index 8f1f042025..0000000000 --- a/packages/ui/src/providers/Auth/types.ts +++ /dev/null @@ -1,14 +0,0 @@ -import type { ClientUser, Permissions } from 'payload/auth' - -export type AuthContext = { - fetchFullUser: () => Promise - logOut: () => void - permissions?: Permissions - refreshCookie: (forceRefresh?: boolean) => void - refreshCookieAsync: () => Promise - refreshPermissions: () => Promise - setPermissions: (permissions: Permissions) => void - setUser: (user: T) => void - token?: string - user?: T | null -} diff --git a/packages/ui/src/providers/DocumentEvents/index.tsx b/packages/ui/src/providers/DocumentEvents/index.tsx index ba3be15cf7..5cd3fdc0a0 100644 --- a/packages/ui/src/providers/DocumentEvents/index.tsx +++ b/packages/ui/src/providers/DocumentEvents/index.tsx @@ -1,7 +1,11 @@ 'use client' import React, { createContext, useContext, useState } from 'react' -import type { UpdatedDocument } from './types.js' +export type UpdatedDocument = { + entitySlug: string + id?: number | string + updatedAt: string +} const Context = createContext({ mostRecentUpdate: null, diff --git a/packages/ui/src/providers/DocumentEvents/types.ts b/packages/ui/src/providers/DocumentEvents/types.ts deleted file mode 100644 index 9d84484c17..0000000000 --- a/packages/ui/src/providers/DocumentEvents/types.ts +++ /dev/null @@ -1,10 +0,0 @@ -export type UpdatedDocument = { - entitySlug: string - id?: number | string - updatedAt: string -} - -export type DocumentEventsContext = { - mostRecentUpdate: UpdatedDocument - reportUpdate: (updatedDocument: Array) => void -} diff --git a/packages/ui/src/providers/FormQueryParams/index.tsx b/packages/ui/src/providers/FormQueryParams/index.tsx index 7a06df3e1d..c124c1e975 100644 --- a/packages/ui/src/providers/FormQueryParams/index.tsx +++ b/packages/ui/src/providers/FormQueryParams/index.tsx @@ -6,7 +6,7 @@ import type { Action, FormQueryParamsContext, State } from './types.js' import { useLocale } from '../Locale/index.js' -export type QueryParamTypes = State +export type { Action, FormQueryParamsContext, State } export const FormQueryParams = createContext({} as FormQueryParamsContext) diff --git a/packages/ui/src/providers/ListInfo/index.tsx b/packages/ui/src/providers/ListInfo/index.tsx index 8e97331d33..33cceb8164 100644 --- a/packages/ui/src/providers/ListInfo/index.tsx +++ b/packages/ui/src/providers/ListInfo/index.tsx @@ -1,7 +1,9 @@ 'use client' import React, { createContext, useContext } from 'react' -import type { ListInfoContext, ListInfoProps } from './types.js' +import type { ColumnPreferences, ListInfo, ListInfoContext, ListInfoProps } from './types.js' + +export type { ColumnPreferences, ListInfo, ListInfoContext, ListInfoProps } const Context = createContext({} as ListInfoContext) diff --git a/packages/ui/src/providers/Locale/index.tsx b/packages/ui/src/providers/Locale/index.tsx index 8198246533..054b0d9753 100644 --- a/packages/ui/src/providers/Locale/index.tsx +++ b/packages/ui/src/providers/Locale/index.tsx @@ -89,5 +89,3 @@ export const LocaleProvider: React.FC<{ children?: React.ReactNode }> = ({ child * A hook that returns the current locale object. */ export const useLocale = (): Locale => useContext(LocaleContext) - -export default LocaleContext diff --git a/packages/ui/src/providers/Portal/index.tsx b/packages/ui/src/providers/Portal/index.tsx deleted file mode 100644 index 103f520b66..0000000000 --- a/packages/ui/src/providers/Portal/index.tsx +++ /dev/null @@ -1,8 +0,0 @@ -import type React from 'react' - -import ReactDOM from 'react-dom' - -const Portal = ({ children }: { children: React.ReactNode }): React.ReactPortal => - ReactDOM.createPortal(children, document.getElementById('portal')) - -export default Portal diff --git a/packages/ui/src/providers/RouteCache/index.tsx b/packages/ui/src/providers/RouteCache/index.tsx index fe6311f1d8..77682fbcbc 100644 --- a/packages/ui/src/providers/RouteCache/index.tsx +++ b/packages/ui/src/providers/RouteCache/index.tsx @@ -3,7 +3,9 @@ import { usePathname, useRouter } from 'next/navigation.js' import React, { createContext, useCallback, useContext, useEffect } from 'react' -import type { RouteCacheContext } from './types.js' +export type RouteCacheContext = { + clearRouteCache: () => void +} const Context = createContext({ clearRouteCache: () => {}, diff --git a/packages/ui/src/providers/RouteCache/types.ts b/packages/ui/src/providers/RouteCache/types.ts deleted file mode 100644 index dd631b09a6..0000000000 --- a/packages/ui/src/providers/RouteCache/types.ts +++ /dev/null @@ -1,3 +0,0 @@ -export type RouteCacheContext = { - clearRouteCache: () => void -} diff --git a/packages/ui/src/providers/SearchParams/index.tsx b/packages/ui/src/providers/SearchParams/index.tsx index ac56c0c670..6ef118e783 100644 --- a/packages/ui/src/providers/SearchParams/index.tsx +++ b/packages/ui/src/providers/SearchParams/index.tsx @@ -3,7 +3,12 @@ import { useSearchParams as useNextSearchParams } from 'next/navigation.js' import qs from 'qs' import React, { createContext, useContext } from 'react' -import type { SearchParamsContext, State } from './types.js' +export type SearchParamsContext = { + searchParams: qs.ParsedQs + stringifyParams: ({ params, replace }: { params: State; replace?: boolean }) => string +} + +export type State = qs.ParsedQs const initialContext: SearchParamsContext = { searchParams: {}, diff --git a/packages/ui/src/providers/SearchParams/types.ts b/packages/ui/src/providers/SearchParams/types.ts deleted file mode 100644 index ec4e617d00..0000000000 --- a/packages/ui/src/providers/SearchParams/types.ts +++ /dev/null @@ -1,6 +0,0 @@ -export type SearchParamsContext = { - searchParams: qs.ParsedQs - stringifyParams: ({ params, replace }: { params: State; replace?: boolean }) => string -} - -export type State = qs.ParsedQs diff --git a/packages/ui/src/providers/Theme/index.tsx b/packages/ui/src/providers/Theme/index.tsx index 88e1e9eaf2..e0c91d3b92 100644 --- a/packages/ui/src/providers/Theme/index.tsx +++ b/packages/ui/src/providers/Theme/index.tsx @@ -75,5 +75,3 @@ export const ThemeProvider: React.FC<{ children?: React.ReactNode }> = ({ childr } export const useTheme = (): ThemeContext => useContext(Context) - -export default Context diff --git a/packages/ui/src/providers/Theme/types.ts b/packages/ui/src/providers/Theme/types.ts deleted file mode 100644 index 8f4a5ea968..0000000000 --- a/packages/ui/src/providers/Theme/types.ts +++ /dev/null @@ -1,7 +0,0 @@ -export type Theme = 'dark' | 'light' - -export type ThemeContext = { - autoMode: boolean - setTheme: (theme: Theme) => void - theme: Theme -} diff --git a/packages/ui/src/providers/Theme/utilities.ts b/packages/ui/src/providers/Theme/utilities.ts deleted file mode 100644 index bd44eddf1a..0000000000 --- a/packages/ui/src/providers/Theme/utilities.ts +++ /dev/null @@ -1,17 +0,0 @@ -import type { Theme } from './types.js' - -export function themeIsValid(string: null | string): string is Theme { - return string ? ['dark', 'light'].includes(string) : false -} - -export const getImplicitPreference = (): Theme | null => { - const mediaQuery = '(prefers-color-scheme: dark)' - const mql = window.matchMedia(mediaQuery) - const hasImplicitPreference = typeof mql.matches === 'boolean' - - if (hasImplicitPreference) { - return mql.matches ? 'dark' : 'light' - } - - return null -}