{symbolPaletteComponents.map(
({ import: { default: Component }, path }) => (
diff --git a/services/web/frontend/js/features/ide-react/components/editor/multiple-selection-pane.tsx b/services/web/frontend/js/features/ide-react/components/editor/multiple-selection-pane.tsx
new file mode 100644
index 0000000000..eb474a1824
--- /dev/null
+++ b/services/web/frontend/js/features/ide-react/components/editor/multiple-selection-pane.tsx
@@ -0,0 +1,17 @@
+import { useTranslation } from 'react-i18next'
+
+export default function MultipleSelectionPane({
+ selectedEntityCount,
+}: {
+ selectedEntityCount: number
+}) {
+ const { t } = useTranslation()
+
+ return (
+
+
+
{`${selectedEntityCount} ${t('files_selected')}`}
+
+
+ )
+}
diff --git a/services/web/frontend/js/features/ide-react/components/editor/no-open-doc-pane.tsx b/services/web/frontend/js/features/ide-react/components/editor/no-open-doc-pane.tsx
new file mode 100644
index 0000000000..7545b79bdb
--- /dev/null
+++ b/services/web/frontend/js/features/ide-react/components/editor/no-open-doc-pane.tsx
@@ -0,0 +1,14 @@
+import { useTranslation } from 'react-i18next'
+
+export default function NoOpenDocPane() {
+ const { t } = useTranslation()
+
+ return (
+
+
+
+ {t('open_a_file_on_the_left')}
+
+
+ )
+}
diff --git a/services/web/frontend/js/features/ide-react/components/editor/no-selection-pane.tsx b/services/web/frontend/js/features/ide-react/components/editor/no-selection-pane.tsx
new file mode 100644
index 0000000000..e3de9a0469
--- /dev/null
+++ b/services/web/frontend/js/features/ide-react/components/editor/no-selection-pane.tsx
@@ -0,0 +1,13 @@
+import { useTranslation } from 'react-i18next'
+
+export default function NoSelectionPane() {
+ const { t } = useTranslation()
+
+ return (
+
+
+
{t('no_selection_select_file')}
+
+
+ )
+}
diff --git a/services/web/frontend/js/features/ide-react/components/file-tree.tsx b/services/web/frontend/js/features/ide-react/components/file-tree.tsx
index 6a1e497743..712ab7de69 100644
--- a/services/web/frontend/js/features/ide-react/components/file-tree.tsx
+++ b/services/web/frontend/js/features/ide-react/components/file-tree.tsx
@@ -4,15 +4,19 @@ import { useUserContext } from '@/shared/context/user-context'
import { useReferencesContext } from '@/features/ide-react/context/references-context'
import { useIdeReactContext } from '@/features/ide-react/context/ide-react-context'
import { useConnectionContext } from '@/features/ide-react/context/connection-context'
-import { FileTreeSelectHandler } from '@/features/ide-react/types/file-tree'
+import {
+ FileTreeDeleteHandler,
+ FileTreeSelectHandler,
+} from '@/features/ide-react/types/file-tree'
import { RefProviders } from '../../../../../types/user'
type FileTreeProps = {
onInit: () => void
onSelect: FileTreeSelectHandler
+ onDelete: FileTreeDeleteHandler
}
-export function FileTree({ onInit, onSelect }: FileTreeProps) {
+export function FileTree({ onInit, onSelect, onDelete }: FileTreeProps) {
const user = useUserContext()
const { indexAllReferences } = useReferencesContext()
const { setStartedFreeTrial } = useIdeReactContext()
@@ -43,6 +47,7 @@ export function FileTree({ onInit, onSelect }: FileTreeProps) {
isConnected={isConnected}
onInit={onInit}
onSelect={onSelect}
+ onDelete={onDelete}
/>
)
diff --git a/services/web/frontend/js/features/ide-react/components/history-sidebar.tsx b/services/web/frontend/js/features/ide-react/components/history-sidebar.tsx
new file mode 100644
index 0000000000..d929d3f9d1
--- /dev/null
+++ b/services/web/frontend/js/features/ide-react/components/history-sidebar.tsx
@@ -0,0 +1,5 @@
+import React from 'react'
+
+export function HistorySidebar() {
+ return
+}
diff --git a/services/web/frontend/js/features/ide-react/components/layout/placeholder/placeholder-editor-and-pdf.tsx b/services/web/frontend/js/features/ide-react/components/layout/placeholder/placeholder-editor-and-pdf.tsx
index 00c4ef36ae..3d77a64698 100644
--- a/services/web/frontend/js/features/ide-react/components/layout/placeholder/placeholder-editor-and-pdf.tsx
+++ b/services/web/frontend/js/features/ide-react/components/layout/placeholder/placeholder-editor-and-pdf.tsx
@@ -58,7 +58,7 @@ export default function PlaceholderEditorAndPdf({
minSize={250}
maxSize={336}
>
-
+
Symbol palette placeholder
diff --git a/services/web/frontend/js/features/ide-react/components/layout/placeholder/placeholder-editor-sidebar.tsx b/services/web/frontend/js/features/ide-react/components/layout/placeholder/placeholder-editor-sidebar.tsx
index b6ca7a73b3..d96735da50 100644
--- a/services/web/frontend/js/features/ide-react/components/layout/placeholder/placeholder-editor-sidebar.tsx
+++ b/services/web/frontend/js/features/ide-react/components/layout/placeholder/placeholder-editor-sidebar.tsx
@@ -10,7 +10,7 @@ export default function PlaceholderEditorSidebar({
shouldPersistLayout,
}: PlaceholderEditorSidebarProps) {
return (
-