Skip to content

Commit 421ec35

Browse files
committed
#139 fix error on load projects without is_default key
1 parent c32f55a commit 421ec35

File tree

2 files changed

+14
-11
lines changed

2 files changed

+14
-11
lines changed

src/shared/stores/events/events-store.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ export const useEventsStore = defineStore("eventsStore", {
6565
availableProjects: ({ projects }) => projects.available,
6666
isMultipleProjects: ({ projects }) => (
6767
projects.available.length > 1 ||
68-
projects.available.find((proj) => !proj.is_default)
68+
!projects.available.some((proj) => proj.is_default)
6969
),
7070
},
7171
actions: {
@@ -213,18 +213,18 @@ export const useEventsStore = defineStore("eventsStore", {
213213

214214
if (!this.projects.activeKey) {
215215
const defaultProject = projects.find((proj) => proj.is_default) || projects[0];
216-
this.setActiveProject(defaultProject.key);
216+
this.setActiveProjectKey(defaultProject.key);
217217
}
218218
} else {
219-
this.resetActiveProject();
219+
this.resetActiveProjectKey();
220220
}
221221
},
222-
setActiveProject(project: string) {
222+
setActiveProjectKey(project: string) {
223223
this.projects.activeKey = project;
224224

225225
setStoredProject(project);
226226
},
227-
resetActiveProject() {
227+
resetActiveProjectKey() {
228228
this.projects.activeKey = undefined;
229229

230230
removeStoredProject();

src/widgets/ui/layout-sidebar/layout-sidebar.vue

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,9 @@ const userMenu = ref<HTMLElement | null>(null);
3535
const isVisibleProfile = ref(false);
3636
const isVisibleProjects = ref(false);
3737
38+
// TODO: need to check why project is empty on first load
39+
const isProjectLoading = computed(() => !activeProject.value);
40+
3841
onClickOutside(projectMenu, () => {
3942
isVisibleProjects.value = false;
4043
});
@@ -115,15 +118,15 @@ const serverVersion = computed(() =>
115118
: `@${apiVersion.value}`,
116119
);
117120
118-
const setProject = (project: string) => {
119-
eventsStore.setActiveProject(project);
121+
const setProject = (projectKey: string) => {
122+
eventsStore.setActiveProjectKey(projectKey);
120123
121124
isVisibleProjects.value = false;
122125
};
123126
124-
const makeShortTitle = (title: string) => title.substring(0, 2);
127+
const makeShortTitle = (title: string) => (title || "").substring(0, 2);
125128
const generateRadialGradient = (input: string) =>
126-
`linear-gradient(to right, ${textToColors(input).join(", ")})`;
129+
`linear-gradient(to right, ${textToColors(input || "").join(", ")})`;
127130
</script>
128131

129132
<template>
@@ -138,7 +141,7 @@ const generateRadialGradient = (input: string) =>
138141
<IconSvg class="layout-sidebar__link-icon" name="logo-short" />
139142
</NuxtLink>
140143

141-
<template v-if="isMultipleProjects">
144+
<template v-if="!isProjectLoading && isMultipleProjects">
142145
<hr class="layout-sidebar__sep" />
143146

144147
<div class="layout-sidebar__projects">
@@ -163,7 +166,7 @@ const generateRadialGradient = (input: string) =>
163166
<hr class="layout-sidebar__sep" />
164167
</template>
165168

166-
<template v-if="!isMultipleProjects">
169+
<template v-if="!isMultipleProjects || isProjectLoading">
167170
<NuxtLink to="/" title="Events" class="layout-sidebar__link">
168171
<IconSvg class="layout-sidebar__link-icon" name="events" />
169172
</NuxtLink>

0 commit comments

Comments
 (0)