Merged in feature/sas-mypages (pull request #1302)

Feature/sas mypages

* feat: Add SAS partner page under my pages
* fix: feature toggle SAS Partner page in my pages
* add translations for SAS account page
* use 'flex-start' instead of 'start'
* fix: flatten css
* fix: don't use <SectionContainer /> on linkedAccounts page
This commit is contained in:
Joakim Jäderberg
2025-02-11 12:55:00 +00:00
parent 98e3afe9db
commit 3d11cfb50a
37 changed files with 875 additions and 20 deletions

View File

@@ -43,6 +43,7 @@ export const accountPageSchema = z.object({
account_page: z.object({
content: discriminatedUnionArray(blocksSchema.options),
heading: z.string().nullable(),
preamble: z.string().nullable(),
title: z.string(),
url: z.string(),
system: systemSchema.merge(

View File

@@ -3,5 +3,13 @@ import { router } from "@/server/trpc"
import { requestOtp } from "./otp/request/requestOtp"
import { verifyOtp } from "./otp/verify/verifyOtp"
import { linkAccount } from "./linkAccount"
import { performLevelUpgrade } from "./performLevelUpgrade"
import { unlinkAccount } from "./unlinkAccount"
export const sasRouter = router({ verifyOtp, requestOtp, linkAccount })
export const sasRouter = router({
verifyOtp,
requestOtp,
linkAccount,
unlinkAccount,
performLevelUpgrade,
})

View File

@@ -1,3 +1,4 @@
import { setTimeout } from "timers/promises"
import { z } from "zod"
import { protectedProcedure } from "@/server/trpc"
@@ -14,7 +15,7 @@ export const linkAccount = protectedProcedure
const sasAuthToken = getSasToken()
console.log("[SAS] link account")
await timeout(1000)
await setTimeout(1000)
//TODO: Call actual API here
console.log("[SAS] link account done")
@@ -22,7 +23,3 @@ export const linkAccount = protectedProcedure
linkingState: "linked",
}
})
function timeout(ms: number): Promise<void> {
return new Promise((resolve) => setTimeout(resolve, ms))
}

View File

@@ -0,0 +1,20 @@
import { TRPCError } from "@trpc/server"
import { setTimeout } from "timers/promises"
import { z } from "zod"
import { protectedProcedure } from "@/server/trpc"
const outputSchema = z.object({})
export const performLevelUpgrade = protectedProcedure
.output(outputSchema)
.mutation(async function ({ ctx, input }) {
console.log("[SAS] perform upgrade")
await setTimeout(1000)
//TODO: Call actual API here
throw new TRPCError({
message: "Unable to perform ugprade",
code: "BAD_REQUEST",
})
})

View File

@@ -0,0 +1,26 @@
import { TRPCError } from "@trpc/server"
import { setTimeout } from "timers/promises"
import { z } from "zod"
import { protectedProcedure } from "@/server/trpc"
const outputSchema = z.object({
// unlinked: z.boolean(),
})
export const unlinkAccount = protectedProcedure
.output(outputSchema)
.mutation(async function ({ ctx, input }) {
console.log("[SAS] unlink account")
await setTimeout(1000)
//TODO: Call actual API here
throw new TRPCError({
message: "Unable to unlink account",
code: "BAD_REQUEST",
})
return {
unlinked: true,
}
})