+
+
+
+
+
+
+
+
+
+
+
diff --git a/gdn-app/src/components/NavbarDropdown.vue b/gdn-app/src/components/NavbarDropdown.vue
index 9d1577a..9623378 100644
--- a/gdn-app/src/components/NavbarDropdown.vue
+++ b/gdn-app/src/components/NavbarDropdown.vue
@@ -22,25 +22,33 @@ const { floatingStyles } = useFloating(reference, floating, {
});
function onAddNewRepo() {
- repos.addRepo({ id: "test", name: "test" });
+ const id = crypto.randomUUID();
+ repos.addRepo({ id, name: id });
console.log(repos.selectedRepo);
open.value = false;
}
+
+function onSelectRepo(id: string) {
+ repos.selectRepo(id);
+ open.value = false;
+}
-
{{ repos.selectedRepo.name }}
+
{{
+ repos.selectedRepo.name
+ }}
no repo selected
-
+
@@ -63,6 +71,7 @@ function onAddNewRepo() {
{{ repo.name }}
diff --git a/gdn-app/src/stores/repos.ts b/gdn-app/src/stores/repos.ts
index 454ac3f..e4bb757 100644
--- a/gdn-app/src/stores/repos.ts
+++ b/gdn-app/src/stores/repos.ts
@@ -30,7 +30,8 @@ export const useReposStore = defineStore("repos", () => {
selectedRepoId.value = repo.id;
}
- function removeRepo(id: string) {
+ function removeRepo(id: string | undefined) {
+ if (id === undefined) return;
const i = repoIdsByName.value.indexOf(id);
repos.value.delete(id);
if (i >= 0) {
@@ -51,5 +52,6 @@ export const useReposStore = defineStore("repos", () => {
selectedRepoId,
addRepo,
removeRepo,
+ selectRepo,
};
});