Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -6,30 +6,22 @@ import uuid
|
|
| 6 |
import time
|
| 7 |
|
| 8 |
def extract_react_preview(code: str) -> str:
|
| 9 |
-
|
| 10 |
-
|
| 11 |
-
<html lang=\"en\">
|
| 12 |
<head>
|
| 13 |
-
<
|
| 14 |
-
<
|
| 15 |
-
<
|
| 16 |
-
<script crossorigin src=\"https://unpkg.com/react@18/umd/react.development.js\"></script>
|
| 17 |
-
<script crossorigin src=\"https://unpkg.com/react-dom@18/umd/react-dom.development.js\"></script>
|
| 18 |
-
<script src=\"https://unpkg.com/@babel/standalone/babel.min.js\"></script>
|
| 19 |
</head>
|
| 20 |
<body>
|
| 21 |
-
<div id
|
| 22 |
-
<script type
|
| 23 |
{code}
|
| 24 |
ReactDOM.createRoot(document.getElementById('root')).render(<App />);
|
| 25 |
</script>
|
| 26 |
</body>
|
| 27 |
</html>
|
| 28 |
"""
|
| 29 |
-
filename = f"react_preview_{uuid.uuid4().hex}.html"
|
| 30 |
-
with open(filename, "w") as f:
|
| 31 |
-
f.write(react_template)
|
| 32 |
-
return filename
|
| 33 |
|
| 34 |
def run_app(user_input, enhance_prompt, action, state, progress=gr.Progress()):
|
| 35 |
progress(0, desc="Starting Gemini generation...")
|
|
@@ -54,10 +46,10 @@ def run_app(user_input, enhance_prompt, action, state, progress=gr.Progress()):
|
|
| 54 |
f.write(zip_bytes)
|
| 55 |
|
| 56 |
progress(0.9, desc="Generating preview...")
|
| 57 |
-
|
| 58 |
|
| 59 |
progress(1.0, desc="Done!")
|
| 60 |
-
return code_bundle["full_code"], "generated_app.zip",
|
| 61 |
|
| 62 |
with gr.Blocks(title="Auto App Builder") as iface:
|
| 63 |
gr.Markdown("# ⚡ Auto App Builder (Gemini Powered)\n_Powered by Google Gemini API_")
|
|
|
|
| 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>
|
| 18 |
+
<script type='text/babel'>
|
| 19 |
{code}
|
| 20 |
ReactDOM.createRoot(document.getElementById('root')).render(<App />);
|
| 21 |
</script>
|
| 22 |
</body>
|
| 23 |
</html>
|
| 24 |
"""
|
|
|
|
|
|
|
|
|
|
|
|
|
| 25 |
|
| 26 |
def run_app(user_input, enhance_prompt, action, state, progress=gr.Progress()):
|
| 27 |
progress(0, desc="Starting Gemini generation...")
|
|
|
|
| 46 |
f.write(zip_bytes)
|
| 47 |
|
| 48 |
progress(0.9, desc="Generating preview...")
|
| 49 |
+
preview_html = extract_react_preview(code_bundle["full_code"])
|
| 50 |
|
| 51 |
progress(1.0, desc="Done!")
|
| 52 |
+
return code_bundle["full_code"], "generated_app.zip", preview_html, code_bundle.get("files", {}), state
|
| 53 |
|
| 54 |
with gr.Blocks(title="Auto App Builder") as iface:
|
| 55 |
gr.Markdown("# ⚡ Auto App Builder (Gemini Powered)\n_Powered by Google Gemini API_")
|