diff --git a/src/card.lisp b/src/card.lisp index 265a709..da220d0 100644 --- a/src/card.lisp +++ b/src/card.lisp @@ -190,24 +190,26 @@ Example: "Creates a Bootstrap card with a header, optional list items, and additional content. Example: - (with-card* :col \"col-lg-12\" + (with-card* :col \"lg-12\" :card-image (\"foo.png\" . \"foo image\") :card-header \"Foo\" :card-items '(\"foo\" \"bar\") :card-body \"body\")" (destructuring-bind (&key col card-image card-header card-items card-body) body - (let ((col-class (if col col "col")) + (let ((class-str (format nil "col~@[-~A~]" col)) (sizing-class "card h-100")) `(spinneret:with-html - (:div :class ,col-class + (:div :class ,class-str (:div :class ,sizing-class ,@(if card-image - `((:img :class "card-img-top" - :src ,(car card-image) - :alt ,(cdr card-image)))) + `((:img :class "card-img-top" + :src ,(car card-image) + :alt ,(cdr card-image)))) ,@(if card-header - `((:h5 :class "card-header" ,card-header))) + `((:h5 :class "card-header" ,card-header))) ,@(if card-items - `((with-list-group t ,card-items))) + `((:ul :class "list-group list-group-flush" + (dolist (item ,card-items) + (:li :class "list-group-item" item))))) (:div :class "card-body" ,card-body)))))))