feat: Support User-Level Default Activities (#5125)

This commit is contained in:
miah
2025-10-15 21:30:08 -05:00
committed by GitHub
parent 64d481b4fc
commit 7e168eb75b
7 changed files with 157 additions and 8 deletions

View File

@@ -3,6 +3,8 @@
</template>
<script lang="ts">
import useDefaultActivity from "~/composables/use-default-activity";
import { useUserActivityPreferences } from "~/composables/use-users/preferences";
import { useAsyncKey } from "~/composables/use-utils";
import type { AppInfo, AppStartupInfo } from "~/lib/api/types/admin";
@@ -15,6 +17,8 @@ export default defineNuxtComponent({
const $auth = useMealieAuth();
const { $axios } = useNuxtApp();
const router = useRouter();
const activityPreferences = useUserActivityPreferences();
const { getDefaultActivityRoute } = useDefaultActivity();
const groupSlug = computed(() => $auth.user.value?.groupSlug);
async function redirectPublicUserToDefaultGroup() {
@@ -32,9 +36,16 @@ export default defineNuxtComponent({
const data = await $axios.get<AppStartupInfo>("/api/app/about/startup-info");
const isDemo = data.data.isDemo;
const isFirstLogin = data.data.isFirstLogin;
const defaultActivityRoute = getDefaultActivityRoute(
activityPreferences.value.defaultActivity,
groupSlug.value,
);
if (!isDemo && isFirstLogin && $auth.user.value?.admin) {
router.push("/admin/setup");
}
else if (defaultActivityRoute) {
router.push(defaultActivityRoute);
}
else {
router.push(`/g/${groupSlug.value}`);
}