فهرست منبع

Deleted Redundant code after the first feedback

Shunm634-source 3 سال پیش
والد
کامیت
35ddee9f05
1فایلهای تغییر یافته به همراه13 افزوده شده و 25 حذف شده
  1. 13 25
      packages/app/src/components/RevisionComparer/RevisionComparer.jsx

+ 13 - 25
packages/app/src/components/RevisionComparer/RevisionComparer.jsx

@@ -1,18 +1,19 @@
 import React, { useState } from 'react';
+
+import { pagePathUtils } from '@growi/core';
 import PropTypes from 'prop-types';
-import { withTranslation } from 'react-i18next';
 import { CopyToClipboard } from 'react-copy-to-clipboard';
+import { withTranslation } from 'react-i18next';
 import {
   Dropdown, DropdownToggle, DropdownMenu, DropdownItem,
 } from 'reactstrap';
 
-import { pagePathUtils } from '@growi/core';
-
-import { withUnstatedContainers } from '../UnstatedUtils';
 
 import RevisionComparerContainer from '~/client/services/RevisionComparerContainer';
 
 import RevisionDiff from '../PageHistory/RevisionDiff';
+import { withUnstatedContainers } from '../UnstatedUtils';
+
 
 const { encodeSpaces } = pagePathUtils;
 
@@ -36,12 +37,12 @@ const RevisionComparer = (props) => {
     setDropdownOpen(!dropdownOpen);
   }
 
-  const pagePathUrl = () => {
+  const urlGenerator = (content) => {
     const { origin } = window.location;
-    const { path } = revisionComparerContainer.pageContainer.state;
+    const { path, pageId } = revisionComparerContainer.pageContainer.state;
     const { sourceRevision, targetRevision } = revisionComparerContainer.state;
 
-    const url = new URL(path, origin);
+    const url = content === 'path' ? new URL(path, origin) : new URL(pageId, origin);
 
     if (sourceRevision != null && targetRevision != null) {
       const urlParams = `${sourceRevision._id}...${targetRevision._id}`;
@@ -49,21 +50,7 @@ const RevisionComparer = (props) => {
     }
 
     return encodeSpaces(decodeURI(url));
-  };
 
-  const permalink = () => {
-    const { origin } = window.location;
-    const { pageId } = revisionComparerContainer.pageContainer.state;
-    const { sourceRevision, targetRevision } = revisionComparerContainer.state;
-
-    const url = new URL(pageId, origin);
-
-    if (sourceRevision != null && targetRevision != null) {
-      const urlParams = `${sourceRevision._id}...${targetRevision._id}`;
-      url.searchParams.set('compare', urlParams);
-    }
-
-    return encodeSpaces(decodeURI(url));
   };
 
   const { sourceRevision, targetRevision } = revisionComparerContainer.state;
@@ -91,14 +78,15 @@ const RevisionComparer = (props) => {
           </DropdownToggle>
           <DropdownMenu positionFixed right modifiers={{ preventOverflow: { boundariesElement: undefined } }}>
             {/* Page path URL */}
-            <CopyToClipboard text={pagePathUrl()}>
+            <CopyToClipboard text={urlGenerator('path')}>
               <DropdownItem className="px-3">
-                <DropdownItemContents title={t('copy_to_clipboard.Page URL')} contents={pagePathUrl()} />
+                <DropdownItemContents title={t('copy_to_clipboard.Page URL')} contents={urlGenerator('path')} />
               </DropdownItem>
             </CopyToClipboard>
-            <CopyToClipboard text={permalink()}>
+            {/* Permanent Link URL */}
+            <CopyToClipboard text={urlGenerator('pageId')}>
               <DropdownItem className="px-3">
-                <DropdownItemContents title={t('copy_to_clipboard.Permanent link')} contents={permalink()} />
+                <DropdownItemContents title={t('copy_to_clipboard.Permanent link')} contents={urlGenerator('pageId')} />
               </DropdownItem>
             </CopyToClipboard>
             <DropdownItem divider className="my-0"></DropdownItem>