// ignore_for_file: lines_longer_than_80_chars /// Dataset untuk check-in harian 3-halaman. /// Setiap kategori menyimpan 50 pertanyaan yang dipilih berdasarkan hari dalam setahun. library; class CheckinEntry { final String question; final List options; // selalu 4 opsi const CheckinEntry(this.question, this.options); } class CheckinDataset { // --------------------------------------------------------------------------- // MOOD (50 pertanyaan) โ€” opsi: Senang / Sedih / Kecewa / Marah // --------------------------------------------------------------------------- static const List mood = [ CheckinEntry('Bagaimana perasaanmu saat ini?', [ 'Lagi hepi banget! ๐Ÿ˜Š', 'Lagi sedih, nih. ๐Ÿ˜ข', 'Jujur, lagi kecewa. ๐Ÿ˜•', 'Lagi emosi/marah! ๐Ÿ˜ค', ]), CheckinEntry('Kondisi hatimu lagi gimana?', [ 'Cerah ceria! โ˜€๏ธ', 'Mendung/galau. ๐ŸŒง๏ธ', 'Lagi zonk/nyesek. ๐Ÿ˜ž', 'Panas/mau ngamuk! ๐Ÿ”ฅ', ]), CheckinEntry('Apa kabar harimu sejauh ini?', [ 'Seru dan menyenangkan! ๐ŸŽ‰', 'Berat dan menyedihkan. ๐Ÿ˜”', 'Kacau, gak sesuai mauku. ๐Ÿ˜ฉ', 'Buruk! Bikin kesel terus. ๐Ÿ˜ ', ]), CheckinEntry('Butuh asupan mood seperti apa?', [ 'Yang manis buat nambah hepi ๐Ÿฐ', 'Yang bisa nemenin nangis ๐Ÿซ', 'Yang bisa ngobatin sesal ๐Ÿต', 'Yang dingin biar gak emosi โ„๏ธ', ]), CheckinEntry('Level energi mentalmu sekarang?', [ 'Full banget, lagi semangat! โšก', 'Drop, lagi pengen rebahan. ๐Ÿ›๏ธ', 'Low, gara-gara gagal. ๐Ÿ“‰', 'Meledak-ledak, lagi murka! ๐Ÿ’ฅ', ]), CheckinEntry('Warna apa yang mewakili moodmu?', [ 'Kuning cerah (Ceria) ๐Ÿ’›', 'Biru kelabu (Sendu) ๐Ÿฉต', 'Abu-abu (Pudar/Loyo) ๐Ÿฉถ', 'Merah menyala (Marah) โค๏ธโ€๐Ÿ”ฅ', ]), CheckinEntry('Apa yang sedang kamu rasakan?', [ 'Sangat puas dan bersyukur ๐Ÿ™', 'Hampa dan kesepian ๐Ÿ•ณ๏ธ', 'Merasa dikhianati/pupus ๐Ÿ’”', 'Dongkol dan muak! ๐Ÿ˜’', ]), CheckinEntry('Lagi pengen dimanjain rasa apa?', [ 'Rasa bahagia yang manis! ๐Ÿฏ', 'Rasa mellow yang tenang ๐ŸŒŠ', 'Rasa yang bisa nenangin ๐ŸŒฟ', 'Rasa yang bisa nahan emosi ๐ŸงŠ', ]), CheckinEntry('Vibes kamu hari ini cenderung ke arah?', [ 'Positive Vibes! โœจ', 'Sad Vibes... ๐ŸŒง๏ธ', 'Gloomy/Zonk Vibes ๐Ÿ˜ถโ€๐ŸŒซ๏ธ', 'Toxic/Angry Vibes! ๐Ÿ’ข', ]), CheckinEntry('Gimana senyummu hari ini?', [ 'Lebar banget, lagi seneng! ๐Ÿ˜', 'Hilang, lagi mau nangis ๐Ÿ˜ญ', 'Tipis, lagi ngerasa gagal ๐Ÿ˜ถ', 'Gak ada, lagi pengen marah! ๐Ÿ˜ก', ]), CheckinEntry('Mood kamu di kafe ini lagi apa?', [ 'Mau ngerayain sesuatu! ๐ŸŽŠ', 'Mau menenangkan diri ๐Ÿง˜', 'Mau ngilangin nyesek ๐Ÿ˜ฎโ€๐Ÿ’จ', 'Mau dinginin kepala ๐ŸงŠ', ]), CheckinEntry('Apa satu kata untuk jiwamu?', [ 'Berbunga! ๐ŸŒธ', 'Patah ๐Ÿ’”', 'Pudar ๐Ÿชซ', 'Membara (Emosi) ๐Ÿ”ฅ', ]), CheckinEntry('Baterai kebahagiaanmu berapa %?', [ '100%, lagi hepi maksimal! ๐Ÿ”‹', '10%, lagi sedih banget ๐Ÿชซ', '30%, lagi ngerasa kecewa ๐Ÿ“‰', '0%, lagi emosi tingkat dewa! ๐Ÿ’ข', ]), CheckinEntry('Cuaca batinmu sedang...', [ 'Terang benderang โ˜€๏ธ', 'Hujan rintik-rintik ๐ŸŒง๏ธ', 'Berawan mendung โ›…', 'Badai petir! โ›ˆ๏ธ', ]), CheckinEntry('Lagi ngerasa dunia berpihak padamu?', [ 'Iya, lagi hoki dan hepi! ๐Ÿ€', 'Nggak, lagi sedih terus ๐Ÿ˜”', 'Nggak, lagi dikecewain ๐Ÿ˜ž', 'Nggak, semuanya bikin marah! ๐Ÿ˜ค', ]), CheckinEntry('Gimana ritme jantungmu?', [ 'Menggebu karena senang! ๐Ÿ’“', 'Lambat karena lemas ๐Ÿ’™', 'Berhenti sesaat (syok/kecewa) ๐Ÿ’”', 'Berdetak kencang (marah)! ๐Ÿ’ข', ]), CheckinEntry('Lagi pengen self-reward karena apa?', [ 'Karena goals tercapai! ๐Ÿ†', 'Karena lagi butuh hiburan ๐ŸŽญ', 'Karena lagi gagal/sedih ๐Ÿ˜”', 'Karena capek marah-marah ๐Ÿ˜ฎโ€๐Ÿ’จ', ]), CheckinEntry('Apa yang mendominasi pikiranmu?', [ 'Hal-hal indah & seru ๐ŸŒˆ', 'Kenangan yang menyedihkan ๐Ÿ˜ข', 'Harapan yang gak tercapai ๐Ÿ˜ž', 'Masalah yang bikin emosi ๐Ÿ˜ ', ]), CheckinEntry('Gimana kondisi semangatmu?', [ 'Membara dan positif! ๐Ÿ”ฅ', 'Layu dan tidak bergairah ๐Ÿฅ€', 'Patah dan tawar ๐Ÿ’”', 'Meledak dan tajam! ๐Ÿ’ฅ', ]), CheckinEntry('Lagi butuh teman seperti apa?', [ 'Teman buat ketawa bareng ๐Ÿ˜‚', 'Teman buat curhat sedih ๐Ÿค—', 'Teman buat bagi kecewa ๐Ÿ’ฌ', 'Jangan ditemenin, lagi marah! ๐Ÿšซ', ]), CheckinEntry('Lagi merasa hidup ini indah?', [ 'Sangat indah & sempurna! ๐ŸŒบ', 'Terasa kelabu & sepi ๐Ÿฉถ', 'Terasa pahit & hambar ๐Ÿ˜•', 'Terasa kacau & berisik! ๐Ÿ˜ค', ]), CheckinEntry('Gimana energi yang kamu bawa?', [ 'Energi positif & ceria โšก', 'Energi rendah & lemas ๐Ÿ˜ด', 'Energi drop karena gagal ๐Ÿ“‰', 'Energi panas & emosi ๐Ÿ”ฅ', ]), CheckinEntry('Apa yang sedang bergejolak?', [ 'Rasa syukur yang besar ๐Ÿ™', 'Rasa rindu yang perih ๐Ÿ’™', 'Rasa sesal yang dalam ๐Ÿ˜ž', 'Rasa benci yang meluap ๐Ÿ˜ก', ]), CheckinEntry('Bagaimana kondisi "baterai"-mu?', [ 'Full 100%, siap gas! ๐Ÿ”‹', 'Low batt, pengen nangis ๐Ÿชซ', 'Error, ekspektasi zonk ๐Ÿ’”', 'Overheat, lagi meledak! ๐Ÿ”ฅ', ]), CheckinEntry('Butuh menu yang rasanya...', [ 'Manis & menyegarkan! ๐Ÿฐ', 'Hangat & menenangkan ๐Ÿต', 'Netral & ngobatin nyesek ๐Ÿซ–', 'Dingin & nahan emosi ๐ŸงŠ', ]), CheckinEntry('Apa yang kamu rasakan sekarang?', [ 'Puas banget sama hari ini ๐Ÿ˜Š', 'Hampa, kayak ada yang hilang ๐Ÿ•ณ๏ธ', 'Patah hati sama keadaan ๐Ÿ’”', 'Murka, semuanya salah! ๐Ÿ˜ค', ]), CheckinEntry('Mood-mu lagi di posisi mana?', [ 'Posisi "On Top"! ๐Ÿ†', 'Posisi "Down" banget ๐Ÿ“‰', 'Posisi "Zonk" & gagal ๐Ÿ˜”', 'Posisi "Senggol Bacok"! ๐Ÿ’ข', ]), CheckinEntry('Lagi ingin meluapkan apa?', [ 'Tawa dan kegembiraan ๐Ÿ˜‚', 'Air mata kesedihan ๐Ÿ˜ข', 'Keluh kesah kekecewaan ๐Ÿ˜ฎโ€๐Ÿ’จ', 'Amarah yang tertahan ๐Ÿ˜ ', ]), CheckinEntry('Seberapa besar keinginan senyum?', [ '100%, gak berhenti senyum ๐Ÿ˜', '0%, lagi mau mewek ๐Ÿ˜ญ', '20%, lagi gak mood ๐Ÿ˜ถ', '-100%, lagi mau ngamuk! ๐Ÿ˜ก', ]), CheckinEntry('Apa warna duniamu saat ini?', [ 'Pelangi yang cerah ๐ŸŒˆ', 'Biru yang sendu ๐Ÿ’™', 'Abu-abu yang pudar ๐Ÿฉถ', 'Merah yang membara โค๏ธโ€๐Ÿ”ฅ', ]), CheckinEntry('Gimana kabar semangatmu?', [ 'Lagi semangat-semangatnya! โšก', 'Lagi layu & tidak berdaya ๐Ÿฅ€', 'Lagi patah & pupus ๐Ÿ’”', 'Lagi tajam & berbahaya ๐Ÿ’ข', ]), CheckinEntry('Lagi ngerasa dihargai atau...', [ 'Dihargai banget, hepi! ๐Ÿ˜Š', 'Diabaikan, sedih rasanya ๐Ÿ˜”', 'Disepelekan, kecewa deh ๐Ÿ˜ž', 'Dihina, jadi emosi! ๐Ÿ˜ค', ]), CheckinEntry('Suasana batinmu cenderung...', [ 'Berbunga-bunga ๐ŸŒธ', 'Terluka & perih ๐Ÿ’”', 'Tawar & nyesek ๐ŸŒซ๏ธ', 'Panas & gerah ๐Ÿ”ฅ', ]), CheckinEntry('Lagi butuh asupan jiwa ya?', [ 'Iya, buat ngerayain hepi ๐ŸŽ‰', 'Iya, buat nyembuhin sedih ๐Ÿง˜', 'Iya, buat ngapus kecewa ๐Ÿ’†', 'Iya, buat ngeredam marah โ„๏ธ', ]), CheckinEntry('Gimana progres harimu?', [ 'Lancar jaya & asik! ๐Ÿš€', 'Macet & bikin galau ๐ŸŒง๏ธ', 'Berantakan, zonk banget ๐Ÿ’”', 'Rusak! Bikin naik pitam ๐Ÿ˜ ', ]), CheckinEntry('Perasaan dominan saat masuk?', [ 'Excited & tidak sabar! โœจ', 'Melankolis & pengen sepi ๐ŸŒ™', 'Pesimis & kurang puas ๐Ÿ˜ถ', 'Agresif & lagi kesel ๐Ÿ’ข', ]), CheckinEntry('Lagi ngerasa beruntung?', [ 'Banget, lagi hoki terus! ๐Ÿ€', 'Enggak, lagi sial & sedih ๐Ÿ˜”', 'Enggak, lagi dapet zonk ๐Ÿ˜ž', 'Enggak, malah bikin emosi! ๐Ÿ˜ค', ]), CheckinEntry('Kondisi pikiranmu sekarang?', [ 'Plong & tanpa beban ๐Ÿ˜Œ', 'Penuh beban & kesedihan ๐Ÿ˜ข', 'Penuh sesal & kecewa ๐Ÿ˜ž', 'Penuh amarah & dendam ๐Ÿ˜ ', ]), CheckinEntry('Kamu lagi merasa "Cukup"?', [ 'Lebih dari cukup, hepi! ๐Ÿ˜Š', 'Kurang, merasa hampa ๐Ÿ•ณ๏ธ', 'Gak cukup, kecewa deh ๐Ÿ˜ž', 'Gak peduli, lagi emosi! ๐Ÿ’ข', ]), CheckinEntry('Butuh teman ngobrol?', [ 'Mau dong, lagi hepi nih! ๐Ÿ˜„', 'Nanti aja, lagi galau ๐Ÿ˜ถ', 'Boleh, lagi nyesek nih ๐Ÿ’ฌ', 'Gak usah, lagi sensi! ๐Ÿšซ', ]), CheckinEntry('Seberapa cerah duniamu?', [ 'Terang benderang! โ˜€๏ธ', 'Gelap & mencekam ๐ŸŒ‘', 'Remang-remang/loyo ๐ŸŒซ๏ธ', 'Membara/panas ๐Ÿ”ฅ', ]), CheckinEntry('Lagi pengen "Self-Healing"?', [ 'Gak perlu, lagi hepi kok ๐Ÿ˜Š', 'Banget, lagi terluka ๐Ÿ’”', 'Perlu, lagi kecewa berat ๐Ÿ˜”', 'Butuh, biar gak ngamuk โ„๏ธ', ]), CheckinEntry('Gimana detak jantungmu?', [ 'Berdegup senang! ๐Ÿ’“', 'Lemah & tak berdaya ๐Ÿ’™', 'Berhenti (syok/kecewa) ๐Ÿ’”', 'Berdebar kencang (marah) ๐Ÿ’ข', ]), CheckinEntry('Rasa apa yang paling cocok?', [ 'Manis buah yang segar ๐Ÿ“', 'Cokelat hangat yang nyaman ๐Ÿซ', 'Kopi pahit yang jujur โ˜•', 'Soda dingin yang tajam ๐Ÿฅค', ]), CheckinEntry('Lagi merasa "I\'m Okay"?', [ 'Very Okay! Hepi banget ๐Ÿ˜', 'Not Okay, lagi sedih ๐Ÿ˜ข', 'Not Okay, lagi zonk ๐Ÿ˜ž', 'Not Okay, lagi emosi! ๐Ÿ˜ค', ]), CheckinEntry('Apa getaran (vibes) hari ini?', [ 'Joyful & Fun! ๐ŸŽ‰', 'Sad & Lonely ๐Ÿ’”', 'Disappointed & Failed ๐Ÿ˜”', 'Angry & Annoyed ๐Ÿ˜ค', ]), CheckinEntry('Ingin memanjakan diri dengan?', [ 'Sesuatu yang seru! ๐ŸŽŠ', 'Sesuatu yang tenang ๐Ÿง˜', 'Sesuatu yang beda (nyesek) ๐Ÿ˜ถ', 'Sesuatu yang keras/kuat ๐Ÿ’ช', ]), CheckinEntry('Mood level hari ini?', [ 'Sangat Senang ๐Ÿ˜„', 'Sangat Sedih ๐Ÿ˜ข', 'Sangat Kecewa ๐Ÿ˜ž', 'Sangat Marah ๐Ÿ˜ก', ]), CheckinEntry('Lagi merasa dicintai?', [ 'Banget, makanya hepi! ๐Ÿ’•', 'Nggak, ngerasa ditinggal ๐Ÿ˜ข', 'Nggak, ngerasa dibohongi ๐Ÿ˜”', 'Nggak, malah dikhianati! ๐Ÿ’ข', ]), CheckinEntry('Jadi, pesananmu untuk mood?', [ 'Yang bikin makin ceria! ๐ŸŒˆ', 'Yang bisa nenangin galau ๐ŸŒฟ', 'Yang bisa ngobatin kecewa ๐Ÿ’†', 'Yang bisa nurunin emosi โ„๏ธ', ]), ]; // --------------------------------------------------------------------------- // CUACA (50 pertanyaan) โ€” opsi: Hujan / Cerah / Dingin / Panas // --------------------------------------------------------------------------- static const List cuaca = [ CheckinEntry('Bagaimana cuaca di luar sana sekarang?', [ 'Lagi hujan deras nih ๐ŸŒง๏ธ', 'Cerah benderang โ˜€๏ธ', 'Dingin banget, adem ๐ŸŒฌ๏ธ', 'Panasnya minta ampun! ๐Ÿ”ฅ', ]), CheckinEntry('Kondisi langit di sekitarmu gimana?', [ 'Lagi mendung & hujan โ›ˆ๏ธ', 'Biru bersih & cerah ๐Ÿ’™', 'Kelabu & terasa dingin ๐ŸŒซ๏ธ', 'Silau & panas menyengat โ˜€๏ธ', ]), CheckinEntry('Apa yang kamu lihat dari jendela kafe?', [ 'Air hujan turun terus ๐Ÿ’ง', 'Sinar matahari terik ๐ŸŒž', 'Kabut/angin dingin ๐ŸŒฌ๏ธ', 'Aspal menguap karena panas ๐ŸŒก๏ธ', ]), CheckinEntry('Butuh menu yang sesuai cuaca apa?', [ 'Yang pas buat musim hujan ๐ŸŒง๏ธ', 'Yang cocok buat hari cerah โ˜€๏ธ', 'Yang nemenin hawa dingin โ„๏ธ', 'Yang nurunin suhu panas ๐ŸงŠ', ]), CheckinEntry('Gimana "vibes" cuaca hari ini?', [ 'Wet & Rainy Vibes ๐ŸŒง๏ธ', 'Sunny & Bright Vibes โ˜€๏ธ', 'Chilly & Cool Vibes ๐ŸŒฌ๏ธ', 'Hot & Burning Vibes ๐Ÿ”ฅ', ]), CheckinEntry('Udara di tempatmu sekarang terasa...', [ 'Basah dan lembap ๐Ÿ’ง', 'Hangat dan terang ๐ŸŒค๏ธ', 'Sejuk dan menggigil โ„๏ธ', 'Kering dan gerah ๐ŸŒก๏ธ', ]), CheckinEntry('Kalau melirik ke luar, lagi ada apa?', [ 'Ada rintik-rintik hujan ๐ŸŒง๏ธ', 'Ada matahari yang kuat โ˜€๏ธ', 'Ada angin sepoi dingin ๐ŸŒฌ๏ธ', 'Ada hawa panas bumi ๐Ÿ”ฅ', ]), CheckinEntry('Suasana di luar sedang mendukung...', [ 'Tidur karena hujan ๐Ÿ˜ด', 'Jalan-jalan karena cerah ๐Ÿšถ', 'Pakai jaket karena dingin ๐Ÿงฅ', 'Nyari AC karena panas โ„๏ธ', ]), CheckinEntry('Lagi musim apa di daerahmu hari ini?', [ 'Musim hujan/basah ๐ŸŒง๏ธ', 'Musim kemarau/terik โ˜€๏ธ', 'Musim dingin/berangin ๐ŸŒฌ๏ธ', 'Musim panas/gerah ๐Ÿ”ฅ', ]), CheckinEntry('Apa warna dominan langit sekarang?', [ 'Kelabu gelap (Hujan) โ›ˆ๏ธ', 'Biru muda (Cerah) ๐Ÿ’™', 'Putih pucat (Dingin) ๐ŸŒซ๏ธ', 'Kuning oranye (Panas) ๐ŸŒ…', ]), CheckinEntry('Gimana tekanan udara yang kamu rasain?', [ 'Berat karena mau hujan โ›ˆ๏ธ', 'Ringan dan cerah ๐ŸŒค๏ธ', 'Segar dan dingin โ„๏ธ', 'Pengap dan panas ๐Ÿ”ฅ', ]), CheckinEntry('Seberapa butuh kamu menu "penyelamat"?', [ 'Butuh penghangat hujan โ˜•', 'Butuh penyegar cerah ๐Ÿน', 'Butuh penenang dingin ๐Ÿต', 'Butuh pendingin panas ๐ŸงŠ', ]), CheckinEntry('Apa kata pertama yang muncul pas keluar?', [ '"Yah, hujan..." ๐Ÿ˜ฎ', '"Wah, cerah!" ๐Ÿ˜„', '"Duh, dingin." ๐Ÿฅถ', '"Waduh, panas!" ๐Ÿฅต', ]), CheckinEntry('Cuaca sekarang bikin kamu ingin...', [ 'Ngopi hangat (Hujan) โ˜•', 'Minum jus (Cerah) ๐ŸŠ', 'Cokelat panas (Dingin) ๐Ÿซ', 'Es kopi banyak (Panas) ๐ŸงŠ', ]), CheckinEntry('Gimana intensitas matahari saat ini?', [ 'Tertutup awan hujan โ›ˆ๏ธ', 'Sangat kuat & cerah โ˜€๏ธ', 'Lemah & terasa dingin ๐ŸŒฅ๏ธ', 'Sangat menyengat/panas ๐ŸŒก๏ธ', ]), CheckinEntry('Pakaian yang kamu pakai cocok buat...', [ 'Neduh karena hujan ๐ŸŒ‚', 'OOTD karena cerah ๐Ÿ‘—', 'Hangat-hangatan (Dingin) ๐Ÿงฅ', 'Baju tipis karena panas ๐Ÿ‘•', ]), CheckinEntry('Kondisi aspal di luar sana lagi...', [ 'Basah kuyup ๐Ÿ’ฆ', 'Kering kerontang โ˜€๏ธ', 'Lembap dingin โ„๏ธ', 'Panas berasap ๐Ÿ”ฅ', ]), CheckinEntry('Kamu merasa butuh menu yang...', [ 'Menghangatkan (Hujan) ๐Ÿ”ฅ', 'Menyegarkan (Cerah) ๐Ÿ’ง', 'Menenangkan (Dingin) ๐ŸŒฟ', 'Mendinginkan (Panas) ๐ŸงŠ', ]), CheckinEntry('Seberapa ekstrem cuaca sekarang?', [ 'Hujan gak berhenti ๐ŸŒง๏ธ', 'Cerah nggak ada awan โ˜€๏ธ', 'Dingin menusuk tulang ๐Ÿฅถ', 'Panas membakar kulit ๐Ÿฅต', ]), CheckinEntry('Apa "backsound" alam sekarang?', [ 'Suara gemercik hujan ๐ŸŽถ', 'Suara burung (Cerah) ๐Ÿฆ', 'Suara angin (Dingin) ๐ŸŒฌ๏ธ', 'Suara kipas/AC (Panas) ๐Ÿ’จ', ]), CheckinEntry('Lagi terjebak di kondisi cuaca apa?', [ 'Terjebak hujan ๐ŸŒง๏ธ', 'Terjebak terik matahari โ˜€๏ธ', 'Terjebak suhu dingin ๐Ÿฅถ', 'Terjebak hawa gerah ๐Ÿฅต', ]), CheckinEntry('Apa yang paling terasa di kulitmu?', [ 'Air dan kelembapan ๐Ÿ’ง', 'Sinar matahari hangat โ˜€๏ธ', 'Angin yang sejuk ๐ŸŒฌ๏ธ', 'Keringat karena panas ๐Ÿ’ฆ', ]), CheckinEntry('Gimana ramalan cuaca versi matamu?', [ 'Bakal hujan lama ๐ŸŒง๏ธ', 'Bakal cerah seharian โ˜€๏ธ', 'Bakal tetap dingin โ„๏ธ', 'Bakal tambah panas ๐Ÿ”ฅ', ]), CheckinEntry('Tingkat kebutuhan es vs hangat?', [ '100% Hangat (Hujan) โ˜•', '50/50 (Cerah) โ˜ฏ๏ธ', '80% Hangat (Dingin) ๐Ÿต', '100% Es (Panas) ๐ŸงŠ', ]), CheckinEntry('Apa gangguan terbesar di jalan tadi?', [ 'Jalanan banjir/becek ๐ŸŒŠ', 'Silau matahari ๐Ÿ˜Ž', 'Angin kencang dingin ๐ŸŒฌ๏ธ', 'Debu dan panas ๐ŸŒซ๏ธ', ]), CheckinEntry('Kondisi jendela kafe sekarang...', [ 'Berembun karena hujan ๐Ÿ’ง', 'Tembus cahaya cerah โ˜€๏ธ', 'Dingin saat disentuh โ„๏ธ', 'Terasa hangat kena panas ๐Ÿ”ฅ', ]), CheckinEntry('Cuaca ini bikin kamu mikir tentang...', [ 'Selimut (Hujan) ๐Ÿ›๏ธ', 'Pantai (Cerah) ๐Ÿ–๏ธ', 'Pelukan (Dingin) ๐Ÿค—', 'Es krim (Panas) ๐Ÿฆ', ]), CheckinEntry('Suara petir atau suara burung?', [ 'Petir (Hujan) โšก', 'Burung berkicau (Cerah) ๐Ÿฆ', 'Angin berdesir (Dingin) ๐ŸŒฌ๏ธ', 'Jangkrik siang (Panas) ๐Ÿฆ—', ]), CheckinEntry('Kamu sampai sini dalam keadaan...', [ 'Sedikit basah (Hujan) ๐Ÿ’ฆ', 'Rapi karena cerah ๐Ÿ˜Š', 'Menggigil (Dingin) ๐Ÿฅถ', 'Berkeringat (Panas) ๐Ÿฅต', ]), CheckinEntry('Seberapa terang duniamu saat ini?', [ 'Redup (Hujan) ๐ŸŒ‘', 'Sangat terang (Cerah) โ˜€๏ธ', 'Abu-abu (Dingin) ๐Ÿฉถ', 'Menyilaukan (Panas) ๐ŸŒ…', ]), CheckinEntry('Cuaca sekarang paling enak buat...', [ 'Melamun (Hujan) ๐Ÿ˜ถ', 'Ngobrol (Cerah) ๐Ÿ’ฌ', 'Baca buku (Dingin) ๐Ÿ“–', 'Minum es (Panas) ๐ŸงŠ', ]), CheckinEntry('Apa warna payung yang kamu butuh?', [ 'Payung hujan ๐ŸŒ‚', 'Payung peneduh terik โ˜‚๏ธ', 'Gak butuh, butuh jaket ๐Ÿงฅ', 'Gak butuh, butuh kipas ๐ŸŒ€', ]), CheckinEntry('Hawa ruangan dibanding luar gimana?', [ 'Luar lebih basah ๐Ÿ’ง', 'Luar lebih cerah โ˜€๏ธ', 'Luar jauh lebih dingin ๐Ÿฅถ', 'Luar jauh lebih panas ๐Ÿฅต', ]), CheckinEntry('Gimana "mood" alam semesta hari ini?', [ 'Lagi nangis (Hujan) ๐Ÿ˜ข', 'Lagi senyum (Cerah) ๐Ÿ˜Š', 'Lagi diem (Dingin) ๐Ÿ˜ถ', 'Lagi marah (Panas) ๐Ÿ˜ ', ]), CheckinEntry('Lagi butuh asupan yang suhunya...', [ 'Panas/Mendidih ๐Ÿ”ฅ', 'Dingin/Segar โ„๏ธ', 'Hangat/Nyaman โ™จ๏ธ', 'Beku/Es banyak ๐ŸงŠ', ]), CheckinEntry('Kondisi cuaca ini termasuk kategori...', [ 'Syahdu (Hujan) ๐ŸŽถ', 'Ceria (Cerah) ๐ŸŒˆ', 'Nyaman (Dingin) ๐ŸŒฟ', 'Menyiksa (Panas) ๐Ÿ˜ซ', ]), CheckinEntry('Apa yang paling menonjol di luar?', [ 'Awan hitam โ›ˆ๏ธ', 'Langit biru โ˜€๏ธ', 'Angin sejuk ๐ŸŒฌ๏ธ', 'Uap panas ๐ŸŒก๏ธ', ]), CheckinEntry('Kamu pengen menu yang bisa...', [ 'Ngusir kedinginan hujan โ˜•', 'Nambah semangat cerah ๐Ÿน', 'Nemenin ademnya hari ๐Ÿต', 'Ngusir gerah yang parah ๐ŸงŠ', ]), CheckinEntry('Seberapa "ekstrim" suhu di luar?', [ 'Basah maksimal ๐ŸŒŠ', 'Terik maksimal โ˜€๏ธ', 'Dingin maksimal ๐Ÿฅถ', 'Panas maksimal ๐Ÿฅต', ]), CheckinEntry('Apa elemen alam yang dominan?', [ 'Air (Hujan) ๐Ÿ’ง', 'Cahaya (Cerah) โ˜€๏ธ', 'Angin (Dingin) ๐ŸŒฌ๏ธ', 'Api/Hawa (Panas) ๐Ÿ”ฅ', ]), CheckinEntry('Gimana kondisi pandangan mata?', [ 'Kabur karena hujan ๐ŸŒง๏ธ', 'Jelas dan cerah โ˜€๏ธ', 'Sayu karena dingin ๐Ÿฅถ', 'Berkunang karena panas ๐Ÿฅต', ]), CheckinEntry('Butuh menu yang bikin kamu...', [ 'Hangat di dalam โ˜•', 'Segar di mata ๐Ÿƒ', 'Tenang di hati ๐ŸŒฟ', 'Adem di tenggorokan ๐ŸงŠ', ]), CheckinEntry('Lagi ada fenomena apa di luar?', [ 'Hujan petir โšก', 'Panas terik ๐ŸŒž', 'Angin kencang ๐ŸŒฌ๏ธ', 'Kemarau panjang ๐Ÿœ๏ธ', ]), CheckinEntry('Cuaca ini paling pas ditemani...', [ 'Kopi susu hangat โ˜•', 'Lemon tea dingin ๐Ÿ‹', 'Matcha latte hangat ๐Ÿต', 'Es cokelat pekat ๐ŸงŠ', ]), CheckinEntry('Gimana tingkat kelembapan udara?', [ 'Tinggi banget (Hujan) ๐Ÿ’ฆ', 'Pas/Kering (Cerah) โ˜€๏ธ', 'Rendah/Dingin โ„๏ธ', 'Sangat pengap (Panas) ๐Ÿฅต', ]), CheckinEntry('Kamu masuk kafe buat cari...', [ 'Tempat berteduh hujan ๐ŸŒ‚', 'Tempat nongkrong cerah ๐ŸŒž', 'Tempat hangat โ˜•', 'Tempat ngadem/AC โ„๏ธ', ]), CheckinEntry('Apa yang kamu rasakan di ubun-ubun?', [ 'Tetesan air hujan ๐Ÿ’ง', 'Hangat matahari โ˜€๏ธ', 'Angin lewat ๐ŸŒฌ๏ธ', 'Keringat mengalir ๐Ÿฅต', ]), CheckinEntry('Cuaca hari ini bikin malas atau rajin?', [ 'Malas karena hujan ๐Ÿ˜ด', 'Rajin karena cerah ๐Ÿ’ช', 'Malas karena adem ๐Ÿ˜ช', 'Rajin cari yang dingin โ„๏ธ', ]), CheckinEntry('Gimana kondisi "semesta" kafe ini?', [ 'Penyelamat dari hujan ๐ŸŒ‚', 'Penambah keceriaan โ˜€๏ธ', 'Pelindung dari dingin ๐Ÿงฅ', 'Oase dari panas โ„๏ธ', ]), CheckinEntry('Jadi, kesimpulannya cuaca lagi...', [ 'Hujan, butuh hangat ๐ŸŒง๏ธ', 'Cerah, butuh segar โ˜€๏ธ', 'Dingin, butuh nyaman โ„๏ธ', 'Panas, butuh yang es! ๐ŸงŠ', ]), ]; // --------------------------------------------------------------------------- // SUASANA (50 pertanyaan) โ€” opsi: Sendiri / Berdua / Rame-rame / Biasa // --------------------------------------------------------------------------- static const List suasana = [ CheckinEntry('Kamu ke sini bareng siapa hari ini?', [ 'Lagi sendirian aja ๐Ÿ™‹', 'Berdua sama teman/pacar ๐Ÿ‘ซ', 'Rame-rame sama geng ๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ', 'Rombongan tapi santai ๐Ÿšถ', ]), CheckinEntry('Siapa yang nemenin kamu memesan?', [ 'Cuma aku dan pikiranku ๐Ÿ’ญ', 'Satu orang favoritku ๐Ÿ’•', 'Pasukan lengkap! ๐ŸŽ‰', 'Teman-teman kantor/tugas ๐Ÿ’ผ', ]), CheckinEntry('Lagi pengen porsi makan buat berapa orang?', [ 'Buat aku sendiri aja ๐Ÿ™‹', 'Porsi sharing berdua ๐Ÿ‘ซ', 'Porsi jumbo buat barengan ๐ŸŽŠ', 'Porsi standar masing-masing ๐Ÿช‘', ]), CheckinEntry('Suasana meja yang kamu butuhin...', [ 'Pojokan kecil buat sendiri ๐Ÿชด', 'Meja kecil buat berdua ๐Ÿ•ฏ๏ธ', 'Meja panjang buat grup ๐ŸŽ‰', 'Meja mana aja yang kosong ๐Ÿช‘', ]), CheckinEntry('Kamu lagi dalam mode apa sekarang?', [ 'Mode introvert/Me-time ๐ŸŽง', 'Mode deep talk berdua ๐Ÿ’ฌ', 'Mode party/nongkrong ๐ŸŽŠ', 'Mode biasa, cuma singgah ๐Ÿšถ', ]), CheckinEntry('Seberapa banyak kursi yang kamu pesan?', [ 'Satu kursi cukup ๐Ÿ™‹', 'Dua kursi berhadapan ๐Ÿ‘ซ', 'Kursi banyak, mau kumpul ๐ŸŽ‰', 'Kursi secukupnya aja ๐Ÿช‘', ]), CheckinEntry('Datang ke kafe ini dalam rangka...', [ 'Menikmati waktu sendiri ๐ŸŽง', 'Kencan/Ngobrol berdua ๐Ÿ’•', 'Rayain sesuatu barengan ๐ŸŽŠ', 'Ngumpul santai biasa ๐Ÿ˜Š', ]), CheckinEntry('Apa kamu butuh menu "Sharing"?', [ 'Gak perlu, buat sendiri ๐Ÿ™‹', 'Boleh, buat bagi berdua ๐Ÿ‘ซ', 'Wajib! Biar hemat bareng ๐ŸŽ‰', 'Liat nanti, masing-masing ๐Ÿช‘', ]), CheckinEntry('Lagi pengen diganggu atau tidak?', [ 'Jangan, lagi mau sendiri ๐Ÿšซ', 'Cuma mau fokus berdua ๐Ÿ‘ซ', 'Bebas, lagi seru-seruan ๐ŸŽŠ', 'Biasa aja, gak masalah ๐Ÿ˜Š', ]), CheckinEntry('Siapa "partner" ngopimu kali ini?', [ 'Gak ada, lagi mandiri ๐Ÿ™‹', 'Bestie/Pasangan ๐Ÿ’•', 'Teman sekelas/kerja ๐Ÿ‘ฅ', 'Siapa aja yang lagi ada ๐Ÿšถ', ]), CheckinEntry('Kamu ngerasa meja ini bakal...', [ 'Tenang dan sepi ๐ŸŒฟ', 'Penuh dengan obrolan ๐Ÿ’ฌ', 'Berisik dan seru ๐ŸŽ‰', 'Kondusif dan normal ๐Ÿ˜Š', ]), CheckinEntry('Seberapa besar "space" yang kamu cari?', [ 'Minimalis buat sendiri ๐Ÿ™‹', 'Pas buat berdua ๐Ÿ‘ซ', 'Luas buat grup besar ๐ŸŽŠ', 'Yang penting bisa duduk ๐Ÿช‘', ]), CheckinEntry('Lagi mau fokus ngerjain sesuatu?', [ 'Iya, sendirian biar fokus ๐Ÿ’ป', 'Iya, nugas bareng teman ๐Ÿ‘ซ', 'Enggak, lagi mau main ๐ŸŽ‰', 'Iya, tapi sambil ngobrol ๐Ÿ’ฌ', ]), CheckinEntry('Kamu pesan menu ini untuk...', [ 'Dinikmati secara privat ๐Ÿ™‹', 'Dimakan bareng pasangan ๐Ÿ’•', 'Dikeroyok bareng-bareng ๐ŸŽŠ', 'Dimakan santai aja ๐Ÿ˜Š', ]), CheckinEntry('Kondisi "sosial" kamu saat ini...', [ 'Lagi pengen menyepi ๐ŸŒฟ', 'Lagi pengen berduaan ๐Ÿ’•', 'Lagi pengen heboh ๐ŸŽ‰', 'Lagi pengen biasa aja ๐Ÿ˜Š', ]), CheckinEntry('Apa kamu butuh privasi lebih?', [ 'Banget, mau sendiri ๐Ÿ™‹', 'Lumayan, mau ngobrol ๐Ÿ‘ซ', 'Enggak, ramein aja! ๐ŸŽŠ', 'Biasa, gak terlalu mikirin ๐Ÿ˜Š', ]), CheckinEntry('Kamu datang dengan kendaraan apa?', [ 'Sendiri (Motor/Ojol) ๐Ÿ๏ธ', 'Berboncengan/Satu mobil ๐Ÿš—', 'Konvoi/Banyak kendaraan ๐ŸšŒ', 'Masing-masing sampai sini ๐Ÿšถ', ]), CheckinEntry('Gimana intensitas obrolan di mejamu?', [ 'Hening/Gak ada suara ๐Ÿคซ', 'Intens dan dalam ๐Ÿ’ฌ', 'Kencang dan tertawa ๐ŸŽ‰', 'Sedang dan sewajarnya ๐Ÿ˜Š', ]), CheckinEntry('Kamu pengen menu yang sifatnya...', [ 'Personal (Individual) ๐Ÿ™‹', 'Sweet (Couple vibes) ๐Ÿ’•', 'Fun (Party vibes) ๐ŸŽŠ', 'Casual (Neutral vibes) ๐Ÿ˜Š', ]), CheckinEntry('Apa kamu bawa "pasukan"?', [ 'Pasukan satu orang (aku) ๐Ÿ™‹', 'Duo maut! ๐Ÿ‘ซ', 'Satu batalyon! ๐ŸŽ‰', 'Beberapa orang aja ๐Ÿ‘ฅ', ]), CheckinEntry('Lagi mau pamer foto (OOTD) bareng?', [ 'Foto sendiri aja ๐Ÿคณ', 'Foto berdua estetik ๐Ÿ“ธ', 'Foto grup/reuni ๐ŸŽŠ', 'Foto menu aja, gak foto ๐Ÿ“ท', ]), CheckinEntry('Kamu butuh rekomendasi menu untuk...', [ 'Satu orang (Single) ๐Ÿ™‹', 'Dua orang (Duo) ๐Ÿ‘ซ', 'Banyak orang (Family/Squad) ๐ŸŽŠ', 'Siapa aja yang mau pesan ๐Ÿ˜Š', ]), CheckinEntry('Suasana hatimu dipengaruhi oleh...', [ 'Diriku sendiri ๐Ÿ™‹', 'Orang di depanku ๐Ÿ’•', 'Orang-orang di sekitarku ๐Ÿ‘ฅ', 'Keadaan kafe secara umum ๐Ÿ˜Š', ]), CheckinEntry('Seberapa ramai mejamu nanti?', [ 'Gak ramai sama sekali ๐Ÿคซ', 'Ramai suara kami berdua ๐Ÿ’ฌ', 'Sangat ramai dan heboh ๐ŸŽ‰', 'Ramai yang terkendali ๐Ÿ˜Š', ]), CheckinEntry('Kamu ngerasa bakal lama di sini?', [ 'Lama karena nugas sendiri ๐Ÿ’ป', 'Lama karena ngobrol ๐Ÿ’ฌ', 'Lama karena nongkrong ๐ŸŽŠ', 'Sebentar, cuma mampir ๐Ÿšถ', ]), CheckinEntry('Apa kamu butuh stopkontak banyak?', [ 'Satu cukup buat laptopku ๐Ÿ”Œ', 'Dua buat hp kami ๐Ÿ”‹', 'Banyak buat bareng-bareng ๐ŸŽ‰', 'Gak perlu, hp penuh ๐Ÿ˜Š', ]), CheckinEntry('Konteks pertemuan kamu adalah...', [ 'Self-reward ๐Ÿ™‹', 'Date/Pertemuan penting ๐Ÿ’•', 'Gathering/Arisan ๐ŸŽŠ', 'Ngumpul biasa ๐Ÿ˜Š', ]), CheckinEntry('Lagi mau ngerasain suasana...', [ 'Intimate (Sendiri) ๐ŸŒฟ', 'Romantic/Close (Berdua) ๐Ÿ’•', 'Energetic (Rame-rame) ๐ŸŽ‰', 'Calm (Biasa) ๐Ÿ˜Š', ]), CheckinEntry('Kamu lebih nyaman kalau...', [ 'Gak ada yang kenal aku ๐Ÿ™‹', 'Cuma dia yang kenal aku ๐Ÿ’•', 'Semua orang tau kita seru ๐ŸŽŠ', 'Biasa aja, sewajarnya ๐Ÿ˜Š', ]), CheckinEntry('Seberapa banyak piring di meja nanti?', [ 'Satu piring saja ๐Ÿ™‹', 'Dua piring cantik ๐Ÿ‘ซ', 'Banyak piring berantakan ๐ŸŽ‰', 'Beberapa piring standar ๐Ÿ˜Š', ]), CheckinEntry('Lagi mau "kabur" dari orang lain?', [ 'Iya, mau sendiri dulu ๐Ÿ™‹', 'Iya, mau berdua aja ๐Ÿ‘ซ', 'Enggak, mau cari orang ๐ŸŽ‰', 'Enggak, biasa aja ๐Ÿ˜Š', ]), CheckinEntry('Apa kamu bawa anak kecil?', [ 'Enggak, sendirian ๐Ÿ™‹', 'Enggak, cuma berdua ๐Ÿ‘ซ', 'Iya, ada beberapa anak ๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘ง', 'Enggak, cuma orang dewasa ๐Ÿ˜Š', ]), CheckinEntry('Kamu pengen dapet perhatian staf?', [ 'Enggak, mau tenang ๐ŸŒฟ', 'Secukupnya buat kami ๐Ÿ‘ซ', 'Iya, buat bantu grup ๐ŸŽ‰', 'Standar pelayanan aja ๐Ÿ˜Š', ]), CheckinEntry('Menu yang cocok buat statusmu...', [ 'Single fighter ๐Ÿ™‹', 'Dynamic duo ๐Ÿ‘ซ', 'The big family ๐ŸŽŠ', 'People in general ๐Ÿ˜Š', ]), CheckinEntry('Lagi pengen "curhat"?', [ 'Curhat ke diri sendiri ๐Ÿ™‹', 'Curhat ke sahabat ๐Ÿ’•', 'Curhat masal/cerita seru ๐ŸŽ‰', 'Gak curhat, cuma ngopi โ˜•', ]), CheckinEntry('Kamu butuh tempat yang luas gak?', [ 'Enggak, kecil aja oke ๐Ÿ™‹', 'Enggak, yang penting pas ๐Ÿ‘ซ', 'Iya, biar gak kepisah ๐ŸŽ‰', 'Biasa, yang penting nyaman ๐Ÿ˜Š', ]), CheckinEntry('Seberapa besar tagihan (bill) nanti?', [ 'Kecil, buat sendiri ๐Ÿ™‹', 'Sedang, buat berdua ๐Ÿ‘ซ', 'Besar, bayar barengan ๐ŸŽ‰', 'Normal, masing-masing ๐Ÿ˜Š', ]), CheckinEntry('Kamu ngerasa "pede" datang...', [ 'Sendirian ke kafe ๐Ÿ™‹', 'Gandengan sama pacar ๐Ÿ’•', 'Rame-rame sama geng ๐ŸŽŠ', 'Santai bareng teman ๐Ÿ˜Š', ]), CheckinEntry('Apa kamu nunggu orang lain lagi?', [ 'Enggak, cukup aku ๐Ÿ™‹', 'Enggak, cuma berdua ๐Ÿ‘ซ', 'Iya, masih banyak yang OTW ๐ŸŽ‰', 'Mungkin, liat nanti ๐Ÿ˜Š', ]), CheckinEntry('Suasana mejamu bakal terlihat...', [ 'Kosong dan rapi ๐ŸŒฟ', 'Manis dan tertata ๐Ÿ’•', 'Berantakan dan seru ๐ŸŽ‰', 'Normal dan fungsional ๐Ÿ˜Š', ]), CheckinEntry('Kamu ngerasa lebih produktif pas...', [ 'Sendirian tanpa gangguan ๐Ÿ™‹', 'Diskusi bareng teman ๐Ÿ‘ซ', 'Di tengah keramaian grup ๐ŸŽ‰', 'Biasa aja, gimanapun oke ๐Ÿ˜Š', ]), CheckinEntry('Apa kamu bawa laptop/buku?', [ 'Iya, teman me-time ku ๐Ÿ’ป', 'Iya, buat kerja bareng ๐Ÿ‘ซ', 'Enggak, mau main aja ๐ŸŽ‰', 'Enggak, cuma bawa hp ๐Ÿ“ฑ', ]), CheckinEntry('Lagi mau ngerayain ulang tahun?', [ 'Enggak, me-time aja ๐Ÿ™‹', 'Iya, ultah dia/aku ๐ŸŽ‚', 'Iya, pesta kecil-kecilan ๐ŸŽŠ', 'Enggak, hari biasa ๐Ÿ˜Š', ]), CheckinEntry('Kamu mau duduk di mana?', [ 'Pojok gelap (Sendiri) ๐ŸŒ™', 'Tengah terang (Berdua) โ˜€๏ธ', 'Sofa besar (Rame-rame) ๐Ÿ›‹๏ธ', 'Kursi mana aja (Biasa) ๐Ÿ˜Š', ]), CheckinEntry('Seberapa kencang tawamu nanti?', [ 'Gak ada tawa, cuma senyum ๐Ÿ™‚', 'Tawa kecil sesekali ๐Ÿ˜Š', 'Tawa kencang/heboh ๐Ÿ˜‚', 'Tawa sewajarnya ๐Ÿ˜„', ]), CheckinEntry('Kamu butuh menu yang...', [ 'Cepat habis (Sendiri) ๐Ÿ™‹', 'Cantik difoto (Berdua) ๐Ÿ“ธ', 'Banyak macamnya (Grup) ๐ŸŽŠ', 'Enak dan kenyang (Biasa) ๐Ÿ˜Š', ]), CheckinEntry('Apa kamu ngerasa "kesepian"?', [ 'Enggak, lagi menikmati ๐ŸŒฟ', 'Enggak, ada dia ๐Ÿ’•', 'Enggak, rame banget! ๐ŸŽ‰', 'Biasa aja, gak kepikiran ๐Ÿ˜Š', ]), CheckinEntry('Seberapa "sosial" hari kamu?', [ '0% (Anti-sosial) ๐Ÿ™‹', '50% (Satu orang) ๐Ÿ‘ซ', '100% (Social butterfly) ๐ŸŽŠ', '25% (Casual) ๐Ÿ˜Š', ]), CheckinEntry('Kamu butuh rekomendasi buat...', [ 'Diriku seutuhnya ๐Ÿ™‹', 'Hubungan kami berdua ๐Ÿ’•', 'Kebersamaan grup ini ๐ŸŽŠ', 'Pengunjung umum ๐Ÿ˜Š', ]), CheckinEntry('Jadi, pesanan ini untuk siapa?', [ 'Untuk aku seorang ๐Ÿ™‹', 'Untuk kita berdua ๐Ÿ‘ซ', 'Untuk rame-rame! ๐ŸŽŠ', 'Untuk makan/minum biasa ๐Ÿ˜Š', ]), ]; // --------------------------------------------------------------------------- // Nilai internal (keys) untuk tiap kategori โ€” disimpan ke Firestore // --------------------------------------------------------------------------- static const moodValues = ['senang', 'sedih', 'kecewa', 'marah']; static const cuacaValues = ['hujan', 'cerah', 'dingin', 'panas']; static const suasanaValues = ['sendiri', 'berdua', 'rame', 'biasa']; /// Ambil 1 pertanyaan per kategori berdasarkan hari ke-n dalam setahun. static ({CheckinEntry mood, CheckinEntry cuaca, CheckinEntry suasana}) getDailyEntries() { final dayOfYear = DateTime.now() .difference(DateTime(DateTime.now().year, 1, 1)) .inDays; return ( mood: mood[dayOfYear % mood.length], cuaca: cuaca[dayOfYear % cuaca.length], suasana: suasana[dayOfYear % suasana.length], ); } }