diff --git a/web/modals/modal.css b/web/modals/modal.css
--- a/web/modals/modal.css
+++ b/web/modals/modal.css
@@ -7,6 +7,14 @@
overflow: hidden;
}
+div.transparentModalContainer {
+ display: flex;
+ border-radius: 8px;
+ flex-direction: column;
+ margin: 20px;
+ overflow: hidden;
+}
+
div.modalContainerSmall {
width: 330px;
}
diff --git a/web/modals/modal.react.js b/web/modals/modal.react.js
--- a/web/modals/modal.react.js
+++ b/web/modals/modal.react.js
@@ -18,6 +18,7 @@
+icon?: Icon,
+onClose: () => void,
+withCloseButton?: boolean,
+ +transparent?: boolean,
+size?: ModalSize,
+modalHeaderCentered?: boolean,
};
@@ -34,11 +35,14 @@
onClose,
name,
icon,
+ transparent = false,
withCloseButton = true,
modalHeaderCentered = false,
} = props;
- const modalContainerClasses = classNames(css.modalContainer, {
+ const modalContainerClasses = classNames({
+ [css.modalContainer]: transparent === false,
+ [css.modalContainerTransparent]: transparent === true,
[css.modalContainerLarge]: size === 'large',
[css.modalContainerSmall]: size === 'small',
});
diff --git a/web/modals/threads/gallery/thread-settings-media-gallery-item.css b/web/modals/threads/gallery/thread-settings-media-gallery-item.css
new file mode 100644
--- /dev/null
+++ b/web/modals/threads/gallery/thread-settings-media-gallery-item.css
@@ -0,0 +1,28 @@
+.backContainer {
+ position: absolute;
+ top: 10%;
+ left: 15%;
+}
+
+.backButton {
+ color: white;
+ font-size: 16px;
+ font-weight: 500;
+ position: relative;
+ margin-bottom: 16px;
+ cursor: pointer;
+}
+
+.mediaContainer {
+ position: fixed;
+ top: 50%;
+ left: 50%;
+ transform: translate(-50%, -50%);
+ width: 70%;
+ height: 70%;
+}
+
+.mediaItem {
+ width: 100%;
+ height: 100%;
+}
diff --git a/web/modals/threads/gallery/thread-settings-media-gallery-item.react.js b/web/modals/threads/gallery/thread-settings-media-gallery-item.react.js
new file mode 100644
--- /dev/null
+++ b/web/modals/threads/gallery/thread-settings-media-gallery-item.react.js
@@ -0,0 +1,59 @@
+// @flow
+
+import * as React from 'react';
+
+import type { Media } from 'lib/types/media-types';
+
+import css from './thread-settings-media-gallery-item.css';
+import Modal from '../../modal.react.js';
+
+type ThreadSettingsMediaGalleryItemModalProps = {
+ +onClose: () => void,
+ +media: Media,
+};
+
+function ThreadSettingsMediaGalleryItemModal(
+ props: ThreadSettingsMediaGalleryItemModalProps,
+): React.Node {
+ const { onClose, media } = props;
+ const modalName = '';
+
+ const mediaSource = React.useMemo(() => media.uri, [media]);
+
+ const renderedMedia = React.useMemo(() => {
+ if (media.type === 'photo') {
+ return ;
+ }
+ return (
+
+ );
+ }, [media, mediaSource]);
+
+ return (
+
+ {'< Back'} +
+