+ {/if}
+
diff --git a/apps/web-application/src/lib/Components/Editor/Sidebar.svelte b/apps/web-application/src/lib/Components/Editor/Sidebar.svelte
new file mode 100644
index 0000000..015746c
--- /dev/null
+++ b/apps/web-application/src/lib/Components/Editor/Sidebar.svelte
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
diff --git a/apps/web-application/src/lib/Components/Editor/SidebarComponents/File/File.svelte b/apps/web-application/src/lib/Components/Editor/SidebarComponents/File/File.svelte
index 3436e74..987c48b 100644
--- a/apps/web-application/src/lib/Components/Editor/SidebarComponents/File/File.svelte
+++ b/apps/web-application/src/lib/Components/Editor/SidebarComponents/File/File.svelte
@@ -2,11 +2,41 @@
import { changeContent } from "./Switch";
let { name }: { name: string } = $props();
+ import FaBars from 'svelte-icons/fa/FaBars.svelte';
+ import Dropdown from '$lib/Components/Theme/Dropdown/Dropdown.svelte';
+
+ const DropdownOptions: string[] = ['Clear', 'Download', 'Rename', 'Delete'];
+ function openFile(fileName: string) {
+ console.log(`Opening file: ${fileName}`);
+ }
+ function onOptionSelected(option: string) {
+ switch (option) {
+ case 'Clear':
+ console.log('Clear selected');
+ break;
+ case 'Download':
+ console.log('Download selected');
+ break;
+ case 'Rename':
+ console.log('Rename selected');
+ break;
+ case 'Delete':
+ console.log('Delete selected');
+ break;
+ }
+ }
+
+
openFile(name)}>
+
+ {name}
- {
- changeContent(name);
-}}>
-
- {name}
-
\ No newline at end of file
+
+
+
diff --git a/apps/web-application/src/lib/Components/Editor/SidebarComponents/File/Files.svelte b/apps/web-application/src/lib/Components/Editor/SidebarComponents/File/Files.svelte
index 649630e..a5bf6c6 100644
--- a/apps/web-application/src/lib/Components/Editor/SidebarComponents/File/Files.svelte
+++ b/apps/web-application/src/lib/Components/Editor/SidebarComponents/File/Files.svelte
@@ -1,9 +1,8 @@
- Project: {projectName}
+ {projectName}
{#each commands as command}
-
+
{/each}
\ No newline at end of file
diff --git a/apps/web-application/src/lib/Components/Theme/Dropdown/Dropdown.svelte b/apps/web-application/src/lib/Components/Theme/Dropdown/Dropdown.svelte
new file mode 100644
index 0000000..26c58d0
--- /dev/null
+++ b/apps/web-application/src/lib/Components/Theme/Dropdown/Dropdown.svelte
@@ -0,0 +1,41 @@
+
+
+
+
(state.isOpen = !state.isOpen)}
+ class="cursor-pointer select-none"
+ >
+
+
+ {#if state.isOpen}
+
+
+ {#each options as option}
+ handleOption(option)}
+ class="w-full text-left px-4 py-2 text-sm text-gray-300 hover:bg-gray-100 hover:text-black transition-colors"
+ >
+ {option}
+
+ {/each}
+
+
+ {/if}
+
diff --git a/yarn.lock b/yarn.lock
index 80bbe98..0bb3539 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -3402,6 +3402,13 @@ __metadata:
languageName: node
linkType: hard
+"svelte-icons@npm:2.1.0":
+ version: 2.1.0
+ resolution: "svelte-icons@npm:2.1.0"
+ checksum: 10c0/1150b9f67302e3b3b2b7d403d5695a5e11d3f77a10393516b719ce3b306e9a300a0fc02be9ff328a2488723feccdad7709329a97c7d43d55605ab00566a482f2
+ languageName: node
+ linkType: hard
+
"svelte@npm:^5.0.0":
version: 5.33.14
resolution: "svelte@npm:5.33.14"
@@ -3850,6 +3857,7 @@ __metadata:
prettier-plugin-svelte: "npm:^3.3.3"
svelte: "npm:^5.0.0"
svelte-check: "npm:^4.0.0"
+ svelte-icons: "npm:2.1.0"
tailwindcss: "npm:^4.1.8"
typescript: "npm:^5.0.0"
typescript-eslint: "npm:^8.20.0"