Просмотр исходного кода

move DndProvider to BasicLayout

Yuki Takei 3 лет назад
Родитель
Сommit
b1cafbc3a8

+ 21 - 15
packages/app/src/components/Layout/BasicLayout.tsx

@@ -1,6 +1,8 @@
 import React, { ReactNode } from 'react';
 
 import dynamic from 'next/dynamic';
+import { DndProvider } from 'react-dnd';
+import { HTML5Backend } from 'react-dnd-html5-backend';
 
 import { GrowiNavbar } from '../Navbar/GrowiNavbar';
 import Sidebar from '../Sidebar';
@@ -39,27 +41,31 @@ export const BasicLayout = ({
 
   return (
     <RawLayout title={title} className={myClassName}>
-      <GrowiNavbar />
 
-      <div className="page-wrapper d-flex d-print-block">
-        <div className="grw-sidebar-wrapper">
-          <Sidebar />
-        </div>
+      <DndProvider backend={HTML5Backend}>
+        <GrowiNavbar />
+
+        <div className="page-wrapper d-flex d-print-block">
+          <div className="grw-sidebar-wrapper">
+            <Sidebar />
+          </div>
 
-        <div className="flex-fill mw-0" style={{ position: 'relative' }}>
-          {children}
+          <div className="flex-fill mw-0" style={{ position: 'relative' }}>
+            {children}
+          </div>
         </div>
-      </div>
 
-      <GrowiNavbarBottom />
+        <GrowiNavbarBottom />
+
+        <PageCreateModal />
+        <PageDuplicateModal />
+        <PageDeleteModal />
+        <PageRenameModal />
+        <PageAccessoriesModal />
+        <DrawioModal />
+      </DndProvider>
 
-      <PageCreateModal />
-      <PageDuplicateModal />
-      <PageDeleteModal />
-      <PageRenameModal />
       <PagePresentationModal />
-      <PageAccessoriesModal />
-      <DrawioModal />
       <HotkeysManager />
 
       <Fab />

+ 1 - 5
packages/app/src/pages/_app.page.tsx

@@ -3,8 +3,6 @@ import React, { useEffect } from 'react';
 import { isServer } from '@growi/core';
 import { appWithTranslation } from 'next-i18next';
 import { AppProps } from 'next/app';
-import { DndProvider } from 'react-dnd';
-import { HTML5Backend } from 'react-dnd-html5-backend';
 import { SWRConfig } from 'swr';
 
 import * as nextI18nConfig from '^/config/next-i18next.config';
@@ -60,9 +58,7 @@ function GrowiApp({ Component, pageProps }: GrowiAppProps): JSX.Element {
   return (
     <SWRConfig value={swrConfig}>
       <NextThemesProvider>
-        <DndProvider backend={HTML5Backend}>
-          <Component {...pageProps} />
-        </DndProvider>
+        <Component {...pageProps} />
       </NextThemesProvider>
     </SWRConfig>
   );