fix logo not updating

This commit is contained in:
yohlo
2025-10-01 22:27:32 -05:00
parent 0910f11228
commit 03b2b54c1f
3 changed files with 24 additions and 12 deletions

View File

@@ -107,10 +107,9 @@ export const Route = createFileRoute("/api/teams/upload-logo")({
const pbFormData = new FormData();
pbFormData.append("logo", logoFile);
const updatedTeam = await pbAdmin.updateTeam(
teamId,
pbFormData as any
);
await pbAdmin.updateTeam(teamId, pbFormData as any);
const updatedTeam = await pbAdmin.getTeam(teamId);
if (!updatedTeam) throw new Error("Failed to fetch updated team");
logger.info("Team logo uploaded successfully", {
teamId,

View File

@@ -106,11 +106,6 @@ const TeamForm = ({
mutation(teamData, {
onSuccess: async (team: any) => {
queryClient.invalidateQueries({ queryKey: teamKeys.list });
queryClient.invalidateQueries({
queryKey: teamKeys.details(team.id),
});
if (logo && team) {
try {
let processedLogo = logo;
@@ -152,7 +147,12 @@ const TeamForm = ({
const result = await response.json();
console.log("Logo upload result:", result);
queryClient.invalidateQueries({ queryKey: teamKeys.list });
queryClient.invalidateQueries({
queryKey: teamKeys.details(team.id),
});
queryClient.setQueryData(
tournamentKeys.details(result.team!.id),
result.team
@@ -164,6 +164,11 @@ const TeamForm = ({
toast.error(logoErrorMessage);
logger.error("Team logo upload error", error);
}
} else {
queryClient.invalidateQueries({ queryKey: teamKeys.list });
queryClient.invalidateQueries({
queryKey: teamKeys.details(team.id),
});
}
if (team && team.id) {

View File

@@ -72,9 +72,17 @@ export function createTeamsService(pb: PocketBase) {
const result = await pb.collection("teams").update(id, data);
return transformTeam(await pb.collection("teams").getOne(result.id, {
expand: "players, tournaments"
}));
if (data instanceof FormData && data.has('logo')) {
await new Promise(resolve => setTimeout(resolve, 100));
}
const updated = await pb.collection("teams").getOne(result.id, {
expand: "players, tournaments",
// @ts-ignore - Add cache busting
$cancelKey: Date.now().toString()
});
return transformTeam(updated);
} catch (error) {
logger.error("PocketBase | Error updating team", error);
throw error;