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

@@ -217,6 +217,7 @@ import { usePasswordField } from "~/composables/use-passwords";
import { alert } from "~/composables/use-toast";
import { useAsyncKey } from "~/composables/use-utils";
import type { AppStartupInfo } from "~/lib/api/types/admin";
import { useUserActivityPreferences } from "~/composables/use-users/preferences";
export default defineNuxtComponent({
setup() {
@@ -233,6 +234,8 @@ export default defineNuxtComponent({
const groupSlug = computed(() => $auth.user.value?.groupSlug);
const isDemo = ref(false);
const isFirstLogin = ref(false);
const activityPreferences = useUserActivityPreferences();
const { getDefaultActivityRoute } = useDefaultActivity();
useSeoMeta({
title: i18n.t("user.login"),
@@ -253,9 +256,16 @@ export default defineNuxtComponent({
whenever(
() => loggedIn.value && groupSlug.value,
() => {
const defaultActivityRoute = getDefaultActivityRoute(
activityPreferences.value.defaultActivity,
groupSlug.value,
);
if (!isDemo.value && isFirstLogin.value && $auth.user.value?.admin) {
router.push("/admin/setup");
}
else if (defaultActivityRoute) {
router.push(defaultActivityRoute);
}
else {
router.push(`/g/${groupSlug.value || ""}`);
}