;; blanket-share -- winter blanket sharing registry
(define-data-var item-count uint u0)
(define-map items uint { donor: principal, qty: uint, region: (string-ascii 30), claimed: bool })
(define-public (donate-blankets (qty uint) (region (string-ascii 30)))
(let ((id (+ (var-get item-count) u1)))
(var-set item-count id)
(map-set items id { donor: tx-sender, qty: qty, region: region, claimed: false }) (ok id)))
(define-public (claim-blankets (id uint))
(let ((i (unwrap! (map-get? items id) (err u404))))
(map-set items id (merge i { claimed: true })) (ok true)))
(define-read-only (get-item (id uint)) (map-get? items id))
(define-read-only (get-count) (var-get item-count))