From 7639e6188eac91a13d4188692304b9867cdfc2f0 Mon Sep 17 00:00:00 2001 From: dan Date: Wed, 8 Mar 2023 19:15:26 -0500 Subject: fix: uploading blank post should not return 500; restyle image upload button --- main.scm | 24 +++++++++++++----------- style.css | 25 +++++++++++++++++++++---- 2 files changed, 34 insertions(+), 15 deletions(-) diff --git a/main.scm b/main.scm index 175c0e1..7aa76e4 100644 --- a/main.scm +++ b/main.scm @@ -41,11 +41,14 @@ parent-id)] [image-or-null (if (or (not image) (eof-object? image) (equal? "" image)) (sql-null) - image)]) + image)] + [content-or-empty (if (or (not content) (eof-object? content)) + "" + content)]) (execute db "insert into posts (id, user_id, content, parent_id, jpeg_image) values (?, ?, ?, ?, ?)" - id user content parent-id-or-null image-or-null))) + id user content-or-empty parent-id-or-null image-or-null))) (define (vote-to-flush user) (execute db "insert or ignore into flush_votes (user_id) values (?)" @@ -174,7 +177,6 @@ "/") ) - (define (get-opt opt opts) (find (cut equal? <> opt) opts)) (define (post current-user p . opts) @@ -219,13 +221,15 @@ [value ""] [rows "5"] [cols "50"]))) + (div (@ [class "image-upload"]) + (label (@ [for "image"] + [style "margin-right:0.1em"]) + "Add Image") + (input (@ [type "file"] + [id "image"] + [accept "image/jpeg"] + [name "image"]))) (input (@ [id "submit"] [type "submit"] [value "Post"])) - (label (@ [for "image"] [style "margin-left:1em"]) Image:) - (input (@ [type "file"] - [id "image"] - [accept "image/jpeg"] - [name "image"] - [style "margin-left:0.5em"])) )) (define (page inner) @@ -235,8 +239,6 @@ (link (@ [rel "stylesheet"] [href "/style.css"])) (meta (@ [name "viewport"] [content "width=device-width, initial-scale=1"]))) (body -; (h1 "Title") -; (a (@ [href "/"]) "Back") ,inner )))))) diff --git a/style.css b/style.css index 890b398..d09e1ab 100644 --- a/style.css +++ b/style.css @@ -163,18 +163,35 @@ textarea { height: 2em; } -#image::file-selector-button { +.image-upload { + float: right; border: 0; line-height: 2.5; - padding: 0 20px; + padding-bottom: 0.2em; + text-indent: 0.5em; font-size: 1rem; text-align: center; color: #fff; text-shadow: 1px 1px 1px #000; border-radius: 10px; - background-color: rgba(0, 0, 240, 0.6); + background-color: rgba(100, 100, 100, 0.6); background-image: linear-gradient(to top left, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2) 30%, rgba(0, 0, 0, 0)); box-shadow: inset 2px 2px 3px rgba(255, 255, 255, 0.6), inset -2px -2px 3px rgba(0, 0, 0, 0.6); - margin-top:2px; + margin-top: 0.1em; + cursor: pointer; +} + +.image-upload * { cursor: pointer; } + +@media only screen and (max-width: 450px) { + .image-upload { + float: unset; + width: 100%; + } + + #submit { + width: 100%; + } +} -- cgit v1.2.3