Skip to content

Commit 31eb519

Browse files
committed
1 parent 5b99da6 commit 31eb519

File tree

3 files changed

+41
-59
lines changed

3 files changed

+41
-59
lines changed

src/features/instance/applications/components/ContentViewer.tsx

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,18 @@
11
import { Loading } from '@/components/Loading';
2+
import { newApplication } from '@/features/instance/applications/components/ApplicationsSidebar/specialItems';
23
import { TextEditorView } from '@/features/instance/applications/components/TextEditorView';
34
import { isDirectory } from '@/features/instance/applications/context/isDirectory';
45
import { useEditorView } from '@/features/instance/applications/hooks/useEditorView';
6+
import { CreateOrImportAnApplication } from '@/features/instance/applications/modals/CreateOrImportAnApplication';
57
import Markdown from 'react-markdown';
68

79
export function ContentViewer() {
810
const { openedEntry, openedEntryContents } = useEditorView();
911

12+
if (openedEntry?.path === newApplication) {
13+
return <CreateOrImportAnApplication />;
14+
}
15+
1016
if (isDirectory(openedEntry)) {
1117
if (openedEntryContents !== undefined) {
1218
return <div className="directoryReadMe max-w-4xl">
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
import { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs';
2+
import { useInstanceClientParams } from '@/config/useInstanceClient';
3+
import { useEditorView } from '@/features/instance/applications/hooks/useEditorView';
4+
import { CreateNewApplicationForm } from '@/features/instance/applications/new/CreateNewApplicationForm';
5+
import { ImportApplicationForm } from '@/features/instance/applications/new/ImportApplicationForm';
6+
import { useRestartInstanceClick } from '@/hooks/useRestartInstanceClick';
7+
import { useState } from 'react';
8+
9+
export function CreateOrImportAnApplication() {
10+
const { reloadRootEntries } = useEditorView();
11+
12+
const { instanceClient } = useInstanceClientParams();
13+
const [appType, setAppType] = useState('create');
14+
15+
const { onRestartClick, isRestartPending } = useRestartInstanceClick({
16+
operation: 'restart_service',
17+
instanceClient,
18+
onRestartedSuccessfully: reloadRootEntries,
19+
});
20+
21+
return (
22+
<Tabs defaultValue={appType} className="w-xl" onValueChange={setAppType}>
23+
<TabsList>
24+
<TabsTrigger value="create">Create</TabsTrigger>
25+
<TabsTrigger value="import">Import</TabsTrigger>
26+
</TabsList>
27+
<TabsContent value="create" className="mt-4">
28+
<CreateNewApplicationForm triggerRestart={onRestartClick} isRestartPending={isRestartPending} />
29+
</TabsContent>
30+
<TabsContent value="import" className="mt-4">
31+
<ImportApplicationForm onRestartedSuccessfully={reloadRootEntries} />
32+
</TabsContent>
33+
</Tabs>
34+
);
35+
}

src/features/instance/applications/modals/NewApplicationModal.tsx

Lines changed: 0 additions & 59 deletions
This file was deleted.

0 commit comments

Comments
 (0)