If editing an HTML page, show that in the preview instead of just the index.

This commit is contained in:
Christian Lawson-Perfect 2025-02-20 14:00:16 +00:00
parent ce6524bb26
commit 8934a3e097
2 changed files with 34 additions and 20 deletions

View file

@ -21,7 +21,7 @@
{"path": "src/poo.js", "is_dir": false, "name": "poo.js"}, {"path": "src/poo.js", "is_dir": false, "name": "poo.js"},
{"path": "src/poo.py", "is_dir": false, "name": "poo.py"} {"path": "src/poo.py", "is_dir": false, "name": "poo.py"}
], ],
"file_path": "src/poo.js", "file_path": "src/poo.html",
"is_dir": false, "is_dir": false,
"file_content": "function x() {\n return 1;\n}", "file_content": "function x() {\n return 1;\n}",
"csrf_token": "arg", "csrf_token": "arg",

View file

@ -87,6 +87,9 @@ type alias Model =
, elm_packages : List ElmPackage , elm_packages : List ElmPackage
} }
suffix : String -> String
suffix = String.split "." >> List.reverse >> List.head >> Maybe.withDefault ""
init_model : Model init_model : Model
init_model = init_model =
{ show_preview = True { show_preview = True
@ -689,26 +692,37 @@ log_pane model =
] ]
preview_pane model = preview_pane model =
H.details let
[ HA.attribute "open" "" file_suffix = suffix model.file_path
, HA.id "preview"
, HE.on "toggle" (JD.at ["target", "open"] JD.bool |> JD.map TogglePreview) page_suffixes = ["html", "php"]
]
( [ H.summary preview_url =
[] if List.member file_suffix page_suffixes then
[ H.text "Preview" model.preview_url ++ "/" ++ model.file_path
]
]
++ if model.show_preview then
[ H.iframe
[ HA.id "preview-frame"
, HA.src model.preview_url
]
[]
]
else else
[] model.preview_url
) in
H.details
[ HA.attribute "open" ""
, HA.id "preview"
, HE.on "toggle" (JD.at ["target", "open"] JD.bool |> JD.map TogglePreview)
]
( [ H.summary
[]
[ H.text <| "Preview"
]
]
++ if model.show_preview then
[ H.iframe
[ HA.id "preview-frame"
, HA.src preview_url
]
[]
]
else
[]
)
commit_modal model = commit_modal model =
let let