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
+
+
+
+
+
+
+
+
+
+
+ );
+}