Shun Miyazawa 2 лет назад
Родитель
Сommit
d62ae1efcc
1 измененных файлов с 32 добавлено и 20 удалено
  1. 32 20
      apps/app/src/components/PageHeader/PageTitleHeader.tsx

+ 32 - 20
apps/app/src/components/PageHeader/PageTitleHeader.tsx

@@ -9,6 +9,7 @@ import { useTranslation } from 'next-i18next';
 import { ValidationTarget } from '~/client/util/input-validator';
 import { ValidationTarget } from '~/client/util/input-validator';
 
 
 import ClosableTextInput from '../Common/ClosableTextInput';
 import ClosableTextInput from '../Common/ClosableTextInput';
+import { CopyDropdown } from '../Common/CopyDropdown';
 
 
 import type { Props } from './PagePathHeader';
 import type { Props } from './PagePathHeader';
 import { usePagePathRenameHandler } from './page-header-utils';
 import { usePagePathRenameHandler } from './page-header-utils';
@@ -61,26 +62,37 @@ export const PageTitleHeader: FC<Props> = (props) => {
 
 
   return (
   return (
     <div className="d-flex">
     <div className="d-flex">
-      {isRenameInputShown
-        ? (
-          <div className="page-title-header-input">
-            <ClosableTextInput
-              useAutosizeInput
-              value={editedPageTitle}
-              placeholder={t('Input page name')}
-              onPressEnter={onPressEnter}
-              onPressEscape={onPressEscape}
-              onChange={onInputChange}
-              onClickOutside={() => setRenameInputShown(false)}
-              validationTarget={ValidationTarget.PAGE}
-            />
-          </div>
-        )
-        : (
-          <h2 onClick={onClickPageTitle}>
-            {pageTitle}
-          </h2>
-        )}
+      <div className="me-2">
+        {isRenameInputShown
+          ? (
+            <div className="page-title-header-input">
+              <ClosableTextInput
+                useAutosizeInput
+                value={editedPageTitle}
+                placeholder={t('Input page name')}
+                onPressEnter={onPressEnter}
+                onPressEscape={onPressEscape}
+                onChange={onInputChange}
+                onClickOutside={() => setRenameInputShown(false)}
+                validationTarget={ValidationTarget.PAGE}
+              />
+            </div>
+          )
+          : (
+            <h2 onClick={onClickPageTitle}>
+              {pageTitle}
+            </h2>
+          )}
+      </div>
+
+      <CopyDropdown
+        pageId={currentPage._id}
+        pagePath={currentPage.path}
+        dropdownToggleId={`copydropdown-${currentPage._id}`}
+        dropdownToggleClassName="p-2"
+      >
+        <span className="material-symbols-outlined fs-5">content_paste</span>
+      </CopyDropdown>
     </div>
     </div>
   );
   );
 };
 };