Compare commits
4 Commits
feat/updat
...
fix/avatar
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d194e02602 | ||
|
|
1ded560b75 | ||
|
|
f8dc062903 | ||
|
|
2169a379f2 |
18
apps/web/src/middleware.ts
Normal file
18
apps/web/src/middleware.ts
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
import type { NextRequest } from "next/server";
|
||||||
|
import { NextResponse } from "next/server";
|
||||||
|
import { env } from "next-runtime-env";
|
||||||
|
|
||||||
|
export function middleware(request: NextRequest) {
|
||||||
|
if (request.nextUrl.pathname === "/") {
|
||||||
|
if (env("NEXT_PUBLIC_KAN_ENV") !== "cloud") {
|
||||||
|
const loginUrl = new URL("/login", request.url);
|
||||||
|
return NextResponse.redirect(loginUrl);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return NextResponse.next();
|
||||||
|
}
|
||||||
|
|
||||||
|
export const config = {
|
||||||
|
matcher: ["/"],
|
||||||
|
};
|
||||||
@@ -3,6 +3,8 @@ import { t } from "@lingui/core/macro";
|
|||||||
import { env } from "next-runtime-env";
|
import { env } from "next-runtime-env";
|
||||||
import { useState } from "react";
|
import { useState } from "react";
|
||||||
|
|
||||||
|
import { generateUID } from "@kan/shared/utils";
|
||||||
|
|
||||||
import { usePopup } from "~/providers/popup";
|
import { usePopup } from "~/providers/popup";
|
||||||
import { api } from "~/utils/api";
|
import { api } from "~/utils/api";
|
||||||
import { getAvatarUrl } from "~/utils/helpers";
|
import { getAvatarUrl } from "~/utils/helpers";
|
||||||
@@ -58,7 +60,7 @@ export default function Avatar({
|
|||||||
}
|
}
|
||||||
|
|
||||||
const fileExt = file.name.split(".").pop();
|
const fileExt = file.name.split(".").pop();
|
||||||
const fileName = `${userId}/avatar.${fileExt}`;
|
const fileName = `${userId}/avatar-${generateUID()}.${fileExt}`;
|
||||||
|
|
||||||
setUploading(true);
|
setUploading(true);
|
||||||
|
|
||||||
|
|||||||
@@ -83,11 +83,18 @@ export const memberRouter = createTRPCRouter({
|
|||||||
callbackURL: `/boards?type=invite&memberPublicId=${invite.publicId}`,
|
callbackURL: `/boards?type=invite&memberPublicId=${invite.publicId}`,
|
||||||
});
|
});
|
||||||
|
|
||||||
if (error)
|
if (error) {
|
||||||
|
console.error("Failed to send magic link invitation:", {
|
||||||
|
email: input.email,
|
||||||
|
callbackURL: `/boards?type=invite&memberPublicId=${invite.publicId}`,
|
||||||
|
error,
|
||||||
|
});
|
||||||
|
|
||||||
throw new TRPCError({
|
throw new TRPCError({
|
||||||
message: `Failed to send magic link to user with email ${input.email}`,
|
message: `Failed to send magic link invitation to user with email ${input.email}.`,
|
||||||
code: "INTERNAL_SERVER_ERROR",
|
code: "INTERNAL_SERVER_ERROR",
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
|
||||||
return invite;
|
return invite;
|
||||||
}),
|
}),
|
||||||
|
|||||||
Reference in New Issue
Block a user