From 63d5bc0cf49305c93df7ed6386bc3e57d5fda7ed Mon Sep 17 00:00:00 2001 From: Terry Sutton Date: Tue, 20 Dec 2022 17:27:48 -0330 Subject: [PATCH 01/13] Delete dupe 404 page --- apps/docs/pages/404.tsx | 52 ----------------------------------------- 1 file changed, 52 deletions(-) delete mode 100644 apps/docs/pages/404.tsx diff --git a/apps/docs/pages/404.tsx b/apps/docs/pages/404.tsx deleted file mode 100644 index 71b9bb5f6f5..00000000000 --- a/apps/docs/pages/404.tsx +++ /dev/null @@ -1,52 +0,0 @@ -import { useEffect, useState } from 'react' -import Link from 'next/link' -import { Button } from 'ui' -import Head from 'next/head' - -export default function Custom404() { - const [show404, setShow404] = useState(false) - - useEffect(() => { - setTimeout(() => { - setShow404(true) - }, 500) - }, []) - - return ( - <> - - 404 | Supabase - -
-
-

- 404 -

-
-
-
-

Looking for something?

-

- We could not find the page that you are looking for! -

-
-
- - - -
-
-
- - ) -} From 6ed0299844d8b3d3caad7e60dfd18c8eba0a5c55 Mon Sep 17 00:00:00 2001 From: Terry Sutton Date: Tue, 20 Dec 2022 17:28:14 -0330 Subject: [PATCH 02/13] Fixes unique keys warning --- apps/docs/components/Navigation/Footer.tsx | 4 ++-- .../docs/components/Navigation/NavigationMenu/HomeMenu.tsx | 4 ++-- .../Navigation/NavigationMenu/NavigationMenu.tsx | 4 ++-- spec/common-self-hosting-storage-sections.json | 7 ------- 4 files changed, 6 insertions(+), 13 deletions(-) diff --git a/apps/docs/components/Navigation/Footer.tsx b/apps/docs/components/Navigation/Footer.tsx index 3d85d66b3cb..cbbb215e7a6 100644 --- a/apps/docs/components/Navigation/Footer.tsx +++ b/apps/docs/components/Navigation/Footer.tsx @@ -14,7 +14,7 @@ const Footer = () => { Supabase 2022 — {footerData.map((item) => ( - + {item.title} ))} @@ -41,7 +41,7 @@ const Footer = () => { diff --git a/apps/docs/components/Navigation/NavigationMenu/HomeMenu.tsx b/apps/docs/components/Navigation/NavigationMenu/HomeMenu.tsx index e6f5e8ea4be..d4167720768 100644 --- a/apps/docs/components/Navigation/NavigationMenu/HomeMenu.tsx +++ b/apps/docs/components/Navigation/NavigationMenu/HomeMenu.tsx @@ -129,7 +129,7 @@ const NavigationMenuHome = () => {
    {home.map((section, sectionIndex) => { return ( - <> +
    {sectionIndex !== 0 && (
    { })}
    - + ) })}
diff --git a/apps/docs/components/Navigation/NavigationMenu/NavigationMenu.tsx b/apps/docs/components/Navigation/NavigationMenu/NavigationMenu.tsx index b8ea7efeab4..96bb2416bcf 100644 --- a/apps/docs/components/Navigation/NavigationMenu/NavigationMenu.tsx +++ b/apps/docs/components/Navigation/NavigationMenu/NavigationMenu.tsx @@ -173,7 +173,7 @@ const SideNav = () => { {/* // Client Libs */} { allowedClientKeys={generateAllowedClientLibKeys(libCommonSections, spec_dart_v0)} /> Date: Tue, 20 Dec 2022 17:28:30 -0330 Subject: [PATCH 03/13] Exclude Edit this Page button --- apps/docs/layouts/guides/index.tsx | 30 ++++++++++++++++++------------ apps/docs/pages/index.mdx | 2 +- 2 files changed, 19 insertions(+), 13 deletions(-) diff --git a/apps/docs/layouts/guides/index.tsx b/apps/docs/layouts/guides/index.tsx index 25b26b3fec7..e3b64828a60 100644 --- a/apps/docs/layouts/guides/index.tsx +++ b/apps/docs/layouts/guides/index.tsx @@ -31,10 +31,11 @@ const Layout: FC = (props) => { const [tocList, setTocList] = useState([]) const { asPath } = useRouter() - const page = getPageType(asPath) const router = useRouter() + const EDIT_BUTTON_EXCLUDE_LIST = ['/404'] + useEffect(() => { if (hash && tocList.length > 0) { highlightSelectedTocItem(hash as string) @@ -100,18 +101,23 @@ const Layout: FC = (props) => { )}
{props.children} -
-
- - - Edit this page on GitHub - - + + {EDIT_BUTTON_EXCLUDE_LIST.includes(router.route) ? ( + <> + ) : ( + -
+ )}
{!props.hideToc && hasTableOfContents && !props.meta?.hide_table_of_contents && ( diff --git a/apps/docs/pages/index.mdx b/apps/docs/pages/index.mdx index 5a7e2f17b28..9921286f50c 100644 --- a/apps/docs/pages/index.mdx +++ b/apps/docs/pages/index.mdx @@ -30,7 +30,7 @@ export const meta = { ">
-
+

Getting Started

Discover how to set up a database to an app making queries in just a few minutes. From 728cb7b86aa4baeac47e59f81602095cac7c15d4 Mon Sep 17 00:00:00 2001 From: Long Hoang Date: Wed, 21 Dec 2022 11:48:26 +0700 Subject: [PATCH 04/13] Update link to new careers page --- apps/docs/public/humans.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/docs/public/humans.txt b/apps/docs/public/humans.txt index 95817e22f6d..a403c683c7c 100644 --- a/apps/docs/public/humans.txt +++ b/apps/docs/public/humans.txt @@ -60,7 +60,7 @@ ____________ JOBS -If you are interested in working with us check out the open roles here: https://about.supabase.com/careers +If you are interested in working with us check out the open roles here: https://supabase.com/careers ___________ From a5632d5d7317df86feefeb9fd54ec7dcd9e3e1b1 Mon Sep 17 00:00:00 2001 From: Long Hoang Date: Wed, 21 Dec 2022 11:48:43 +0700 Subject: [PATCH 05/13] Add Long to humans.txt --- apps/docs/public/humans.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/docs/public/humans.txt b/apps/docs/public/humans.txt index a403c683c7c..2231880862b 100644 --- a/apps/docs/public/humans.txt +++ b/apps/docs/public/humans.txt @@ -34,6 +34,7 @@ Kevin Grüneberg Lakshmipathi G Laura C Leo T +Long Hoang Margarita Sandomirskaia Marijana Šimag Mark Burggraf From 70aac81cec8c3c97861b64c0e5edfc676c2e7663 Mon Sep 17 00:00:00 2001 From: dannykng Date: Tue, 20 Dec 2022 16:55:35 -0800 Subject: [PATCH 06/13] Update Developers links --- apps/www/data/Developers.json | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/apps/www/data/Developers.json b/apps/www/data/Developers.json index a29460f0c5b..df449e784ab 100644 --- a/apps/www/data/Developers.json +++ b/apps/www/data/Developers.json @@ -1,26 +1,20 @@ [ { "text": "Documentation", - "description": "Everything you need that makes it simple to get started.", + "description": "Everything you need to start building with Supabase.", "url": "/docs", "icon": "M12 6.253v13m0-13C10.832 5.477 9.246 5 7.5 5S4.168 5.477 3 6.253v13C4.168 18.477 5.754 18 7.5 18s3.332.477 4.5 1.253m0-13C13.168 5.477 14.754 5 16.5 5c1.747 0 3.332.477 4.5 1.253v13C19.832 18.477 18.247 18 16.5 18c-1.746 0-3.332.477-4.5 1.253" }, { - "text": "API reference", - "description": "Examples and references for using API libraries.", - "url": "/docs/client/supabase-client", - "icon": "M10 20l4-16m4 4l4 4-4 4M6 16l-4-4 4-4" - }, - { - "text": "Guides", - "description": "Examples and references for using Supabase.", - "url": "/docs/", + "text": "Changelog", + "description": "See the latest updates and product improvements.", + "url": "/changelog", "icon": "M19.428 15.428a2 2 0 00-1.022-.547l-2.387-.477a6 6 0 00-3.86.517l-.318.158a6 6 0 01-3.86.517L6.05 15.21a2 2 0 00-1.806.547M8 4h8l-1 1v5.172a2 2 0 00.586 1.414l5 5c1.26 1.26.367 3.414-1.415 3.414H4.828c-1.782 0-2.674-2.154-1.414-3.414l5-5A2 2 0 009 10.172V5L8 4z" }, { "text": "Careers", "description": "Join the Supabase team and get involved.", - "url": "https://supabase.com/careers", + "url": "/careers", "icon": "M21 13.255A23.931 23.931 0 0112 15c-3.183 0-6.22-.62-9-1.745M16 6V4a2 2 0 00-2-2h-4a2 2 0 00-2 2v2m4 6h.01M5 20h14a2 2 0 002-2V8a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z" } ] From 70b66c916f177090976f9b0677c64ea02b60ba15 Mon Sep 17 00:00:00 2001 From: dng Date: Tue, 20 Dec 2022 16:29:56 -0800 Subject: [PATCH 07/13] Remove redirect --- apps/www/lib/redirects.js | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/apps/www/lib/redirects.js b/apps/www/lib/redirects.js index 09317c8a31f..ff18f604298 100644 --- a/apps/www/lib/redirects.js +++ b/apps/www/lib/redirects.js @@ -1787,16 +1787,6 @@ module.exports = [ source: '/docs/guides/with-ionic-angular', destination: '/docs/guides/getting-started/tutorials/with-ionic-angular', }, - { - permanent: true, - source: '/docs/guides/examples', - destination: '/docs/guides/resources/examples', - }, - { - permanent: true, - source: '/docs/guides/examples', - destination: '/docs/guides/resources/examples', - }, { permanent: true, source: '/docs/guides/hosting/overview', From 32a3ec5f7e856e7dd190debdd348af975c00dfc3 Mon Sep 17 00:00:00 2001 From: Ollie Halliday <22655069+Hallidayo@users.noreply.github.com> Date: Tue, 20 Dec 2022 16:39:27 +0000 Subject: [PATCH 08/13] added on delete cascade --- studio/components/interfaces/SQLEditor/SQLEditor.constants.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/studio/components/interfaces/SQLEditor/SQLEditor.constants.ts b/studio/components/interfaces/SQLEditor/SQLEditor.constants.ts index 63ec9612ed2..de1990ca96b 100644 --- a/studio/components/interfaces/SQLEditor/SQLEditor.constants.ts +++ b/studio/components/interfaces/SQLEditor/SQLEditor.constants.ts @@ -812,7 +812,7 @@ create publication supabase_realtime sql: ` -- Create a table for public profiles create table profiles ( - id uuid references auth.users not null primary key, + id uuid references auth.users on delete cascade not null primary key, updated_at timestamp with time zone, username text unique, full_name text, From eb6cffb09aa7e3ba1dc3ebcb112a2300644cd48f Mon Sep 17 00:00:00 2001 From: Joshen Lim Date: Wed, 21 Dec 2022 16:35:42 +0700 Subject: [PATCH 09/13] Hide schemas with pg_ prefix --- studio/stores/pgmeta/MetaStore.ts | 1 - studio/stores/pgmeta/SchemaStore.ts | 8 ++++++++ studio/stores/pgmeta/TriggersStore.ts | 4 ++-- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/studio/stores/pgmeta/MetaStore.ts b/studio/stores/pgmeta/MetaStore.ts index a8ed860a318..eef317f1397 100644 --- a/studio/stores/pgmeta/MetaStore.ts +++ b/studio/stores/pgmeta/MetaStore.ts @@ -154,7 +154,6 @@ export default class MetaStore implements IMetaStore { 'extensions', 'information_schema', 'net', - 'pg_catalog', 'pgsodium', 'pgsodium_masks', 'pgbouncer', diff --git a/studio/stores/pgmeta/SchemaStore.ts b/studio/stores/pgmeta/SchemaStore.ts index 7a0082db225..1fd1ff89ac5 100644 --- a/studio/stores/pgmeta/SchemaStore.ts +++ b/studio/stores/pgmeta/SchemaStore.ts @@ -27,6 +27,14 @@ export default class SchemaStore extends PostgresMetaInterface { this.views = [] } + // Dashboard to hide schemas with pg_ prefix + list(filter: any) { + const schemasFilter = (schema: PostgresSchema) => + !schema.name.startsWith('pg_') && (typeof filter === 'function' ? filter(schema) : true) + + return super.list(schemasFilter) + } + async loadViews(schema: string) { const query = ` select schemaname as schema, viewname as name from pg_catalog.pg_views diff --git a/studio/stores/pgmeta/TriggersStore.ts b/studio/stores/pgmeta/TriggersStore.ts index 4d83608c885..91631e94f7f 100644 --- a/studio/stores/pgmeta/TriggersStore.ts +++ b/studio/stores/pgmeta/TriggersStore.ts @@ -20,8 +20,8 @@ export default class TriggersStore extends PostgresMetaInterface { */ list(filter: any) { const triggersFilter = (h: any) => - h.function_schema != 'supabase_functions' && - h.schema != 'net' && + h.function_schema !== 'supabase_functions' && + h.schema !== 'net' && (typeof filter === 'function' ? filter(h) : true) return super.list(triggersFilter) From d8bc12f9d6edb67f798c04fdc97db402a4229401 Mon Sep 17 00:00:00 2001 From: Alaister Young Date: Wed, 21 Dec 2022 11:50:14 +0000 Subject: [PATCH 10/13] fix: pro upgrade show captcha before confirm modal --- .../PaymentSummaryPanel.tsx | 16 ++++++++----- .../interfaces/Billing/ProUpgrade.tsx | 24 +++++++++++-------- 2 files changed, 24 insertions(+), 16 deletions(-) diff --git a/studio/components/interfaces/Billing/PaymentSummaryPanel/PaymentSummaryPanel.tsx b/studio/components/interfaces/Billing/PaymentSummaryPanel/PaymentSummaryPanel.tsx index 9e0db842011..8f648296f80 100644 --- a/studio/components/interfaces/Billing/PaymentSummaryPanel/PaymentSummaryPanel.tsx +++ b/studio/components/interfaces/Billing/PaymentSummaryPanel/PaymentSummaryPanel.tsx @@ -42,6 +42,7 @@ interface Props { isLoadingPaymentMethods: boolean onSelectPaymentMethod: (method: any) => void onSelectAddNewPaymentMethod: () => void + beforeConfirmPayment?: () => Promise onConfirmPayment: () => void isSubmitting: boolean @@ -72,6 +73,7 @@ const PaymentSummaryPanel: FC = ({ isLoadingPaymentMethods, onSelectPaymentMethod, onSelectAddNewPaymentMethod, + beforeConfirmPayment, onConfirmPayment, isSubmitting, captcha, @@ -132,6 +134,8 @@ const PaymentSummaryPanel: FC = ({ message: error, }) } else { + await beforeConfirmPayment?.() + isChangingComputeSize || (isChangingPITRDuration && selectedPITRDays === 0) ? setShowConfirmModal(true) : onConfirmPayment() @@ -141,7 +145,7 @@ const PaymentSummaryPanel: FC = ({ return ( <>

Payment Summary

@@ -296,7 +300,7 @@ const PaymentSummaryPanel: FC = ({
)} -
+
= ({

Select payment method

{isLoadingPaymentMethods ? ( -
+

Retrieving payment methods

) : paymentMethods.length === 0 ? ( -
+

No saved payment methods

@@ -373,11 +377,11 @@ const PaymentSummaryPanel: FC = ({ ) })}
-

+

Add new payment method

diff --git a/studio/components/interfaces/Billing/ProUpgrade.tsx b/studio/components/interfaces/Billing/ProUpgrade.tsx index e7f246d8b27..9f3ef740bcc 100644 --- a/studio/components/interfaces/Billing/ProUpgrade.tsx +++ b/studio/components/interfaces/Billing/ProUpgrade.tsx @@ -158,7 +158,7 @@ const ProUpgrade: FC = ({ captchaRef.current?.resetCaptcha() } - const onConfirmPayment = async () => { + const beforeConfirmPayment = async () => { setIsSubmitting(true) let token = captchaToken @@ -166,12 +166,15 @@ const ProUpgrade: FC = ({ if (!token) { const captchaResponse = await captchaRef.current?.execute({ async: true }) token = captchaResponse?.response ?? null + setCaptchaToken(token) } } catch (error) { setIsSubmitting(false) return } + } + const onConfirmPayment = async () => { const payload = formSubscriptionUpdatePayload( currentSubscription, selectedTier, @@ -179,7 +182,7 @@ const ProUpgrade: FC = ({ nonChangeableAddons, selectedPaymentMethodId, projectRegion, - token ?? undefined + captchaToken ?? undefined ) const res = await patch(`${API_URL}/projects/${projectRef}/subscription`, payload) resetCaptcha() @@ -223,17 +226,17 @@ const ProUpgrade: FC = ({ enter="transition ease-out duration-300" enterFrom="transform opacity-0 translate-x-10" enterTo="transform opacity-100 translate-x-0" - className="flex w-full items-start justify-between" + className="flex items-start justify-between w-full" >
-
+
onSelectBack()} />

Change your project's subscription

@@ -257,14 +260,14 @@ const ProUpgrade: FC = ({ )}
-
+

Enable spend cap

setShowSpendCapHelperModal(true)} />
@@ -342,6 +345,7 @@ const ProUpgrade: FC = ({ onSelectAddNewPaymentMethod={() => { setShowAddPaymentMethodModal(true) }} + beforeConfirmPayment={beforeConfirmPayment} onConfirmPayment={onConfirmPayment} isSubmitting={isSubmitting} captcha={ @@ -375,7 +379,7 @@ const ProUpgrade: FC = ({ header="Enabling spend cap" onCancel={() => setShowSpendCapHelperModal(false)} > -
+

@@ -390,7 +394,7 @@ const ProUpgrade: FC = ({

{/* Maybe instead of a table, show something more interactive like a spend cap playground */} {/* Maybe ideate this in Figma first but this is good enough for now */} -
+

Item

Limit

@@ -417,7 +421,7 @@ const ProUpgrade: FC = ({ From 4b765fd1250379ac1cf47def855b8293fe4633af Mon Sep 17 00:00:00 2001 From: Joshen Lim Date: Wed, 21 Dec 2022 21:30:18 +0700 Subject: [PATCH 11/13] Fix hcaptcha for upgrading instance --- .../interfaces/Billing/EnterpriseUpdate.tsx | 19 +++++++++++++++++++ .../PaymentSummaryPanel.tsx | 17 +++++++++++------ .../interfaces/Billing/ProUpgrade.tsx | 6 ++++-- 3 files changed, 34 insertions(+), 8 deletions(-) diff --git a/studio/components/interfaces/Billing/EnterpriseUpdate.tsx b/studio/components/interfaces/Billing/EnterpriseUpdate.tsx index 078cd190f42..697060a6340 100644 --- a/studio/components/interfaces/Billing/EnterpriseUpdate.tsx +++ b/studio/components/interfaces/Billing/EnterpriseUpdate.tsx @@ -137,6 +137,24 @@ const EnterpriseUpdate: FC = ({ captchaRef.current?.resetCaptcha() } + const beforeConfirmPayment = async (): Promise => { + setIsSubmitting(true) + let token = captchaToken + + try { + if (!token) { + const captchaResponse = await captchaRef.current?.execute({ async: true }) + token = captchaResponse?.response ?? null + setCaptchaToken(token) + } + } catch (error) { + setIsSubmitting(false) + return false + } + + return true + } + // Last todo to support enterprise billing on dashboard + E2E test const onConfirmPayment = async () => { setIsSubmitting(true) @@ -296,6 +314,7 @@ const EnterpriseUpdate: FC = ({ onSelectAddNewPaymentMethod={() => { setShowAddPaymentMethodModal(true) }} + beforeConfirmPayment={beforeConfirmPayment} onConfirmPayment={onConfirmPayment} captcha={ void onSelectAddNewPaymentMethod: () => void - beforeConfirmPayment?: () => Promise + beforeConfirmPayment: () => Promise onConfirmPayment: () => void isSubmitting: boolean @@ -134,11 +134,16 @@ const PaymentSummaryPanel: FC = ({ message: error, }) } else { - await beforeConfirmPayment?.() - - isChangingComputeSize || (isChangingPITRDuration && selectedPITRDays === 0) - ? setShowConfirmModal(true) - : onConfirmPayment() + // [Joshen] We're validating captcha before subsequent actions as there's an issue + // with the hcaptcha overlay and the modal component, such that clicking on the hcaptcha closes + // both the hcaptcha overlay and the modal. Need to figure that out first, then we can validate + // the hcaptcha within onConfirmPayment() + const hasValidCaptcha = await beforeConfirmPayment() + if (hasValidCaptcha) { + isChangingComputeSize || (isChangingPITRDuration && selectedPITRDays === 0) + ? setShowConfirmModal(true) + : onConfirmPayment() + } } } diff --git a/studio/components/interfaces/Billing/ProUpgrade.tsx b/studio/components/interfaces/Billing/ProUpgrade.tsx index 9f3ef740bcc..58434629eb8 100644 --- a/studio/components/interfaces/Billing/ProUpgrade.tsx +++ b/studio/components/interfaces/Billing/ProUpgrade.tsx @@ -158,7 +158,7 @@ const ProUpgrade: FC = ({ captchaRef.current?.resetCaptcha() } - const beforeConfirmPayment = async () => { + const beforeConfirmPayment = async (): Promise => { setIsSubmitting(true) let token = captchaToken @@ -170,8 +170,10 @@ const ProUpgrade: FC = ({ } } catch (error) { setIsSubmitting(false) - return + return false } + + return true } const onConfirmPayment = async () => { From 4b391ae42691348c344781da96902815f5da631f Mon Sep 17 00:00:00 2001 From: Joshen Lim Date: Wed, 21 Dec 2022 21:44:01 +0700 Subject: [PATCH 12/13] Fix submitting state --- studio/components/interfaces/Billing/EnterpriseUpdate.tsx | 1 + studio/components/interfaces/Billing/ProUpgrade.tsx | 1 + 2 files changed, 2 insertions(+) diff --git a/studio/components/interfaces/Billing/EnterpriseUpdate.tsx b/studio/components/interfaces/Billing/EnterpriseUpdate.tsx index 697060a6340..254d83275c7 100644 --- a/studio/components/interfaces/Billing/EnterpriseUpdate.tsx +++ b/studio/components/interfaces/Billing/EnterpriseUpdate.tsx @@ -152,6 +152,7 @@ const EnterpriseUpdate: FC = ({ return false } + setIsSubmitting(false) return true } diff --git a/studio/components/interfaces/Billing/ProUpgrade.tsx b/studio/components/interfaces/Billing/ProUpgrade.tsx index 58434629eb8..2f05f9a8844 100644 --- a/studio/components/interfaces/Billing/ProUpgrade.tsx +++ b/studio/components/interfaces/Billing/ProUpgrade.tsx @@ -173,6 +173,7 @@ const ProUpgrade: FC = ({ return false } + setIsSubmitting(false) return true } From b40e6216aba6ec03574318b23a45b7648333e529 Mon Sep 17 00:00:00 2001 From: Joshen Lim Date: Wed, 21 Dec 2022 16:49:34 +0700 Subject: [PATCH 13/13] Fix storage side bar text overflow --- studio/components/layouts/StorageLayout/StorageMenu.tsx | 6 ++++-- .../Storage/StorageExplorer/FileExplorerHeader.js | 3 ++- studio/components/ui/ProductMenu/ProductMenuItem.tsx | 8 ++++---- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/studio/components/layouts/StorageLayout/StorageMenu.tsx b/studio/components/layouts/StorageLayout/StorageMenu.tsx index dc41cdacb64..2889292f42f 100644 --- a/studio/components/layouts/StorageLayout/StorageMenu.tsx +++ b/studio/components/layouts/StorageLayout/StorageMenu.tsx @@ -122,8 +122,10 @@ const BucketRow = ({ -

{bucket.name}

+
+

+ {bucket.name} +

{bucket.public && Public}
} diff --git a/studio/components/to-be-cleaned/Storage/StorageExplorer/FileExplorerHeader.js b/studio/components/to-be-cleaned/Storage/StorageExplorer/FileExplorerHeader.js index 139a0be29cb..ad57ec629c1 100644 --- a/studio/components/to-be-cleaned/Storage/StorageExplorer/FileExplorerHeader.js +++ b/studio/components/to-be-cleaned/Storage/StorageExplorer/FileExplorerHeader.js @@ -34,7 +34,7 @@ const HeaderPathEdit = ({ loading, breadcrumbs, togglePathEdit }) => {
) : (
-

{breadcrumbs[breadcrumbs.length - 1] || ''}

+

{breadcrumbs[breadcrumbs.length - 1] || ''}