Răsfoiți Sursa

move components dir

Yuki Takei 1 an în urmă
părinte
comite
ccd934622a
100 a modificat fișierele cu 119 adăugiri și 51 ștergeri
  1. 1 1
      apps/app/src/client/components/Navbar/GrowiContextualSubNavigation.tsx
  2. 1 1
      apps/app/src/client/components/Navbar/GrowiNavbarBottom.tsx
  3. 1 1
      apps/app/src/client/components/Page/RevisionLoader.tsx
  4. 1 1
      apps/app/src/client/components/PageAttachment/DeleteAttachmentModal.tsx
  5. 2 2
      apps/app/src/client/components/PageComment/Comment.tsx
  6. 1 1
      apps/app/src/client/components/PageComment/CommentPreview.tsx
  7. 1 1
      apps/app/src/client/components/PageComment/DeleteCommentModal.tsx
  8. 1 1
      apps/app/src/client/components/PageEditor/Preview.tsx
  9. 1 1
      apps/app/src/client/components/PageHeader/PagePathHeader.tsx
  10. 2 2
      apps/app/src/client/components/PageHistory/Revision.tsx
  11. 1 1
      apps/app/src/client/components/PageHistory/RevisionDiff.tsx
  12. 1 1
      apps/app/src/client/components/PageList/PageListItemL.tsx
  13. 3 3
      apps/app/src/client/components/PagePathNavSticky/PagePathNavSticky.tsx
  14. 1 1
      apps/app/src/client/components/PageStatusAlert.tsx
  15. 2 2
      apps/app/src/client/components/SearchPage/SearchResultContent.tsx
  16. 1 1
      apps/app/src/client/components/Sidebar/Custom/CustomSidebarSubstance.tsx
  17. 1 1
      apps/app/src/client/components/Sidebar/RecentChanges/RecentChangesSubstance.tsx
  18. 1 1
      apps/app/src/client/components/Sidebar/SidebarBrandLogo.tsx
  19. 0 2
      apps/app/src/components/.eslintrc.js
  20. 0 0
      apps/app/src/components/Admin/Common/AdminNavigation.module.scss
  21. 0 0
      apps/app/src/components/Admin/Common/AdminNavigation.tsx
  22. 0 0
      apps/app/src/components/Common/GrowiLogo.jsx
  23. 0 0
      apps/app/src/components/Common/GrowiLogo.module.scss
  24. 0 0
      apps/app/src/components/Common/PagePathHierarchicalLink/PagePathHierarchicalLink.module.scss
  25. 0 0
      apps/app/src/components/Common/PagePathHierarchicalLink/PagePathHierarchicalLink.tsx
  26. 0 0
      apps/app/src/components/Common/PagePathHierarchicalLink/index.ts
  27. 0 0
      apps/app/src/components/Common/PagePathNav/PagePathNav.module.scss
  28. 0 0
      apps/app/src/components/Common/PagePathNav/PagePathNav.tsx
  29. 0 0
      apps/app/src/components/Common/PagePathNav/PagePathNavLayout.tsx
  30. 0 0
      apps/app/src/components/Common/PagePathNav/Separator.module.scss
  31. 0 0
      apps/app/src/components/Common/PagePathNav/Separator.tsx
  32. 0 0
      apps/app/src/components/Common/PagePathNav/index.ts
  33. 0 0
      apps/app/src/components/Common/PagePathNavTitle/PagePathNavTitle.module.scss
  34. 0 0
      apps/app/src/components/Common/PagePathNavTitle/PagePathNavTitle.tsx
  35. 0 0
      apps/app/src/components/Common/PagePathNavTitle/index.ts
  36. 0 0
      apps/app/src/components/FontFamily/GlobalFonts.tsx
  37. 0 0
      apps/app/src/components/FontFamily/types.d.ts
  38. 0 0
      apps/app/src/components/FontFamily/use-growi-custom-icons.tsx
  39. 0 0
      apps/app/src/components/FontFamily/use-lato.tsx
  40. 0 0
      apps/app/src/components/FontFamily/use-material-symbols-outlined.tsx
  41. 0 0
      apps/app/src/components/FontFamily/use-source-han-code-jp.tsx
  42. 0 0
      apps/app/src/components/Layout/Admin.module.scss
  43. 1 1
      apps/app/src/components/Layout/AdminLayout.tsx
  44. 0 0
      apps/app/src/components/Layout/BasicLayout.module.scss
  45. 0 0
      apps/app/src/components/Layout/BasicLayout.tsx
  46. 0 0
      apps/app/src/components/Layout/NoLoginLayout.module.scss
  47. 0 0
      apps/app/src/components/Layout/NoLoginLayout.tsx
  48. 0 0
      apps/app/src/components/Layout/RawLayout.module.scss
  49. 0 0
      apps/app/src/components/Layout/RawLayout.tsx
  50. 0 0
      apps/app/src/components/Layout/SearchResultLayout.module.scss
  51. 0 0
      apps/app/src/components/Layout/SearchResultLayout.tsx
  52. 0 0
      apps/app/src/components/Layout/ShareLinkLayout.tsx
  53. 0 0
      apps/app/src/components/Navbar/GroundGlassBar.module.scss
  54. 0 0
      apps/app/src/components/Navbar/GroundGlassBar.tsx
  55. 72 0
      apps/app/src/components/PageStatusAlert.tsx
  56. 0 0
      apps/app/src/components/PageView/PageAlerts/FixPageGrantAlert.tsx
  57. 0 0
      apps/app/src/components/PageView/PageAlerts/OldRevisionAlert.tsx
  58. 0 0
      apps/app/src/components/PageView/PageAlerts/PageAlerts.tsx
  59. 0 0
      apps/app/src/components/PageView/PageAlerts/PageGrantAlert.tsx
  60. 0 0
      apps/app/src/components/PageView/PageAlerts/PageRedirectedAlert.tsx
  61. 0 0
      apps/app/src/components/PageView/PageAlerts/PageStaleAlert.tsx
  62. 0 0
      apps/app/src/components/PageView/PageAlerts/TrashPageAlert.tsx
  63. 0 0
      apps/app/src/components/PageView/PageAlerts/WipPageAlert.tsx
  64. 0 0
      apps/app/src/components/PageView/PageAlerts/index.ts
  65. 0 0
      apps/app/src/components/PageView/PageContentFooter.module.scss
  66. 0 0
      apps/app/src/components/PageView/PageContentFooter.tsx
  67. 0 0
      apps/app/src/components/PageView/PageView.module.scss
  68. 1 1
      apps/app/src/components/PageView/PageView.tsx
  69. 0 0
      apps/app/src/components/PageView/PageViewLayout.module.scss
  70. 0 0
      apps/app/src/components/PageView/PageViewLayout.tsx
  71. 0 0
      apps/app/src/components/PageView/RevisionRenderer.tsx
  72. 0 0
      apps/app/src/components/PageView/index.ts
  73. 0 0
      apps/app/src/components/Script/DrawioViewerScript/DrawioViewerScript.tsx
  74. 0 0
      apps/app/src/components/Script/DrawioViewerScript/index.ts
  75. 0 0
      apps/app/src/components/Script/DrawioViewerScript/use-viewer-min-js-url.spec.ts
  76. 0 0
      apps/app/src/components/Script/DrawioViewerScript/use-viewer-min-js-url.ts
  77. 0 0
      apps/app/src/components/ShareLinkPageView/ShareLinkAlert.tsx
  78. 1 1
      apps/app/src/components/ShareLinkPageView/ShareLinkPageView.tsx
  79. 0 0
      apps/app/src/components/ShareLinkPageView/index.ts
  80. 0 0
      apps/app/src/components/User/UserDate.jsx
  81. 0 0
      apps/app/src/components/User/UserInfo.module.scss
  82. 0 0
      apps/app/src/components/User/UserInfo.tsx
  83. 0 0
      apps/app/src/components/User/Username.tsx
  84. 0 2
      apps/app/src/pages/.eslintrc.js
  85. 3 3
      apps/app/src/pages/[[...path]].page.tsx
  86. 1 1
      apps/app/src/pages/_app.page.tsx
  87. 2 2
      apps/app/src/pages/_private-legacy-pages.page.tsx
  88. 3 3
      apps/app/src/pages/_search.page.tsx
  89. 1 1
      apps/app/src/pages/admin/[...path].page.tsx
  90. 1 1
      apps/app/src/pages/admin/app.page.tsx
  91. 1 1
      apps/app/src/pages/admin/audit-log.page.tsx
  92. 1 1
      apps/app/src/pages/admin/customize.page.tsx
  93. 1 1
      apps/app/src/pages/admin/data-transfer.page.tsx
  94. 1 1
      apps/app/src/pages/admin/export.page.tsx
  95. 1 1
      apps/app/src/pages/admin/global-notification/[globalNotificationId].page.tsx
  96. 1 1
      apps/app/src/pages/admin/global-notification/new.page.tsx
  97. 1 1
      apps/app/src/pages/admin/importer.page.tsx
  98. 1 1
      apps/app/src/pages/admin/index.page.tsx
  99. 1 1
      apps/app/src/pages/admin/markdown.page.tsx
  100. 1 1
      apps/app/src/pages/admin/notification.page.tsx

