Fix TypeScript errors blocking Docker build

- Fix Authentik button type casting issue in login page
  * Use exported signIn instead of authClient type assertion
  * Add proper error handling for OAuth calls

- Fix image MIME type handling in import-photo.ts
  * Convert base64 to data URL format for AI SDK compatibility

- Fix type annotations in auth/server.ts changeEmail handler
  * Add explicit type annotation for destructured parameters

These TypeScript errors were preventing 'pnpm build' from completing
during Docker image build process.
This commit is contained in:
Arnaud
2026-07-01 11:29:41 +02:00
parent 163e1c6137
commit 5ab2acc711
4 changed files with 23 additions and 8 deletions
+12 -1
View File
@@ -134,8 +134,19 @@ function SocialButton({ provider, label, icon }: { provider: "github" | "discord
function AuthentikButton({ label }: { label: string }) {
if (!process.env["NEXT_PUBLIC_AUTHENTIK_ENABLED"]) return null;
const handleClick = async () => {
try {
// @ts-expect-error - genericOAuth is available via plugin but not fully typed
await signIn.genericOAuth({
providerId: "authentik",
callbackURL: "/recipes",
});
} catch (error) {
console.error("Authentik sign-in failed:", error);
}
};
return (
<Button variant="outline" className="w-full gap-2" type="button" onClick={() => (authClient as { signIn: { genericOAuth: (opts: { providerId: string; callbackURL: string }) => Promise<void> } }).signIn.genericOAuth({ providerId: "authentik", callbackURL: "/recipes" })}>
<Button variant="outline" className="w-full gap-2" type="button" onClick={handleClick}>
<AuthentikIcon />
{label}
</Button>
+4 -1
View File
@@ -40,6 +40,9 @@ export async function importFromPhoto(
): Promise<ImportedRecipe> {
const model = resolveModel(config);
// Create a data URL from base64
const imageDataUrl = `data:${mimeType};base64,${imageBase64}`;
const { object } = await generateObject({
model,
schema: ImportedRecipeSchema,
@@ -49,7 +52,7 @@ export async function importFromPhoto(
{
role: "user",
content: [
{ type: "image", image: imageBase64, mimeType },
{ type: "image", image: imageDataUrl },
{ type: "text", text: "Extract the complete recipe from this image." },
],
},
+1 -1
View File
@@ -128,7 +128,7 @@ export const auth = betterAuth({
},
changeEmail: {
enabled: true,
sendChangeEmailVerification: async ({ newEmail, url }) => {
sendChangeEmailVerification: async ({ newEmail, url }: { newEmail: string; url: string }) => {
await sendEmail({
to: newEmail,
subject: "Verify your new Epicure email",