File size: 13,033 Bytes
238cf71
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
"""
Taiwanese elderly-friendly meal data for Silver Table Assistant.
Provides 15-20 nutritious, easy-to-chew meals suitable for seniors.
"""

from typing import List, Dict, Any

# Taiwanese elderly-friendly menu items
MENU_ITEMS: List[Dict[str, Any]] = [
    {
        "id": 1,
        "name": "清蒸鱸魚",
        "description": "新鮮鱸魚配薑絲蒸煮,魚肉嫩滑易咀嚼,富含優質蛋白質",
        "suitable_for": ["高血壓", "糖尿病", "牙口不好", "清淡飲食"],
        "image_url": "https://placehold.co/400x300?text=清蒸鱸魚",
        "nutrition": {
            "calories": 180,
            "protein": 25.0,
            "fat": 8.0,
            "carbs": 2.0,
            "sodium": 120,
            "fiber": 0.5,
            "sugar": 1.0
        },
        "price": 28000,  # 280元 in cents
        "category": "蛋白質類",
        "available": True
    },
    {
        "id": 2,
        "name": "南瓜燉肉",
        "description": "南瓜與瘦肉慢燉,口感軟糯,富含維生素A和膳食纖維",
        "suitable_for": ["高血壓", "便秘", "營養不良"],
        "image_url": "https://placehold.co/400x300?text=南瓜燉肉",
        "nutrition": {
            "calories": 220,
            "protein": 18.0,
            "fat": 12.0,
            "carbs": 15.0,
            "sodium": 200,
            "fiber": 3.0,
            "sugar": 8.0
        },
        "price": 22000,  # 220元 in cents
        "category": "葷食類",
        "available": True
    },
    {
        "id": 3,
        "name": "白蘿蔔湯",
        "description": "清淡蘿蔔湯,口感軟嫩,幫助消化,利尿消腫",
        "suitable_for": ["高血壓", "糖尿病", "便秘", "清淡飲食"],
        "image_url": "https://placehold.co/400x300?text=白蘿蔔湯",
        "nutrition": {
            "calories": 45,
            "protein": 2.0,
            "fat": 0.5,
            "carbs": 9.0,
            "sodium": 150,
            "fiber": 2.0,
            "sugar": 4.0
        },
        "price": 8000,  # 80元 in cents
        "category": "湯品",
        "available": True
    },
    {
        "id": 4,
        "name": "蒸蛋羹",
        "description": "嫩滑蒸蛋,口感柔軟易吞嚥,富含優質蛋白質",
        "suitable_for": ["牙口不好", "營養不良", "清淡飲食"],
        "image_url": "https://placehold.co/400x300?text=蒸蛋羹",
        "nutrition": {
            "calories": 120,
            "protein": 10.0,
            "fat": 8.0,
            "carbs": 2.0,
            "sodium": 80,
            "fiber": 0.0,
            "sugar": 1.5
        },
        "price": 6000,  # 60元 in cents
        "category": "蛋白質類",
        "available": True
    },
    {
        "id": 5,
        "name": "紅棗銀耳湯",
        "description": "溫潤甜湯,銀耳富含膠質,紅棗補血養顏",
        "suitable_for": ["糖尿病", "便秘", "美容養顏"],
        "image_url": "https://placehold.co/400x300?text=紅棗銀耳湯",
        "nutrition": {
            "calories": 95,
            "protein": 1.5,
            "fat": 0.3,
            "carbs": 22.0,
            "sodium": 20,
            "fiber": 4.0,
            "sugar": 15.0
        },
        "price": 12000,  # 120元 in cents
        "category": "甜品類",
        "available": True
    },
    {
        "id": 6,
        "name": "菠菜豆腐湯",
        "description": "嫩菠菜配軟豆腐,富含鐵質和蛋白質",
        "suitable_for": ["高血壓", "糖尿病", "牙口不好"],
        "image_url": "https://placehold.co/400x300?text=菠菜豆腐湯",
        "nutrition": {
            "calories": 85,
            "protein": 8.0,
            "fat": 4.0,
            "carbs": 6.0,
            "sodium": 180,
            "fiber": 2.5,
            "sugar": 2.0
        },
        "price": 10000,  # 100元 in cents
        "category": "蔬菜類",
        "available": True
    },
    {
        "id": 7,
        "name": "山藥排骨湯",
        "description": "滋補湯品,山藥健脾益胃,排骨補充鈣質",
        "suitable_for": ["高血壓", "糖尿病", "營養不良"],
        "image_url": "https://placehold.co/400x300?text=山藥排骨湯",
        "nutrition": {
            "calories": 165,
            "protein": 12.0,
            "fat": 10.0,
            "carbs": 6.0,
            "sodium": 220,
            "fiber": 1.5,
            "sugar": 2.5
        },
        "price": 18000,  # 180元 in cents
        "category": "湯品",
        "available": True
    },
    {
        "id": 8,
        "name": "小米粥",
        "description": "溫和養胃小米粥,易消化,適合早晚食用",
        "suitable_for": ["糖尿病", "牙口不好", "清淡飲食"],
        "image_url": "https://placehold.co/400x300?text=小米粥",
        "nutrition": {
            "calories": 120,
            "protein": 4.0,
            "fat": 2.0,
            "carbs": 22.0,
            "sodium": 50,
            "fiber": 2.0,
            "sugar": 1.0
        },
        "price": 5000,  # 50元 in cents
        "category": "主食類",
        "available": True
    },
    {
        "id": 9,
        "name": "香菇雞湯",
        "description": "香菇雞肉湯,鮮美營養,增強免疫力",
        "suitable_for": ["高血壓", "營養不良", "清淡飲食"],
        "image_url": "https://placehold.co/400x300?text=香菇雞湯",
        "nutrition": {
            "calories": 150,
            "protein": 20.0,
            "fat": 6.0,
            "carbs": 3.0,
            "sodium": 280,
            "fiber": 1.0,
            "sugar": 1.5
        },
        "price": 16000,  # 160元 in cents
        "category": "湯品",
        "available": True
    },
    {
        "id": 10,
        "name": "冬瓜排骨湯",
        "description": "清淡冬瓜湯,利尿消腫,適合夏季食用",
        "suitable_for": ["高血壓", "糖尿病", "水腫"],
        "image_url": "https://placehold.co/400x300?text=冬瓜排骨湯",
        "nutrition": {
            "calories": 110,
            "protein": 10.0,
            "fat": 6.0,
            "carbs": 5.0,
            "sodium": 200,
            "fiber": 1.5,
            "sugar": 3.0
        },
        "price": 14000,  # 140元 in cents
        "category": "湯品",
        "available": True
    },
    {
        "id": 11,
        "name": "紫薯泥",
        "description": "軟糯紫薯泥,富含花青素和膳食纖維",
        "suitable_for": ["糖尿病", "便秘", "抗氧化"],
        "image_url": "https://placehold.co/400x300?text=紫薯泥",
        "nutrition": {
            "calories": 130,
            "protein": 2.5,
            "fat": 0.3,
            "carbs": 30.0,
            "sodium": 30,
            "fiber": 4.0,
            "sugar": 8.0
        },
        "price": 7000,  # 70元 in cents
        "category": "副食類",
        "available": True
    },
    {
        "id": 12,
        "name": "蓮子銀耳湯",
        "description": "養生甜湯,蓮子寧心安神,銀耳潤肺",
        "suitable_for": ["失眠", "便秘", "美容養顏"],
        "image_url": "https://placehold.co/400x300?text=蓮子銀耳湯",
        "nutrition": {
            "calories": 85,
            "protein": 2.0,
            "fat": 0.2,
            "carbs": 20.0,
            "sodium": 15,
            "fiber": 3.5,
            "sugar": 12.0
        },
        "price": 11000,  # 110元 in cents
        "category": "甜品類",
        "available": True
    },
    {
        "id": 13,
        "name": "蒸蛋",
        "description": "嫩滑蒸蛋,簡單易消化,營養豐富",
        "suitable_for": ["牙口不好", "營養不良", "清淡飲食"],
        "image_url": "https://placehold.co/400x300?text=蒸蛋",
        "nutrition": {
            "calories": 100,
            "protein": 8.0,
            "fat": 7.0,
            "carbs": 1.0,
            "sodium": 70,
            "fiber": 0.0,
            "sugar": 1.0
        },
        "price": 4000,  # 40元 in cents
        "category": "蛋白質類",
        "available": True
    },
    {
        "id": 14,
        "name": "木瓜牛奶",
        "description": "溫潤木瓜牛奶,有助消化,補充維生素",
        "suitable_for": ["便秘", "美容養顏", "清淡飲食"],
        "image_url": "https://placehold.co/400x300?text=木瓜牛奶",
        "nutrition": {
            "calories": 150,
            "protein": 8.0,
            "fat": 6.0,
            "carbs": 18.0,
            "sodium": 120,
            "fiber": 2.0,
            "sugar": 16.0
        },
        "price": 9000,  # 90元 in cents
        "category": "飲品類",
        "available": True
    },
    {
        "id": 15,
        "name": "豆腐腦",
        "description": "嫩滑豆腐腦,易吞嚥,富含植物蛋白",
        "suitable_for": ["牙口不好", "高血壓", "清淡飲食"],
        "image_url": "https://placehold.co/400x300?text=豆腐腦",
        "nutrition": {
            "calories": 80,
            "protein": 6.0,
            "fat": 4.0,
            "carbs": 4.0,
            "sodium": 160,
            "fiber": 1.0,
            "sugar": 2.0
        },
        "price": 3500,  # 35元 in cents
        "category": "蛋白質類",
        "available": True
    },
    {
        "id": 16,
        "name": "燕窩粥",
        "description": "滋補燕窩粥,美容養顏,滋陰潤燥",
        "suitable_for": ["糖尿病", "美容養顏", "營養不良"],
        "image_url": "https://placehold.co/400x300?text=燕窩粥",
        "nutrition": {
            "calories": 140,
            "protein": 6.0,
            "fat": 1.5,
            "carbs": 26.0,
            "sodium": 40,
            "fiber": 1.0,
            "sugar": 3.0
        },
        "price": 35000,  # 350元 in cents
        "category": "主食類",
        "available": True
    },
    {
        "id": 17,
        "name": "胡蘿蔔泥",
        "description": "軟嫩胡蘿蔔泥,富含維生素A,保護視力",
        "suitable_for": ["高血壓", "便秘", "護眼"],
        "image_url": "https://placehold.co/400x300?text=胡蘿蔔泥",
        "nutrition": {
            "calories": 60,
            "protein": 1.5,
            "fat": 0.3,
            "carbs": 14.0,
            "sodium": 80,
            "fiber": 3.5,
            "sugar": 7.0
        },
        "price": 4500,  # 45元 in cents
        "category": "副食類",
        "available": True
    },
    {
        "id": 18,
        "name": "綠豆湯",
        "description": "清熱解毒綠豆湯,消暑降火,利尿",
        "suitable_for": ["高血壓", "水腫", "清熱解毒"],
        "image_url": "https://placehold.co/400x300?text=綠豆湯",
        "nutrition": {
            "calories": 110,
            "protein": 7.0,
            "fat": 0.5,
            "carbs": 22.0,
            "sodium": 25,
            "fiber": 6.0,
            "sugar": 2.0
        },
        "price": 6500,  # 65元 in cents
        "category": "甜品類",
        "available": True
    },
    {
        "id": 19,
        "name": "雞肉粥",
        "description": "營養雞肉粥,溫和養胃,適合病後調養",
        "suitable_for": ["牙口不好", "營養不良", "腸胃虚弱"],
        "image_url": "https://placehold.co/400x300?text=雞肉粥",
        "nutrition": {
            "calories": 160,
            "protein": 12.0,
            "fat": 4.0,
            "carbs": 18.0,
            "sodium": 180,
            "fiber": 1.0,
            "sugar": 1.5
        },
        "price": 15000,  # 150元 in cents
        "category": "主食類",
        "available": True
    },
    {
        "id": 20,
        "name": "紫菜蛋花湯",
        "description": "清淡紫菜湯,富含碘質,有助甲狀腺健康",
        "suitable_for": ["高血壓", "糖尿病", "清淡飲食"],
        "image_url": "https://placehold.co/400x300?text=紫菜蛋花湯",
        "nutrition": {
            "calories": 40,
            "protein": 3.0,
            "fat": 2.0,
            "carbs": 2.0,
            "sodium": 200,
            "fiber": 1.0,
            "sugar": 1.0
        },
        "price": 5500,  # 55元 in cents
        "category": "湯品",
        "available": True
    }
]


def get_menu_items() -> List[Dict[str, Any]]:
    """Return the complete list of menu items."""
    return MENU_ITEMS


def get_menu_item_by_id(item_id: int) -> Dict[str, Any]:
    """Get a specific menu item by ID."""
    for item in MENU_ITEMS:
        if item["id"] == item_id:
            return item
    raise ValueError(f"Menu item with ID {item_id} not found")


def filter_menu_by_dietary_tag(tag: str) -> List[Dict[str, Any]]:
    """Filter menu items by dietary tag."""
    return [item for item in MENU_ITEMS if tag in item["suitable_for"]]


def get_menu_items_by_category(category: str) -> List[Dict[str, Any]]:
    """Filter menu items by category."""
    return [item for item in MENU_ITEMS if item["category"] == category]