diff --git a/README.md b/README.md index 4c35921e1a5..4a6e2f223da 100644 --- a/README.md +++ b/README.md @@ -142,7 +142,7 @@ Our approach for client libraries is modular. Each sub-library is a standalone i - gotrue-java - - - + storage-java - diff --git a/about/package-lock.json b/about/package-lock.json index 546a81ba1e7..4ec443b7240 100644 --- a/about/package-lock.json +++ b/about/package-lock.json @@ -5158,9 +5158,9 @@ "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" }, "decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==" }, "decompress-response": { "version": "3.3.0", diff --git a/apps/docs/components/DocSearch.tsx b/apps/docs/components/DocSearch.tsx index d8bde374580..2a4f56d1e48 100644 --- a/apps/docs/components/DocSearch.tsx +++ b/apps/docs/components/DocSearch.tsx @@ -20,7 +20,6 @@ export function SearchProvider({ children }: any) { const router = useRouter() const [isOpen, setIsOpen] = useState(false) const [initialQuery, setInitialQuery] = useState(null) - const onOpen = useCallback(() => { setIsOpen(true) }, [setIsOpen]) @@ -85,6 +84,7 @@ export function SearchProvider({ children }: any) { hitComponent={Hit} transformItems={(items) => { return items.map((item, index) => { + console.log('item', item) // We transform the absolute URL into a relative URL to // leverage Next's preloading. const a = document.createElement('a') @@ -96,7 +96,8 @@ export function SearchProvider({ children }: any) { ...item, url: `${a.pathname}${hash}`, __is_result: () => true, - __is_parent: () => item.type === 'lvl1' && items.length > 1 && index === 0, + __is_parent: () => item.type === 'lvl1' && index === 0, + __is_guide: () => item.hierarchy.lvl0 === 'Guides', __is_child: () => item.type !== 'lvl1' && items.length > 1 && @@ -125,6 +126,7 @@ function Hit({ hit, children }) { 'DocSearch-Hit--FirstChild': hit.__is_first?.(), 'DocSearch-Hit--LastChild': hit.__is_last?.(), 'DocSearch-Hit--Child': hit.__is_child?.(), + 'DocSearch-Hit--Guide': hit.__is_guide?.(), })} > {children} diff --git a/apps/docs/components/Footer/DarkModeToggle.tsx b/apps/docs/components/Footer/DarkModeToggle.tsx deleted file mode 100644 index 04f9d225854..00000000000 --- a/apps/docs/components/Footer/DarkModeToggle.tsx +++ /dev/null @@ -1,45 +0,0 @@ -import { useTheme } from 'common/Providers' -import { IconSun, IconMoon } from '@supabase/ui' - -function DarkModeToggle() { - const { isDarkMode, toggleTheme } = useTheme() - - const toggleDarkMode = () => { - localStorage.setItem('supabaseDarkMode', (!isDarkMode).toString()) - toggleTheme() - - const key = localStorage.getItem('supabaseDarkMode') - document.documentElement.className = key === 'true' ? 'dark' : '' - } - - return ( -
- - - -
- ) -} - -export default DarkModeToggle diff --git a/apps/docs/components/Footer/index.tsx b/apps/docs/components/Footer/index.tsx deleted file mode 100644 index 01424c906f5..00000000000 --- a/apps/docs/components/Footer/index.tsx +++ /dev/null @@ -1,133 +0,0 @@ -import { Badge } from 'ui' -import Link from 'next/link' -import Image from 'next/image' -import FooterLinks from 'data/footer.json' -import DarkModeToggle from './DarkModeToggle' -import { useTheme } from 'common/Providers' -import * as supabaseLogoWordmarkDark from 'common/assets/images/supabase-logo-wordmark--dark.png' -import * as supabaseLogoWordmarkLight from 'common/assets/images/supabase-logo-wordmark--light.png' - -const Footer = () => { - const { isDarkMode } = useTheme() - - return ( - - ) -} - -export default Footer diff --git a/apps/docs/components/FooterHelpCallout.tsx b/apps/docs/components/FooterHelpCallout.tsx index 82f1a03c683..2eb6421dc4c 100644 --- a/apps/docs/components/FooterHelpCallout.tsx +++ b/apps/docs/components/FooterHelpCallout.tsx @@ -1,11 +1,13 @@ const FooterHelpCallout = () => { return ( -
-
Need some help?
-

- Not to worry, our specialist engineers are here to help. Submit a support ticket through the{' '} - Dashboard. -

+
+
+
Need some help?
+

+ Not to worry, our specialist engineers are here to help. Submit a support ticket through + the Dashboard. +

+
) } diff --git a/apps/docs/components/Navigation/Footer.tsx b/apps/docs/components/Navigation/Footer.tsx new file mode 100644 index 00000000000..3d85d66b3cb --- /dev/null +++ b/apps/docs/components/Navigation/Footer.tsx @@ -0,0 +1,56 @@ +import Image from 'next/image' +import Link from 'next/link' +import { Button, IconGitHub, IconTwitter } from '~/../../packages/ui' +import footerData from '~/data/footer.json' +import { useTheme } from 'common/Providers' + +const Footer = () => { + const { isDarkMode } = useTheme() + return ( +
+
+
+
+ Supabase 2022 + — + {footerData.map((item) => ( + + {item.title} + + ))} +
+
+ + +
+
+
+ ) +} + +export default Footer diff --git a/apps/docs/components/Navigation/NavigationMenu/HomeMenu.tsx b/apps/docs/components/Navigation/NavigationMenu/HomeMenu.tsx index a769976a8a4..e6f5e8ea4be 100644 --- a/apps/docs/components/Navigation/NavigationMenu/HomeMenu.tsx +++ b/apps/docs/components/Navigation/NavigationMenu/HomeMenu.tsx @@ -64,6 +64,12 @@ const home = [ href: '/guides/resources', level: 'resources', }, + { + label: 'Self-Hosting', + icon: '/img/icons/menu/platform', + href: '/guides/self-hosting', + level: 'self_hosting', + }, { label: 'Integrations', icon: '/img/icons/menu/integrations', diff --git a/apps/docs/components/Navigation/NavigationMenu/NavigationMenu.constants.ts b/apps/docs/components/Navigation/NavigationMenu/NavigationMenu.constants.ts index e686c28dd60..b5b21af6420 100644 --- a/apps/docs/components/Navigation/NavigationMenu/NavigationMenu.constants.ts +++ b/apps/docs/components/Navigation/NavigationMenu/NavigationMenu.constants.ts @@ -298,6 +298,7 @@ export const auth = { url: '/guides/auth/social-login', items: [...SocialLoginItems], }, + { name: 'Email Templates', url: '/guides/auth/auth-email-templates', items: [] }, ], }, { @@ -468,6 +469,7 @@ export const platform = { items: [ { name: 'Compute Add-ons', url: '/guides/platform/compute-add-ons', items: [] }, { name: 'Custom Domains', url: '/guides/platform/custom-domains', items: [] }, + { name: 'Database Backups', url: '/guides/platform/backups', items: [] }, ], }, { @@ -568,45 +570,37 @@ export const resources = { }, ], }, - { - name: 'Self-Hosting', - items: [ - { name: 'Overview', url: '/guides/resources/self-hosting', items: [] }, - { name: 'Docker', url: '/guides/resources/self-hosting/docker', items: [] }, - ], - }, - { - name: 'Self-Hosting Reference', - items: [ - { - name: 'Auth Server', - url: '/reference/self-hosting-auth/introduction', - icon: '/img/icons/menu/reference-auth', - items: [], - }, - { - name: 'Storage Server', - url: '/reference/self-hosting-storage/introduction', - icon: '/img/icons/menu/reference-storage', - items: [], - }, - { - name: 'Realtime Server', - url: '/reference/self-hosting-realtime/introduction', - icon: '/img/icons/menu/reference-realtime', - items: [], - }, - ], - }, ], } -export const selfHosting = { - label: 'Self-Hosting', +export const self_hosting = { + title: 'Self-Hosting', + icon: 'resources', url: '/guides/self-hosting', items: [ - { name: 'Overview', url: '/guides/hosting/overview', items: [] }, - { name: 'Docker', url: '/guides/hosting/docker', items: [] }, + { name: 'Overview', url: '/guides/self-hosting', items: [] }, + { name: 'Self-Hosting with Docker', url: '/guides/self-hosting/docker', items: [] }, + { + name: 'Auth Server', + items: [ + { name: 'Reference', url: '/reference/self-hosting-auth/introduction', items: [] }, + { name: 'Configuration', url: '/guides/self-hosting/auth/config', items: [] }, + ], + }, + { + name: 'Storage Server', + items: [ + { name: 'Reference', url: '/reference/self-hosting-storage/introduction', items: [] }, + { name: 'Configuration', url: '/guides/self-hosting/storage/config', items: [] }, + ], + }, + { + name: 'Realtime Server', + items: [ + { name: 'Reference', url: '/reference/self-hosting-realtime/introduction', items: [] }, + { name: 'Configuration', url: '/guides/self-hosting/realtime/config', items: [] }, + ], + }, ], } @@ -674,6 +668,11 @@ export const integrations = { { name: 'Plasmic', url: '/guides/integrations/plasmic', items: [] }, ], }, + { + name: 'Messaging', + url: undefined, + items: [{ name: 'OneSignal', url: '/guides/integrations/onesignal', items: [] }], + }, ], } diff --git a/apps/docs/components/Navigation/NavigationMenu/NavigationMenu.tsx b/apps/docs/components/Navigation/NavigationMenu/NavigationMenu.tsx index 5a945b965c5..b8ea7efeab4 100644 --- a/apps/docs/components/Navigation/NavigationMenu/NavigationMenu.tsx +++ b/apps/docs/components/Navigation/NavigationMenu/NavigationMenu.tsx @@ -104,6 +104,9 @@ const SideNav = () => { case url.includes(`/docs/guides/resources`) && url: menuState.setMenuLevelId('resources') break + case url.includes(`/docs/guides/self-hosting`) && url: + menuState.setMenuLevelId('self_hosting') + break case url.includes(`/docs/guides/integrations`) && url: menuState.setMenuLevelId('integrations') break @@ -166,6 +169,7 @@ const SideNav = () => { + {/* // Client Libs */} = ({ id, setMenuLevelId }) => { `/img/icons/menu/${menu.icon}${isDarkMode ? '' : '-light'}.svg` } /> - {/*
*/} { target="_blank" rel="noreferrer noopener" > - Main site + Supabase.com +