frontend
Catatan teknis seputar web development, DevOps, dan integrasi AI.
104 artikel
- 10.27frontend
Satu Rol Roda, Dua Tugas: Scroll Dulu, Flip Nanti
Gestur roda mouse di popup jawaban AI: pasang listenernya gampang, tapi timing effect React, passive listener, dan reduced motion bikin ada empat jebakan.
TL;DR: Fitur flip jawaban AI lewat roda mouse di popup nyaris gagal karena dua jebakan: useEffect jalan saat ref masih null sehingga listener tak pernah nempel, dan event wheel default-nya passive sehingga preventDefault jadi no-op tanpa opsi passive: false. Solusinya pasang listener bergantung state terbuka plus deteksi ujung scroll. Animasi slide diatur CSS dan otomatis dihormati prefers-reduced-motion.
#react#frontend#ux - 00.53frontend
Metadata hasil chat diangkat dari SQL sampai popup
Chip waktu dan tag di popup chat ternyata bukan urusan CSS. Metadata harus naik dulu dari SQL sampai DTO sebelum UI bisa bergaya.
TL;DR: Popup search kelihatan datar bukan karena CSS, tapi karena API nggak mengirim tags, categories, dan published_at dari database. Solusinya: naikkan metadata itu lewat SQL, domain, sampai DTO, baru frontend merender. Setelah pipeline utuh, TimelineRow dipakai ulang di tiga konteks popup dengan chip waktu, ikon teknologi, dan badge sitasi.
#react#pydantic#sqlmodel - 16.30ai
Satu Stream SSE, Dua Versi Jawaban
Jawaban AI di search dialog butuh dua versi: ringkasan cepat dan penjelasan lengkap. Satu SSE stream dari LLM, tapi UI perlu split — caranya pakai marker-based parsing.
#sse#ai#streaming - 15.06frontend
Riwayat Chat Tersimpan di Lokal
Pencarian AI di blog ini sekarang ingat pertanyaan kemarin. Triknya: localStorage, cap 30 turn, dan try/catch yang diam-diam menyerah saat browser menolak.
#react#frontend#nextjs - 13.12frontend
Chat Kiri, Hasil Kanan: Satu Overlay Dipecah Dua
Chat dan daftar sumber rebutan ruang di satu overlay. Solusinya dua panel z-index beda plus visibilitas popup yang dihitung saat render.
#react#css#tailwind - 12.48frontend
Dialog Cari Jadi Thread: Satu Array Ganti Tujuh useState
Jawaban AI pertama lenyap tiap nanya lagi. Perbaikannya cuma satu array ThreadEntry plus functional update, bukan library state management.
#react#nextjs#sse - 12.22ai
Jawaban AI Streaming di Blog Lewat fetch Biasa
EventSource nggak bisa POST. Jawaban AI di search dialog akhirnya jalan pakai fetch biasa, parser SSE manual, dan satu jebakan CRLF.
#sse#fastapi#nextjs - 03.21frontend
Related Semantic, TLDR, dan Search Live
Related articles nyambung tag doang sering ngawur. Ganti cosine semantic, tambah box TLDR, dan bikin search dialog live, semua tetap tahan API lama.
#nextjs#react#tailwind - 18.15backend
Dari Edit layout.tsx Jadi Satu Request PUT
Ganti script GSC atau analytics nggak perlu redeploy lagi: modul settings di API dengan whitelist kunci, GET publik, dan admin ber-API-key.
#nextjs#fastapi#seo