Add birthday previews and restore checklist taps

This commit is contained in:
Codex 2026-10-05 19:54:15 +01:00
parent d2c7f004ea
commit aaa3013890
11 changed files with 146 additions and 27 deletions

View file

@ -1,11 +1,50 @@
window.VALLEY_DATA = (() => {
const birthdays = {
spring: { 4: ["Kent (Year 2+)", 2], 7: ["Lewis"], 10: ["Vincent"], 14: ["Haley"], 18: ["Pam"], 20: ["Shane"], 26: ["Pierre"], 27: ["Emily"] },
spring: { 4: ["Kent", 2], 7: ["Lewis"], 10: ["Vincent"], 14: ["Haley"], 18: ["Pam"], 20: ["Shane"], 26: ["Pierre"], 27: ["Emily"] },
summer: { 4: ["Jas"], 8: ["Gus"], 10: ["Maru"], 13: ["Alex"], 17: ["Sam"], 19: ["Demetrius"], 22: ["Dwarf"], 24: ["Willy"], 26: ["Leo"] },
fall: { 2: ["Penny"], 5: ["Elliott"], 11: ["Jodi"], 13: ["Abigail"], 15: ["Sandy"], 18: ["Marnie"], 21: ["Robin"], 24: ["George"] },
winter: { 1: ["Krobus"], 3: ["Linus"], 7: ["Caroline"], 10: ["Sebastian"], 14: ["Harvey"], 17: ["Wizard"], 20: ["Evelyn"], 23: ["Leah"], 26: ["Clint"] }
};
// A short, practical gift guide for birthday cards: selected loved gifts
// plus character-specific disliked or hated gifts that are safest to avoid.
const giftProfiles = {
Kent: { loves: ["Fiddlehead Risotto", "Roasted Hazelnuts"], avoid: ["Holly", "Sashimi"] },
Lewis: { loves: ["Autumn's Bounty", "Glazed Yams", "Hot Pepper"], avoid: ["Holly", "Quartz"] },
Vincent: { loves: ["Grape", "Pink Cake", "Snail"], avoid: ["Clay", "Triple Shot Espresso"] },
Haley: { loves: ["Coconut", "Pink Cake", "Sunflower"], avoid: ["Prismatic Shard", "Wild Horseradish"] },
Pam: { loves: ["Beer", "Pale Ale", "Parsnip"], avoid: ["Holly", "Octopus"] },
Shane: { loves: ["Beer", "Hot Pepper", "Pizza"], avoid: ["Pickles", "Quartz"] },
Pierre: { loves: ["Fried Calamari", "Price Catalogue"], avoid: ["Corn", "Tortilla"] },
Emily: { loves: ["Amethyst", "Cloth", "Wool"], avoid: ["Fish Taco", "Sashimi"] },
Jas: { loves: ["Fairy Rose", "Pink Cake", "Plum Pudding"], avoid: ["Clay", "Triple Shot Espresso"] },
Gus: { loves: ["Diamond", "Fish Taco", "Orange"], avoid: ["Coleslaw", "Holly"] },
Maru: { loves: ["Battery Pack", "Cauliflower", "Strawberry"], avoid: ["Holly", "Pickles"] },
Alex: { loves: ["Complete Breakfast", "Salmon Dinner"], avoid: ["Holly", "Quartz"] },
Sam: { loves: ["Cactus Fruit", "Maple Bar", "Pizza"], avoid: ["Coal", "Pickles"] },
Demetrius: { loves: ["Bean Hotpot", "Ice Cream", "Strawberry"], avoid: ["Holly"] },
Dwarf: { loves: ["Amethyst", "Jade", "Omni Geode"], avoid: ["Eggs", "Milk"] },
Willy: { loves: ["Catfish", "Pumpkin", "Sturgeon"], avoid: ["Dirt", "Green Frog Egg"] },
Leo: { loves: ["Duck Feather", "Mango", "Poi"], avoid: ["Beer", "Holly"] },
Penny: { loves: ["Melon", "Poppy", "Sandfish"], avoid: ["Rabbit's Foot", "Wine"] },
Elliott: { loves: ["Crab Cakes", "Lobster", "Pomegranate"], avoid: ["Quartz", "Sea Cucumber"] },
Jodi: { loves: ["Chocolate Cake", "Pancakes", "Rhubarb Pie"], avoid: ["Daffodil", "Spice Berry"] },
Abigail: { loves: ["Amethyst", "Pumpkin", "Spicy Eel"], avoid: ["Clay", "Holly"] },
Sandy: { loves: ["Crocus", "Daffodil", "Sweet Pea"], avoid: ["Holly"] },
Marnie: { loves: ["Diamond", "Pink Cake", "Pumpkin Pie"], avoid: ["Clay", "Holly"] },
Robin: { loves: ["Goat Cheese", "Peach", "Spaghetti"], avoid: ["Holly"] },
George: { loves: ["Fried Mushroom", "Leek"], avoid: ["Clay", "Holly"] },
Krobus: { loves: ["Pumpkin", "Void Egg", "Void Mayonnaise"], avoid: ["Holly", "Life Elixir"] },
Linus: { loves: ["Cactus Fruit", "Coconut", "Yam"], avoid: ["Most gems", "Treasure Chest"] },
Caroline: { loves: ["Fish Taco", "Green Tea", "Summer Spangle"], avoid: ["Quartz"] },
Sebastian: { loves: ["Frozen Tear", "Sashimi", "Void Egg"], avoid: ["Clay", "Complete Breakfast"] },
Harvey: { loves: ["Coffee", "Pickles", "Wine"], avoid: ["Coral", "Salmonberry"] },
Wizard: { loves: ["Purple Mushroom", "Solar Essence", "Void Essence"], avoid: ["Eggs", "Milk"] },
Evelyn: { loves: ["Chocolate Cake", "Fairy Rose", "Tulip"], avoid: ["Clay", "Garlic"] },
Leah: { loves: ["Goat Cheese", "Salad", "Truffle"], avoid: ["Pizza", "Void Egg"] },
Clint: { loves: ["Amethyst", "Gold Bar", "Omni Geode"], avoid: ["Holly"] }
};
const events = {
spring: {
13: ["Egg Festival", "Pelican Town, 9am–2pm. Strawberry Seeds are the prize purchase."],
@ -112,5 +151,5 @@ window.VALLEY_DATA = (() => {
]}
];
return { birthdays, events, crops, bundles, seasons: ["spring", "summer", "fall", "winter"] };
return { birthdays, giftProfiles, events, crops, bundles, seasons: ["spring", "summer", "fall", "winter"] };
})();