makepad/examples/aichat/resources/default_history.json
2026-06-26 16:47:13 +02:00

1 line
No EOL
15 KiB
JSON
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{"messages":[{"role":"user","content":"make me a glass calendar"},{"role":"assistant","content":"```runsplash\nlet months = [\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"]\nlet month_idx = 5\nlet year = 2026\nlet selected = 25\nlet first_dow = 0\nlet days_in = 30\n\nfn refresh(){\n ui.title.set_text(months[month_idx] + \" \" + year)\n}\n\nView{\n width: Fill height: Fit\n flow: Down spacing: 14 padding: 18\n\n glass.Card{\n View{width:Fill height:Fit flow:Right align:Align{y:0.5} spacing:10\n glass.GlassButton{text:\"<\" width:48 height:42 on_click:|| {\n month_idx = month_idx - 1\n if month_idx < 0 { month_idx = 11; year = year - 1 }\n ui.title.set_text(months[month_idx] + \" \" + year)\n }}\n title := glass.H1{text:\"June 2026\" width:Fill align:Align{x:0.5}}\n glass.GlassButton{text:\">\" width:48 height:42 on_click:|| {\n month_idx = month_idx + 1\n if month_idx > 11 { month_idx = 0; year = year + 1 }\n ui.title.set_text(months[month_idx] + \" \" + year)\n }}\n }\n }\n\n glass.Panel{\n View{width:Fill height:Fit flow:Right spacing:4\n glass.Caption{text:\"SUN\" width:Fill align:Align{x:0.5}}\n glass.Caption{text:\"MON\" width:Fill align:Align{x:0.5}}\n glass.Caption{text:\"TUE\" width:Fill align:Align{x:0.5}}\n glass.Caption{text:\"WED\" width:Fill align:Align{x:0.5}}\n glass.Caption{text:\"THU\" width:Fill align:Align{x:0.5}}\n glass.Caption{text:\"FRI\" width:Fill align:Align{x:0.5}}\n glass.Caption{text:\"SAT\" width:Fill align:Align{x:0.5}}\n }\n\n View{width:Fill height:Fit flow:Right spacing:6\n glass.GlassButton{text:\"1\" width:Fill height:42 on_click:|| ui.sel.set_text(\"June 1, 2026\")}\n glass.GlassButton{text:\"2\" width:Fill height:42 on_click:|| ui.sel.set_text(\"June 2, 2026\")}\n glass.GlassButton{text:\"3\" width:Fill height:42 on_click:|| ui.sel.set_text(\"June 3, 2026\")}\n glass.GlassButton{text:\"4\" width:Fill height:42 on_click:|| ui.sel.set_text(\"June 4, 2026\")}\n glass.GlassButton{text:\"5\" width:Fill height:42 on_click:|| ui.sel.set_text(\"June 5, 2026\")}\n glass.GlassButton{text:\"6\" width:Fill height:42 on_click:|| ui.sel.set_text(\"June 6, 2026\")}\n glass.GlassButton{text:\"7\" width:Fill height:42 on_click:|| ui.sel.set_text(\"June 7, 2026\")}\n }\n View{width:Fill height:Fit flow:Right spacing:6\n glass.GlassButton{text:\"8\" width:Fill height:42 on_click:|| ui.sel.set_text(\"June 8, 2026\")}\n glass.GlassButton{text:\"9\" width:Fill height:42 on_click:|| ui.sel.set_text(\"June 9, 2026\")}\n glass.GlassButton{text:\"10\" width:Fill height:42 on_click:|| ui.sel.set_text(\"June 10, 2026\")}\n glass.GlassButton{text:\"11\" width:Fill height:42 on_click:|| ui.sel.set_text(\"June 11, 2026\")}\n glass.GlassButton{text:\"12\" width:Fill height:42 on_click:|| ui.sel.set_text(\"June 12, 2026\")}\n glass.GlassButton{text:\"13\" width:Fill height:42 on_click:|| ui.sel.set_text(\"June 13, 2026\")}\n glass.GlassButton{text:\"14\" width:Fill height:42 on_click:|| ui.sel.set_text(\"June 14, 2026\")}\n }\n View{width:Fill height:Fit flow:Right spacing:6\n glass.GlassButton{text:\"15\" width:Fill height:42 on_click:|| ui.sel.set_text(\"June 15, 2026\")}\n glass.GlassButton{text:\"16\" width:Fill height:42 on_click:|| ui.sel.set_text(\"June 16, 2026\")}\n glass.GlassButton{text:\"17\" width:Fill height:42 on_click:|| ui.sel.set_text(\"June 17, 2026\")}\n glass.GlassButton{text:\"18\" width:Fill height:42 on_click:|| ui.sel.set_text(\"June 18, 2026\")}\n glass.GlassButton{text:\"19\" width:Fill height:42 on_click:|| ui.sel.set_text(\"June 19, 2026\")}\n glass.GlassButton{text:\"20\" width:Fill height:42 on_click:|| ui.sel.set_text(\"June 20, 2026\")}\n glass.GlassButton{text:\"21\" width:Fill height:42 on_click:|| ui.sel.set_text(\"June 21, 2026\")}\n }\n View{width:Fill height:Fit flow:Right spacing:6\n glass.GlassButton{text:\"22\" width:Fill height:42 on_click:|| ui.sel.set_text(\"June 22, 2026\")}\n glass.GlassButton{text:\"23\" width:Fill height:42 on_click:|| ui.sel.set_text(\"June 23, 2026\")}\n glass.GlassButton{text:\"24\" width:Fill height:42 on_click:|| ui.sel.set_text(\"June 24, 2026\")}\n glass.GlassButtonProminent{text:\"25\" width:Fill height:42 on_click:|| ui.sel.set_text(\"June 25, 2026\")}\n glass.GlassButton{text:\"26\" width:Fill height:42 on_click:|| ui.sel.set_text(\"June 26, 2026\")}\n glass.GlassButton{text:\"27\" width:Fill height:42 on_click:|| ui.sel.set_text(\"June 27, 2026\")}\n glass.GlassButton{text:\"28\" width:Fill height:42 on_click:|| ui.sel.set_text(\"June 28, 2026\")}\n }\n View{width:Fill height:Fit flow:Right spacing:6\n glass.GlassButton{text:\"29\" width:Fill height:42 on_click:|| ui.sel.set_text(\"June 29, 2026\")}\n glass.GlassButton{text:\"30\" width:Fill height:42 on_click:|| ui.sel.set_text(\"June 30, 2026\")}\n View{width:Fill height:42}\n View{width:Fill height:42}\n View{width:Fill height:42}\n View{width:Fill height:42}\n View{width:Fill height:42}\n }\n }\n\n glass.Card{\n View{width:Fill height:Fit flow:Right align:Align{y:0.5} spacing:10\n glass.Caption{text:\"SELECTED\"}\n sel := glass.H2{text:\"June 25, 2026\" width:Fill align:Align{x:1.0}}\n }\n }\n}\n```"},{"role":"user","content":"make me a weather app where i can click on the days and it shows a graph of that day"},{"role":"assistant","content":"```runsplash\nlet days = [\n {name:\"Monday\" abbr:\"Mon\" icon:\"☀\" desc:\"Sunny\" hi:78 lo:56 graph:\"06:00 ▇▇▇ 56°\\n09:00 ▇▇▇▇▇ 64°\\n12:00 ▇▇▇▇▇▇▇▇ 74°\\n15:00 ▇▇▇▇▇▇▇▇▇ 78°\\n18:00 ▇▇▇▇▇▇▇ 72°\\n21:00 ▇▇▇▇ 60°\"}\n {name:\"Tuesday\" abbr:\"Tue\" icon:\"⛅\" desc:\"Partly Cloudy\" hi:74 lo:54 graph:\"06:00 ▇▇ 54°\\n09:00 ▇▇▇▇ 60°\\n12:00 ▇▇▇▇▇▇▇ 70°\\n15:00 ▇▇▇▇▇▇▇▇ 74°\\n18:00 ▇▇▇▇▇▇ 68°\\n21:00 ▇▇▇ 58°\"}\n {name:\"Wednesday\" abbr:\"Wed\" icon:\"☁\" desc:\"Cloudy\" hi:68 lo:54 graph:\"06:00 ▇▇ 54°\\n09:00 ▇▇▇ 58°\\n12:00 ▇▇▇▇▇ 64°\\n15:00 ▇▇▇▇▇▇ 68°\\n18:00 ▇▇▇▇ 62°\\n21:00 ▇▇▇ 56°\"}\n {name:\"Thursday\" abbr:\"Thu\" icon:\"🌧\" desc:\"Rainy\" hi:62 lo:52 graph:\"06:00 ▇▇ 52°\\n09:00 ▇▇▇ 56°\\n12:00 ▇▇▇▇ 60°\\n15:00 ▇▇▇▇▇ 62°\\n18:00 ▇▇▇ 58°\\n21:00 ▇▇ 54°\"}\n {name:\"Friday\" abbr:\"Fri\" icon:\"☀\" desc:\"Sunny\" hi:80 lo:58 graph:\"06:00 ▇▇▇ 58°\\n09:00 ▇▇▇▇▇ 66°\\n12:00 ▇▇▇▇▇▇▇▇ 76°\\n15:00 ▇▇▇▇▇▇▇▇▇▇ 80°\\n18:00 ▇▇▇▇▇▇▇ 74°\\n21:00 ▇▇▇▇ 62°\"}\n]\n\nView{\n width: Fill height: Fit\n flow: Down spacing: 14 padding: 18\n\n View{width:Fill height:Fit flow:Down spacing:2\n glass.H1{text:\"Weather\"}\n glass.Caption{text:\"SAN FRANCISCO · TAP A DAY\"}\n }\n\n glass.Panel{\n View{width:Fill height:Fit flow:Right spacing:8\n glass.GlassButton{text:\"Mon\\n78°\" width:Fill height:64 on_click:|| {\n ui.bigicon.set_text(days[0].icon); ui.sel.set_text(days[0].name)\n ui.cond.set_text(days[0].desc); ui.hilo.set_text(\"H:\"+days[0].hi+\"° L:\"+days[0].lo+\"°\")\n ui.graph.set_text(days[0].graph)\n }}\n glass.GlassButton{text:\"Tue\\n74°\" width:Fill height:64 on_click:|| {\n ui.bigicon.set_text(days[1].icon); ui.sel.set_text(days[1].name)\n ui.cond.set_text(days[1].desc); ui.hilo.set_text(\"H:\"+days[1].hi+\"° L:\"+days[1].lo+\"°\")\n ui.graph.set_text(days[1].graph)\n }}\n glass.GlassButton{text:\"Wed\\n68°\" width:Fill height:64 on_click:|| {\n ui.bigicon.set_text(days[2].icon); ui.sel.set_text(days[2].name)\n ui.cond.set_text(days[2].desc); ui.hilo.set_text(\"H:\"+days[2].hi+\"° L:\"+days[2].lo+\"°\")\n ui.graph.set_text(days[2].graph)\n }}\n glass.GlassButton{text:\"Thu\\n62°\" width:Fill height:64 on_click:|| {\n ui.bigicon.set_text(days[3].icon); ui.sel.set_text(days[3].name)\n ui.cond.set_text(days[3].desc); ui.hilo.set_text(\"H:\"+days[3].hi+\"° L:\"+days[3].lo+\"°\")\n ui.graph.set_text(days[3].graph)\n }}\n glass.GlassButton{text:\"Fri\\n80°\" width:Fill height:64 on_click:|| {\n ui.bigicon.set_text(days[4].icon); ui.sel.set_text(days[4].name)\n ui.cond.set_text(days[4].desc); ui.hilo.set_text(\"H:\"+days[4].hi+\"° L:\"+days[4].lo+\"°\")\n ui.graph.set_text(days[4].graph)\n }}\n }\n }\n\n glass.Card{\n View{width:Fill height:Fit flow:Right align:Align{y:0.5} spacing:14\n bigicon := glass.H1{text:\"☀\"}\n View{width:Fill height:Fit flow:Down spacing:2\n sel := glass.H2{text:\"Monday\"}\n cond := glass.Body{text:\"Sunny\"}\n }\n hilo := glass.OptionLabel{text:\"H:78° L:56°\"}\n }\n }\n\n glass.Panel{\n glass.Caption{text:\"HOURLY TEMPERATURE\"}\n graph := glass.Body{text:\"06:00 ▇▇▇ 56°\\n09:00 ▇▇▇▇▇ 64°\\n12:00 ▇▇▇▇▇▇▇▇ 74°\\n15:00 ▇▇▇▇▇▇▇▇▇ 78°\\n18:00 ▇▇▇▇▇▇▇ 72°\\n21:00 ▇▇▇▇ 60°\"}\n }\n}\n```"},{"role":"user","content":"make me a glass calculator"},{"role":"assistant","content":"```runsplash\nlet acc = 0.0\nlet stored = 0.0\nlet op = \"\"\nlet fresh = true\n\nView{ width: Fill height: Fit flow: Down spacing: 12 padding: 18\n\n glass.Card{ display := glass.H1{text:\"0\" width: Fill align: Align{x:1.0}} }\n\n View{width:Fill height:Fit flow:Right spacing:8\n glass.GlassButton{text:\"C\" width:Fill height:54 on_click:|| { acc = 0.0; stored = 0.0; op = \"\"; fresh = true; ui.display.set_text(\"0\") }}\n glass.GlassButton{text:\"±\" width:Fill height:54 on_click:|| { acc = -acc; ui.display.set_text(\"\" + acc) }}\n glass.GlassButton{text:\"%\" width:Fill height:54 on_click:|| { acc = acc / 100.0; ui.display.set_text(\"\" + acc) }}\n glass.GlassButtonProminent{text:\"÷\" width:Fill height:54 on_click:|| { stored = acc; acc = 0.0; op = \"/\"; fresh = true }}\n }\n\n View{width:Fill height:Fit flow:Right spacing:8\n glass.GlassButton{text:\"7\" width:Fill height:54 on_click:|| { acc = acc*10.0 + 7.0; fresh = false; ui.display.set_text(\"\" + acc) }}\n glass.GlassButton{text:\"8\" width:Fill height:54 on_click:|| { acc = acc*10.0 + 8.0; fresh = false; ui.display.set_text(\"\" + acc) }}\n glass.GlassButton{text:\"9\" width:Fill height:54 on_click:|| { acc = acc*10.0 + 9.0; fresh = false; ui.display.set_text(\"\" + acc) }}\n glass.GlassButtonProminent{text:\"×\" width:Fill height:54 on_click:|| { stored = acc; acc = 0.0; op = \"*\"; fresh = true }}\n }\n\n View{width:Fill height:Fit flow:Right spacing:8\n glass.GlassButton{text:\"4\" width:Fill height:54 on_click:|| { acc = acc*10.0 + 4.0; fresh = false; ui.display.set_text(\"\" + acc) }}\n glass.GlassButton{text:\"5\" width:Fill height:54 on_click:|| { acc = acc*10.0 + 5.0; fresh = false; ui.display.set_text(\"\" + acc) }}\n glass.GlassButton{text:\"6\" width:Fill height:54 on_click:|| { acc = acc*10.0 + 6.0; fresh = false; ui.display.set_text(\"\" + acc) }}\n glass.GlassButtonProminent{text:\"\" width:Fill height:54 on_click:|| { stored = acc; acc = 0.0; op = \"-\"; fresh = true }}\n }\n\n View{width:Fill height:Fit flow:Right spacing:8\n glass.GlassButton{text:\"1\" width:Fill height:54 on_click:|| { acc = acc*10.0 + 1.0; fresh = false; ui.display.set_text(\"\" + acc) }}\n glass.GlassButton{text:\"2\" width:Fill height:54 on_click:|| { acc = acc*10.0 + 2.0; fresh = false; ui.display.set_text(\"\" + acc) }}\n glass.GlassButton{text:\"3\" width:Fill height:54 on_click:|| { acc = acc*10.0 + 3.0; fresh = false; ui.display.set_text(\"\" + acc) }}\n glass.GlassButtonProminent{text:\"+\" width:Fill height:54 on_click:|| { stored = acc; acc = 0.0; op = \"+\"; fresh = true }}\n }\n\n View{width:Fill height:Fit flow:Right spacing:8\n glass.GlassButton{text:\"0\" width:Fill height:54 on_click:|| { acc = acc*10.0; fresh = false; ui.display.set_text(\"\" + acc) }}\n glass.GlassButton{text:\"00\" width:Fill height:54 on_click:|| { acc = acc*100.0; fresh = false; ui.display.set_text(\"\" + acc) }}\n glass.GlassButtonProminent{text:\"=\" width:Fill height:54 on_click:|| {\n let r = acc\n if op == \"+\" { r = stored + acc }\n if op == \"-\" { r = stored - acc }\n if op == \"*\" { r = stored * acc }\n if op == \"/\" { r = stored / acc }\n acc = r; op = \"\"; fresh = true\n ui.display.set_text(\"\" + r)\n }}\n }\n}\n```"},{"role":"user","content":"please use the glassy radio buttons to make another app"},{"role":"assistant","content":"```runsplash\nlet wifi = true\nlet bt = false\nlet air = false\nlet dnd = false\nlet active = 1\n\nView{\n width: Fill height: Fit\n flow: Down spacing: 14 padding: 20\n\n glass.H1{text: \"Quick Settings\"}\n glass.Caption{text: \"CONNECTIVITY\"}\n\n glass.Card{\n View{width:Fill height:Fit flow:Down spacing:14\n View{width:Fill height:Fit flow:Right spacing:16 align:Align{y:0.5}\n glass.GlassRadio{on_click:|| { wifi = !wifi; ui.status.set_text(wifi ? \"Wi-Fi enabled\" : \"Wi-Fi off\") }}\n glass.OptionLabel{text:\"Wi-Fi\" width:Fill}\n }\n Hr{height:1 width:Fill}\n View{width:Fill height:Fit flow:Right spacing:16 align:Align{y:0.5}\n glass.GlassRadio{on_click:|| { bt = !bt; ui.status.set_text(bt ? \"Bluetooth enabled\" : \"Bluetooth off\") }}\n glass.OptionLabel{text:\"Bluetooth\" width:Fill}\n }\n Hr{height:1 width:Fill}\n View{width:Fill height:Fit flow:Right spacing:16 align:Align{y:0.5}\n glass.GlassRadio{on_click:|| { air = !air; ui.status.set_text(air ? \"Airplane mode ON\" : \"Airplane mode off\") }}\n glass.OptionLabel{text:\"Airplane Mode\" width:Fill}\n }\n }\n }\n\n glass.Caption{text: \"FOCUS\"}\n glass.Card{\n View{width:Fill height:Fit flow:Right spacing:16 align:Align{y:0.5}\n glass.GlassRadio{on_click:|| { dnd = !dnd; ui.status.set_text(dnd ? \"Do Not Disturb ON\" : \"Do Not Disturb off\") }}\n glass.OptionLabel{text:\"Do Not Disturb\" width:Fill}\n }\n }\n\n glass.Card{\n status := glass.Body{text:\"Wi-Fi enabled\"}\n }\n\n View{width:Fill height:Fit flow:Right spacing:10\n glass.GlassButtonProminent{text:\"Apply\" on_click:|| ui.status.set_text(\"Settings applied ✓\")}\n glass.GlassButton{text:\"Reset\" on_click:|| {\n wifi = true; bt = false; air = false; dnd = false\n ui.status.set_text(\"Settings reset to defaults\")\n }}\n }\n}\n```"}]}