mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-06-10 14:40:47 +02:00
Consistent usage of the modal header close button (#28681)
* Convert OLModal to named exports only
* Make closeButton the default for OLModalHeader
* Set `closeButton={false}` for modal that is not dismissible
* Fix duplicated imports
* Remove another unnecessary `closeButton` prop
* Fix import
---------
Co-authored-by: Antoine Clausse <antoine.clausse@overleaf.com>
GitOrigin-RevId: ddd7be6e59a966ac634683d2494d6e9d2c3732e6
This commit is contained in:
+1
-1
@@ -89,7 +89,7 @@ export default function CloneProjectModalContent({
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<OLModalHeader closeButton>
|
<OLModalHeader>
|
||||||
<OLModalTitle>{t('copy_project')}</OLModalTitle>
|
<OLModalTitle>{t('copy_project')}</OLModalTitle>
|
||||||
</OLModalHeader>
|
</OLModalHeader>
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
import React, { memo, useCallback, useState } from 'react'
|
import React, { memo, useCallback, useState } from 'react'
|
||||||
import CloneProjectModalContent from './clone-project-modal-content'
|
import CloneProjectModalContent from './clone-project-modal-content'
|
||||||
import OLModal from '@/shared/components/ol/ol-modal'
|
import { OLModal } from '@/shared/components/ol/ol-modal'
|
||||||
import { ClonedProject } from '../../../../../types/project/dashboard/api'
|
import { ClonedProject } from '../../../../../types/project/dashboard/api'
|
||||||
import { Tag } from '../../../../../app/src/Features/Tags/types'
|
import { Tag } from '../../../../../app/src/Features/Tags/types'
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -52,7 +52,7 @@ export default function DictionaryModalContent({
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<OLModalHeader closeButton>
|
<OLModalHeader>
|
||||||
<OLModalTitle>{t('edit_dictionary')}</OLModalTitle>
|
<OLModalTitle>{t('edit_dictionary')}</OLModalTitle>
|
||||||
</OLModalHeader>
|
</OLModalHeader>
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import React from 'react'
|
import React from 'react'
|
||||||
import DictionaryModalContent from './dictionary-modal-content'
|
import DictionaryModalContent from './dictionary-modal-content'
|
||||||
import withErrorBoundary from '../../../infrastructure/error-boundary'
|
import withErrorBoundary from '../../../infrastructure/error-boundary'
|
||||||
import OLModal from '@/shared/components/ol/ol-modal'
|
import { OLModal } from '@/shared/components/ol/ol-modal'
|
||||||
|
|
||||||
type DictionaryModalProps = {
|
type DictionaryModalProps = {
|
||||||
show?: boolean
|
show?: boolean
|
||||||
|
|||||||
+3
-2
@@ -3,7 +3,8 @@ import { useFileTreeActionable } from '../../contexts/file-tree-actionable'
|
|||||||
import FileTreeCreateFormProvider from '../../contexts/file-tree-create-form'
|
import FileTreeCreateFormProvider from '../../contexts/file-tree-create-form'
|
||||||
import FileTreeModalCreateFileBody from '../file-tree-create/file-tree-modal-create-file-body'
|
import FileTreeModalCreateFileBody from '../file-tree-create/file-tree-modal-create-file-body'
|
||||||
import FileTreeModalCreateFileFooter from '../file-tree-create/file-tree-modal-create-file-footer'
|
import FileTreeModalCreateFileFooter from '../file-tree-create/file-tree-modal-create-file-footer'
|
||||||
import OLModal, {
|
import {
|
||||||
|
OLModal,
|
||||||
OLModalBody,
|
OLModalBody,
|
||||||
OLModalFooter,
|
OLModalFooter,
|
||||||
OLModalHeader,
|
OLModalHeader,
|
||||||
@@ -22,7 +23,7 @@ export default function FileTreeModalCreateFile() {
|
|||||||
return (
|
return (
|
||||||
<FileTreeCreateFormProvider>
|
<FileTreeCreateFormProvider>
|
||||||
<OLModal size="lg" onHide={cancel} show>
|
<OLModal size="lg" onHide={cancel} show>
|
||||||
<OLModalHeader closeButton>
|
<OLModalHeader>
|
||||||
<OLModalTitle>{t('add_files')}</OLModalTitle>
|
<OLModalTitle>{t('add_files')}</OLModalTitle>
|
||||||
</OLModalHeader>
|
</OLModalHeader>
|
||||||
|
|
||||||
|
|||||||
+2
-1
@@ -4,7 +4,8 @@ import { useRefWithAutoFocus } from '../../../../shared/hooks/use-ref-with-auto-
|
|||||||
import { useFileTreeActionable } from '../../contexts/file-tree-actionable'
|
import { useFileTreeActionable } from '../../contexts/file-tree-actionable'
|
||||||
import { DuplicateFilenameError } from '../../errors'
|
import { DuplicateFilenameError } from '../../errors'
|
||||||
import { isCleanFilename } from '../../util/safe-path'
|
import { isCleanFilename } from '../../util/safe-path'
|
||||||
import OLModal, {
|
import {
|
||||||
|
OLModal,
|
||||||
OLModalBody,
|
OLModalBody,
|
||||||
OLModalFooter,
|
OLModalFooter,
|
||||||
OLModalHeader,
|
OLModalHeader,
|
||||||
|
|||||||
+2
-1
@@ -1,7 +1,8 @@
|
|||||||
import { useTranslation } from 'react-i18next'
|
import { useTranslation } from 'react-i18next'
|
||||||
|
|
||||||
import { useFileTreeActionable } from '../../contexts/file-tree-actionable'
|
import { useFileTreeActionable } from '../../contexts/file-tree-actionable'
|
||||||
import OLModal, {
|
import {
|
||||||
|
OLModal,
|
||||||
OLModalBody,
|
OLModalBody,
|
||||||
OLModalFooter,
|
OLModalFooter,
|
||||||
OLModalHeader,
|
OLModalHeader,
|
||||||
|
|||||||
+2
-1
@@ -8,7 +8,8 @@ import {
|
|||||||
DuplicateFilenameError,
|
DuplicateFilenameError,
|
||||||
DuplicateFilenameMoveError,
|
DuplicateFilenameMoveError,
|
||||||
} from '../../errors'
|
} from '../../errors'
|
||||||
import OLModal, {
|
import {
|
||||||
|
OLModal,
|
||||||
OLModalBody,
|
OLModalBody,
|
||||||
OLModalFooter,
|
OLModalFooter,
|
||||||
OLModalHeader,
|
OLModalHeader,
|
||||||
|
|||||||
+2
-1
@@ -5,7 +5,8 @@ import { useTranslation } from 'react-i18next'
|
|||||||
import { useLocation } from '@/shared/hooks/use-location'
|
import { useLocation } from '@/shared/hooks/use-location'
|
||||||
import { FetchError, postJSON } from '@/infrastructure/fetch-json'
|
import { FetchError, postJSON } from '@/infrastructure/fetch-json'
|
||||||
import { debugConsole } from '@/utils/debugging'
|
import { debugConsole } from '@/utils/debugging'
|
||||||
import OLModal, {
|
import {
|
||||||
|
OLModal,
|
||||||
OLModalBody,
|
OLModalBody,
|
||||||
OLModalFooter,
|
OLModalFooter,
|
||||||
OLModalHeader,
|
OLModalHeader,
|
||||||
|
|||||||
+2
-1
@@ -5,7 +5,8 @@ import { useTranslation, Trans } from 'react-i18next'
|
|||||||
import { useLocation } from '@/shared/hooks/use-location'
|
import { useLocation } from '@/shared/hooks/use-location'
|
||||||
import { FetchError, postJSON } from '@/infrastructure/fetch-json'
|
import { FetchError, postJSON } from '@/infrastructure/fetch-json'
|
||||||
import { debugConsole } from '@/utils/debugging'
|
import { debugConsole } from '@/utils/debugging'
|
||||||
import OLModal, {
|
import {
|
||||||
|
OLModal,
|
||||||
OLModalBody,
|
OLModalBody,
|
||||||
OLModalFooter,
|
OLModalFooter,
|
||||||
OLModalHeader,
|
OLModalHeader,
|
||||||
|
|||||||
+2
-1
@@ -8,7 +8,8 @@ import NotificationScrolledTo from '@/shared/components/notification-scrolled-to
|
|||||||
import { debugConsole } from '@/utils/debugging'
|
import { debugConsole } from '@/utils/debugging'
|
||||||
import { GroupUserAlert } from '../../utils/types'
|
import { GroupUserAlert } from '../../utils/types'
|
||||||
import { useGroupMembersContext } from '../../context/group-members-context'
|
import { useGroupMembersContext } from '../../context/group-members-context'
|
||||||
import OLModal, {
|
import {
|
||||||
|
OLModal,
|
||||||
OLModalBody,
|
OLModalBody,
|
||||||
OLModalFooter,
|
OLModalFooter,
|
||||||
OLModalHeader,
|
OLModalHeader,
|
||||||
|
|||||||
+2
-1
@@ -3,7 +3,8 @@ import { useEffect, useState } from 'react'
|
|||||||
import OLForm from '@/shared/components/ol/ol-form'
|
import OLForm from '@/shared/components/ol/ol-form'
|
||||||
import OLFormGroup from '@/shared/components/ol/ol-form-group'
|
import OLFormGroup from '@/shared/components/ol/ol-form-group'
|
||||||
import ModalError from './modal-error'
|
import ModalError from './modal-error'
|
||||||
import OLModal, {
|
import {
|
||||||
|
OLModal,
|
||||||
OLModalBody,
|
OLModalBody,
|
||||||
OLModalFooter,
|
OLModalFooter,
|
||||||
OLModalHeader,
|
OLModalHeader,
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
import { forwardRef, useState } from 'react'
|
import { forwardRef, useState } from 'react'
|
||||||
import { useTranslation } from 'react-i18next'
|
import { useTranslation } from 'react-i18next'
|
||||||
import OLModal, {
|
import {
|
||||||
|
OLModal,
|
||||||
OLModalBody,
|
OLModalBody,
|
||||||
OLModalFooter,
|
OLModalFooter,
|
||||||
OLModalHeader,
|
OLModalHeader,
|
||||||
|
|||||||
+3
-2
@@ -1,6 +1,7 @@
|
|||||||
import { formatTime } from '@/features/utils/format-date'
|
import { formatTime } from '@/features/utils/format-date'
|
||||||
import { useMemo } from 'react'
|
import { useMemo } from 'react'
|
||||||
import OLModal, {
|
import {
|
||||||
|
OLModal,
|
||||||
OLModalBody,
|
OLModalBody,
|
||||||
OLModalFooter,
|
OLModalFooter,
|
||||||
OLModalHeader,
|
OLModalHeader,
|
||||||
@@ -28,7 +29,7 @@ export function RestoreFileConfirmModal({
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<OLModal show={show} onHide={onHide}>
|
<OLModal show={show} onHide={onHide}>
|
||||||
<OLModalHeader closeButton>
|
<OLModalHeader>
|
||||||
<OLModalTitle>{t('restore_file_confirmation_title')}</OLModalTitle>
|
<OLModalTitle>{t('restore_file_confirmation_title')}</OLModalTitle>
|
||||||
</OLModalHeader>
|
</OLModalHeader>
|
||||||
<OLModalBody>
|
<OLModalBody>
|
||||||
|
|||||||
+3
-2
@@ -1,4 +1,5 @@
|
|||||||
import OLModal, {
|
import {
|
||||||
|
OLModal,
|
||||||
OLModalBody,
|
OLModalBody,
|
||||||
OLModalFooter,
|
OLModalFooter,
|
||||||
OLModalHeader,
|
OLModalHeader,
|
||||||
@@ -16,7 +17,7 @@ export function RestoreFileErrorModal({
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<OLModal show onHide={resetErrorBoundary}>
|
<OLModal show onHide={resetErrorBoundary}>
|
||||||
<OLModalHeader closeButton>
|
<OLModalHeader>
|
||||||
<OLModalTitle>{t('restore_file_error_title')}</OLModalTitle>
|
<OLModalTitle>{t('restore_file_error_title')}</OLModalTitle>
|
||||||
</OLModalHeader>
|
</OLModalHeader>
|
||||||
<OLModalBody>{t('restore_file_error_message')}</OLModalBody>
|
<OLModalBody>{t('restore_file_error_message')}</OLModalBody>
|
||||||
|
|||||||
+3
-2
@@ -1,4 +1,5 @@
|
|||||||
import OLModal, {
|
import {
|
||||||
|
OLModal,
|
||||||
OLModalBody,
|
OLModalBody,
|
||||||
OLModalFooter,
|
OLModalFooter,
|
||||||
OLModalHeader,
|
OLModalHeader,
|
||||||
@@ -16,7 +17,7 @@ export function RestoreProjectErrorModal({
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<OLModal show onHide={resetErrorBoundary}>
|
<OLModal show onHide={resetErrorBoundary}>
|
||||||
<OLModalHeader closeButton>
|
<OLModalHeader>
|
||||||
<OLModalTitle>
|
<OLModalTitle>
|
||||||
{t('an_error_occured_while_restoring_project')}
|
{t('an_error_occured_while_restoring_project')}
|
||||||
</OLModalTitle>
|
</OLModalTitle>
|
||||||
|
|||||||
+2
-1
@@ -1,4 +1,5 @@
|
|||||||
import OLModal, {
|
import {
|
||||||
|
OLModal,
|
||||||
OLModalBody,
|
OLModalBody,
|
||||||
OLModalFooter,
|
OLModalFooter,
|
||||||
OLModalHeader,
|
OLModalHeader,
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
import { Trans, useTranslation } from 'react-i18next'
|
import { Trans, useTranslation } from 'react-i18next'
|
||||||
import HotkeysModalBottomText from './hotkeys-modal-bottom-text'
|
import HotkeysModalBottomText from './hotkeys-modal-bottom-text'
|
||||||
import OLModal, {
|
import {
|
||||||
|
OLModal,
|
||||||
OLModalBody,
|
OLModalBody,
|
||||||
OLModalFooter,
|
OLModalFooter,
|
||||||
OLModalHeader,
|
OLModalHeader,
|
||||||
@@ -29,7 +30,7 @@ export default function HotkeysModal({
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<OLModal size="lg" onHide={handleHide} show={show} animation={animation}>
|
<OLModal size="lg" onHide={handleHide} show={show} animation={animation}>
|
||||||
<OLModalHeader closeButton>
|
<OLModalHeader>
|
||||||
<OLModalTitle>{t('hotkeys')}</OLModalTitle>
|
<OLModalTitle>{t('hotkeys')}</OLModalTitle>
|
||||||
</OLModalHeader>
|
</OLModalHeader>
|
||||||
|
|
||||||
|
|||||||
+3
-2
@@ -1,7 +1,8 @@
|
|||||||
import { useTranslation } from 'react-i18next'
|
import { useTranslation } from 'react-i18next'
|
||||||
import { memo, useEffect, useState } from 'react'
|
import { memo, useEffect, useState } from 'react'
|
||||||
import { useConnectionContext } from '@/features/ide-react/context/connection-context'
|
import { useConnectionContext } from '@/features/ide-react/context/connection-context'
|
||||||
import OLModal, {
|
import {
|
||||||
|
OLModal,
|
||||||
OLModalBody,
|
OLModalBody,
|
||||||
OLModalHeader,
|
OLModalHeader,
|
||||||
OLModalTitle,
|
OLModalTitle,
|
||||||
@@ -55,7 +56,7 @@ function ForceDisconnected() {
|
|||||||
backdrop={false}
|
backdrop={false}
|
||||||
keyboard={false}
|
keyboard={false}
|
||||||
>
|
>
|
||||||
<OLModalHeader>
|
<OLModalHeader closeButton={false}>
|
||||||
<OLModalTitle>{t('please_wait')}</OLModalTitle>
|
<OLModalTitle>{t('please_wait')}</OLModalTitle>
|
||||||
</OLModalHeader>
|
</OLModalHeader>
|
||||||
<OLModalBody>
|
<OLModalBody>
|
||||||
|
|||||||
+3
-2
@@ -1,6 +1,7 @@
|
|||||||
import { useTranslation } from 'react-i18next'
|
import { useTranslation } from 'react-i18next'
|
||||||
import { memo } from 'react'
|
import { memo } from 'react'
|
||||||
import OLModal, {
|
import {
|
||||||
|
OLModal,
|
||||||
OLModalBody,
|
OLModalBody,
|
||||||
OLModalFooter,
|
OLModalFooter,
|
||||||
OLModalHeader,
|
OLModalHeader,
|
||||||
@@ -32,7 +33,7 @@ function GenericConfirmModal({
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<OLModal {...modalProps}>
|
<OLModal {...modalProps}>
|
||||||
<OLModalHeader closeButton>
|
<OLModalHeader>
|
||||||
<OLModalTitle>{title}</OLModalTitle>
|
<OLModalTitle>{title}</OLModalTitle>
|
||||||
</OLModalHeader>
|
</OLModalHeader>
|
||||||
|
|
||||||
|
|||||||
+3
-2
@@ -1,6 +1,7 @@
|
|||||||
import { useTranslation } from 'react-i18next'
|
import { useTranslation } from 'react-i18next'
|
||||||
import { memo } from 'react'
|
import { memo } from 'react'
|
||||||
import OLModal, {
|
import {
|
||||||
|
OLModal,
|
||||||
OLModalBody,
|
OLModalBody,
|
||||||
OLModalFooter,
|
OLModalFooter,
|
||||||
OLModalHeader,
|
OLModalHeader,
|
||||||
@@ -25,7 +26,7 @@ function GenericMessageModal({
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<OLModal {...modalProps}>
|
<OLModal {...modalProps}>
|
||||||
<OLModalHeader closeButton>
|
<OLModalHeader>
|
||||||
<OLModalTitle>{title}</OLModalTitle>
|
<OLModalTitle>{title}</OLModalTitle>
|
||||||
</OLModalHeader>
|
</OLModalHeader>
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,8 @@ import { Trans, useTranslation } from 'react-i18next'
|
|||||||
import { memo, useState } from 'react'
|
import { memo, useState } from 'react'
|
||||||
import { useLocation } from '@/shared/hooks/use-location'
|
import { useLocation } from '@/shared/hooks/use-location'
|
||||||
import OLButton from '@/shared/components/ol/ol-button'
|
import OLButton from '@/shared/components/ol/ol-button'
|
||||||
import OLModal, {
|
import {
|
||||||
|
OLModal,
|
||||||
OLModalBody,
|
OLModalBody,
|
||||||
OLModalFooter,
|
OLModalFooter,
|
||||||
OLModalHeader,
|
OLModalHeader,
|
||||||
@@ -36,7 +37,7 @@ function OutOfSyncModal({ editorContent, show, onHide }: OutOfSyncModalProps) {
|
|||||||
backdrop={false}
|
backdrop={false}
|
||||||
keyboard={false}
|
keyboard={false}
|
||||||
>
|
>
|
||||||
<OLModalHeader closeButton>
|
<OLModalHeader>
|
||||||
<OLModalTitle>{t('out_of_sync')}</OLModalTitle>
|
<OLModalTitle>{t('out_of_sync')}</OLModalTitle>
|
||||||
</OLModalHeader>
|
</OLModalHeader>
|
||||||
<OLModalBody className="modal-body-share">
|
<OLModalBody className="modal-body-share">
|
||||||
|
|||||||
+3
-2
@@ -1,4 +1,5 @@
|
|||||||
import OLModal, {
|
import {
|
||||||
|
OLModal,
|
||||||
OLModalBody,
|
OLModalBody,
|
||||||
OLModalHeader,
|
OLModalHeader,
|
||||||
OLModalTitle,
|
OLModalTitle,
|
||||||
@@ -37,7 +38,7 @@ const SettingsModal = () => {
|
|||||||
: undefined
|
: undefined
|
||||||
}
|
}
|
||||||
>
|
>
|
||||||
<OLModalHeader closeButton>
|
<OLModalHeader>
|
||||||
<OLModalTitle>{t('settings')}</OLModalTitle>
|
<OLModalTitle>{t('settings')}</OLModalTitle>
|
||||||
</OLModalHeader>
|
</OLModalHeader>
|
||||||
<OLModalBody className="ide-settings-modal-body">
|
<OLModalBody className="ide-settings-modal-body">
|
||||||
|
|||||||
+4
-3
@@ -1,6 +1,7 @@
|
|||||||
import { useIdeRedesignSwitcherContext } from '@/features/ide-react/context/ide-redesign-switcher-context'
|
import { useIdeRedesignSwitcherContext } from '@/features/ide-react/context/ide-redesign-switcher-context'
|
||||||
import OLButton from '@/shared/components/ol/ol-button'
|
import OLButton from '@/shared/components/ol/ol-button'
|
||||||
import OLModal, {
|
import {
|
||||||
|
OLModal,
|
||||||
OLModalBody,
|
OLModalBody,
|
||||||
OLModalFooter,
|
OLModalFooter,
|
||||||
OLModalHeader,
|
OLModalHeader,
|
||||||
@@ -50,7 +51,7 @@ export const IdeRedesignIntroModal: FC = () => {
|
|||||||
onHide={dismissTutorial}
|
onHide={dismissTutorial}
|
||||||
className="ide-redesign-switcher-modal"
|
className="ide-redesign-switcher-modal"
|
||||||
>
|
>
|
||||||
<OLModalHeader closeButton>
|
<OLModalHeader>
|
||||||
<OLModalTitle>
|
<OLModalTitle>
|
||||||
{t('the_new_overleaf_editor_try_now_in_beta')}
|
{t('the_new_overleaf_editor_try_now_in_beta')}
|
||||||
</OLModalTitle>
|
</OLModalTitle>
|
||||||
@@ -99,7 +100,7 @@ export const IdeRedesignSwitcherModal = () => {
|
|||||||
onHide={onHide}
|
onHide={onHide}
|
||||||
className="ide-redesign-switcher-modal"
|
className="ide-redesign-switcher-modal"
|
||||||
>
|
>
|
||||||
<OLModalHeader closeButton>
|
<OLModalHeader>
|
||||||
<OLModalTitle>
|
<OLModalTitle>
|
||||||
{enabled
|
{enabled
|
||||||
? t('beta_program_the_new_overleaf_editor')
|
? t('beta_program_the_new_overleaf_editor')
|
||||||
|
|||||||
+3
-2
@@ -9,7 +9,8 @@ import { createTag } from '../../util/api'
|
|||||||
import { MAX_TAG_LENGTH } from '../../util/tag'
|
import { MAX_TAG_LENGTH } from '../../util/tag'
|
||||||
import { ColorPicker } from '../color-picker/color-picker'
|
import { ColorPicker } from '../color-picker/color-picker'
|
||||||
import { debugConsole } from '@/utils/debugging'
|
import { debugConsole } from '@/utils/debugging'
|
||||||
import OLModal, {
|
import {
|
||||||
|
OLModal,
|
||||||
OLModalBody,
|
OLModalBody,
|
||||||
OLModalFooter,
|
OLModalFooter,
|
||||||
OLModalHeader,
|
OLModalHeader,
|
||||||
@@ -80,7 +81,7 @@ export default function CreateTagModal({
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<OLModal show animation onHide={onClose} id={id} backdrop="static">
|
<OLModal show animation onHide={onClose} id={id} backdrop="static">
|
||||||
<OLModalHeader closeButton>
|
<OLModalHeader>
|
||||||
<OLModalTitle>{t('create_new_tag')}</OLModalTitle>
|
<OLModalTitle>{t('create_new_tag')}</OLModalTitle>
|
||||||
</OLModalHeader>
|
</OLModalHeader>
|
||||||
|
|
||||||
|
|||||||
+3
-2
@@ -4,7 +4,8 @@ import { Tag } from '../../../../../../app/src/Features/Tags/types'
|
|||||||
import useAsync from '../../../../shared/hooks/use-async'
|
import useAsync from '../../../../shared/hooks/use-async'
|
||||||
import { deleteTag } from '../../util/api'
|
import { deleteTag } from '../../util/api'
|
||||||
import { debugConsole } from '@/utils/debugging'
|
import { debugConsole } from '@/utils/debugging'
|
||||||
import OLModal, {
|
import {
|
||||||
|
OLModal,
|
||||||
OLModalBody,
|
OLModalBody,
|
||||||
OLModalFooter,
|
OLModalFooter,
|
||||||
OLModalHeader,
|
OLModalHeader,
|
||||||
@@ -46,7 +47,7 @@ export default function DeleteTagModal({
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<OLModal show animation onHide={onClose} id={id} backdrop="static">
|
<OLModal show animation onHide={onClose} id={id} backdrop="static">
|
||||||
<OLModalHeader closeButton>
|
<OLModalHeader>
|
||||||
<OLModalTitle>{t('delete_tag')}</OLModalTitle>
|
<OLModalTitle>{t('delete_tag')}</OLModalTitle>
|
||||||
</OLModalHeader>
|
</OLModalHeader>
|
||||||
|
|
||||||
|
|||||||
@@ -9,7 +9,8 @@ import { editTag } from '../../util/api'
|
|||||||
import { getTagColor, MAX_TAG_LENGTH } from '../../util/tag'
|
import { getTagColor, MAX_TAG_LENGTH } from '../../util/tag'
|
||||||
import { ColorPicker } from '../color-picker/color-picker'
|
import { ColorPicker } from '../color-picker/color-picker'
|
||||||
import { debugConsole } from '@/utils/debugging'
|
import { debugConsole } from '@/utils/debugging'
|
||||||
import OLModal, {
|
import {
|
||||||
|
OLModal,
|
||||||
OLModalBody,
|
OLModalBody,
|
||||||
OLModalFooter,
|
OLModalFooter,
|
||||||
OLModalHeader,
|
OLModalHeader,
|
||||||
@@ -88,7 +89,7 @@ export function EditTagModal({ id, tag, onEdit, onClose }: EditTagModalProps) {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<OLModal show animation onHide={onClose} id={id} backdrop="static">
|
<OLModal show animation onHide={onClose} id={id} backdrop="static">
|
||||||
<OLModalHeader closeButton>
|
<OLModalHeader>
|
||||||
<OLModalTitle>{t('edit_tag')}</OLModalTitle>
|
<OLModalTitle>{t('edit_tag')}</OLModalTitle>
|
||||||
</OLModalHeader>
|
</OLModalHeader>
|
||||||
|
|
||||||
|
|||||||
+3
-2
@@ -8,7 +8,8 @@ import { Tag } from '../../../../../../app/src/Features/Tags/types'
|
|||||||
import { getTagColor } from '../../util/tag'
|
import { getTagColor } from '../../util/tag'
|
||||||
import { ColorPicker } from '../color-picker/color-picker'
|
import { ColorPicker } from '../color-picker/color-picker'
|
||||||
import { debugConsole } from '@/utils/debugging'
|
import { debugConsole } from '@/utils/debugging'
|
||||||
import OLModal, {
|
import {
|
||||||
|
OLModal,
|
||||||
OLModalBody,
|
OLModalBody,
|
||||||
OLModalFooter,
|
OLModalFooter,
|
||||||
OLModalHeader,
|
OLModalHeader,
|
||||||
@@ -89,7 +90,7 @@ export function ManageTagModal({
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<OLModal show animation onHide={onClose} id={id} backdrop="static">
|
<OLModal show animation onHide={onClose} id={id} backdrop="static">
|
||||||
<OLModalHeader closeButton>
|
<OLModalHeader>
|
||||||
<OLModalTitle>{t('edit_tag')}</OLModalTitle>
|
<OLModalTitle>{t('edit_tag')}</OLModalTitle>
|
||||||
</OLModalHeader>
|
</OLModalHeader>
|
||||||
|
|
||||||
|
|||||||
+3
-2
@@ -7,7 +7,8 @@ import * as eventTracking from '../../../../infrastructure/event-tracking'
|
|||||||
import { isSmallDevice } from '../../../../infrastructure/event-tracking'
|
import { isSmallDevice } from '../../../../infrastructure/event-tracking'
|
||||||
import Notification from '@/shared/components/notification'
|
import Notification from '@/shared/components/notification'
|
||||||
import OLButton from '@/shared/components/ol/ol-button'
|
import OLButton from '@/shared/components/ol/ol-button'
|
||||||
import OLModal, {
|
import {
|
||||||
|
OLModal,
|
||||||
OLModalBody,
|
OLModalBody,
|
||||||
OLModalFooter,
|
OLModalFooter,
|
||||||
OLModalHeader,
|
OLModalHeader,
|
||||||
@@ -79,7 +80,7 @@ function ProjectsActionModal({
|
|||||||
id="action-project-modal"
|
id="action-project-modal"
|
||||||
backdrop="static"
|
backdrop="static"
|
||||||
>
|
>
|
||||||
<OLModalHeader closeButton>
|
<OLModalHeader>
|
||||||
<OLModalTitle>{title}</OLModalTitle>
|
<OLModalTitle>{title}</OLModalTitle>
|
||||||
</OLModalHeader>
|
</OLModalHeader>
|
||||||
<OLModalBody>
|
<OLModalBody>
|
||||||
|
|||||||
+3
-2
@@ -16,7 +16,8 @@ import { getUserFacingMessage } from '../../../../infrastructure/fetch-json'
|
|||||||
import { debugConsole } from '@/utils/debugging'
|
import { debugConsole } from '@/utils/debugging'
|
||||||
import { isSmallDevice } from '../../../../infrastructure/event-tracking'
|
import { isSmallDevice } from '../../../../infrastructure/event-tracking'
|
||||||
import Notification from '@/shared/components/notification'
|
import Notification from '@/shared/components/notification'
|
||||||
import OLModal, {
|
import {
|
||||||
|
OLModal,
|
||||||
OLModalBody,
|
OLModalBody,
|
||||||
OLModalFooter,
|
OLModalFooter,
|
||||||
OLModalHeader,
|
OLModalHeader,
|
||||||
@@ -104,7 +105,7 @@ function RenameProjectModal({
|
|||||||
id="rename-project-modal"
|
id="rename-project-modal"
|
||||||
backdrop="static"
|
backdrop="static"
|
||||||
>
|
>
|
||||||
<OLModalHeader closeButton>
|
<OLModalHeader>
|
||||||
<OLModalTitle>{t('rename_project')}</OLModalTitle>
|
<OLModalTitle>{t('rename_project')}</OLModalTitle>
|
||||||
</OLModalHeader>
|
</OLModalHeader>
|
||||||
<OLModalBody>
|
<OLModalBody>
|
||||||
|
|||||||
+1
-1
@@ -1,5 +1,5 @@
|
|||||||
import ModalContentNewProjectForm from './modal-content-new-project-form'
|
import ModalContentNewProjectForm from './modal-content-new-project-form'
|
||||||
import OLModal from '@/shared/components/ol/ol-modal'
|
import { OLModal } from '@/shared/components/ol/ol-modal'
|
||||||
|
|
||||||
type BlankProjectModalProps = {
|
type BlankProjectModalProps = {
|
||||||
onHide: () => void
|
onHide: () => void
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
import OLModal from '@/shared/components/ol/ol-modal'
|
import { OLModal } from '@/shared/components/ol/ol-modal'
|
||||||
import ModalContentNewProjectForm from './modal-content-new-project-form'
|
import ModalContentNewProjectForm from './modal-content-new-project-form'
|
||||||
|
|
||||||
type ExampleProjectModalProps = {
|
type ExampleProjectModalProps = {
|
||||||
|
|||||||
+1
-1
@@ -74,7 +74,7 @@ function ModalContentNewProjectForm({ onCancel, template = 'none' }: Props) {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<OLModalHeader closeButton>
|
<OLModalHeader>
|
||||||
<OLModalTitle>{t('new_project')}</OLModalTitle>
|
<OLModalTitle>{t('new_project')}</OLModalTitle>
|
||||||
</OLModalHeader>
|
</OLModalHeader>
|
||||||
|
|
||||||
|
|||||||
+3
-2
@@ -1,5 +1,6 @@
|
|||||||
import { useEffect, useState } from 'react'
|
import { useEffect, useState } from 'react'
|
||||||
import OLModal, {
|
import {
|
||||||
|
OLModal,
|
||||||
OLModalBody,
|
OLModalBody,
|
||||||
OLModalFooter,
|
OLModalFooter,
|
||||||
OLModalHeader,
|
OLModalHeader,
|
||||||
@@ -94,7 +95,7 @@ function UploadProjectModal({ onHide, openProject }: UploadProjectModalProps) {
|
|||||||
id="upload-project-modal"
|
id="upload-project-modal"
|
||||||
backdrop="static"
|
backdrop="static"
|
||||||
>
|
>
|
||||||
<OLModalHeader closeButton>
|
<OLModalHeader>
|
||||||
<OLModalTitle as="h3">{t('upload_zipped_project')}</OLModalTitle>
|
<OLModalTitle as="h3">{t('upload_zipped_project')}</OLModalTitle>
|
||||||
</OLModalHeader>
|
</OLModalHeader>
|
||||||
<OLModalBody>
|
<OLModalBody>
|
||||||
|
|||||||
+3
-2
@@ -2,7 +2,8 @@ import { useCallback, useEffect, useRef, useState } from 'react'
|
|||||||
import bannerImage from '../../../images/brl-banner.png'
|
import bannerImage from '../../../images/brl-banner.png'
|
||||||
import usePersistedState from '../../../../../shared/hooks/use-persisted-state'
|
import usePersistedState from '../../../../../shared/hooks/use-persisted-state'
|
||||||
import * as eventTracking from '../../../../../infrastructure/event-tracking'
|
import * as eventTracking from '../../../../../infrastructure/event-tracking'
|
||||||
import OLModal, {
|
import {
|
||||||
|
OLModal,
|
||||||
OLModalBody,
|
OLModalBody,
|
||||||
OLModalFooter,
|
OLModalFooter,
|
||||||
OLModalHeader,
|
OLModalHeader,
|
||||||
@@ -90,7 +91,7 @@ export default function BRLBanner() {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<OLModal show={showModal} onHide={handleHide}>
|
<OLModal show={showModal} onHide={handleHide}>
|
||||||
<OLModalHeader closeButton>
|
<OLModalHeader>
|
||||||
<OLModalTitle>{t('latam_discount_modal_title')}</OLModalTitle>
|
<OLModalTitle>{t('latam_discount_modal_title')}</OLModalTitle>
|
||||||
</OLModalHeader>
|
</OLModalHeader>
|
||||||
<OLModalBody>
|
<OLModalBody>
|
||||||
|
|||||||
+3
-2
@@ -3,7 +3,8 @@ import { useTranslation } from 'react-i18next'
|
|||||||
import bannerImage from '../../../images/inr-banner.png'
|
import bannerImage from '../../../images/inr-banner.png'
|
||||||
import usePersistedState from '../../../../../shared/hooks/use-persisted-state'
|
import usePersistedState from '../../../../../shared/hooks/use-persisted-state'
|
||||||
import * as eventTracking from '../../../../../infrastructure/event-tracking'
|
import * as eventTracking from '../../../../../infrastructure/event-tracking'
|
||||||
import OLModal, {
|
import {
|
||||||
|
OLModal,
|
||||||
OLModalBody,
|
OLModalBody,
|
||||||
OLModalFooter,
|
OLModalFooter,
|
||||||
OLModalHeader,
|
OLModalHeader,
|
||||||
@@ -88,7 +89,7 @@ export default function INRBanner() {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<OLModal show={showModal} onHide={handleHide} backdrop="static">
|
<OLModal show={showModal} onHide={handleHide} backdrop="static">
|
||||||
<OLModalHeader closeButton>
|
<OLModalHeader>
|
||||||
<OLModalTitle>{t('inr_discount_modal_title')}</OLModalTitle>
|
<OLModalTitle>{t('inr_discount_modal_title')}</OLModalTitle>
|
||||||
</OLModalHeader>
|
</OLModalHeader>
|
||||||
<OLModalBody>
|
<OLModalBody>
|
||||||
|
|||||||
+3
-2
@@ -5,7 +5,8 @@ import clpBannerImage from '../../../images/clp-banner.png'
|
|||||||
import penBannerImage from '../../../images/pen-banner.png'
|
import penBannerImage from '../../../images/pen-banner.png'
|
||||||
import usePersistedState from '../../../../../shared/hooks/use-persisted-state'
|
import usePersistedState from '../../../../../shared/hooks/use-persisted-state'
|
||||||
import * as eventTracking from '../../../../../infrastructure/event-tracking'
|
import * as eventTracking from '../../../../../infrastructure/event-tracking'
|
||||||
import OLModal, {
|
import {
|
||||||
|
OLModal,
|
||||||
OLModalBody,
|
OLModalBody,
|
||||||
OLModalFooter,
|
OLModalFooter,
|
||||||
OLModalHeader,
|
OLModalHeader,
|
||||||
@@ -133,7 +134,7 @@ export default function LATAMBanner() {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<OLModal show={showModal} onHide={handleHide} backdrop="static">
|
<OLModal show={showModal} onHide={handleHide} backdrop="static">
|
||||||
<OLModalHeader closeButton>
|
<OLModalHeader>
|
||||||
<OLModalTitle>{t('latam_discount_modal_title')}</OLModalTitle>
|
<OLModalTitle>{t('latam_discount_modal_title')}</OLModalTitle>
|
||||||
</OLModalHeader>
|
</OLModalHeader>
|
||||||
<OLModalBody>
|
<OLModalBody>
|
||||||
|
|||||||
+3
-2
@@ -8,7 +8,8 @@ import { postJSON } from '../../../../../../infrastructure/fetch-json'
|
|||||||
import { isSmallDevice } from '../../../../../../infrastructure/event-tracking'
|
import { isSmallDevice } from '../../../../../../infrastructure/event-tracking'
|
||||||
import OLTooltip from '@/shared/components/ol/ol-tooltip'
|
import OLTooltip from '@/shared/components/ol/ol-tooltip'
|
||||||
import OLButton from '@/shared/components/ol/ol-button'
|
import OLButton from '@/shared/components/ol/ol-button'
|
||||||
import OLModal, {
|
import {
|
||||||
|
OLModal,
|
||||||
OLModalBody,
|
OLModalBody,
|
||||||
OLModalFooter,
|
OLModalFooter,
|
||||||
OLModalHeader,
|
OLModalHeader,
|
||||||
@@ -120,7 +121,7 @@ function CompileErrorModal({
|
|||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<OLModal show onHide={handleClose}>
|
<OLModal show onHide={handleClose}>
|
||||||
<OLModalHeader closeButton>
|
<OLModalHeader>
|
||||||
<OLModalTitle>
|
<OLModalTitle>
|
||||||
{project.name}: {t('pdf_unavailable_for_download')}
|
{project.name}: {t('pdf_unavailable_for_download')}
|
||||||
</OLModalTitle>
|
</OLModalTitle>
|
||||||
|
|||||||
+2
-1
@@ -1,7 +1,8 @@
|
|||||||
import { FC, memo } from 'react'
|
import { FC, memo } from 'react'
|
||||||
import OLButton from '@/shared/components/ol/ol-button'
|
import OLButton from '@/shared/components/ol/ol-button'
|
||||||
import { useTranslation } from 'react-i18next'
|
import { useTranslation } from 'react-i18next'
|
||||||
import OLModal, {
|
import {
|
||||||
|
OLModal,
|
||||||
OLModalBody,
|
OLModalBody,
|
||||||
OLModalFooter,
|
OLModalFooter,
|
||||||
OLModalHeader,
|
OLModalHeader,
|
||||||
|
|||||||
+3
-2
@@ -5,7 +5,8 @@ import teaserVideo from '../images/teaser-track-changes.mp4'
|
|||||||
import teaserImage from '../images/teaser-track-changes.gif'
|
import teaserImage from '../images/teaser-track-changes.gif'
|
||||||
import { startFreeTrial, upgradePlan } from '@/main/account-upgrade'
|
import { startFreeTrial, upgradePlan } from '@/main/account-upgrade'
|
||||||
import { memo } from 'react'
|
import { memo } from 'react'
|
||||||
import OLModal, {
|
import {
|
||||||
|
OLModal,
|
||||||
OLModalBody,
|
OLModalBody,
|
||||||
OLModalFooter,
|
OLModalFooter,
|
||||||
OLModalHeader,
|
OLModalHeader,
|
||||||
@@ -31,7 +32,7 @@ function UpgradeTrackChangesModal({
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<OLModal show={show} onHide={() => setShow(false)}>
|
<OLModal show={show} onHide={() => setShow(false)}>
|
||||||
<OLModalHeader closeButton>
|
<OLModalHeader>
|
||||||
<OLModalTitle>{t('upgrade_to_review')}</OLModalTitle>
|
<OLModalTitle>{t('upgrade_to_review')}</OLModalTitle>
|
||||||
</OLModalHeader>
|
</OLModalHeader>
|
||||||
<OLModalBody className="upgrade-track-changes-modal">
|
<OLModalBody className="upgrade-track-changes-modal">
|
||||||
|
|||||||
+3
-2
@@ -1,7 +1,8 @@
|
|||||||
import { useTranslation, Trans } from 'react-i18next'
|
import { useTranslation, Trans } from 'react-i18next'
|
||||||
import { MergeAndOverride } from '../../../../../../../../types/utils'
|
import { MergeAndOverride } from '../../../../../../../../types/utils'
|
||||||
import OLButton from '@/shared/components/ol/ol-button'
|
import OLButton from '@/shared/components/ol/ol-button'
|
||||||
import OLModal, {
|
import {
|
||||||
|
OLModal,
|
||||||
OLModalBody,
|
OLModalBody,
|
||||||
OLModalFooter,
|
OLModalFooter,
|
||||||
OLModalHeader,
|
OLModalHeader,
|
||||||
@@ -32,7 +33,7 @@ function ConfirmationModal({
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<OLModal show={show} onHide={onHide}>
|
<OLModal show={show} onHide={onHide}>
|
||||||
<OLModalHeader closeButton>
|
<OLModalHeader>
|
||||||
<OLModalTitle>{t('confirm_primary_email_change')}</OLModalTitle>
|
<OLModalTitle>{t('confirm_primary_email_change')}</OLModalTitle>
|
||||||
</OLModalHeader>
|
</OLModalHeader>
|
||||||
<OLModalBody className="pb-0">
|
<OLModalBody className="pb-0">
|
||||||
|
|||||||
+3
-2
@@ -4,7 +4,8 @@ import { FetchError, postJSON } from '@/infrastructure/fetch-json'
|
|||||||
import useAsync from '../../../../shared/hooks/use-async'
|
import useAsync from '../../../../shared/hooks/use-async'
|
||||||
import { UserEmailData } from '../../../../../../types/user-email'
|
import { UserEmailData } from '../../../../../../types/user-email'
|
||||||
import OLButton from '@/shared/components/ol/ol-button'
|
import OLButton from '@/shared/components/ol/ol-button'
|
||||||
import OLModal, {
|
import {
|
||||||
|
OLModal,
|
||||||
OLModalBody,
|
OLModalBody,
|
||||||
OLModalFooter,
|
OLModalFooter,
|
||||||
OLModalHeader,
|
OLModalHeader,
|
||||||
@@ -56,7 +57,7 @@ function ResendConfirmationCodeModal({
|
|||||||
id="action-project-modal"
|
id="action-project-modal"
|
||||||
backdrop="static"
|
backdrop="static"
|
||||||
>
|
>
|
||||||
<OLModalHeader closeButton>
|
<OLModalHeader>
|
||||||
<OLModalTitle>{t('confirm_your_email')}</OLModalTitle>
|
<OLModalTitle>{t('confirm_your_email')}</OLModalTitle>
|
||||||
</OLModalHeader>
|
</OLModalHeader>
|
||||||
|
|
||||||
|
|||||||
@@ -71,7 +71,7 @@ function LeaveModalContent({
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<OLModalHeader closeButton>
|
<OLModalHeader>
|
||||||
<OLModalTitle>{t('delete_account')}</OLModalTitle>
|
<OLModalTitle>{t('delete_account')}</OLModalTitle>
|
||||||
</OLModalHeader>
|
</OLModalHeader>
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import { useState, useCallback } from 'react'
|
import { useState, useCallback } from 'react'
|
||||||
import LeaveModalContent from './modal-content'
|
import LeaveModalContent from './modal-content'
|
||||||
import OLModal from '@/shared/components/ol/ol-modal'
|
import { OLModal } from '@/shared/components/ol/ol-modal'
|
||||||
|
|
||||||
type LeaveModalProps = {
|
type LeaveModalProps = {
|
||||||
isOpen: boolean
|
isOpen: boolean
|
||||||
|
|||||||
+3
-2
@@ -4,7 +4,8 @@ import OLBadge from '@/shared/components/ol/ol-badge'
|
|||||||
import getMeta from '../../../../utils/meta'
|
import getMeta from '../../../../utils/meta'
|
||||||
import { sendMB } from '../../../../infrastructure/event-tracking'
|
import { sendMB } from '../../../../infrastructure/event-tracking'
|
||||||
import OLButton from '@/shared/components/ol/ol-button'
|
import OLButton from '@/shared/components/ol/ol-button'
|
||||||
import OLModal, {
|
import {
|
||||||
|
OLModal,
|
||||||
OLModalBody,
|
OLModalBody,
|
||||||
OLModalFooter,
|
OLModalFooter,
|
||||||
OLModalHeader,
|
OLModalHeader,
|
||||||
@@ -208,7 +209,7 @@ function UnlinkConfirmationModal({
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<OLModal show={show} onHide={handleHide}>
|
<OLModal show={show} onHide={handleHide}>
|
||||||
<OLModalHeader closeButton>
|
<OLModalHeader>
|
||||||
<OLModalTitle>{title}</OLModalTitle>
|
<OLModalTitle>{title}</OLModalTitle>
|
||||||
</OLModalHeader>
|
</OLModalHeader>
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,8 @@ import GoogleLogo from '../../../../shared/svgs/google-logo'
|
|||||||
import OrcidLogo from '../../../../shared/svgs/orcid-logo'
|
import OrcidLogo from '../../../../shared/svgs/orcid-logo'
|
||||||
import LinkingStatus from './status'
|
import LinkingStatus from './status'
|
||||||
import OLButton from '@/shared/components/ol/ol-button'
|
import OLButton from '@/shared/components/ol/ol-button'
|
||||||
import OLModal, {
|
import {
|
||||||
|
OLModal,
|
||||||
OLModalBody,
|
OLModalBody,
|
||||||
OLModalFooter,
|
OLModalFooter,
|
||||||
OLModalHeader,
|
OLModalHeader,
|
||||||
@@ -168,7 +169,7 @@ function UnlinkConfirmModal({
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<OLModal show={show} onHide={handleHide}>
|
<OLModal show={show} onHide={handleHide}>
|
||||||
<OLModalHeader closeButton>
|
<OLModalHeader>
|
||||||
<OLModalTitle>
|
<OLModalTitle>
|
||||||
{t('unlink_provider_account_title', { provider: title })}
|
{t('unlink_provider_account_title', { provider: title })}
|
||||||
</OLModalTitle>
|
</OLModalTitle>
|
||||||
|
|||||||
+1
-1
@@ -20,7 +20,7 @@ export default function EditorOverLimitModalContent({
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<OLModalHeader closeButton>
|
<OLModalHeader>
|
||||||
<OLModalTitle>{t('do_you_need_edit_access')}</OLModalTitle>
|
<OLModalTitle>{t('do_you_need_edit_access')}</OLModalTitle>
|
||||||
</OLModalHeader>
|
</OLModalHeader>
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -5,7 +5,7 @@ import { useProjectContext } from '@/shared/context/project-context'
|
|||||||
import { useEditorContext } from '@/shared/context/editor-context'
|
import { useEditorContext } from '@/shared/context/editor-context'
|
||||||
import { useIdeReactContext } from '@/features/ide-react/context/ide-react-context'
|
import { useIdeReactContext } from '@/features/ide-react/context/ide-react-context'
|
||||||
import { sendMB } from '@/infrastructure/event-tracking'
|
import { sendMB } from '@/infrastructure/event-tracking'
|
||||||
import OLModal from '@/shared/components/ol/ol-modal'
|
import { OLModal } from '@/shared/components/ol/ol-modal'
|
||||||
|
|
||||||
const EditorOverLimitModal = () => {
|
const EditorOverLimitModal = () => {
|
||||||
const [show, setShow] = useState(false)
|
const [show, setShow] = useState(false)
|
||||||
|
|||||||
+3
-2
@@ -3,7 +3,8 @@ import { useEditorContext } from '@/shared/context/editor-context'
|
|||||||
import { lazy, Suspense } from 'react'
|
import { lazy, Suspense } from 'react'
|
||||||
import { FullSizeLoadingSpinner } from '@/shared/components/loading-spinner'
|
import { FullSizeLoadingSpinner } from '@/shared/components/loading-spinner'
|
||||||
import ClickableElementEnhancer from '@/shared/components/clickable-element-enhancer'
|
import ClickableElementEnhancer from '@/shared/components/clickable-element-enhancer'
|
||||||
import OLModal, {
|
import {
|
||||||
|
OLModal,
|
||||||
OLModalBody,
|
OLModalBody,
|
||||||
OLModalFooter,
|
OLModalFooter,
|
||||||
OLModalHeader,
|
OLModalHeader,
|
||||||
@@ -43,7 +44,7 @@ export default function ShareProjectModalContent({
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<OLModal show={show} onHide={cancel} animation={animation}>
|
<OLModal show={show} onHide={cancel} animation={animation}>
|
||||||
<OLModalHeader closeButton>
|
<OLModalHeader>
|
||||||
<OLModalTitle>{t('share_project')}</OLModalTitle>
|
<OLModalTitle>{t('share_project')}</OLModalTitle>
|
||||||
</OLModalHeader>
|
</OLModalHeader>
|
||||||
|
|
||||||
|
|||||||
+3
-2
@@ -3,7 +3,8 @@ import { Trans, useTranslation } from 'react-i18next'
|
|||||||
import { transferProjectOwnership } from '../utils/api'
|
import { transferProjectOwnership } from '../utils/api'
|
||||||
import { useProjectContext } from '@/shared/context/project-context'
|
import { useProjectContext } from '@/shared/context/project-context'
|
||||||
import { useLocation } from '@/shared/hooks/use-location'
|
import { useLocation } from '@/shared/hooks/use-location'
|
||||||
import OLModal, {
|
import {
|
||||||
|
OLModal,
|
||||||
OLModalBody,
|
OLModalBody,
|
||||||
OLModalFooter,
|
OLModalFooter,
|
||||||
OLModalHeader,
|
OLModalHeader,
|
||||||
@@ -45,7 +46,7 @@ export default function TransferOwnershipModal({
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<OLModal show onHide={cancel}>
|
<OLModal show onHide={cancel}>
|
||||||
<OLModalHeader closeButton>
|
<OLModalHeader>
|
||||||
<OLModalTitle>{t('change_project_owner')}</OLModalTitle>
|
<OLModalTitle>{t('change_project_owner')}</OLModalTitle>
|
||||||
</OLModalHeader>
|
</OLModalHeader>
|
||||||
<OLModalBody>
|
<OLModalBody>
|
||||||
|
|||||||
+1
-1
@@ -19,7 +19,7 @@ export default function ViewOnlyAccessModalContent({
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<OLModalHeader closeButton>
|
<OLModalHeader>
|
||||||
<OLModalTitle>{t('view_only_access')}</OLModalTitle>
|
<OLModalTitle>{t('view_only_access')}</OLModalTitle>
|
||||||
</OLModalHeader>
|
</OLModalHeader>
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -5,7 +5,7 @@ import { useProjectContext } from '@/shared/context/project-context'
|
|||||||
import { useEditorContext } from '@/shared/context/editor-context'
|
import { useEditorContext } from '@/shared/context/editor-context'
|
||||||
import { useIdeReactContext } from '@/features/ide-react/context/ide-react-context'
|
import { useIdeReactContext } from '@/features/ide-react/context/ide-react-context'
|
||||||
import { sendMB } from '@/infrastructure/event-tracking'
|
import { sendMB } from '@/infrastructure/event-tracking'
|
||||||
import OLModal from '@/shared/components/ol/ol-modal'
|
import { OLModal } from '@/shared/components/ol/ol-modal'
|
||||||
|
|
||||||
const ViewOnlyAccessModal = () => {
|
const ViewOnlyAccessModal = () => {
|
||||||
const [show, setShow] = useState(false)
|
const [show, setShow] = useState(false)
|
||||||
|
|||||||
+3
-2
@@ -1,4 +1,5 @@
|
|||||||
import OLModal, {
|
import {
|
||||||
|
OLModal,
|
||||||
OLModalBody,
|
OLModalBody,
|
||||||
OLModalFooter,
|
OLModalFooter,
|
||||||
OLModalHeader,
|
OLModalHeader,
|
||||||
@@ -273,7 +274,7 @@ const FigureModalContent = () => {
|
|||||||
}
|
}
|
||||||
return (
|
return (
|
||||||
<OLModal onHide={hide} className="figure-modal" show>
|
<OLModal onHide={hide} className="figure-modal" show>
|
||||||
<OLModalHeader closeButton>
|
<OLModalHeader>
|
||||||
<OLModalTitle>
|
<OLModalTitle>
|
||||||
{helpShown
|
{helpShown
|
||||||
? t('help')
|
? t('help')
|
||||||
|
|||||||
@@ -5,7 +5,8 @@ import {
|
|||||||
DropdownToggle,
|
DropdownToggle,
|
||||||
} from '@/shared/components/dropdown/dropdown-menu'
|
} from '@/shared/components/dropdown/dropdown-menu'
|
||||||
import OLButton from '@/shared/components/ol/ol-button'
|
import OLButton from '@/shared/components/ol/ol-button'
|
||||||
import OLModal, {
|
import {
|
||||||
|
OLModal,
|
||||||
OLModalBody,
|
OLModalBody,
|
||||||
OLModalFooter,
|
OLModalFooter,
|
||||||
OLModalHeader,
|
OLModalHeader,
|
||||||
|
|||||||
+3
-2
@@ -1,4 +1,5 @@
|
|||||||
import OLModal, {
|
import {
|
||||||
|
OLModal,
|
||||||
OLModalBody,
|
OLModalBody,
|
||||||
OLModalFooter,
|
OLModalFooter,
|
||||||
OLModalHeader,
|
OLModalHeader,
|
||||||
@@ -19,7 +20,7 @@ export const TableGeneratorHelpModal = () => {
|
|||||||
onHide={hideHelp}
|
onHide={hideHelp}
|
||||||
className="table-generator-help-modal"
|
className="table-generator-help-modal"
|
||||||
>
|
>
|
||||||
<OLModalHeader closeButton>
|
<OLModalHeader>
|
||||||
<OLModalTitle>{t('help')}</OLModalTitle>
|
<OLModalTitle>{t('help')}</OLModalTitle>
|
||||||
</OLModalHeader>
|
</OLModalHeader>
|
||||||
<OLModalBody>
|
<OLModalBody>
|
||||||
|
|||||||
+3
-2
@@ -16,7 +16,8 @@ import { setColumnWidth } from '../commands'
|
|||||||
import { UNITS, WidthSelection, WidthUnit } from './column-width'
|
import { UNITS, WidthSelection, WidthUnit } from './column-width'
|
||||||
import { useCodeMirrorViewContext } from '../../../codemirror-context'
|
import { useCodeMirrorViewContext } from '../../../codemirror-context'
|
||||||
import { CopyToClipboard } from '@/shared/components/copy-to-clipboard'
|
import { CopyToClipboard } from '@/shared/components/copy-to-clipboard'
|
||||||
import OLModal, {
|
import {
|
||||||
|
OLModal,
|
||||||
OLModalBody,
|
OLModalBody,
|
||||||
OLModalFooter,
|
OLModalFooter,
|
||||||
OLModalHeader,
|
OLModalHeader,
|
||||||
@@ -137,7 +138,7 @@ const ColumnWidthModalBody = () => {
|
|||||||
onHide={closeColumnWidthModal}
|
onHide={closeColumnWidthModal}
|
||||||
className="table-generator-width-modal"
|
className="table-generator-width-modal"
|
||||||
>
|
>
|
||||||
<OLModalHeader closeButton>
|
<OLModalHeader>
|
||||||
<OLModalTitle>{t('set_column_width')}</OLModalTitle>
|
<OLModalTitle>{t('set_column_width')}</OLModalTitle>
|
||||||
</OLModalHeader>
|
</OLModalHeader>
|
||||||
<OLModalBody>
|
<OLModalBody>
|
||||||
|
|||||||
+2
-1
@@ -4,7 +4,8 @@ import { deleteJSON } from '../../../../infrastructure/fetch-json'
|
|||||||
import { useSubscriptionDashboardContext } from '../../context/subscription-dashboard-context'
|
import { useSubscriptionDashboardContext } from '../../context/subscription-dashboard-context'
|
||||||
import { useLocation } from '../../../../shared/hooks/use-location'
|
import { useLocation } from '../../../../shared/hooks/use-location'
|
||||||
import { debugConsole } from '@/utils/debugging'
|
import { debugConsole } from '@/utils/debugging'
|
||||||
import OLModal, {
|
import {
|
||||||
|
OLModal,
|
||||||
OLModalBody,
|
OLModalBody,
|
||||||
OLModalFooter,
|
OLModalFooter,
|
||||||
OLModalHeader,
|
OLModalHeader,
|
||||||
|
|||||||
@@ -3,7 +3,8 @@ import { useSubscriptionDashboardContext } from '../../context/subscription-dash
|
|||||||
import { useCallback, useMemo, useState } from 'react'
|
import { useCallback, useMemo, useState } from 'react'
|
||||||
import { postJSON } from '@/infrastructure/fetch-json'
|
import { postJSON } from '@/infrastructure/fetch-json'
|
||||||
import { useLocation } from '@/shared/hooks/use-location'
|
import { useLocation } from '@/shared/hooks/use-location'
|
||||||
import OLModal, {
|
import {
|
||||||
|
OLModal,
|
||||||
OLModalBody,
|
OLModalBody,
|
||||||
OLModalHeader,
|
OLModalHeader,
|
||||||
} from '@/shared/components/ol/ol-modal'
|
} from '@/shared/components/ol/ol-modal'
|
||||||
@@ -88,7 +89,7 @@ export default function PauseSubscriptionModal() {
|
|||||||
backdrop="static"
|
backdrop="static"
|
||||||
>
|
>
|
||||||
<OLModalBody>
|
<OLModalBody>
|
||||||
<OLModalHeader closeButton style={{ border: 0 }} />
|
<OLModalHeader style={{ border: 0 }} />
|
||||||
<img
|
<img
|
||||||
src={PauseDuck}
|
src={PauseDuck}
|
||||||
alt="Need to duck out for a while?"
|
alt="Need to duck out for a while?"
|
||||||
|
|||||||
+2
-1
@@ -4,7 +4,8 @@ import { SubscriptionDashModalIds } from '../../../../../../../../../../types/su
|
|||||||
import { postJSON } from '../../../../../../../../infrastructure/fetch-json'
|
import { postJSON } from '../../../../../../../../infrastructure/fetch-json'
|
||||||
import { useSubscriptionDashboardContext } from '../../../../../../context/subscription-dashboard-context'
|
import { useSubscriptionDashboardContext } from '../../../../../../context/subscription-dashboard-context'
|
||||||
import { useLocation } from '../../../../../../../../shared/hooks/use-location'
|
import { useLocation } from '../../../../../../../../shared/hooks/use-location'
|
||||||
import OLModal, {
|
import {
|
||||||
|
OLModal,
|
||||||
OLModalBody,
|
OLModalBody,
|
||||||
OLModalFooter,
|
OLModalFooter,
|
||||||
OLModalHeader,
|
OLModalHeader,
|
||||||
|
|||||||
+3
-2
@@ -4,7 +4,8 @@ import LoadingSpinner from '../../../../../../../../shared/components/loading-sp
|
|||||||
import { useSubscriptionDashboardContext } from '../../../../../../context/subscription-dashboard-context'
|
import { useSubscriptionDashboardContext } from '../../../../../../context/subscription-dashboard-context'
|
||||||
import { ChangeToGroupPlan } from '../change-to-group-plan'
|
import { ChangeToGroupPlan } from '../change-to-group-plan'
|
||||||
import { IndividualPlansTable } from '../individual-plans-table'
|
import { IndividualPlansTable } from '../individual-plans-table'
|
||||||
import OLModal, {
|
import {
|
||||||
|
OLModal,
|
||||||
OLModalBody,
|
OLModalBody,
|
||||||
OLModalHeader,
|
OLModalHeader,
|
||||||
OLModalTitle,
|
OLModalTitle,
|
||||||
@@ -43,7 +44,7 @@ export function ChangePlanModal() {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<OLModal id={modalId} show animation onHide={handleCloseModal} size="lg">
|
<OLModal id={modalId} show animation onHide={handleCloseModal} size="lg">
|
||||||
<OLModalHeader closeButton>
|
<OLModalHeader>
|
||||||
<OLModalTitle>{t('change_plan')}</OLModalTitle>
|
<OLModalTitle>{t('change_plan')}</OLModalTitle>
|
||||||
</OLModalHeader>
|
</OLModalHeader>
|
||||||
|
|
||||||
|
|||||||
+3
-2
@@ -12,7 +12,8 @@ import GenericErrorAlert from '../../../../generic-error-alert'
|
|||||||
import { subscriptionUpdateUrl } from '../../../../../../data/subscription-url'
|
import { subscriptionUpdateUrl } from '../../../../../../data/subscription-url'
|
||||||
import { getRecurlyGroupPlanCode } from '../../../../../../util/recurly-group-plan-code'
|
import { getRecurlyGroupPlanCode } from '../../../../../../util/recurly-group-plan-code'
|
||||||
import { useLocation } from '../../../../../../../../shared/hooks/use-location'
|
import { useLocation } from '../../../../../../../../shared/hooks/use-location'
|
||||||
import OLModal, {
|
import {
|
||||||
|
OLModal,
|
||||||
OLModalBody,
|
OLModalBody,
|
||||||
OLModalFooter,
|
OLModalFooter,
|
||||||
OLModalHeader,
|
OLModalHeader,
|
||||||
@@ -175,7 +176,7 @@ export function ChangeToGroupModal() {
|
|||||||
onHide={handleCloseModal}
|
onHide={handleCloseModal}
|
||||||
backdrop="static"
|
backdrop="static"
|
||||||
>
|
>
|
||||||
<OLModalHeader closeButton>
|
<OLModalHeader>
|
||||||
<OLModalTitle className="lh-sm">
|
<OLModalTitle className="lh-sm">
|
||||||
{t('customize_your_group_subscription')}
|
{t('customize_your_group_subscription')}
|
||||||
{showGroupDiscount && (
|
{showGroupDiscount && (
|
||||||
|
|||||||
+2
-1
@@ -9,7 +9,8 @@ import getMeta from '../../../../../../../../utils/meta'
|
|||||||
import { useSubscriptionDashboardContext } from '../../../../../../context/subscription-dashboard-context'
|
import { useSubscriptionDashboardContext } from '../../../../../../context/subscription-dashboard-context'
|
||||||
import { subscriptionUpdateUrl } from '../../../../../../data/subscription-url'
|
import { subscriptionUpdateUrl } from '../../../../../../data/subscription-url'
|
||||||
import { useLocation } from '../../../../../../../../shared/hooks/use-location'
|
import { useLocation } from '../../../../../../../../shared/hooks/use-location'
|
||||||
import OLModal, {
|
import {
|
||||||
|
OLModal,
|
||||||
OLModalBody,
|
OLModalBody,
|
||||||
OLModalFooter,
|
OLModalFooter,
|
||||||
OLModalHeader,
|
OLModalHeader,
|
||||||
|
|||||||
+2
-1
@@ -5,7 +5,8 @@ import { postJSON } from '../../../../../../../../infrastructure/fetch-json'
|
|||||||
import { useSubscriptionDashboardContext } from '../../../../../../context/subscription-dashboard-context'
|
import { useSubscriptionDashboardContext } from '../../../../../../context/subscription-dashboard-context'
|
||||||
import { cancelPendingSubscriptionChangeUrl } from '../../../../../../data/subscription-url'
|
import { cancelPendingSubscriptionChangeUrl } from '../../../../../../data/subscription-url'
|
||||||
import { useLocation } from '../../../../../../../../shared/hooks/use-location'
|
import { useLocation } from '../../../../../../../../shared/hooks/use-location'
|
||||||
import OLModal, {
|
import {
|
||||||
|
OLModal,
|
||||||
OLModalBody,
|
OLModalBody,
|
||||||
OLModalFooter,
|
OLModalFooter,
|
||||||
OLModalHeader,
|
OLModalHeader,
|
||||||
|
|||||||
+2
-1
@@ -1,7 +1,8 @@
|
|||||||
import { useTranslation } from 'react-i18next'
|
import { useTranslation } from 'react-i18next'
|
||||||
import { SubscriptionDashModalIds } from '../../../../../../../../../../types/subscription/dashboard/modal-ids'
|
import { SubscriptionDashModalIds } from '../../../../../../../../../../types/subscription/dashboard/modal-ids'
|
||||||
import { useSubscriptionDashboardContext } from '../../../../../../context/subscription-dashboard-context'
|
import { useSubscriptionDashboardContext } from '../../../../../../context/subscription-dashboard-context'
|
||||||
import OLModal, {
|
import {
|
||||||
|
OLModal,
|
||||||
OLModalBody,
|
OLModalBody,
|
||||||
OLModalFooter,
|
OLModalFooter,
|
||||||
OLModalHeader,
|
OLModalHeader,
|
||||||
|
|||||||
+2
-1
@@ -2,7 +2,8 @@ import { useState } from 'react'
|
|||||||
import { SubscriptionDashModalIds } from '../../../../../../../../types/subscription/dashboard/modal-ids'
|
import { SubscriptionDashModalIds } from '../../../../../../../../types/subscription/dashboard/modal-ids'
|
||||||
import { Trans, useTranslation } from 'react-i18next'
|
import { Trans, useTranslation } from 'react-i18next'
|
||||||
import { useSubscriptionDashboardContext } from '@/features/subscription/context/subscription-dashboard-context'
|
import { useSubscriptionDashboardContext } from '@/features/subscription/context/subscription-dashboard-context'
|
||||||
import OLModal, {
|
import {
|
||||||
|
OLModal,
|
||||||
OLModalBody,
|
OLModalBody,
|
||||||
OLModalFooter,
|
OLModalFooter,
|
||||||
OLModalHeader,
|
OLModalHeader,
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import OLButton from '@/shared/components/ol/ol-button'
|
import OLButton from '@/shared/components/ol/ol-button'
|
||||||
import OLModal, {
|
import {
|
||||||
|
OLModal,
|
||||||
OLModalBody,
|
OLModalBody,
|
||||||
OLModalFooter,
|
OLModalFooter,
|
||||||
OLModalHeader,
|
OLModalHeader,
|
||||||
@@ -28,7 +29,7 @@ function LeaveProjectModal({
|
|||||||
id="action-project-modal"
|
id="action-project-modal"
|
||||||
backdrop="static"
|
backdrop="static"
|
||||||
>
|
>
|
||||||
<OLModalHeader closeButton>
|
<OLModalHeader>
|
||||||
<OLModalTitle>{t('leave_project')}</OLModalTitle>
|
<OLModalTitle>{t('leave_project')}</OLModalTitle>
|
||||||
</OLModalHeader>
|
</OLModalHeader>
|
||||||
<OLModalBody>
|
<OLModalBody>
|
||||||
|
|||||||
+1
-1
@@ -21,7 +21,7 @@ export default function WordCountModalContent({
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<OLModalHeader closeButton>
|
<OLModalHeader>
|
||||||
<OLModalTitle>
|
<OLModalTitle>
|
||||||
{t('word_count_lower')}{' '}
|
{t('word_count_lower')}{' '}
|
||||||
<SplitTestBadge
|
<SplitTestBadge
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import { memo } from 'react'
|
import { memo } from 'react'
|
||||||
import WordCountModalContent from './word-count-modal-content'
|
import WordCountModalContent from './word-count-modal-content'
|
||||||
import withErrorBoundary from '../../../infrastructure/error-boundary'
|
import withErrorBoundary from '../../../infrastructure/error-boundary'
|
||||||
import OLModal from '@/shared/components/ol/ol-modal'
|
import { OLModal } from '@/shared/components/ol/ol-modal'
|
||||||
|
|
||||||
const WordCountModal = memo(function WordCountModal({
|
const WordCountModal = memo(function WordCountModal({
|
||||||
show,
|
show,
|
||||||
|
|||||||
@@ -12,12 +12,24 @@ type OLModalProps = ModalProps & {
|
|||||||
onHide: () => void
|
onHide: () => void
|
||||||
}
|
}
|
||||||
|
|
||||||
export default function OLModal({ children, ...props }: OLModalProps) {
|
type OLModalHeaderProps = ModalHeaderProps & {
|
||||||
|
closeButton?: boolean
|
||||||
|
}
|
||||||
|
|
||||||
|
export function OLModal({ children, ...props }: OLModalProps) {
|
||||||
return <Modal {...props}>{children}</Modal>
|
return <Modal {...props}>{children}</Modal>
|
||||||
}
|
}
|
||||||
|
|
||||||
export function OLModalHeader({ children, ...props }: ModalHeaderProps) {
|
export function OLModalHeader({
|
||||||
return <Modal.Header {...props}>{children}</Modal.Header>
|
children,
|
||||||
|
closeButton = true,
|
||||||
|
...props
|
||||||
|
}: OLModalHeaderProps) {
|
||||||
|
return (
|
||||||
|
<Modal.Header closeButton={closeButton} {...props}>
|
||||||
|
{children}
|
||||||
|
</Modal.Header>
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
export function OLModalTitle({ children, ...props }: ModalTitleProps) {
|
export function OLModalTitle({ children, ...props }: ModalTitleProps) {
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
import type { Meta, StoryObj } from '@storybook/react'
|
import type { Meta, StoryObj } from '@storybook/react'
|
||||||
import { figmaDesignUrl } from '../../../.storybook/utils/figma-design-url'
|
import { figmaDesignUrl } from './../../../.storybook/utils/figma-design-url'
|
||||||
import OLModal, {
|
import {
|
||||||
|
OLModal,
|
||||||
OLModalHeader,
|
OLModalHeader,
|
||||||
OLModalBody,
|
OLModalBody,
|
||||||
OLModalFooter,
|
OLModalFooter,
|
||||||
@@ -99,7 +100,7 @@ const meta: Meta<typeof OLModal> = {
|
|||||||
},
|
},
|
||||||
render: ({ title, children, footer, ...args }) => (
|
render: ({ title, children, footer, ...args }) => (
|
||||||
<OLModal {...args}>
|
<OLModal {...args}>
|
||||||
<OLModalHeader closeButton>
|
<OLModalHeader>
|
||||||
<OLModalTitle>{title}</OLModalTitle>
|
<OLModalTitle>{title}</OLModalTitle>
|
||||||
</OLModalHeader>
|
</OLModalHeader>
|
||||||
<OLModalBody>{children}</OLModalBody>
|
<OLModalBody>{children}</OLModalBody>
|
||||||
|
|||||||
Reference in New Issue
Block a user