diff --git a/apps/frontend/src/composables/affiliates.ts b/apps/frontend/src/composables/affiliates.ts new file mode 100644 index 0000000000..46081dcdea --- /dev/null +++ b/apps/frontend/src/composables/affiliates.ts @@ -0,0 +1,23 @@ +export const useAffiliates = () => { + const affiliateCookie = useCookie('mrs_afl', { + // maxAge: 60 * 60 * 24 * 7, // 7 days + maxAge: 60 * 60, // an hour + sameSite: 'lax', + secure: true, + httpOnly: false, + path: '/', + }) + + const setAffiliateCode = (code: string) => { + affiliateCookie.value = code + } + + const getAffiliateCode = (): string | undefined => { + return affiliateCookie.value || undefined + } + + return { + setAffiliateCode, + getAffiliateCode, + } +} diff --git a/apps/frontend/src/layouts/default.vue b/apps/frontend/src/layouts/default.vue index 64eba57414..ae915d3dfc 100644 --- a/apps/frontend/src/layouts/default.vue +++ b/apps/frontend/src/layouts/default.vue @@ -382,6 +382,12 @@ link: '/admin/user_email', shown: isAdmin(auth.user), }, + { + id: 'affiliates', + color: 'primary', + link: '/admin/affiliates', + shown: isAdmin(auth.user), + }, { id: 'servers-notices', color: 'primary', @@ -399,7 +405,7 @@