+ 1 - 1
apps/app/src/client/components/Navbar/GrowiContextualSubNavigation.tsx

@@ -15,7 +15,7 @@ import Sticky from 'react-stickynode';
 import { DropdownItem } from 'reactstrap';
 
 import { exportAsMarkdown, updateContentWidth } from '~/client/services/page-operation';
-import { GroundGlassBar } from '~/components-universal/Navbar/GroundGlassBar';
+import { GroundGlassBar } from '~/components/Navbar/GroundGlassBar';
 import type { OnDuplicatedFunction, OnRenamedFunction, OnDeletedFunction } from '~/interfaces/ui';
 import { useShouldExpandContent } from '~/services/layout/use-should-expand-content';
 import { useEditorMode } from '~/stores-universal/ui';

+ 1 - 1
apps/app/src/client/components/Navbar/GrowiNavbarBottom.tsx

@@ -2,7 +2,7 @@ import React, {
   useCallback,
 } from 'react';
 
-import { GroundGlassBar } from '~/components-universal/Navbar/GroundGlassBar';
+import { GroundGlassBar } from '~/components/Navbar/GroundGlassBar';
 import { useSearchModal } from '~/features/search/client/stores/search';
 import { useIsSearchPage } from '~/stores/context';
 import { usePageCreateModal } from '~/stores/modal';

+ 1 - 1
apps/app/src/client/components/Page/RevisionLoader.tsx

@@ -9,7 +9,7 @@ import { useSWRxPageRevision } from '~/stores/page';
 import loggerFactory from '~/utils/logger';
 
 
-import RevisionRenderer from '../../../components-universal/PageView/RevisionRenderer';
+import RevisionRenderer from '../../../components/PageView/RevisionRenderer';
 
 export const ROOT_ELEM_ID = 'revision-loader' as const;
 

+ 1 - 1
apps/app/src/client/components/PageAttachment/DeleteAttachmentModal.tsx

@@ -12,7 +12,7 @@ import { toastSuccess, toastError } from '~/client/util/toastr';
 import { useDeleteAttachmentModal } from '~/stores/modal';
 import loggerFactory from '~/utils/logger';
 
-import { Username } from '../../../components-universal/User/Username';
+import { Username } from '../../../components/User/Username';
 
 import styles from './DeleteAttachmentModal.module.scss';
 

+ 2 - 2
apps/app/src/client/components/PageComment/Comment.tsx

@@ -12,8 +12,8 @@ import urljoin from 'url-join';
 import type { RendererOptions } from '~/interfaces/renderer-options';
 
 
-import RevisionRenderer from '../../../components-universal/PageView/RevisionRenderer';
-import { Username } from '../../../components-universal/User/Username';
+import RevisionRenderer from '../../../components/PageView/RevisionRenderer';
+import { Username } from '../../../components/User/Username';
 import type { ICommentHasId } from '../../../interfaces/comment';
 import FormattedDistanceDate from '../FormattedDistanceDate';
 

+ 1 - 1
apps/app/src/client/components/PageComment/CommentPreview.tsx

@@ -1,6 +1,6 @@
 import { useCommentPreviewOptions } from '~/stores/renderer';
 
-import RevisionRenderer from '../../../components-universal/PageView/RevisionRenderer';
+import RevisionRenderer from '../../../components/PageView/RevisionRenderer';
 
 
 import styles from './CommentPreview.module.scss';

