diff --git a/src/component/badge.lisp b/src/component/badge.lisp index 95118a7..5aa7c13 100644 --- a/src/component/badge.lisp +++ b/src/component/badge.lisp @@ -1,13 +1,38 @@ +;; https://getbootstrap.com/docs/5.3/components/badge/ + (in-package :cl-sbt) (defmacro badge ((&key (classes nil)) &body body) "https://getbootstrap.com/docs/5.3/components/badge/ Documentation and examples for badges, our small count and labeling component." `(spinneret:with-html - (:span :class (concatenate 'string "badge" - (if ,classes (format nil " ~a" ,classes))) + (:span :class (concatenate 'string "badge " ,classes) ,@body))) +(defmacro badge-primary (&body body) + `(badge (:classes "text-bg-primary") ,@body)) + +(defmacro badge-secondary (&body body) + `(badge (:classes "text-bg-secondary") ,@body)) + +(defmacro badge-success (&body body) + `(badge (:classes "text-bg-success") ,@body)) + +(defmacro badge-danger (&body body) + `(badge (:classes "text-bg-danger") ,@body)) + +(defmacro badge-warning (&body body) + `(badge (:classes "text-bg-warning") ,@body)) + +(defmacro badge-info (&body body) + `(badge (:classes "text-bg-info") ,@body)) + +(defmacro badge-light (&body body) + `(badge (:classes "text-bg-light") ,@body)) + +(defmacro badge-dark (&body body) + `(badge (:classes "text-bg-dark") ,@body)) + (defmacro badge-pill-primary (&body body) `(badge (:classes "rounded-pill text-bg-primary") ,@body))