Files
ux_aura_assistant/containers/MainContainer.tsx
2026-03-25 01:21:37 +05:30

44 lines
1.1 KiB
TypeScript

import React, { useState, useEffect } from 'react';
import { useTheme } from '../contexts/ThemeContext';
import { User } from '../types';
import MainLayout from './layout/MainLayout';
interface MainContainerProps {
user: User | null;
workspaceUrl: string;
signOutUrl: string;
children?: React.ReactNode;
}
/**
* MainContainer handles layout logic:
* - Theme state access
* - App version fetching
*/
const MainContainer: React.FC<MainContainerProps> = (props) => {
const { theme, toggleTheme } = useTheme();
const [version, setVersion] = useState<string | null>(null);
useEffect(() => {
fetch('./version.json')
.then(response => {
if (response.ok) return response.json();
return null;
})
.then(data => {
if (data && data.version) setVersion(data.version);
})
.catch(() => {});
}, []);
return (
<MainLayout
{...props}
theme={theme}
toggleTheme={toggleTheme}
version={version}
/>
);
};
export default MainContainer;