+ 1 - 1
apps/app/src/client/components/PageComment/DeleteCommentModal.tsx

@@ -8,7 +8,7 @@ import {
   Button, Modal, ModalHeader, ModalBody, ModalFooter,
 } from 'reactstrap';
 
-import { Username } from '../../../components-universal/User/Username';
+import { Username } from '../../../components/User/Username';
 import type { ICommentHasId } from '../../../interfaces/comment';
 
 import styles from './DeleteCommentModal.module.scss';

+ 1 - 1
apps/app/src/client/components/PageEditor/Preview.tsx

@@ -5,7 +5,7 @@ import { useSlidesByFrontmatter } from '@growi/presentation/dist/services';
 import type { RendererOptions } from '~/interfaces/renderer-options';
 import { useIsEnabledMarp } from '~/stores/context';
 
-import RevisionRenderer from '../../../components-universal/PageView/RevisionRenderer';
+import RevisionRenderer from '../../../components/PageView/RevisionRenderer';
 import { SlideRenderer } from '../Page/SlideRenderer';
 
 import styles from './Preview.module.scss';

+ 1 - 1
apps/app/src/client/components/PageHeader/PagePathHeader.tsx

@@ -14,7 +14,7 @@ import { ValidationTarget, useInputValidator } from '~/client/util/use-input-val
 import LinkedPagePath from '~/models/linked-page-path';
 import { usePageSelectModal } from '~/stores/modal';
 
-import { PagePathHierarchicalLink } from '../../../components-universal/Common/PagePathHierarchicalLink';
+import { PagePathHierarchicalLink } from '../../../components/Common/PagePathHierarchicalLink';
 import { AutosizeSubmittableInput, getAdjustedMaxWidthForAutosizeInput } from '../Common/SubmittableInput';
 import { usePagePathRenameHandler } from '../PageEditor/page-path-rename-utils';
 import { PageSelectModal } from '../PageSelectModal/PageSelectModal';

+ 2 - 2
apps/app/src/client/components/PageHistory/Revision.tsx

@@ -7,8 +7,8 @@ import { useTranslation } from 'next-i18next';
 import Link from 'next/link';
 import urljoin from 'url-join';
 
-import UserDate from '../../../components-universal/User/UserDate';
-import { Username } from '../../../components-universal/User/Username';
+import UserDate from '../../../components/User/UserDate';
+import { Username } from '../../../components/User/Username';
 
 import styles from './Revision.module.scss';
 

+ 1 - 1
apps/app/src/client/components/PageHistory/RevisionDiff.tsx

@@ -12,7 +12,7 @@ import urljoin from 'url-join';
 
 import { Themes, useNextThemes } from '~/stores-universal/use-next-themes';
 
-import UserDate from '../../../components-universal/User/UserDate';
+import UserDate from '../../../components/User/UserDate';
 
 import styles from './RevisionDiff.module.scss';
 

+ 1 - 1
apps/app/src/client/components/PageList/PageListItemL.tsx

@@ -34,7 +34,7 @@ import { useIsDeviceLargerThanLg } from '~/stores/ui';
 import { useSWRMUTxPageInfo, useSWRxPageInfo } from '../../../stores/page';
 import type { ForceHideMenuItems } from '../Common/Dropdown/PageItemControl';
 import { PageItemControl } from '../Common/Dropdown/PageItemControl';
