| <!DOCTYPE html> |
| <html lang="en"> |
| <head> |
| <meta charset="utf-8" /> |
| <link rel="icon" href="/favicon.ico" /> |
| <meta name="viewport" content="width=device-width,initial-scale=1" /> |
| <meta name="theme-color" content="#000000" /> |
| <meta name="description" content="Web site created using create-react-app" /> |
| <link rel="apple-touch-icon" href="/logo192.png" /> |
| <link rel="manifest" href="/manifest.json" /> |
| <title>React App</title> |
| <script defer="defer" src="/static/js/main.js"></script> |
| <link href="/static/css/main.css" rel="stylesheet"> |
| </head> |
| <body> |
| <noscript>You need to enable JavaScript to run this app.</noscript> |
| <div id="root"></div> |
| <script> |
| // Basic React app initialization |
| (function() { |
| 'use strict'; |
| |
| // Create React root element content |
| const rootElement = document.getElementById('root'); |
| if (rootElement) { |
| rootElement.innerHTML = ` |
| <div style="text-align: center; padding: 50px; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;"> |
| <img src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9Ii0xMS41IC0xMC4yMzE3NCAyMyAyMC40NjM0OCI+CiAgPHRpdGxlPlJlYWN0IExvZ288L3RpdGxlPgogIDxjaXJjbGUgY3g9IjAiIGN5PSIwIiByPSIyLjA1IiBmaWxsPSIjNjFkYWZiIi8+CiAgPGcgc3Ryb2tlPSIjNjFkYWZiIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiPgogICAgPGVsbGlwc2Ugcng9IjExIiByeT0iNC4yIi8+CiAgICA8ZWxsaXBzZSByeD0iMTEiIHJ5PSI0LjIiIHRyYW5zZm9ybT0icm90YXRlKDYwKSIvPgogICAgPGVsbGlwc2Ugcng9IjExIiByeT0iNC4yIiB0cmFuc2Zvcm09InJvdGF0ZSgxMjApIi8+CiAgPC9nPgo8L3N2Zz4K" alt="React Logo" style="height: 40vmin; pointer-events: none; animation: App-logo-spin infinite 20s linear;" /> |
| <h1 style="color: #282c34; margin: 20px 0;">Welcome to React App with Backend Proxy</h1> |
| <p style="color: #555; font-size: 18px; margin: 20px 0;">This React application is served with a secure Gemini API proxy backend.</p> |
| <div style="background: #f5f5f5; padding: 20px; border-radius: 8px; margin: 20px auto; max-width: 600px;"> |
| <h2 style="color: #282c34; margin-bottom: 15px;">Available Endpoints:</h2> |
| <ul style="text-align: left; color: #555;"> |
| <li><strong>/proxy</strong> - Secure Gemini API proxy endpoint</li> |
| <li><strong>/health</strong> - Health check endpoint</li> |
| <li><strong>/gradio</strong> - Gradio interface (fallback)</li> |
| </ul> |
| </div> |
| <p style="color: #777; font-size: 16px;">The /proxy endpoint remains accessible for API calls while static files are served from the root.</p> |
| </div> |
| `; |
| } |
| |
| // Add CSS animation for the React logo |
| const style = document.createElement('style'); |
| style.textContent = ` |
| @keyframes App-logo-spin { |
| from { transform: rotate(0deg); } |
| to { transform: rotate(360deg); } |
| } |
| `; |
| document.head.appendChild(style); |
| })(); |
| </script> |
| </body> |
| </html> |