;; well-wish -- community well-wishing board
(define-data-var wish-count uint u0)
(define-map wishes uint { author: principal, recipient: (string-ascii 30), message: (string-ascii 100), likes: uint, block: uint })
(define-public (post-wish (recipient (string-ascii 30)) (message (string-ascii 100)))
(let ((id (+ (var-get wish-count) u1)))
(var-set wish-count id)
(map-set wishes id { author: tx-sender, recipient: recipient, message: message, likes: u0, block: stacks-block-height }) (ok id)))
(define-public (like-wish (id uint))
(let ((w (unwrap! (map-get? wishes id) (err u404))))
(map-set wishes id (merge w { likes: (+ (get likes w) u1) })) (ok true)))
(define-read-only (get-wish (id uint)) (map-get? wishes id))
(define-read-only (get-count) (var-get wish-count))