Files
Brancheneinstufung2/competitor-analysis-app/components/LoadingSpinner.tsx
Floke 249b06463b feat(competitor-analysis): Fix 404, SDK compatibility, and update docs
Resolved multiple issues preventing the 'competitor-analysis' app from running and serving its frontend:

1.  **Fixed Python SyntaxError in Prompts:** Corrected unterminated string literals and ensure proper multi-line string formatting (using .format() instead of f-strings for complex prompts) in .
2.  **Addressed Python SDK Compatibility (google-generativeai==0.3.0):**
    *   Removed  for  and  by adapting the orchestrator to pass JSON schemas as direct Python dictionaries, as required by the older SDK version.
    *   Updated  with detailed guidance on handling / imports and dictionary-based schema definitions for older SDKs.
3.  **Corrected Frontend Build Dependencies:** Moved critical build dependencies (like , , ) from  to  in .
    *   Updated  to include this  pitfall, ensuring frontend build tools are installed in Docker.
4.  **Updated Documentation:**
    *   : Added comprehensive lessons learned regarding  dependencies, Python SDK versioning (specifically  and  imports for ), and robust multi-line prompt handling.
    *   : Integrated specific details of the encountered errors and their solutions, making the migration report a more complete historical record and guide.

These changes collectively fix the 404 error by ensuring the Python backend starts correctly and serves the frontend assets after a successful build.
2026-01-10 09:10:00 +00:00

18 lines
551 B
TypeScript

import React from 'react';
interface LoadingSpinnerProps {
t: {
message: string;
}
}
const LoadingSpinner: React.FC<LoadingSpinnerProps> = ({ t }) => {
return (
<div className="flex flex-col items-center justify-center p-10">
<div className="w-16 h-16 border-4 border-light-accent dark:border-brand-accent border-t-brand-highlight rounded-full animate-spin"></div>
<p className="mt-4 text-light-subtle dark:text-brand-light">{t.message}</p>
</div>
);
};
export default LoadingSpinner;