diff --git a/apps/client/src/features/editors/Editor.tsx b/apps/client/src/features/editors/Editor.tsx index b195d7d6b..cae0f6420 100644 --- a/apps/client/src/features/editors/Editor.tsx +++ b/apps/client/src/features/editors/Editor.tsx @@ -5,6 +5,7 @@ import ErrorBoundary from '../../common/components/error-boundary/ErrorBoundary' import MenuBar from '../menu/MenuBar'; import AboutModal from '../modals/about-modal/AboutModal'; import QuickStart from '../modals/quick-start/QuickStart'; +import SheetsModal from '../modals/sheets-modal/SheetsModal'; import UploadModal from '../modals/upload-modal/UploadModal'; import styles from './Editor.module.scss'; @@ -28,6 +29,7 @@ export default function Editor() { } = useDisclosure(); const { isOpen: isAboutModalOpen, onOpen: onAboutModalOpen, onClose: onAboutModalClose } = useDisclosure(); const { isOpen: isQuickStartOpen, onOpen: onQuickStartOpen, onClose: onQuickStartClose } = useDisclosure(); + const { isOpen: isSheetsOpen, onOpen: onSheetsOpen, onClose: onSheetsClose } = useDisclosure(); // Set window title useEffect(() => { @@ -42,6 +44,7 @@ export default function Editor() { +
@@ -58,6 +61,8 @@ export default function Editor() { onAboutOpen={onAboutModalOpen} isQuickStartOpen={isQuickStartOpen} onQuickStartOpen={onQuickStartOpen} + isSheetsOpen={isSheetsOpen} + onSheetsOpen={onSheetsOpen} />
diff --git a/apps/client/src/features/menu/MenuBar.tsx b/apps/client/src/features/menu/MenuBar.tsx index 5281bc24d..e6609863e 100644 --- a/apps/client/src/features/menu/MenuBar.tsx +++ b/apps/client/src/features/menu/MenuBar.tsx @@ -1,5 +1,6 @@ import { memo, useCallback, useEffect, useState } from 'react'; import { VStack } from '@chakra-ui/react'; +import { IoCalendarOutline } from '@react-icons/all-files/io5/IoCalendarOutline'; import { IoColorWand } from '@react-icons/all-files/io5/IoColorWand'; import { IoExtensionPuzzle } from '@react-icons/all-files/io5/IoExtensionPuzzle'; import { IoExtensionPuzzleOutline } from '@react-icons/all-files/io5/IoExtensionPuzzleOutline'; @@ -31,6 +32,8 @@ interface MenuBarProps { onAboutOpen: () => void; isQuickStartOpen: boolean; onQuickStartOpen: () => void; + isSheetsOpen: boolean; + onSheetsOpen: () => void; } const buttonStyle = { @@ -58,6 +61,8 @@ const MenuBar = (props: MenuBarProps) => { onAboutOpen, isQuickStartOpen, onQuickStartOpen, + isSheetsOpen, + onSheetsOpen, } = props; const { isElectron, sendToElectron } = useElectronEvent(); @@ -174,6 +179,16 @@ const MenuBar = (props: MenuBarProps) => { />
+ } + className={isSheetsOpen ? style.open : ''} + clickHandler={onSheetsOpen} + tooltip='Sheets' + aria-label='Sheets' + size='sm' + /> void; + isOpen: boolean; +} + +export default function SheetsModal(props: SheetsModalProps) { + const { isOpen, onClose } = props; + const fileInputRef = useRef(null); + const [file, setFile] = useState(null); + + const handleClose = () => onClose(); + const handleClick = () => { + fileInputRef.current?.click(); + }; + + const handleFile = (event: ChangeEvent) => { + const selectedFile = event?.target?.files?.[0]; + if (!selectedFile) { + setFile(null); + return; + } + setFile(selectedFile); + }; + + const handleAuthenticate = () => {} + const handlePullData = () => {} + + return ( + + + + Sheets! + + + +
Need to add some help here
+
+ +
+ {file &&
We got a file
} +
You are authenticated
+
+ +
+
+ + + + +
+
+ ); +}