WNomunomu 2 лет назад
Родитель
Сommit
42b2bb2a1e
3 измененных файлов с 18 добавлено и 13 удалено
  1. 1 0
      apps/app/package.json
  2. 12 13
      apps/app/src/components/Page/RevisionRenderer.tsx
  3. 5 0
      yarn.lock

+ 1 - 0
apps/app/package.json

@@ -112,6 +112,7 @@
     "express-validator": "^6.14.0",
     "extensible-custom-error": "^0.0.7",
     "form-data": "^4.0.0",
+    "fslightbox-react": "^1.7.6",
     "graceful-fs": "^4.1.11",
     "hast-util-select": "^5.0.2",
     "helmet": "^4.6.0",

+ 12 - 13
apps/app/src/components/Page/RevisionRenderer.tsx

@@ -1,15 +1,13 @@
-import React from 'react';
+import React, { useState } from 'react';
 
-// import mediumZoom from 'medium-zoom';
+import FsLightbox from 'fslightbox-react';
+import Image from 'next/image';
 import { ErrorBoundary, FallbackProps } from 'react-error-boundary';
 import ReactMarkdown from 'react-markdown';
 
 import type { RendererOptions } from '~/interfaces/renderer-options';
 import loggerFactory from '~/utils/logger';
 
-import { ImageZoom } from './ImageZoom';
-import 'katex/dist/katex.min.css';
-
 const logger = loggerFactory('components:Page:RevisionRenderer');
 
 type Props = {
@@ -39,15 +37,16 @@ const RevisionRenderer = React.memo((props: Props): JSX.Element => {
 
   // ここにimgタグに適用するコンポーネントを書く
   const Image = ({ node, ...props }) => {
+    const [toggler, setToggler] = useState(false);
+    logger.error(props.src);
     return (
-      <ImageZoom
-        src={props.src}
-        alt={props.alt}
-        options={{
-          background: 'black',
-          container: '#main',
-        }}
-      />
+      <>
+        <img src={props.src} alt={props.alt} onClick={() => setToggler(!toggler)}/>
+        <FsLightbox
+          toggler={toggler}
+          sources={[props.src]}
+        />
+      </>
     );
   };
 

+ 5 - 0
yarn.lock

@@ -8561,6 +8561,11 @@ fsevents@^2.3.2, fsevents@~2.3.2:
   resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
   integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==
 
+fslightbox-react@^1.7.6:
+  version "1.7.6"
+  resolved "https://registry.yarnpkg.com/fslightbox-react/-/fslightbox-react-1.7.6.tgz#eb9565e1f836b647cdbdf4734705222ca542dbd3"
+  integrity sha512-7LN2GZRLHo2vZGKdH+BZDJUoUDkCRCLlZ5hOwtLtZplmGZQ9nqzpG54cTax7XNjbYGTWLT6BHdMiL5zOEhiRlA==
+
 fstream@^1.0.12:
   version "1.0.12"
   resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.12.tgz#4e8ba8ee2d48be4f7d0de505455548eae5932045"