[{"data":1,"prerenderedAt":21},["ShallowReactive",2],{"blogs":3,"i-lucide:menu":16},[4,10],{"slug":5,"description":6,"id":7,"title":8,"date":9},"my-first-blog-post","This is my first blog post! I'm excited to share my thoughts and experiences with you. Stay tuned for more content coming soon!","blog\u002Fblogs\u002F001.md","My First Blog Post","2025-09-12",{"slug":11,"description":12,"id":13,"title":14,"date":15},"reusable-alert-dialog-vue-react","Every app eventually needs one of those \"Are you sure?\" dialogs. You click delete, and a little box pops up asking you to confirm. Simple enough, but if you've ever wired up that modal state by hand more than twice, you know how tedious it gets. A boolean to track visibility, a callback for confirm, another for cancel, and suddenly your component is drowning in dialog plumbing.","blog\u002Fblogs\u002F002.md","Reusable alert dialog in Vue and React","2026-01-05",{"left":17,"top":17,"width":18,"height":18,"rotate":17,"vFlip":19,"hFlip":19,"body":20},0,24,false,"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M4 5h16M4 12h16M4 19h16\"\u002F>",1775105717469]