mirror of
https://github.com/lordmathis/lemma.git
synced 2025-11-06 07:54:22 +00:00
Remove Tab Context
This commit is contained in:
@@ -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>
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -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 (
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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);
|
|
||||||
Reference in New Issue
Block a user