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

Merge branch 'master' into fix/gw-4308-not-render-PAM-in-shared-page

yusuketk 5 лет назад
Родитель
Сommit
235392a512

+ 3 - 0
src/client/js/app.jsx

@@ -15,6 +15,7 @@ import PageComments from './components/PageComments';
 import PageTimeline from './components/PageTimeline';
 import CommentEditorLazyRenderer from './components/PageComment/CommentEditorLazyRenderer';
 import PageManagement from './components/Page/PageManagement';
+import ShareLinkAlert from './components/Page/ShareLinkAlert';
 import TrashPageList from './components/TrashPageList';
 import TrashPageAlert from './components/Page/TrashPageAlert';
 import NotFoundPage from './components/NotFoundPage';
@@ -97,6 +98,8 @@ Object.assign(componentMappings, {
   'my-drafts': <MyDraftList />,
 
   'grw-fab-container': <Fab />,
+
+  'share-link-alert': <ShareLinkAlert />,
 });
 
 // additional definitions if data exists

+ 0 - 2
src/client/js/base.jsx

@@ -6,7 +6,6 @@ import Xss from '@commons/service/xss';
 import GrowiNavbar from './components/Navbar/GrowiNavbar';
 import GrowiNavbarBottom from './components/Navbar/GrowiNavbarBottom';
 import Sidebar from './components/Sidebar';
-import ShareLinkAlert from './components/Page/ShareLinkAlert';
 import HotkeysManager from './components/Hotkeys/HotkeysManager';
 
 import AppContainer from './services/AppContainer';
@@ -47,7 +46,6 @@ const componentMappings = {
 
   'grw-hotkeys-manager': <HotkeysManager />,
 
-  'share-link-alert': <ShareLinkAlert />,
 };
 
 export { appContainer, componentMappings };

+ 3 - 2
src/client/js/components/Navbar/GrowiSubNavigation.jsx

@@ -96,7 +96,7 @@ const GrowiSubNavigation = (props) => {
   const { isDrawerMode, editorMode } = navigationContainer.state;
   const {
     pageId, path, createdAt, creator, updatedAt, revisionAuthor,
-    isForbidden: isPageForbidden, pageUser, isNotCreatable,
+    isForbidden: isPageForbidden, pageUser, isNotCreatable, shareLinkId,
   } = pageContainer.state;
 
   const { currentUser } = appContainer;
@@ -105,6 +105,7 @@ const GrowiSubNavigation = (props) => {
   const isTagLabelHidden = (editorMode !== 'edit' && isPageNotFound);
   const isUserPage = pageUser != null;
   const isPageInTrash = isTrashPage(path);
+  const isSharedPage = shareLinkId != null;
 
   function onThreeStrandedButtonClicked(viewType) {
     navigationContainer.setEditorMode(viewType);
@@ -122,7 +123,7 @@ const GrowiSubNavigation = (props) => {
         ) }
 
         <div className="grw-path-nav-container">
-          { !isCompactMode && !isTagLabelHidden && !isPageForbidden && !isUserPage && (
+          { !isCompactMode && !isTagLabelHidden && !isPageForbidden && !isUserPage && !isSharedPage && (
             <div className="mb-2">
               <TagLabels editorMode={editorMode} />
             </div>

+ 5 - 5
src/server/routes/page.js

@@ -442,17 +442,17 @@ module.exports = function(crowi, app) {
       return res.render(`layout-${layoutName}/not_found_shared_page`);
     }
 
-    let page = shareLink.relatedPage;
+    const renderVars = {};
+
+    renderVars.sharelink = shareLink;
 
     // check if share link is expired
     if (shareLink.isExpired()) {
       // page is not found
-      return res.render(`layout-${layoutName}/expired_shared_page`);
+      return res.render(`layout-${layoutName}/expired_shared_page`, renderVars);
     }
 
-    const renderVars = {};
-
-    renderVars.sharelink = shareLink;
+    let page = shareLink.relatedPage;
 
     // presentation mode
     if (req.query.presentation) {

+ 18 - 7
src/server/views/layout-growi/expired_shared_page.html

@@ -1,13 +1,24 @@
 {% extends './shared_page.html' %}
 
-{% block content_header %}
+{% block html_title %}
+  {{ customizeService.generateCustomTitle('Page is expired') }}
 {% endblock %}
 
-{% block content_page %}
-  <div class="col-md-12">
-    <h2 class="text-muted">
-      <i class="icon-ban" aria-hidden="true"></i>
-      Page is expired
-    </h2>
+{% block content_main %}
+  <div class="container-lg">
+
+    <div
+      id="is-shared-page"
+      data-share-link-expired-at="{% if sharelink.expiredAt %}{{ sharelink.expiredAt|datetz('Y/m/d H:i:s')}}{% endif %}"
+      data-share-link-created-at="{{ sharelink.createdAt|datetz('Y/m/d H:i:s')}}"
+    >
+      <div id="share-link-alert"></div>
+
+      <h2 class="text-muted mt-4">
+        <i class="icon-ban" aria-hidden="true"></i>
+        Page is expired
+      </h2>
+    </div>
+
   </div>
 {% endblock %}

+ 8 - 5
src/server/views/layout-growi/not_found_shared_page.html

@@ -1,13 +1,16 @@
 {% extends './shared_page.html' %}
 
-{% block content_header %}
+{% block html_title %}
+  {{ customizeService.generateCustomTitle('Page is not found') }}
 {% endblock %}
 
-{% block content_page %}
-  <div class="col-md-12">
-    <h2 class="text-muted">
-      <i class="icon-info" aria-hidden="true"></i>
+{% block content_main %}
+  <div class="container-lg">
+
+    <h2 class="text-muted mt-4">
+      <i class="icon-ban" aria-hidden="true"></i>
       Page is not found
     </h2>
+
   </div>
 {% endblock %}

+ 11 - 6
src/server/views/layout-growi/shared_page.html

@@ -1,13 +1,16 @@
 {% extends 'base/layout.html' %}
 
-
-{% block content_header %}
-  <div class="container-fluid">
-    <h1 class="py-3">{{ page.path | preventXss }}</h1>
-  </div>
+{% block content_header_wrapper %}
+<header class="py-0">
+  {% block content_header %}
+    <div id="grw-subnav-container"></div>
+  {% endblock %}
+</header>
+<div id="grw-subnav-switcher-container" class="d-edit-none"></div>
+<div id="grw-subnav-sticky-trigger" class="sticky-top"></div>
+<div id="grw-fav-sticky-trigger" class="sticky-top"></div>
 {% endblock %}
 
-
 {% block content_main_before %}
 {% endblock %}
 {% block search %}
@@ -24,7 +27,9 @@
       data-share-link-created-at="{{ sharelink.createdAt|datetz('Y/m/d H:i:s')}}"
     >
       <div id="share-link-alert"></div>
+
       {% include '../widget/page_content.html' %}
+      
     </div>
 
   </div>