diff --git a/src/components/layout/Templates/BoardLayout.tsx b/src/components/layout/Templates/BoardLayout.tsx
index 642f3c768..92e4d3c71 100644
--- a/src/components/layout/Templates/BoardLayout.tsx
+++ b/src/components/layout/Templates/BoardLayout.tsx
@@ -13,6 +13,7 @@ import Consola from 'consola';
import { useSession } from 'next-auth/react';
import { Trans, useTranslation } from 'next-i18next';
import Link from 'next/link';
+import { useRouter } from 'next/router';
import { useEditModeStore } from '~/components/Dashboard/Views/useEditModeStore';
import { useNamedWrapperColumnCount } from '~/components/Dashboard/Wrappers/gridstack/store';
import { BoardHeadOverride } from '~/components/layout/Meta/BoardHeadOverride';
@@ -74,10 +75,11 @@ const DockerButton = () => {
const CustomizeBoardButton = () => {
const { name } = useConfigContext();
const { t } = useTranslation('boards/common');
+ const href = useBoardLink(`/board/${name}/customize`);
return (
-
+
@@ -223,3 +225,11 @@ const BackgroundImage = () => {
/>
);
};
+
+export const useBoardLink = (
+ link: '/board' | `/board/${string}/customize` | `/board/${string}`
+) => {
+ const router = useRouter();
+
+ return router.asPath.startsWith('/board') ? link : link.replace('/board', '/b');
+};
diff --git a/src/components/layout/header/AvatarMenu.tsx b/src/components/layout/header/AvatarMenu.tsx
index 4f7daaf88..5f46a12ff 100644
--- a/src/components/layout/header/AvatarMenu.tsx
+++ b/src/components/layout/header/AvatarMenu.tsx
@@ -21,6 +21,7 @@ import { useColorScheme } from '~/hooks/use-colorscheme';
import { usePackageAttributesStore } from '~/tools/client/zustands/usePackageAttributesStore';
import { REPO_URL } from '../../../../data/constants';
+import { useBoardLink } from '../Templates/BoardLayout';
export const AvatarMenu = () => {
const { t } = useTranslation('layout/header');
@@ -30,6 +31,7 @@ export const AvatarMenu = () => {
const newVersionAvailable = useNewVersionAvailable();
const Icon = colorScheme === 'dark' ? IconSun : IconMoonStars;
+ const defaultBoardHref = useBoardLink('/board');
return (
<>
@@ -51,7 +53,11 @@ export const AvatarMenu = () => {
>
{t('actions.avatar.preferences')}
-
}>
+ }
+ >
{t('actions.avatar.defaultBoard')}
}>
diff --git a/src/pages/b/[slug]/customize.tsx b/src/pages/b/[slug]/customize.tsx
new file mode 100644
index 000000000..6b7334e77
--- /dev/null
+++ b/src/pages/b/[slug]/customize.tsx
@@ -0,0 +1 @@
+export { default, getServerSideProps } from '../../board/[slug]/customize';
diff --git a/src/pages/board/[slug]/customize.tsx b/src/pages/board/[slug]/customize.tsx
index d7c264b95..fe60e9d99 100644
--- a/src/pages/board/[slug]/customize.tsx
+++ b/src/pages/board/[slug]/customize.tsx
@@ -37,6 +37,7 @@ import {
BoardCustomizationFormProvider,
useBoardCustomizationForm,
} from '~/components/Board/Customize/form';
+import { useBoardLink } from '~/components/layout/Templates/BoardLayout';
import { MainLayout } from '~/components/layout/Templates/MainLayout';
import { createTrpcServersideHelpers } from '~/server/api/helper';
import { getServerAuthSession } from '~/server/auth';
@@ -87,6 +88,8 @@ export default function CustomizationPage() {
validateInputOnBlur: true,
});
+ const backToBoardHref = useBoardLink(`/board/${query.slug}`);
+
const handleSubmit = async (values: z.infer) => {
if (isLoading) return;
showNotification({
@@ -190,7 +193,7 @@ export default function CustomizationPage() {
}
>