Commit 80b611bb authored by Anthony Jacob's avatar Anthony Jacob
Browse files

change the way files are provided

parent bc98242d
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -5,3 +5,5 @@ Dockerfile
docker-compose.yml
*.log
.env*
uploads/file/*
uploads/logo/*
+2 −2
Original line number Diff line number Diff line
@@ -40,5 +40,5 @@ yarn-error.log*
*.tsbuildinfo
next-env.d.ts

public/uploads/file/*
public/uploads/logo/*
 No newline at end of file
uploads/file/*
uploads/logo/*
 No newline at end of file
+2 −3
Original line number Diff line number Diff line
@@ -8,7 +8,7 @@ import { ClientAboutProps, AboutTranslation } from "@/types/CustomTypes";



export default function ClientAbout({ data, enabledLanguage }: ClientAboutProps) {
export default function ClientAbout({ data, enabledLanguage, logoBaseUrl }: ClientAboutProps) {
    const about = data?.abouts?.[0];
    const translations: AboutTranslation[] = about?.translations || [];
    const enabledLanguageList = (enabledLanguage?.languages || []).filter(l => l.enabled);
@@ -25,7 +25,6 @@ export default function ClientAbout({ data, enabledLanguage }: ClientAboutProps)

    const [logo, setLogo] = useState<string>(about?.picture || "");
    const [logoFile, setLogoFile] = useState<File | null>(null);
    const logoBaseUrl = process.env.LOGO_UPLOAD_DIR || "";
    const [logoPreview, setLogoPreview] = useState<string>(about?.picture ? `${logoBaseUrl}${about?.picture}` : "");
    const [logoIsUpdated, setLogoIsUpdated] = useState<boolean>(false);

@@ -120,7 +119,7 @@ export default function ClientAbout({ data, enabledLanguage }: ClientAboutProps)
    // Always use a public path for SSR, only use blob: for client-side preview
    const getLogoSrc = () => {
        if (logoPreview && logoPreview.startsWith("blob:")) return logoPreview;
        if (logo) return `/uploads/logo/${logo}`;
        if (logo) return `${logoBaseUrl}${logo}`;
        return "";
    };

+2 −1
Original line number Diff line number Diff line
@@ -5,6 +5,7 @@ import { cookies } from "next/headers";
import { redirect } from 'next/navigation';

export default async function About() {
  const logoBaseUrl = process.env.LOGO_UPLOAD_DIR || "";
  const cookieStore = cookies();
  const token = (await cookieStore).get("access_token")?.value;
  const res = await fetch(`${process.env.API_URL}/abouts/full`, {
@@ -32,7 +33,7 @@ export default async function About() {

  return <>
    <RefreshToken />
    <ClientAbout data={data} enabledLanguage={enabledLanguage} />
    <ClientAbout data={data} enabledLanguage={enabledLanguage} logoBaseUrl={logoBaseUrl} />

  </>;
}
 No newline at end of file
+5 −4
Original line number Diff line number Diff line
@@ -8,7 +8,7 @@ import Image from "next/image";
import { ExperienceEditPageClientProps, ExperienceTranslations } from "@/types/CustomTypes";


export default function ExperienceEditPageClient({ data, enabledLanguage }: ExperienceEditPageClientProps) {
export default function ExperienceEditPageClient({ data, enabledLanguage, logoBaseUrl }: ExperienceEditPageClientProps) {
    const router = useRouter();

    const [ExperienceID, setExperienceID] = useState(data.id);
@@ -26,12 +26,11 @@ export default function ExperienceEditPageClient({ data, enabledLanguage }: Expe

    const [logo, setLogo] = useState<string>(data.logo || "");
    const [logoFile, setLogoFile] = useState<File | null>(null);
    const logoBaseUrl = process.env.LOGO_UPLOAD_DIR || "";
    const [logoPreview, setLogoPreview] = useState<string>(data.logo ? `${logoBaseUrl}${data.logo}` : "");
    const [logoIsUpdated, setLogoIsUpdated] = useState<boolean>(false);

    const enabledLanguageList = (enabledLanguage?.languages || []).filter((l) => l.enabled);

    console.log("Enabled languages:", enabledLanguageList);
    // Language-specific translations state
    const [translations, setTranslations] = useState<ExperienceTranslations>(() => {
        const initial: ExperienceTranslations = {};
@@ -173,10 +172,12 @@ export default function ExperienceEditPageClient({ data, enabledLanguage }: Expe
    // Always use a public path for SSR, only use blob: for client-side preview
    const getLogoSrc = () => {
        if (logoPreview && logoPreview.startsWith("blob:")) return logoPreview;
        if (logo) return `/uploads/logo/${logo}`;
        if (logo) return `${logoBaseUrl}${logo}`;
        return "";
    };

    console.log("Logo preview URL from component:", getLogoSrc());

    return <div
        className="container container-fluid d-flex flex-column align-items-center"
        style={{ minHeight: "100vh", width: "100vw", maxWidth: "100vw", overflowY: "auto" }}
Loading