Compare commits

...

2 commits

Author SHA1 Message Date
a000447b0a fix: random page broken 2026-04-26 17:02:13 +01:00
0ede4c7260 fix: profile picture null causes crash 2026-04-26 15:59:14 +01:00
4 changed files with 11 additions and 7 deletions

View file

@ -9,7 +9,7 @@ export default async function RandomPage() {
const randomIndex = Math.floor(Math.random() * count);
const randomMii = await prisma.mii.findFirst({
where: { in_queue: false, quarantined: false, needsFixing: { not: null } },
where: { in_queue: false, quarantined: false, needsFixing: null },
skip: randomIndex,
take: 1,
select: { id: true },

View file

@ -69,7 +69,13 @@ export default function Header() {
data-tooltip="Your Profile"
>
<img
src={$session.user.image.startsWith("/profile") ? `${import.meta.env.VITE_API_URL}${$session.user.image}` : $session.user.image}
src={
$session?.user?.image
? $session.user.image.startsWith("/profile")
? `${import.meta.env.VITE_API_URL}${$session.user.image}`
: $session.user.image
: "/guest.png"
}
onError={(e) => {
e.currentTarget.onerror = null; // Prevent infinite loops
e.currentTarget.src = "/guest.png";

View file

@ -51,9 +51,7 @@ export default function ProfileLayout() {
const joinDate = new Date(user.createdAt).toLocaleDateString("en-US", { month: "long", year: "numeric" });
const metaTitle = `${user.name} - TomodachiShare`;
const metaDescription = `View ${user.name}'s profile on TomodachiShare. Creator of ${user._count.miis} Miis. Member since ${joinDate}.`;
const metaImage = user.image.startsWith("/profile")
? `${import.meta.env.VITE_API_URL}${user.image}`
: (user.image ?? `${import.meta.env.VITE_API_URL}/guest.png`);
const metaImage = user.image ? (user.image.startsWith("/profile") ? `${import.meta.env.VITE_API_URL}${user.image}` : user.image) : "/guest.png";
return (
<div>
@ -81,7 +79,7 @@ export default function ProfileLayout() {
{/* Profile picture */}
<Link to={`/profile/${user.id}`} className="size-28 aspect-square">
<img
src={user.image.startsWith("/profile") ? `${import.meta.env.VITE_API_URL}${user.image}` : user.image}
src={user.image ? (user.image.startsWith("/profile") ? `${import.meta.env.VITE_API_URL}${user.image}` : user.image) : "/guest.png"}
onError={(e) => {
e.currentTarget.onerror = null; // Prevent infinite loops
e.currentTarget.src = "/guest.png";

View file

@ -65,7 +65,7 @@ export default function ReportUserPage() {
<div className="bg-orange-100 rounded-xl border-2 border-orange-400 flex p-4 gap-4">
<img
src={user.image.startsWith("/profile") ? `${import.meta.env.VITE_API_URL}${user.image}` : user.image}
src={user.image ? (user.image.startsWith("/profile") ? `${import.meta.env.VITE_API_URL}${user.image}` : user.image) : "/guest.png"}
onError={(e) => {
e.currentTarget.onerror = null; // Prevent infinite loops
e.currentTarget.src = "/guest.png";