Remove Tab Context

This commit is contained in:
2024-10-05 11:30:29 +02:00
parent 49c68e3f77
commit 96e0d1b73d
4 changed files with 17 additions and 38 deletions

View File

@@ -5,7 +5,6 @@ import Header from './components/Header';
import MainContent from './components/MainContent'; import MainContent from './components/MainContent';
import { SettingsProvider, useSettings } from './contexts/SettingsContext'; import { SettingsProvider, useSettings } from './contexts/SettingsContext';
import { ModalProvider } from './contexts/ModalContext'; import { ModalProvider } from './contexts/ModalContext';
import { TabProvider } from './contexts/TabContext';
import { GitOperationsProvider } from './contexts/GitOperationsContext'; import { GitOperationsProvider } from './contexts/GitOperationsContext';
import { FileListProvider } from './contexts/FileListContext'; import { FileListProvider } from './contexts/FileListContext';
import { FileSelectionProvider } from './contexts/FileSelectionContext'; import { FileSelectionProvider } from './contexts/FileSelectionContext';
@@ -38,21 +37,19 @@ function App() {
return ( return (
<SettingsProvider> <SettingsProvider>
<ModalProvider> <ModalProvider>
<TabProvider> <GitOperationsProvider>
<GitOperationsProvider> <FileListProvider>
<FileListProvider> <FileManagementProvider>
<FileManagementProvider> <FileSelectionProvider>
<FileSelectionProvider> <FileOperationsProvider>
<FileOperationsProvider> <EditorContentProvider>
<EditorContentProvider> <AppContent />
<AppContent /> </EditorContentProvider>
</EditorContentProvider> </FileOperationsProvider>
</FileOperationsProvider> </FileSelectionProvider>
</FileSelectionProvider> </FileManagementProvider>
</FileManagementProvider> </FileListProvider>
</FileListProvider> </GitOperationsProvider>
</GitOperationsProvider>
</TabProvider>
</ModalProvider> </ModalProvider>
</SettingsProvider> </SettingsProvider>
); );

View File

@@ -5,11 +5,9 @@ import { Text } from '@geist-ui/core';
import { getFileUrl } from '../services/api'; import { getFileUrl } from '../services/api';
import { isImageFile } from '../utils/fileHelpers'; import { isImageFile } from '../utils/fileHelpers';
import { useFileSelection } from '../contexts/FileSelectionContext'; import { useFileSelection } from '../contexts/FileSelectionContext';
import { useTabContext } from '../contexts/TabContext';
const ContentView = () => { const ContentView = ({ activeTab }) => {
const { selectedFile } = useFileSelection(); const { selectedFile } = useFileSelection();
const { activeTab } = useTabContext();
if (!selectedFile) { if (!selectedFile) {
return ( return (

View File

@@ -1,4 +1,4 @@
import React from 'react'; import React, { useState } from 'react';
import { Grid, Breadcrumbs, Tabs, Dot } from '@geist-ui/core'; import { Grid, Breadcrumbs, Tabs, Dot } from '@geist-ui/core';
import { Code, Eye } from '@geist-ui/icons'; import { Code, Eye } from '@geist-ui/icons';
import FileTree from './FileTree'; import FileTree from './FileTree';
@@ -7,14 +7,13 @@ import ContentView from './ContentView';
import CreateFileModal from './modals/CreateFileModal'; import CreateFileModal from './modals/CreateFileModal';
import DeleteFileModal from './modals/DeleteFileModal'; import DeleteFileModal from './modals/DeleteFileModal';
import CommitMessageModal from './modals/CommitMessageModal'; import CommitMessageModal from './modals/CommitMessageModal';
import { useTabContext } from '../contexts/TabContext';
import { useEditorContent } from '../contexts/EditorContentContext'; import { useEditorContent } from '../contexts/EditorContentContext';
import { useFileSelection } from '../contexts/FileSelectionContext'; import { useFileSelection } from '../contexts/FileSelectionContext';
const MainContent = () => { const MainContent = () => {
const [activeTab, setActiveTab] = useState('source');
const { hasUnsavedChanges } = useEditorContent(); const { hasUnsavedChanges } = useEditorContent();
const { selectedFile } = useFileSelection(); const { selectedFile } = useFileSelection();
const { activeTab, setActiveTab } = useTabContext();
const handleTabChange = (value) => { const handleTabChange = (value) => {
setActiveTab(value); setActiveTab(value);
@@ -62,7 +61,7 @@ const MainContent = () => {
</Tabs> </Tabs>
</div> </div>
<div className="content-body"> <div className="content-body">
<ContentView /> <ContentView activeTab={activeTab} />
</div> </div>
</Grid> </Grid>
</Grid.Container> </Grid.Container>

View File

@@ -1,15 +0,0 @@
import React, { createContext, useContext, useState } from 'react';
const TabContext = createContext();
export const TabProvider = ({ children }) => {
const [activeTab, setActiveTab] = useState('source');
return (
<TabContext.Provider value={{ activeTab, setActiveTab }}>
{children}
</TabContext.Provider>
);
};
export const useTabContext = () => useContext(TabContext);