Tim13ekd commited on
Commit
b4a455a
·
verified ·
1 Parent(s): bcdc701

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +33 -25
app.py CHANGED
@@ -3,11 +3,11 @@ from groq import Groq
3
 
4
  def generate_and_preview(api_key, prompt):
5
  """
6
- Generiert HTML5-Spiel mit Groq und gibt den Code für Code-Feld
7
- und HTML-Vorschau zurück.
8
  """
9
  if not api_key:
10
- return "Bitte API-Key eingeben!", ""
11
 
12
  try:
13
  client = Groq(api_key=api_key)
@@ -28,38 +28,46 @@ def generate_and_preview(api_key, prompt):
28
  temperature=0.8
29
  )
30
  html_code = completion.choices[0].message.content
31
- return html_code, html_code # Code + Vorschau
 
 
 
 
 
 
 
32
  except Exception as e:
33
- return f"Fehler: {e}", ""
34
 
35
  # Gradio UI
36
  with gr.Blocks() as demo:
37
  gr.Markdown("# ⚡ KI HTML5 Game Generator mit Live-Vorschau")
38
  gr.Markdown(
39
- "API-Key eingeben (wird nicht gespeichert) + Spielidee → "
40
- "Die KI generiert HTML5-Code, der sofort spielbar ist."
41
  )
42
 
43
  with gr.Row():
44
- api_key_input = gr.Textbox(
45
- label="GROQ API-Key",
46
- placeholder="Hier API-Key einfügen",
47
- type="password"
48
- )
49
- prompt_input = gr.Textbox(
50
- label="Spielidee",
51
- placeholder="Beispiel: 2D Jump'n'Run mit Gegnern",
52
- lines=3
53
- )
54
-
55
- btn = gr.Button("🎮 Spiel generieren")
 
 
 
 
 
56
 
57
- code_output = gr.Code(
58
- language="html",
59
- label="HTML5 Game Code",
60
- lines=25
61
- )
62
- preview_output = gr.HTML(label="Live Vorschau")
63
 
64
  # Event: Button klick
65
  btn.click(generate_and_preview,
 
3
 
4
  def generate_and_preview(api_key, prompt):
5
  """
6
+ Generiert HTML5-Spiel mit Groq und gibt Code + Vorschau zurück.
7
+ Vorschau wird über ein iframe dargestellt, damit JS läuft.
8
  """
9
  if not api_key:
10
+ return "Bitte API-Key eingeben!", "<p>Keine Vorschau</p>"
11
 
12
  try:
13
  client = Groq(api_key=api_key)
 
28
  temperature=0.8
29
  )
30
  html_code = completion.choices[0].message.content
31
+
32
+ # Vorschau in iframe packen, damit JS läuft
33
+ preview_html = f"""
34
+ <iframe srcdoc="{html_code.replace('"', '&quot;')}"
35
+ width="100%" height="600px" style="border:none;"></iframe>
36
+ """
37
+ return html_code, preview_html
38
+
39
  except Exception as e:
40
+ return f"Fehler: {e}", "<p>Fehler bei der Vorschau</p>"
41
 
42
  # Gradio UI
43
  with gr.Blocks() as demo:
44
  gr.Markdown("# ⚡ KI HTML5 Game Generator mit Live-Vorschau")
45
  gr.Markdown(
46
+ "API-Key eingeben (nicht gespeichert) + Spielidee → "
47
+ "Die KI generiert HTML5-Code. Vorschau rechts neben dem Code."
48
  )
49
 
50
  with gr.Row():
51
+ with gr.Column(scale=1):
52
+ api_key_input = gr.Textbox(
53
+ label="GROQ API-Key",
54
+ placeholder="Hier API-Key einfügen",
55
+ type="password"
56
+ )
57
+ prompt_input = gr.Textbox(
58
+ label="Spielidee",
59
+ placeholder="Beispiel: 2D Jump'n'Run mit Gegnern",
60
+ lines=3
61
+ )
62
+ btn = gr.Button("🎮 Spiel generieren")
63
+ code_output = gr.Code(
64
+ language="html",
65
+ label="HTML5 Game Code",
66
+ lines=25
67
+ )
68
 
69
+ with gr.Column(scale=1):
70
+ preview_output = gr.HTML(label="Live Vorschau")
 
 
 
 
71
 
72
  # Event: Button klick
73
  btn.click(generate_and_preview,