diff --git a/apps/docs/app/layout.tsx b/apps/docs/app/layout.tsx index 1074889fa23..e19b37c7e6b 100644 --- a/apps/docs/app/layout.tsx +++ b/apps/docs/app/layout.tsx @@ -12,6 +12,21 @@ import { GlobalProviders } from '~/features/app.providers' import { TopNavSkeleton } from '~/layouts/MainSkeleton' import { BASE_PATH, IS_PRODUCTION } from '~/lib/constants' +import { Inter, Roboto_Mono } from 'next/font/google' + +// If loading a variable font, you don't need to specify the font weight +const inter = Inter({ + subsets: ['latin'], + display: 'swap', + variable: '--font-inter', +}) + +const roboto_mono = Roboto_Mono({ + subsets: ['latin'], + display: 'swap', + variable: '--font-roboto-mono', +}) + const metadata: Metadata = { applicationName: 'Supabase Docs', title: 'Supabase Docs', @@ -45,7 +60,7 @@ const viewport: Viewport = { const RootLayout = ({ children }: { children: React.ReactNode }) => { return ( - + {children} diff --git a/apps/docs/next-env.d.ts b/apps/docs/next-env.d.ts index 40c3d68096c..725dd6f2451 100644 --- a/apps/docs/next-env.d.ts +++ b/apps/docs/next-env.d.ts @@ -1,5 +1,6 @@ /// /// +/// // NOTE: This file should not be edited // see https://nextjs.org/docs/app/building-your-application/configuring/typescript for more information. diff --git a/apps/docs/package.json b/apps/docs/package.json index 1950af77461..cdd0adb4496 100644 --- a/apps/docs/package.json +++ b/apps/docs/package.json @@ -30,6 +30,7 @@ "@mdx-js/loader": "^2.1.5", "@mdx-js/react": "^2.3.0", "@next/bundle-analyzer": "^14.2.3", + "@next/font": "^14.2.15", "@next/mdx": "^14.2.3", "@octokit/auth-app": "^6.0.3", "@octokit/core": "^5.1.0", diff --git a/apps/studio/data/api-keys/api-keys-query.ts b/apps/studio/data/api-keys/api-keys-query.ts new file mode 100644 index 00000000000..2727f523667 --- /dev/null +++ b/apps/studio/data/api-keys/api-keys-query.ts @@ -0,0 +1,39 @@ +import { useQuery, UseQueryOptions } from '@tanstack/react-query' +import { get, handleError } from 'data/fetchers' +import { ResponseError } from 'types' + +import { apiKeysKeys } from './keys' + +export interface APIKeysVariables { + projectRef?: string +} + +export async function getAPIKeys({ projectRef }: APIKeysVariables, signal?: AbortSignal) { + if (!projectRef) throw new Error('projectRef is required') + + const { data, error } = await get(`/v1/projects/{ref}/api-keys`, { + params: { path: { ref: projectRef } }, + signal, + }) + + if (error) { + handleError(error) + } + + return data +} + +export type APIKeysData = Awaited> + +export const useAPIKeysQuery = ( + { projectRef }: APIKeysVariables, + { enabled, ...options }: UseQueryOptions = {} +) => + useQuery( + apiKeysKeys.list(projectRef), + ({ signal }) => getAPIKeys({ projectRef }, signal), + { + enabled: enabled && !!projectRef, + ...options, + } + ) diff --git a/apps/studio/next-env.d.ts b/apps/studio/next-env.d.ts index a4a7b3f5cfa..725dd6f2451 100644 --- a/apps/studio/next-env.d.ts +++ b/apps/studio/next-env.d.ts @@ -1,5 +1,6 @@ /// /// +/// // NOTE: This file should not be edited -// see https://nextjs.org/docs/pages/building-your-application/configuring/typescript for more information. +// see https://nextjs.org/docs/app/building-your-application/configuring/typescript for more information. diff --git a/apps/studio/package.json b/apps/studio/package.json index 55ad9b69b3d..c4d94c7172f 100644 --- a/apps/studio/package.json +++ b/apps/studio/package.json @@ -31,6 +31,7 @@ "@hookform/resolvers": "^3.1.1", "@monaco-editor/react": "^4.6.0", "@next/bundle-analyzer": "^14.2.3", + "@next/font": "^14.2.15", "@radix-ui/react-popover": "^1.0.7", "@radix-ui/react-tooltip": "^1.0.7", "@sentry/nextjs": "^7.108.0", diff --git a/apps/studio/pages/_app.tsx b/apps/studio/pages/_app.tsx index b1c6e7fff68..fa1f485a816 100644 --- a/apps/studio/pages/_app.tsx +++ b/apps/studio/pages/_app.tsx @@ -54,6 +54,18 @@ import HCaptchaLoadedStore from 'stores/hcaptcha-loaded-store' import { AppPropsWithLayout } from 'types' import { SonnerToaster } from 'ui' import { CommandProvider } from 'ui-patterns/CommandMenu' +import { Inter, Roboto_Mono } from 'next/font/google' + +const inter = Inter({ + subsets: ['latin'], + variable: '--font-inter', +}) + +const roboto_mono = Roboto_Mono({ + subsets: ['latin'], + weight: ['400', '700'], + variable: '--font-roboto-mono', +}) dayjs.extend(customParseFormat) dayjs.extend(utc) @@ -123,52 +135,62 @@ function CustomApp({ Component, pageProps }: AppPropsWithLayout) { const isTestEnv = process.env.NEXT_PUBLIC_NODE_ENV === 'test' return ( - - - - - - - - Supabase - - - - - - - - - - - - {getLayout()} - - - - - - - - - - - - + <> + + + + + + + + + Supabase + + + + + + + + + + + + {getLayout()} + + + + + + + + + + + + - {!isTestEnv && } - {!isTestEnv && } - - - - - - + {!isTestEnv && } + {!isTestEnv && ( + + )} + + + + + + + ) } diff --git a/apps/studio/pages/_document.tsx b/apps/studio/pages/_document.tsx index 72fe3436392..e7e79c945fb 100644 --- a/apps/studio/pages/_document.tsx +++ b/apps/studio/pages/_document.tsx @@ -24,7 +24,6 @@ class MyDocument extends Document { : `${BASE_PATH}/monaco-editor/editor/editor.main.css` } /> -
diff --git a/apps/www/package.json b/apps/www/package.json index 6fbfcbd3cd5..77f30f49a46 100644 --- a/apps/www/package.json +++ b/apps/www/package.json @@ -19,6 +19,7 @@ "@heroicons/react": "^1.0.6", "@mdx-js/react": "^2.3.0", "@next/bundle-analyzer": "^14.2.3", + "@next/font": "^14.2.15", "@next/mdx": "^14.2.3", "@octokit/auth-app": "^6.0.3", "@octokit/core": "^5.0.2", @@ -87,9 +88,9 @@ "@types/classnames": "^2.3.1", "@types/common-tags": "^1.8.4", "@types/dat.gui": "^0.7.10", + "@types/lodash": "^4.0.0", "@types/mdx-js__react": "^1.5.6", "@types/node": "^20.11.16", - "@types/lodash": "^4.0.0", "@types/parse-numeric-range": "^0.0.1", "@types/react": "^18.2.24", "@types/react-copy-to-clipboard": "^5.0.4", diff --git a/apps/www/pages/_app.tsx b/apps/www/pages/_app.tsx index a2884f5133d..5b77e40bdff 100644 --- a/apps/www/pages/_app.tsx +++ b/apps/www/pages/_app.tsx @@ -22,6 +22,18 @@ import { API_URL, APP_NAME, DEFAULT_META_DESCRIPTION, IS_PREVIEW } from '~/lib/c import { post } from '~/lib/fetchWrapper' import supabase from '~/lib/supabase' import useDarkLaunchWeeks from '../hooks/useDarkLaunchWeeks' +import { Inter, Roboto_Mono } from 'next/font/google' + +const inter = Inter({ + subsets: ['latin'], + variable: '--font-inter', +}) + +const roboto_mono = Roboto_Mono({ + subsets: ['latin'], + weight: ['400', '700'], + variable: '--font-roboto', +}) export default function App({ Component, pageProps }: AppProps) { const router = useRouter() @@ -86,6 +98,12 @@ export default function App({ Component, pageProps }: AppProps) { return ( <> + diff --git a/package-lock.json b/package-lock.json index 884657ab1ac..f683937b331 100644 --- a/package-lock.json +++ b/package-lock.json @@ -861,6 +861,7 @@ "@mdx-js/loader": "^2.1.5", "@mdx-js/react": "^2.3.0", "@next/bundle-analyzer": "^14.2.3", + "@next/font": "^14.2.15", "@next/mdx": "^14.2.3", "@octokit/auth-app": "^6.0.3", "@octokit/core": "^5.1.0", @@ -1817,6 +1818,7 @@ "@hookform/resolvers": "^3.1.1", "@monaco-editor/react": "^4.6.0", "@next/bundle-analyzer": "^14.2.3", + "@next/font": "^14.2.15", "@radix-ui/react-popover": "^1.0.7", "@radix-ui/react-tooltip": "^1.0.7", "@sentry/nextjs": "^7.108.0", @@ -3000,6 +3002,7 @@ "@heroicons/react": "^1.0.6", "@mdx-js/react": "^2.3.0", "@next/bundle-analyzer": "^14.2.3", + "@next/font": "^14.2.15", "@next/mdx": "^14.2.3", "@octokit/auth-app": "^6.0.3", "@octokit/core": "^5.0.2", @@ -9427,6 +9430,14 @@ "glob": "10.3.10" } }, + "node_modules/@next/font": { + "version": "14.2.15", + "resolved": "https://registry.npmjs.org/@next/font/-/font-14.2.15.tgz", + "integrity": "sha512-QopYhBmCDDrNDynbi+ZD1hDZXmQXVFo7TmAFp4DQgO/kogz1OLbQ92hPigJbj572eZ3GaaVxNIyYVn3/eAsehg==", + "peerDependencies": { + "next": "*" + } + }, "node_modules/@next/mdx": { "version": "14.2.3", "resolved": "https://registry.npmjs.org/@next/mdx/-/mdx-14.2.3.tgz", diff --git a/packages/config/tailwind.config.js b/packages/config/tailwind.config.js index 9254c114124..5b310fcdaa0 100644 --- a/packages/config/tailwind.config.js +++ b/packages/config/tailwind.config.js @@ -361,9 +361,15 @@ const uiConfig = ui({ xs: '480px', }, fontFamily: { - sans: ['Circular', 'custom-font', 'Helvetica Neue', 'Helvetica', 'Arial', 'sans-serif'], - mono: ['Office Code Pro', 'Source Code Pro', 'Menlo', 'monospace'], + // sans: ['Circular', 'custom-font', 'Helvetica Neue', 'Helvetica', 'Arial', 'sans-serif'], + sans: ['var(--font-inter)'], + mono: ['var(--font-roboto-mono)'], + // mono: ['Office Code Pro', 'Source Code Pro', 'Menlo', 'monospace'], }, + // fontFamily: { + // sans: ['var(--font-inter)'], + // mono: ['var(--font-roboto-mono)'], + // }, // shadcn defaults START keyframes: {