diff --git a/frontend-new/src/components/modals/FlagModal.vue b/frontend-new/src/components/modals/FlagModal.vue new file mode 100644 index 000000000..903123617 --- /dev/null +++ b/frontend-new/src/components/modals/FlagModal.vue @@ -0,0 +1,68 @@ + + + diff --git a/frontend-new/src/components/projects/ProjectHeader.vue b/frontend-new/src/components/projects/ProjectHeader.vue index 64a125347..81f9cdd8a 100644 --- a/frontend-new/src/components/projects/ProjectHeader.vue +++ b/frontend-new/src/components/projects/ProjectHeader.vue @@ -13,6 +13,7 @@ import { useContext } from "vite-ssr/vue"; import Tooltip from "~/components/design/Tooltip.vue"; import { useAuthStore } from "~/store/auth"; import { useNotificationStore } from "~/store/notification"; +import FlagModal from "~/components/modals/FlagModal.vue"; const ctx = useContext(); const i18n = useI18n(); @@ -111,6 +112,8 @@ function toggleWatch() { {{ watchingCount }} +
+ diff --git a/frontend-new/src/store/backendData.ts b/frontend-new/src/store/backendData.ts index 0673d64d2..bc3517cd7 100644 --- a/frontend-new/src/store/backendData.ts +++ b/frontend-new/src/store/backendData.ts @@ -1,7 +1,7 @@ import { defineStore } from "pinia"; import { computed, ref } from "vue"; -import { IPlatform, IProjectCategory, IPrompt, IVisibility, Color } from "hangar-internal"; +import { IPlatform, IProjectCategory, IPrompt, IVisibility, Color, FlagReason } from "hangar-internal"; import { NamedPermission, Platform, ProjectCategory, Prompt } from "~/types/enums"; import { Announcement as AnnouncementObject, Announcement, IPermission, Role } from "hangar-api"; @@ -45,6 +45,7 @@ export const useBackendDataStore = defineStore("backendData", () => { const orgRoles = ref([]); const projectRoles = ref([]); const channelColors = ref([]); + const flagReasons = ref([]); async function initBackendData() { try { @@ -85,6 +86,7 @@ export const useBackendDataStore = defineStore("backendData", () => { fetchIfNeeded(async () => useInternalApi("data/orgRoles", false), orgRoles), fetchIfNeeded(async () => useInternalApi("data/channelColors", false), channelColors), fetchIfNeeded(async () => useInternalApi("data/projectRoles", false), projectRoles), + fetchIfNeeded(async () => useInternalApi("data/flagReasons", false), flagReasons), ]); } catch (e) { console.error("ERROR FETCHING BACKEND DATA"); @@ -112,6 +114,7 @@ export const useBackendDataStore = defineStore("backendData", () => { orgRoles, projectRoles, channelColors, + flagReasons, initBackendData, visibleCategories, visiblePlatforms,