-import { PagePathHierarchicalLink } from '../../../components-universal/Common/PagePathHierarchicalLink';
+import { PagePathHierarchicalLink } from '../../../components/Common/PagePathHierarchicalLink';
 
 type Props = {
   page: IPageWithSearchMeta | IPageWithMeta<IPageInfoForListing & IPageSearchMeta>,

+ 3 - 3
apps/app/src/client/components/PagePathNavSticky/PagePathNavSticky.tsx

@@ -14,9 +14,9 @@ import {
   usePageControlsX, useCurrentProductNavWidth, useSidebarMode,
 } from '~/stores/ui';
 
-import { PagePathHierarchicalLink } from '../../../components-universal/Common/PagePathHierarchicalLink';
-import type { PagePathNavLayoutProps } from '../../../components-universal/Common/PagePathNav';
-import { PagePathNav, PagePathNavLayout, Separator } from '../../../components-universal/Common/PagePathNav';
+import { PagePathHierarchicalLink } from '../../../components/Common/PagePathHierarchicalLink';
+import type { PagePathNavLayoutProps } from '../../../components/Common/PagePathNav';
+import { PagePathNav, PagePathNavLayout, Separator } from '../../../components/Common/PagePathNav';
 
 import { CollapsedParentsDropdown } from './CollapsedParentsDropdown';
 

+ 1 - 1
apps/app/src/client/components/PageStatusAlert.tsx

@@ -8,7 +8,7 @@ import { useIsGuestUser, useIsReadOnlyUser } from '~/stores/context';
 import { useSWRxCurrentPage } from '~/stores/page';
 import { useRemoteRevisionId, useRemoteRevisionLastUpdateUser } from '~/stores/remote-latest-page';
 
-import { Username } from '../../components-universal/User/Username';
+import { Username } from '../../components/User/Username';
 
 import styles from './PageStatusAlert.module.scss';
 

+ 2 - 2
apps/app/src/client/components/SearchPage/SearchResultContent.tsx

@@ -13,7 +13,7 @@ import { debounce } from 'throttle-debounce';
 
 import { exportAsMarkdown, updateContentWidth } from '~/client/services/page-operation';
 import { toastSuccess } from '~/client/util/toastr';
-import { PagePathNav } from '~/components-universal/Common/PagePathNav';
+import { PagePathNav } from '~/components/Common/PagePathNav';
 import type { IPageWithSearchMeta } from '~/interfaces/search';
 import type { OnDuplicatedFunction, OnRenamedFunction, OnDeletedFunction } from '~/interfaces/ui';
 import { useShouldExpandContent } from '~/services/layout/use-should-expand-content';
@@ -38,7 +38,7 @@ const PageControls = dynamic(() => import('../PageControls').then(mod => mod.Pag
 const RevisionLoader = dynamic<RevisionLoaderProps>(() => import('../Page/RevisionLoader').then(mod => mod.RevisionLoader), { ssr: false });
 const PageComment = dynamic(() => import('../PageComment').then(mod => mod.PageComment), { ssr: false });
 const PageContentFooter = dynamic(
-  () => import('~/components-universal/PageView/PageContentFooter').then(mod => mod.PageContentFooter),
+  () => import('~/components/PageView/PageContentFooter').then(mod => mod.PageContentFooter),
   { ssr: false },
 );
 

+ 1 - 1
apps/app/src/client/components/Sidebar/Custom/CustomSidebarSubstance.tsx

@@ -1,6 +1,6 @@
 import React from 'react';
 
-import RevisionRenderer from '~/components-universal/PageView/RevisionRenderer';
+import RevisionRenderer from '~/components/PageView/RevisionRenderer';
 import { useSWRxPageByPath } from '~/stores/page';
 import { useCustomSidebarOptions } from '~/stores/renderer';
 import loggerFactory from '~/utils/logger';

+ 1 - 1
apps/app/src/client/components/Sidebar/RecentChanges/RecentChangesSubstance.tsx

@@ -10,7 +10,7 @@ import { UserPicture } from '@growi/ui/dist/components';
 import { useTranslation } from 'react-i18next';
 
 import { useKeywordManager } from '~/client/services/search-operation';
-import { PagePathHierarchicalLink } from '~/components-universal/Common/PagePathHierarchicalLink';
+import { PagePathHierarchicalLink } from '~/components/Common/PagePathHierarchicalLink';
 import FormattedDistanceDate from '~/client/components/FormattedDistanceDate';
 import InfiniteScroll from '~/client/components/InfiniteScroll';
 import LinkedPagePath from '~/models/linked-page-path';

+ 1 - 1
apps/app/src/client/components/Sidebar/SidebarBrandLogo.tsx

@@ -1,6 +1,6 @@
 import { memo } from 'react';
 
-import GrowiLogo from '../../../components-universal/Common/GrowiLogo';
+import GrowiLogo from '../../../components/Common/GrowiLogo';
 
 type SidebarBrandLogoProps = {
   isDefaultLogo?: boolean

+ 0 - 2
apps/app/src/components-universal/.eslintrc.js → apps/app/src/components/.eslintrc.js

@@ -6,8 +6,6 @@ module.exports = {
       patterns: [
         '~/client/',
         'client/',
-        '~/components/',
-        'components/',
       ],
     }],
   },

+ 0 - 0
apps/app/src/components-universal/Admin/Common/AdminNavigation.module.scss → apps/app/src/components/Admin/Common/AdminNavigation.module.scss


+ 0 - 0
apps/app/src/components-universal/Admin/Common/AdminNavigation.tsx → apps/app/src/components/Admin/Common/AdminNavigation.tsx


+ 0 - 0
apps/app/src/components-universal/Common/GrowiLogo.jsx → apps/app/src/components/Common/GrowiLogo.jsx


+ 0 - 0
apps/app/src/components-universal/Common/GrowiLogo.module.scss → apps/app/src/components/Common/GrowiLogo.module.scss


+ 0 - 0
apps/app/src/components-universal/Common/PagePathHierarchicalLink/PagePathHierarchicalLink.module.scss → apps/app/src/components/Common/PagePathHierarchicalLink/PagePathHierarchicalLink.module.scss


+ 0 - 0
apps/app/src/components-universal/Common/PagePathHierarchicalLink/PagePathHierarchicalLink.tsx → apps/app/src/components/Common/PagePathHierarchicalLink/PagePathHierarchicalLink.tsx


+ 0 - 0
apps/app/src/components-universal/Common/PagePathHierarchicalLink/index.ts → apps/app/src/components/Common/PagePathHierarchicalLink/index.ts


+ 0 - 0
apps/app/src/components-universal/Common/PagePathNav/PagePathNav.module.scss → apps/app/src/components/Common/PagePathNav/PagePathNav.module.scss


+ 0 - 0
apps/app/src/components-universal/Common/PagePathNav/PagePathNav.tsx → apps/app/src/components/Common/PagePathNav/PagePathNav.tsx


+ 0 - 0
apps/app/src/components-universal/Common/PagePathNav/PagePathNavLayout.tsx → apps/app/src/components/Common/PagePathNav/PagePathNavLayout.tsx


+ 0 - 0
apps/app/src/components-universal/Common/PagePathNav/Separator.module.scss → apps/app/src/components/Common/PagePathNav/Separator.module.scss


+ 0 - 0
apps/app/src/components-universal/Common/PagePathNav/Separator.tsx → apps/app/src/components/Common/PagePathNav/Separator.tsx


+ 0 - 0
apps/app/src/components-universal/Common/PagePathNav/index.ts → apps/app/src/components/Common/PagePathNav/index.ts


+ 0 - 0
apps/app/src/components-universal/Common/PagePathNavTitle/PagePathNavTitle.module.scss → apps/app/src/components/Common/PagePathNavTitle/PagePathNavTitle.module.scss


+ 0 - 0
apps/app/src/components-universal/Common/PagePathNavTitle/PagePathNavTitle.tsx → apps/app/src/components/Common/PagePathNavTitle/PagePathNavTitle.tsx


+ 0 - 0
apps/app/src/components-universal/Common/PagePathNavTitle/index.ts → apps/app/src/components/Common/PagePathNavTitle/index.ts


+ 0 - 0
apps/app/src/components-universal/FontFamily/GlobalFonts.tsx → apps/app/src/components/FontFamily/GlobalFonts.tsx


+ 0 - 0
apps/app/src/components-universal/FontFamily/types.d.ts → apps/app/src/components/FontFamily/types.d.ts


+ 0 - 0
apps/app/src/components-universal/FontFamily/use-growi-custom-icons.tsx → apps/app/src/components/FontFamily/use-growi-custom-icons.tsx


+ 0 - 0
apps/app/src/components-universal/FontFamily/use-lato.tsx → apps/app/src/components/FontFamily/use-lato.tsx


+ 0 - 0
apps/app/src/components-universal/FontFamily/use-material-symbols-outlined.tsx → apps/app/src/components/FontFamily/use-material-symbols-outlined.tsx


+ 0 - 0
apps/app/src/components-universal/FontFamily/use-source-han-code-jp.tsx → apps/app/src/components/FontFamily/use-source-han-code-jp.tsx


+ 0 - 0
apps/app/src/components-universal/Layout/Admin.module.scss → apps/app/src/components/Layout/Admin.module.scss


+ 1 - 1
apps/app/src/components-universal/Layout/AdminLayout.tsx → apps/app/src/components/Layout/AdminLayout.tsx

@@ -4,7 +4,7 @@ import React from 'react';
 import dynamic from 'next/dynamic';
 import Link from 'next/link';
 
-import GrowiLogo from '~/components-universal/Common/GrowiLogo';
+import GrowiLogo from '~/components/Common/GrowiLogo';
 
 import { AdminNavigation } from '../Admin/Common/AdminNavigation';
 

+ 0 - 0
apps/app/src/components-universal/Layout/BasicLayout.module.scss → apps/app/src/components/Layout/BasicLayout.module.scss


+ 0 - 0
apps/app/src/components-universal/Layout/BasicLayout.tsx → apps/app/src/components/Layout/BasicLayout.tsx


+ 0 - 0
apps/app/src/components-universal/Layout/NoLoginLayout.module.scss → apps/app/src/components/Layout/NoLoginLayout.module.scss


+ 0 - 0
apps/app/src/components-universal/Layout/NoLoginLayout.tsx → apps/app/src/components/Layout/NoLoginLayout.tsx


+ 0 - 0
apps/app/src/components-universal/Layout/RawLayout.module.scss → apps/app/src/components/Layout/RawLayout.module.scss


+ 0 - 0
apps/app/src/components-universal/Layout/RawLayout.tsx → apps/app/src/components/Layout/RawLayout.tsx


+ 0 - 0
apps/app/src/components-universal/Layout/SearchResultLayout.module.scss → apps/app/src/components/Layout/SearchResultLayout.module.scss


+ 0 - 0
apps/app/src/components-universal/Layout/SearchResultLayout.tsx → apps/app/src/components/Layout/SearchResultLayout.tsx


+ 0 - 0
apps/app/src/components-universal/Layout/ShareLinkLayout.tsx → apps/app/src/components/Layout/ShareLinkLayout.tsx


+ 0 - 0
apps/app/src/components-universal/Navbar/GroundGlassBar.module.scss → apps/app/src/components/Navbar/GroundGlassBar.module.scss


+ 0 - 0
apps/app/src/components-universal/Navbar/GroundGlassBar.tsx → apps/app/src/components/Navbar/GroundGlassBar.tsx


+ 72 - 0
apps/app/src/components/PageStatusAlert.tsx

@@ -0,0 +1,72 @@
+import React, { useCallback } from 'react';
+
+import { useTranslation } from 'next-i18next';
+
+import { useEditorMode } from '~/stores-universal/ui';
+import { usePageStatusAlert } from '~/stores/alert';
+import { useIsGuestUser, useIsReadOnlyUser } from '~/stores/context';
+import { useSWRxCurrentPage } from '~/stores/page';
+import { useRemoteRevisionId, useRemoteRevisionLastUpdateUser } from '~/stores/remote-latest-page';
+
+import { Username } from './User/Username';
+
+import styles from './PageStatusAlert.module.scss';
+
+export const PageStatusAlert = (): JSX.Element => {
+  const { t } = useTranslation();
+
+  const { data: editorMode } = useEditorMode();
+  const { data: isGuestUser } = useIsGuestUser();
+  const { data: isReadOnlyUser } = useIsReadOnlyUser();
+  const { data: pageStatusAlertData } = usePageStatusAlert();
+  const { data: remoteRevisionId } = useRemoteRevisionId();
+  const { data: remoteRevisionLastUpdateUser } = useRemoteRevisionLastUpdateUser();
+  const { data: pageData } = useSWRxCurrentPage();
+
+  const onClickRefreshPage = useCallback(() => {
+    pageStatusAlertData?.onRefleshPage?.();
+  }, [pageStatusAlertData]);
+
+  const onClickResolveConflict = useCallback(() => {
+    pageStatusAlertData?.onResolveConflict?.();
+  }, [pageStatusAlertData]);
+
+  const hasResolveConflictHandler = pageStatusAlertData?.onResolveConflict != null;
+  const hasRefreshPageHandler = pageStatusAlertData?.onRefleshPage != null;
+
+  const currentRevisionId = pageData?.revision?._id;
+  const isRevisionOutdated = (currentRevisionId != null || remoteRevisionId != null) && currentRevisionId !== remoteRevisionId;
+
+  if (!pageStatusAlertData?.isOpen || !!isGuestUser || !!isReadOnlyUser || !isRevisionOutdated) {
+    return <></>;
+  }
+
+  if (editorMode === pageStatusAlertData?.hideEditorMode) {
+    return <></>;
+  }
+
+  return (
+    <div className={`${styles['grw-page-status-alert']} card fixed-bottom animated fadeInUp faster text-bg-warning`}>
+      <div className="card-body">
+        <p className="card-text grw-card-label-container">
+          { hasResolveConflictHandler
+            ? <>{t('modal_resolve_conflict.file_conflicting_with_newer_remote')}</>
+            : <><Username user={remoteRevisionLastUpdateUser} /> {t('edited this page')}</>
+          }
+        </p>
+        <p className="card-text grw-card-btn-container">
+          {hasRefreshPageHandler && (
+            <button type="button" onClick={onClickRefreshPage} className="btn btn-outline-white">
+              <span className="material-symbols-outlined">refresh</span>{t('Load latest')}
+            </button>
+          )}
+          {hasResolveConflictHandler && (
+            <button type="button" onClick={onClickResolveConflict} className="btn btn-outline-white">
+              <span className="material-symbols-outlined">description</span>{t('modal_resolve_conflict.resolve_conflict')}
+            </button>
+          )}
+        </p>
+      </div>
+    </div>
+  );
+};

+ 0 - 0
apps/app/src/components-universal/PageView/PageAlerts/FixPageGrantAlert.tsx → apps/app/src/components/PageView/PageAlerts/FixPageGrantAlert.tsx


+ 0 - 0
apps/app/src/components-universal/PageView/PageAlerts/OldRevisionAlert.tsx → apps/app/src/components/PageView/PageAlerts/OldRevisionAlert.tsx


+ 0 - 0
apps/app/src/components-universal/PageView/PageAlerts/PageAlerts.tsx → apps/app/src/components/PageView/PageAlerts/PageAlerts.tsx


+ 0 - 0
apps/app/src/components-universal/PageView/PageAlerts/PageGrantAlert.tsx → apps/app/src/components/PageView/PageAlerts/PageGrantAlert.tsx


+ 0 - 0
apps/app/src/components-universal/PageView/PageAlerts/PageRedirectedAlert.tsx → apps/app/src/components/PageView/PageAlerts/PageRedirectedAlert.tsx


+ 0 - 0
apps/app/src/components-universal/PageView/PageAlerts/PageStaleAlert.tsx → apps/app/src/components/PageView/PageAlerts/PageStaleAlert.tsx


+ 0 - 0
apps/app/src/components-universal/PageView/PageAlerts/TrashPageAlert.tsx → apps/app/src/components/PageView/PageAlerts/TrashPageAlert.tsx


+ 0 - 0
apps/app/src/components-universal/PageView/PageAlerts/WipPageAlert.tsx → apps/app/src/components/PageView/PageAlerts/WipPageAlert.tsx


+ 0 - 0
apps/app/src/components-universal/PageView/PageAlerts/index.ts → apps/app/src/components/PageView/PageAlerts/index.ts


+ 0 - 0
apps/app/src/components-universal/PageView/PageContentFooter.module.scss → apps/app/src/components/PageView/PageContentFooter.module.scss


+ 0 - 0
apps/app/src/components-universal/PageView/PageContentFooter.tsx → apps/app/src/components/PageView/PageContentFooter.tsx


+ 0 - 0
apps/app/src/components-universal/PageView/PageView.module.scss → apps/app/src/components/PageView/PageView.module.scss


+ 1 - 1
apps/app/src/components-universal/PageView/PageView.tsx → apps/app/src/components/PageView/PageView.tsx

@@ -7,7 +7,7 @@ import { isUsersHomepage } from '@growi/core/dist/utils/page-path-utils';
 import { useSlidesByFrontmatter } from '@growi/presentation/dist/services';
 import dynamic from 'next/dynamic';
 
-import { PagePathNavTitle } from '~/components-universal/Common/PagePathNavTitle';
+import { PagePathNavTitle } from '~/components/Common/PagePathNavTitle';
 import type { RendererConfig } from '~/interfaces/services/renderer';
 import { useShouldExpandContent } from '~/services/layout/use-should-expand-content';
 import { generateSSRViewOptions } from '~/services/renderer/renderer';

+ 0 - 0
apps/app/src/components-universal/PageView/PageViewLayout.module.scss → apps/app/src/components/PageView/PageViewLayout.module.scss


+ 0 - 0
apps/app/src/components-universal/PageView/PageViewLayout.tsx → apps/app/src/components/PageView/PageViewLayout.tsx


+ 0 - 0
apps/app/src/components-universal/PageView/RevisionRenderer.tsx → apps/app/src/components/PageView/RevisionRenderer.tsx


+ 0 - 0
apps/app/src/components-universal/PageView/index.ts → apps/app/src/components/PageView/index.ts


+ 0 - 0
apps/app/src/components-universal/Script/DrawioViewerScript/DrawioViewerScript.tsx → apps/app/src/components/Script/DrawioViewerScript/DrawioViewerScript.tsx


+ 0 - 0
apps/app/src/components-universal/Script/DrawioViewerScript/index.ts → apps/app/src/components/Script/DrawioViewerScript/index.ts


+ 0 - 0
apps/app/src/components-universal/Script/DrawioViewerScript/use-viewer-min-js-url.spec.ts → apps/app/src/components/Script/DrawioViewerScript/use-viewer-min-js-url.spec.ts


+ 0 - 0
apps/app/src/components-universal/Script/DrawioViewerScript/use-viewer-min-js-url.ts → apps/app/src/components/Script/DrawioViewerScript/use-viewer-min-js-url.ts


+ 0 - 0
apps/app/src/components-universal/ShareLinkPageView/ShareLinkAlert.tsx → apps/app/src/components/ShareLinkPageView/ShareLinkAlert.tsx


+ 1 - 1
apps/app/src/components-universal/ShareLinkPageView/ShareLinkPageView.tsx → apps/app/src/components/ShareLinkPageView/ShareLinkPageView.tsx

@@ -4,7 +4,7 @@ import type { IPagePopulatedToShowRevision } from '@growi/core';
 import { useSlidesByFrontmatter } from '@growi/presentation/dist/services';
 import dynamic from 'next/dynamic';
 
-import { PagePathNavTitle } from '~/components-universal/Common/PagePathNavTitle';
+import { PagePathNavTitle } from '~/components/Common/PagePathNavTitle';
 import type { RendererConfig } from '~/interfaces/services/renderer';
 import type { IShareLinkHasId } from '~/interfaces/share-link';
 import { useShouldExpandContent } from '~/services/layout/use-should-expand-content';

+ 0 - 0
apps/app/src/components-universal/ShareLinkPageView/index.ts → apps/app/src/components/ShareLinkPageView/index.ts


+ 0 - 0
apps/app/src/components-universal/User/UserDate.jsx → apps/app/src/components/User/UserDate.jsx


+ 0 - 0
apps/app/src/components-universal/User/UserInfo.module.scss → apps/app/src/components/User/UserInfo.module.scss


+ 0 - 0
apps/app/src/components-universal/User/UserInfo.tsx → apps/app/src/components/User/UserInfo.tsx


+ 0 - 0
apps/app/src/components-universal/User/Username.tsx → apps/app/src/components/User/Username.tsx


+ 0 - 2
apps/app/src/pages/.eslintrc.js

@@ -6,8 +6,6 @@ module.exports = {
       patterns: [
         '../client/',
         '~/client/',
-        '../components/',
-        '~/components/',
       ],
     }],
   },

