import React from 'react'; import { Stack, Box } from '@mantine/core'; import FileSourceButtons from './FileSourceButtons'; import FileDetails from './FileDetails'; import SearchInput from './SearchInput'; import FileListArea from './FileListArea'; import HiddenFileInput from './HiddenFileInput'; import { useFileManagerContext } from '../../contexts/FileManagerContext'; const MobileLayout: React.FC = () => { const { activeSource, selectedFiles, modalHeight, } = useFileManagerContext(); // Calculate the height more accurately based on actual content const calculateFileListHeight = () => { // Base modal height minus padding and gaps const baseHeight = `calc(${modalHeight} - 2rem)`; // Account for Stack padding // Estimate heights of fixed components const fileSourceHeight = '3rem'; // FileSourceButtons height const fileDetailsHeight = selectedFiles.length > 0 ? '10rem' : '8rem'; // FileDetails compact height const searchHeight = activeSource === 'recent' ? '3rem' : '0rem'; // SearchInput height const gapHeight = activeSource === 'recent' ? '3rem' : '2rem'; // Stack gaps return `calc(${baseHeight} - ${fileSourceHeight} - ${fileDetailsHeight} - ${searchHeight} - ${gapHeight})`; }; return ( {/* Section 1: File Sources - Fixed at top */} {/* Section 3 & 4: Search Bar + File List - Unified background extending to modal edge */} {activeSource === 'recent' && ( )} {/* Hidden file input for local file selection */} ); }; export default MobileLayout;