diff --git a/bun.lock b/bun.lock
index 283e22f525..cb48bc3826 100644
--- a/bun.lock
+++ b/bun.lock
@@ -6,7 +6,7 @@
"name": "@appwrite/console",
"dependencies": {
"@ai-sdk/svelte": "^1.1.24",
- "@appwrite.io/console": "https://pkg.vc/-/@appwrite/@appwrite.io/console@5d0672f",
+ "@appwrite.io/console": "https://pkg.vc/-/@appwrite/@appwrite.io/console@82d2831",
"@appwrite.io/pink-icons": "0.25.0",
"@appwrite.io/pink-icons-svelte": "https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@bfe7ce3",
"@appwrite.io/pink-legacy": "^1.0.3",
@@ -125,7 +125,7 @@
"@analytics/type-utils": ["@analytics/type-utils@0.6.4", "", {}, "sha512-Ou1gQxFakOWLcPnbFVsrPb8g1wLLUZYYJXDPjHkG07+5mustGs5yqACx42UAu4A6NszNN6Z5gGxhyH45zPWRxw=="],
- "@appwrite.io/console": ["@appwrite.io/console@https://pkg.vc/-/@appwrite/@appwrite.io/console@5d0672f", { "dependencies": { "json-bigint": "1.0.0" } }],
+ "@appwrite.io/console": ["@appwrite.io/console@https://pkg.vc/-/@appwrite/@appwrite.io/console@82d2831", { "dependencies": { "json-bigint": "1.0.0" } }],
"@appwrite.io/pink-icons": ["@appwrite.io/pink-icons@0.25.0", "", {}, "sha512-0O3i2oEuh5mWvjO80i+X6rbzrWLJ1m5wmv2/M3a1p2PyBJsFxN8xQMTEmTn3Wl/D26SsM7SpzbdW6gmfgoVU9Q=="],
diff --git a/package.json b/package.json
index 7e46c5ff27..03424e186d 100644
--- a/package.json
+++ b/package.json
@@ -20,7 +20,7 @@
},
"dependencies": {
"@ai-sdk/svelte": "^1.1.24",
- "@appwrite.io/console": "https://pkg.vc/-/@appwrite/@appwrite.io/console@5d0672f",
+ "@appwrite.io/console": "https://pkg.vc/-/@appwrite/@appwrite.io/console@82d2831",
"@appwrite.io/pink-icons": "0.25.0",
"@appwrite.io/pink-icons-svelte": "https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@bfe7ce3",
"@appwrite.io/pink-legacy": "^1.0.3",
diff --git a/src/lib/components/git/branchSelector.svelte b/src/lib/components/git/branchSelector.svelte
new file mode 100644
index 0000000000..228a0044c3
--- /dev/null
+++ b/src/lib/components/git/branchSelector.svelte
@@ -0,0 +1,354 @@
+
+
+
+
+
+ {#if label}
+
+
+ {/if}
+
+
+ {#if open}
+
+
+
+ {#if loading}
+ - Loading...
+ {:else if searching}
+ - Searching...
+ {:else if displayBranches.length === 0 && searchQuery}
+ - No branches found
+ {:else if displayBranches.length === 0}
+ - No branches available
+ {:else}
+ {#each displayBranches as branch}
+
+ - select(branch)}>
+ {branch}
+
+ {/each}
+ {#if !searchQuery}
+ - Type to search all branches
+ {/if}
+ {/if}
+
+
+ {/if}
+
+
+
diff --git a/src/lib/components/git/index.ts b/src/lib/components/git/index.ts
index a5cab5eed2..ddec8646be 100644
--- a/src/lib/components/git/index.ts
+++ b/src/lib/components/git/index.ts
@@ -7,5 +7,6 @@ export { default as DeploymentSource } from './deploymentSource.svelte';
export { default as DeploymentDomains } from './deploymentDomains.svelte';
export { default as ConnectBehaviour } from './connectBehaviour.svelte';
export { default as ProductionBranchFieldset } from './productionBranchFieldset.svelte';
+export { default as BranchSelector } from './branchSelector.svelte';
export { default as RepositoryCard } from './repositoryCard.svelte';
export { default as ConnectRepoModal } from './connectRepoModal.svelte';
diff --git a/src/lib/components/git/productionBranchFieldset.svelte b/src/lib/components/git/productionBranchFieldset.svelte
index addd405576..fbd98f81e4 100644
--- a/src/lib/components/git/productionBranchFieldset.svelte
+++ b/src/lib/components/git/productionBranchFieldset.svelte
@@ -1,9 +1,9 @@