Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -6,12 +6,18 @@ import uuid
|
|
| 6 |
import time
|
| 7 |
|
| 8 |
def extract_react_preview(code: str) -> str:
|
|
|
|
| 9 |
return f"""
|
|
|
|
| 10 |
<html>
|
| 11 |
<head>
|
|
|
|
| 12 |
<script crossorigin src="https://unpkg.com/react@18/umd/react.development.js"></script>
|
| 13 |
<script crossorigin src="https://unpkg.com/react-dom@18/umd/react-dom.development.js"></script>
|
| 14 |
<script src="https://unpkg.com/@babel/standalone/babel.min.js"></script>
|
|
|
|
|
|
|
|
|
|
| 15 |
</head>
|
| 16 |
<body>
|
| 17 |
<div id='root'></div>
|
|
@@ -46,7 +52,7 @@ def run_app(user_input, enhance_prompt, action, state, progress=gr.Progress()):
|
|
| 46 |
f.write(zip_bytes)
|
| 47 |
|
| 48 |
progress(0.9, desc="Generating preview...")
|
| 49 |
-
preview_html = extract_react_preview(code_bundle.get("
|
| 50 |
|
| 51 |
progress(1.0, desc="Done!")
|
| 52 |
return code_bundle.get("full_code", ""), "generated_app.zip", preview_html, code_bundle.get("files", {}), state
|
|
|
|
| 6 |
import time
|
| 7 |
|
| 8 |
def extract_react_preview(code: str) -> str:
|
| 9 |
+
# Wrap code in a full HTML React preview template
|
| 10 |
return f"""
|
| 11 |
+
<!DOCTYPE html>
|
| 12 |
<html>
|
| 13 |
<head>
|
| 14 |
+
<meta charset='UTF-8' />
|
| 15 |
<script crossorigin src="https://unpkg.com/react@18/umd/react.development.js"></script>
|
| 16 |
<script crossorigin src="https://unpkg.com/react-dom@18/umd/react-dom.development.js"></script>
|
| 17 |
<script src="https://unpkg.com/@babel/standalone/babel.min.js"></script>
|
| 18 |
+
<style>
|
| 19 |
+
body {{ font-family: sans-serif; padding: 20px; }}
|
| 20 |
+
</style>
|
| 21 |
</head>
|
| 22 |
<body>
|
| 23 |
<div id='root'></div>
|
|
|
|
| 52 |
f.write(zip_bytes)
|
| 53 |
|
| 54 |
progress(0.9, desc="Generating preview...")
|
| 55 |
+
preview_html = extract_react_preview(code_bundle.get("files", {}).get("App.jsx", ""))
|
| 56 |
|
| 57 |
progress(1.0, desc="Done!")
|
| 58 |
return code_bundle.get("full_code", ""), "generated_app.zip", preview_html, code_bundle.get("files", {}), state
|