+ 3 - 3
apps/app/src/pages/[[...path]].page.tsx

@@ -20,9 +20,9 @@ import Head from 'next/head';
 import { useRouter } from 'next/router';
 import superjson from 'superjson';
 
-import { BasicLayout } from '~/components-universal/Layout/BasicLayout';
-import { PageView } from '~/components-universal/PageView/PageView';
-import { DrawioViewerScript } from '~/components-universal/Script/DrawioViewerScript';
+import { BasicLayout } from '~/components/Layout/BasicLayout';
+import { PageView } from '~/components/PageView/PageView';
+import { DrawioViewerScript } from '~/components/Script/DrawioViewerScript';
 import { SupportedAction, type SupportedActionType } from '~/interfaces/activity';
 import type { CrowiRequest } from '~/interfaces/crowi-request';
 import type { RendererConfig } from '~/interfaces/services/renderer';

+ 1 - 1
apps/app/src/pages/_app.page.tsx

@@ -8,7 +8,7 @@ import { SWRConfig } from 'swr';
 
 import * as nextI18nConfig from '^/config/next-i18next.config';
 
-import { GlobalFonts } from '~/components-universal/FontFamily/GlobalFonts';
+import { GlobalFonts } from '~/components/FontFamily/GlobalFonts';
 import {
   useAppTitle, useConfidential, useGrowiVersion, useSiteUrl, useIsDefaultLogo, useForcedColorScheme,
 } from '~/stores-universal/context';

