Spaces:
Paused
Paused
| """ | |
| API Documentation Page - Swagger UI | |
| """ | |
| from fastapi import Request | |
| def render_api_docs(): | |
| return """ | |
| <!DOCTYPE html> | |
| <html lang="en"> | |
| <head> | |
| <meta charset="UTF-8"> | |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> | |
| <title>M5 API Reference</title> | |
| <link rel="stylesheet" type="text/css" href="https://unpkg.com/swagger-ui-dist@5/swagger-ui.css"> | |
| <style> | |
| :root { | |
| --bg: #0a0a0f; | |
| --surface: #12121a; | |
| --border: rgba(255,255,255,.08); | |
| --text: #f0f0f5; | |
| --muted: #6b6b78; | |
| --primary: #00f0ff; | |
| } | |
| body { | |
| background: var(--bg); | |
| color: var(--text); | |
| } | |
| .swagger-ui .topbar { | |
| background: var(--surface); | |
| border-bottom: 1px solid var(--border); | |
| } | |
| .swagger-ui .topbar .wrapper { | |
| background: var(--surface); | |
| } | |
| .swagger-ui .info { | |
| margin: 20px 0; | |
| } | |
| .swagger-ui .info .title { | |
| color: var(--text); | |
| } | |
| .swagger-ui .info .description { | |
| color: var(--muted); | |
| } | |
| .swagger-ui .opblock { | |
| background: var(--surface); | |
| border: 1px solid var(--border); | |
| border-radius: 8px; | |
| } | |
| .swagger-ui .opblock .opblock-summary { | |
| border-color: var(--border); | |
| } | |
| .swagger-ui .opblock .opblock-summary-description { | |
| color: var(--muted); | |
| } | |
| .swagger-ui .opblock-tag { | |
| color: var(--primary); | |
| } | |
| .swagger-ui .opblock .opblock-section-header { | |
| background: var(--surface-2); | |
| border-bottom: 1px solid var(--border); | |
| } | |
| .swagger-ui .model { | |
| background: var(--surface); | |
| } | |
| .swagger-ui .model-title { | |
| color: var(--text); | |
| } | |
| .swagger-ui .prop-type { | |
| color: var(--primary); | |
| } | |
| .swagger-ui .response-col_status { | |
| color: var(--success); | |
| } | |
| </style> | |
| </head> | |
| <body> | |
| <div id="swagger-ui"></div> | |
| <script src="https://unpkg.com/swagger-ui-dist@5/swagger-ui-bundle.js"></script> | |
| <script> | |
| window.onload = function() { | |
| const ui = SwaggerUIBundle({ | |
| url: '/openapi.json', | |
| dom_id: '#swagger-ui', | |
| deepLinking: true, | |
| presets: [ | |
| SwaggerUIBundle.presets.apis, | |
| SwaggerUIBundle.presets.standalone | |
| ], | |
| layout: "StandaloneLayout", | |
| defaultModelsExpandDepth: 1, | |
| defaultModelExpandDepth: 1, | |
| docExpansion: "list", | |
| tryItOutEnabled: true | |
| }); | |
| }; | |
| </script> | |
| </body> | |
| </html> | |
| """ | |