+ 2 - 2
apps/app/src/pages/_private-legacy-pages.page.tsx

@@ -7,7 +7,7 @@ import { serverSideTranslations } from 'next-i18next/serverSideTranslations';
 import dynamic from 'next/dynamic';
 import Head from 'next/head';
 
-import { DrawioViewerScript } from '~/components-universal/Script/DrawioViewerScript';
+import { DrawioViewerScript } from '~/components/Script/DrawioViewerScript';
 import type { CrowiRequest } from '~/interfaces/crowi-request';
 import type { RendererConfig } from '~/interfaces/services/renderer';
 import type { ISidebarConfig } from '~/interfaces/sidebar-config';
@@ -22,7 +22,7 @@ import {
   getNextI18NextConfig, getServerSideCommonProps, generateCustomTitle, useInitSidebarConfig,
 } from './utils/commons';
 
-const SearchResultLayout = dynamic(() => import('~/components-universal/Layout/SearchResultLayout'), { ssr: false });
+const SearchResultLayout = dynamic(() => import('~/components/Layout/SearchResultLayout'), { ssr: false });
 
 type Props = CommonProps & {
   currentUser: IUser,

+ 3 - 3
apps/app/src/pages/_search.page.tsx

@@ -7,8 +7,8 @@ import { serverSideTranslations } from 'next-i18next/serverSideTranslations';
 import dynamic from 'next/dynamic';
 import Head from 'next/head';
 
-import SearchResultLayout from '~/components-universal/Layout/SearchResultLayout';
-import { DrawioViewerScript } from '~/components-universal/Script/DrawioViewerScript';
+import SearchResultLayout from '~/components/Layout/SearchResultLayout';
+import { DrawioViewerScript } from '~/components/Script/DrawioViewerScript';
 import type { CrowiRequest } from '~/interfaces/crowi-request';
 import type { RendererConfig } from '~/interfaces/services/renderer';
 import type { ISidebarConfig } from '~/interfaces/sidebar-config';
@@ -25,7 +25,7 @@ import {
 } from './utils/commons';
 
 
-const SearchPage = dynamic(() => import('../client/components/SearchPage').then(mod => mod.SearchPage), { ssr: false });
+const SearchPage = dynamic(() => import('~/client/components/SearchPage').then(mod => mod.SearchPage), { ssr: false });
 
 
 type Props = CommonProps & {

+ 1 - 1
apps/app/src/pages/admin/[...path].page.tsx

@@ -3,7 +3,7 @@ import type {
 } from 'next';
 import dynamic from 'next/dynamic';
 
-import AdminLayout from '~/components-universal/Layout/AdminLayout';
+import AdminLayout from '~/components/Layout/AdminLayout';
 import type { CommonProps } from '~/pages/utils/commons';
 import { useCurrentUser } from '~/stores-universal/context';
 import { useIsMaintenanceMode } from '~/stores/maintenanceMode';

+ 1 - 1
apps/app/src/pages/admin/app.page.tsx

@@ -17,7 +17,7 @@ import { useIsMaintenanceMode } from '~/stores/maintenanceMode';
 import { retrieveServerSideProps } from '../../utils/admin-page-util';
 
 
-const AdminLayout = dynamic(() => import('~/components-universal/Layout/AdminLayout'), { ssr: false });
+const AdminLayout = dynamic(() => import('~/components/Layout/AdminLayout'), { ssr: false });
 const AppSettingsPageContents = dynamic(() => import('~/client/components/Admin/App/AppSettingsPageContents'), { ssr: false });
 const ForbiddenPage = dynamic(() => import('~/client/components/Admin/ForbiddenPage').then(mod => mod.ForbiddenPage), { ssr: false });
 

+ 1 - 1
apps/app/src/pages/admin/audit-log.page.tsx

@@ -15,7 +15,7 @@ import {
 
 import { retrieveServerSideProps } from '../../utils/admin-page-util';
 
-const AdminLayout = dynamic(() => import('~/components-universal/Layout/AdminLayout'), { ssr: false });
+const AdminLayout = dynamic(() => import('~/components/Layout/AdminLayout'), { ssr: false });
 const AuditLogManagement = dynamic(() => import('~/client/components/Admin/AuditLogManagement').then(mod => mod.AuditLogManagement), { ssr: false });
 const ForbiddenPage = dynamic(() => import('~/client/components/Admin/ForbiddenPage').then(mod => mod.ForbiddenPage), { ssr: false });
 

+ 1 - 1
apps/app/src/pages/admin/customize.page.tsx

@@ -16,7 +16,7 @@ import { useCustomizeTitle, useCurrentUser, useIsCustomizedLogoUploaded } from '
 
 import { retrieveServerSideProps } from '../../utils/admin-page-util';
 
-const AdminLayout = dynamic(() => import('~/components-universal/Layout/AdminLayout'), { ssr: false });
+const AdminLayout = dynamic(() => import('~/components/Layout/AdminLayout'), { ssr: false });
 const CustomizeSettingContents = dynamic(() => import('~/client/components/Admin/Customize/Customize'), { ssr: false });
 const ForbiddenPage = dynamic(() => import('~/client/components/Admin/ForbiddenPage').then(mod => mod.ForbiddenPage), { ssr: false });
 

+ 1 - 1
apps/app/src/pages/admin/data-transfer.page.tsx

@@ -14,7 +14,7 @@ import { useCurrentUser } from '~/stores-universal/context';
 
 import { retrieveServerSideProps } from '../../utils/admin-page-util';
 
-const AdminLayout = dynamic(() => import('~/components-universal/Layout/AdminLayout'), { ssr: false });
+const AdminLayout = dynamic(() => import('~/components/Layout/AdminLayout'), { ssr: false });
 const G2GDataTransferPage = dynamic(() => import('~/client/components/Admin/G2GDataTransfer'), { ssr: false });
 const ForbiddenPage = dynamic(() => import('~/client/components/Admin/ForbiddenPage').then(mod => mod.ForbiddenPage), { ssr: false });
 

+ 1 - 1
apps/app/src/pages/admin/export.page.tsx

@@ -15,7 +15,7 @@ import { useCurrentUser } from '~/stores-universal/context';
 
 import { retrieveServerSideProps } from '../../utils/admin-page-util';
 
-const AdminLayout = dynamic(() => import('~/components-universal/Layout/AdminLayout'), { ssr: false });
+const AdminLayout = dynamic(() => import('~/components/Layout/AdminLayout'), { ssr: false });
 const ExportArchiveDataPage = dynamic(() => import('~/client/components/Admin/ExportArchiveDataPage'), { ssr: false });
 const ForbiddenPage = dynamic(() => import('~/client/components/Admin/ForbiddenPage').then(mod => mod.ForbiddenPage), { ssr: false });
 

+ 1 - 1
apps/app/src/pages/admin/global-notification/[globalNotificationId].page.tsx

@@ -18,7 +18,7 @@ import { useCurrentUser } from '~/stores-universal/context';
 import { retrieveServerSideProps } from '../../../utils/admin-page-util';
 
 
-const AdminLayout = dynamic(() => import('~/components-universal/Layout/AdminLayout'), { ssr: false });
+const AdminLayout = dynamic(() => import('~/components/Layout/AdminLayout'), { ssr: false });
 const ManageGlobalNotification = dynamic(() => import('~/client/components/Admin/Notification/ManageGlobalNotification'), { ssr: false });
 const ForbiddenPage = dynamic(() => import('~/client/components/Admin/ForbiddenPage').then(mod => mod.ForbiddenPage), { ssr: false });
 

+ 1 - 1
apps/app/src/pages/admin/global-notification/new.page.tsx

@@ -14,7 +14,7 @@ import { useCurrentUser } from '~/stores-universal/context';
 
 import { retrieveServerSideProps } from '../../../utils/admin-page-util';
 
-const AdminLayout = dynamic(() => import('~/components-universal/Layout/AdminLayout'), { ssr: false });
+const AdminLayout = dynamic(() => import('~/components/Layout/AdminLayout'), { ssr: false });
 const ManageGlobalNotification = dynamic(() => import('~/client/components/Admin/Notification/ManageGlobalNotification'), { ssr: false });
 const ForbiddenPage = dynamic(() => import('~/client/components/Admin/ForbiddenPage').then(mod => mod.ForbiddenPage), { ssr: false });
 

+ 1 - 1
apps/app/src/pages/admin/importer.page.tsx

@@ -15,7 +15,7 @@ import { useCurrentUser } from '~/stores-universal/context';
 
 import { retrieveServerSideProps } from '../../utils/admin-page-util';
 
-const AdminLayout = dynamic(() => import('~/components-universal/Layout/AdminLayout'), { ssr: false });
+const AdminLayout = dynamic(() => import('~/components/Layout/AdminLayout'), { ssr: false });
 const DataImportPageContents = dynamic(() => import('~/client/components/Admin/ImportData/ImportDataPageContents'), { ssr: false });
 const ForbiddenPage = dynamic(() => import('~/client/components/Admin/ForbiddenPage').then(mod => mod.ForbiddenPage), { ssr: false });
 

+ 1 - 1
apps/app/src/pages/admin/index.page.tsx

@@ -19,7 +19,7 @@ import {
 
 import { retrieveServerSideProps } from '../../utils/admin-page-util';
 
-const AdminLayout = dynamic(() => import('~/components-universal/Layout/AdminLayout'), { ssr: false });
+const AdminLayout = dynamic(() => import('~/components/Layout/AdminLayout'), { ssr: false });
 const AdminHome = dynamic(() => import('~/client/components/Admin/AdminHome/AdminHome'), { ssr: false });
 const ForbiddenPage = dynamic(() => import('~/client/components/Admin/ForbiddenPage').then(mod => mod.ForbiddenPage), { ssr: false });
 

+ 1 - 1
apps/app/src/pages/admin/markdown.page.tsx

@@ -15,7 +15,7 @@ import { useCurrentUser } from '~/stores-universal/context';
 
 import { retrieveServerSideProps } from '../../utils/admin-page-util';
 
-const AdminLayout = dynamic(() => import('~/components-universal/Layout/AdminLayout'), { ssr: false });
+const AdminLayout = dynamic(() => import('~/components/Layout/AdminLayout'), { ssr: false });
 const MarkDownSettingContents = dynamic(() => import('~/client/components/Admin/MarkdownSetting/MarkDownSettingContents'), { ssr: false });
 const ForbiddenPage = dynamic(() => import('~/client/components/Admin/ForbiddenPage').then(mod => mod.ForbiddenPage), { ssr: false });
 

+ 1 - 1
apps/app/src/pages/admin/notification.page.tsx

@@ -15,7 +15,7 @@ import { useCurrentUser } from '~/stores-universal/context';
 
 import { retrieveServerSideProps } from '../../utils/admin-page-util';
 
-const AdminLayout = dynamic(() => import('~/components-universal/Layout/AdminLayout'), { ssr: false });
+const AdminLayout = dynamic(() => import('~/components/Layout/AdminLayout'), { ssr: false });
 const NotificationSetting = dynamic(() => import('~/client/components/Admin/Notification/NotificationSetting'), { ssr: false });
 const ForbiddenPage = dynamic(() => import('~/client/components/Admin/ForbiddenPage').then(mod => mod.ForbiddenPage), { ssr: false });
 

Unele fișiere nu au fost afișate deoarece prea multe fișiere au fost modificate în acest diff