This repository was archived by the owner on Jan 11, 2026. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathchapter4.html
More file actions
350 lines (332 loc) · 23.7 KB
/
Copy pathchapter4.html
File metadata and controls
350 lines (332 loc) · 23.7 KB
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
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Mandarin Guide</title>
<meta name="theme-color" content="#000000" />
<script src="https://cdn.tailwindcss.com"></script>
<link rel="stylesheet" href="css/style.css">
<script src="js/layout.js" defer></script>
<script src="js/app.js" defer></script>
</head>
<body class="bg-black text-white">
<main class="main-content pb-24">
<div class="p-6 md:p-10">
<div class="w-full max-w-[95%] mx-auto">
<article class="content-page card p-6 mb-8" data-page-id="chapter4">
<div class="flex items-center justify-between mb-6">
<h3 class="card-title text-xl font-semibold">Chapter 4: Daily Life Products</h3>
<span class="text-sm font-mono text-pink-400 bg-pink-400/10 px-2 py-1 rounded">Level 4</span>
</div>
<p class="mb-5 text-slate-400 leading-relaxed">Convenience stores (7-11, FamilyMart) are the heart
of
life in Taiwan. Here's the vocabulary for everything you might buy or need there.</p>
<h4 class="font-semibold mt-6 mb-3 text-lg text-white">Drinks & Essentials</h4>
<div class="overflow-x-auto">
<table class="table">
<thead>
<tr>
<th>Name</th>
<th>Traditional Chinese</th>
<th>Pinyin</th>
</tr>
</thead>
<tbody>
<tr>
<td>Water</td>
<td><span class="hanzi" data-speak="水">水</span></td>
<td><span class="pinyin">shui</span></td>
</tr>
<tr>
<td>Coffee</td>
<td><span class="hanzi" data-speak="咖啡">咖啡</span></td>
<td><span class="pinyin">kafei</span></td>
</tr>
<tr>
<td>Tea</td>
<td><span class="hanzi" data-speak="茶">茶</span></td>
<td><span class="pinyin">chá</span></td>
</tr>
<tr>
<td>Milk</td>
<td><span class="hanzi" data-speak="牛奶">牛奶</span></td>
<td><span class="pinyin">niúnai</span></td>
</tr>
<tr>
<td>Beer</td>
<td><span class="hanzi" data-speak="啤酒">啤酒</span></td>
<td><span class="pinyin">píjiu</span></td>
</tr>
<tr>
<td>Tissue / Toilet Paper</td>
<td><span class="hanzi" data-speak="卫生纸">卫生纸</span></td>
<td><span class="pinyin">wèishengzhi</span></td>
</tr>
<tr>
<td>Umbrella</td>
<td><span class="hanzi" data-speak="雨伞">雨伞</span></td>
<td><span class="pinyin">yusan</span></td>
</tr>
</tbody>
</table>
</div>
<h4 class="font-semibold mt-8 mb-3 text-lg text-white">At the Counter & Services</h4>
<ul class="space-y-4">
<li><strong>EasyCard:</strong> <span class="hanzi" data-speak="悠游卡">悠游卡</span> (<span
class="pinyin">youyóuka</span>)</li>
<li><strong>To Heat Up (Microwave):</strong> <span class="hanzi" data-speak="微波">微波</span>
(<span class="pinyin">wéibo</span>)
<br><small class="text-slate-400"> The clerk will ask: <span class="hanzi"
data-speak="需要微波吗?">需要微波吗?</span> (Need microwave?)</small>
</li>
<li><strong>Receipt:</strong> <span class="hanzi" data-speak="发票">发票</span> (<span
class="pinyin">fapiào</span>)
<br><small class="text-slate-400">Receipts are lottery tickets! Keep them.</small>
</li>
<li><strong>Bag:</strong> <span class="hanzi" data-speak="袋子">袋子</span> (<span
class="pinyin">dàizi</span>)
<br><small class="text-slate-400"><span class="hanzi" data-speak="需要袋子吗?">需要袋子吗?</span> (Do
you
want a bag?)</small>
</li>
<li><strong>Pick up package:</strong> <span class="hanzi" data-speak="我要取货">我要取货</span>
(<span class="pinyin">Wo yào quhuò</span>)
<br><small class="text-slate-400">They will ask for "Last 3 digits of phone number" (<span
class="hanzi" data-speak="手机末三码">手机末三码</span> shouji mò san ma).</small>
</li>
<li><strong>Pay bills:</strong> <span class="hanzi" data-speak="我要缴费">我要缴费</span> (<span
class="pinyin">Wo yào jiaofèi</span>)
<br><small class="text-slate-400">Parking, water, electricity bills.</small>
</li>
</ul>
<h4 class="font-semibold mt-8 mb-3 text-lg text-white">Hot Food Section (热食区)</h4>
<div class="grid grid-cols-1 md:grid-cols-3 gap-4">
<div class="card p-3 bg-white border border-slate-200">
<h5 class="font-bold text-white">Tea Egg</h5>
<p class="text-lg text-amber-600"><span class="hanzi" data-speak="茶叶蛋">茶叶蛋</span></p>
<p class="text-xs text-slate-400">cháyèdàn</p>
</div>
<div class="card p-3 bg-white border border-slate-200">
<h5 class="font-bold text-white">Roasted Sweet Potato</h5>
<p class="text-lg text-amber-600"><span class="hanzi" data-speak="烤地瓜">烤地瓜</span></p>
<p class="text-xs text-slate-400">kao dìgua</p>
</div>
<div class="card p-3 bg-white border border-slate-200">
<h5 class="font-bold text-white">Oden (Hot Pot items)</h5>
<p class="text-lg text-amber-600"><span class="hanzi" data-speak="关东煮">关东煮</span></p>
<p class="text-xs text-slate-400">guandongzhu</p>
</div>
</div>
<h4 class="font-semibold mt-8 mb-3 text-lg text-white">ATM Vocabulary</h4>
<ul class="space-y-2 list-disc list-inside text-white">
<li><strong>Withdraw Money:</strong> <span class="hanzi" data-speak="提款">提款</span> (tíkuan)
/ <span class="hanzi" data-speak="领钱">领钱</span> (lingqián)</li>
<li><strong>Deposit Money:</strong> <span class="hanzi" data-speak="存款">存款</span> (cúnkuan)
</li>
<li><strong>Transfer:</strong> <span class="hanzi" data-speak="转账">转账</span> (zhuanzhàng)
</li>
<li><strong>Balance Inquiry:</strong> <span class="hanzi" data-speak="查询余额">查询余额</span>
(cháxún yú'é)</li>
</ul>
<!-- NEW CONTENT FOR LEVEL 4 EXTENSION -->
<h4 class="font-semibold mt-8 mb-3 text-lg text-white">Sentence Patterns: Existence (You Meiyou)
</h4>
<div class="callout p-4 mb-6 bg-blue-900/20 border-l-4 border-blue-500">
<p class="text-blue-200 text-sm font-bold mb-2">Do you have...?</p>
<p class="text-slate-300 text-sm">
To ask if a shop has something, use: <span class="hanzi" data-speak="有没有卖">有没有卖...?</span>
(Yǒu méiyǒu
mài...?)
<br><br>
<strong>Ex:</strong> <span class="hanzi" data-speak="这里有没有卖咖啡?">这里有没有卖咖啡?</span> (Is coffee
sold here?)
<br><strong>Ex:</strong> <span class="hanzi" data-speak="你们有卖水吗?">你们有卖水吗?</span> (Do you
sell water?)
</p>
</div>
<h4 class="font-semibold mt-8 mb-3 text-lg text-white">Real-world Scenario: Package Pickup</h4>
<div class="space-y-4 bg-slate-800/50 p-4 rounded-lg border border-slate-700 mb-8">
<div>
<p><strong>You:</strong> <span class="hanzi" data-speak="我要取货。">我要取货。</span> (Wǒ yào qǔhuò.)
</p>
<p class="text-sm text-slate-400">I want to pick up a package.</p>
</div>
<div>
<p><strong>Clerk:</strong> <span class="hanzi" data-speak="手机末三码?">手机末三码?</span> (Shǒujī mò
sān mǎ?)</p>
<p class="text-sm text-slate-400">Last 3 digits of phone number?</p>
</div>
<div>
<p><strong>You:</strong> <span class="hanzi" data-speak="一二三。">一二三。</span> (Yī èr sān.)</p>
<p class="text-sm text-slate-400">One, two, three.</p>
</div>
<div>
<p><strong>Clerk:</strong> <span class="hanzi" data-speak="叫什么名字?">叫什么名字?</span> (Jiào
shénme míngzì?)</p>
<p class="text-sm text-slate-400">What is the name?</p>
</div>
</div>
<h4 class="font-semibold mt-8 mb-3 text-lg text-white">Comprehension Check: Clerk Questions</h4>
<p class="text-slate-400 mb-4">What is the clerk asking?</p>
<div class="space-y-3 mb-8">
<div class="bg-slate-900 p-4 rounded border border-slate-800">
<p class="mb-2 font-bold text-white">1. <span class="hanzi"
data-speak="需不需要微波?">需不需要微波?</span> (Xū bù xūyào
wéibō?)</p>
<details class="group">
<summary
class="cursor-pointer text-blue-400 hover:text-blue-300 transition-colors list-none font-medium text-sm">
Reveal Answer</summary>
<div class="mt-2 text-slate-300 pl-4 border-l-2 border-blue-500/30">
"Do you need to microwave this?"
</div>
</details>
</div>
<div class="bg-slate-900 p-4 rounded border border-slate-800">
<p class="mb-2 font-bold text-white">2. <span class="hanzi" data-speak="有会员吗?">有会员吗?</span>
(Yǒu huìyuán ma?)
</p>
<details class="group">
<summary
class="cursor-pointer text-blue-400 hover:text-blue-300 transition-colors list-none font-medium text-sm">
Reveal Answer</summary>
<div class="mt-2 text-slate-300 pl-4 border-l-2 border-blue-500/30">
"Do you have a membership?" (Very common at 7-11/FamilyMart)
</div>
</details>
</div>
</div>
<div class="page-footer-nav">
<div class="flex gap-3"><button class="prev-page-btn" data-prev-page-id="chapter3"><svg
class="w-5 h-5 mr-2" fill="none" stroke="currentColor" viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
d="M7 16l-4-4m0 0l4-4m-4 4h18"></path>
</svg><span>Previous Chapter</span></button><button class="home-page-btn"
data-home-page-id="home"><svg class="w-5 h-5 mr-2" fill="none" stroke="currentColor"
viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
d="M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6-4a1 1 0 001-1v-4a1 1 0 00-1-1H9a1 1 0 00-1 1v4a1 1 0 001 1h1z">
</path>
</svg><span>Home</span></button></div>
<div class="flex gap-3"><button class="mark-complete-btn" data-page-id="chapter4"><svg
class="w-5 h-5 mr-2" fill="none" stroke="currentColor" viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"></path>
</svg><span>Mark as Completed</span></button><button class="next-page-btn"
data-next-page-id="chapter5"><span>Next Chapter</span><svg class="w-5 h-5 ml-2"
fill="none" stroke="currentColor" viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
d="M17 8l4 4m0 0l-4 4m4-4H3"></path>
</svg></button></div>
</div>
</article>
</div>
</div>
</main> <!-- Modals -->
<div id="next-lesson-modal" class="fixed inset-0 z-50 flex items-center justify-center p-4" aria-hidden="true">
<!-- Modal Overlay -->
<div id="modal-overlay" class="fixed inset-0 bg-black/50 backdrop-blur-sm transition-opacity"></div>
<!-- Modal Content -->
<div class="relative w-full max-w-md p-6 bg-white rounded-lg shadow-xl transform transition-all">
<div class="flex items-start">
<div
class="flex-shrink-0 flex items-center justify-center h-12 w-12 rounded-full bg-blue-100 sm:mx-0 sm:h-10 sm:w-10">
<svg class="h-6 w-6 text-blue-600" fill="none" stroke="currentColor" viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
d="M8.228 9c.549-1.165 2.03-2 3.772-2 2.21 0 4 1.79 4 4 0 1.152-.468 2.185-1.22 2.963C13.978 14.63 13 15.21 13 16h-1v-1.5c0-1.076.62-2.062 1.62-2.887C14.43 10.843 15 10.106 15 9c0-1.105-.895-2-2-2-1.036 0-1.85.738-1.98 1.707L8.228 9zM12 20a1 1 0 100-2 1 1 0 000 2z">
</path>
</svg>
</div>
<div class="ml-4 text-left">
<h3 class="text-lg font-semibold leading-6 text-white" id="modal-title">Proceed to Next Lesson?
</h3>
<div class="mt-2">
<p class="text-sm text-slate-500">
Are you sure you're ready to move on?
</p>
</div>
</div>
</div>
<div class="flex items-center justify-center space-x-2 mt-4 pt-4 border-t border-gray-200">
<span class="text-sm text-slate-300 hidden sm:inline">Connect with Admin >>></span>
<!-- MODIFIED: Added hidden sm:inline -->
<div
class="w-8 h-8 rounded-full bg-slate-200 border border-slate-300 flex items-center justify-center overflow-hidden">
<img class="w-full h-full object-cover" src="./images/profile.jpg" alt="Brian's profile picture"
onerror="this.parentElement.innerHTML = `<svg class='w-6 h-6 text-slate-400' fill='currentColor' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'><path fill-rule='evenodd' d='M10 9a3 3 0 100-6 3 3 0 000 6zm-7 9a7 7 0 1114 0H3z' clip-rule='evenodd'></path></svg>`">
</div>
<a href="https://www.instagram.com/brian_offl/" target="_blank" rel="noopener noreferrer"
class="insta-btn flex items-center border border-pink-500 text-pink-500 hover:bg-pink-500 hover:text-white text-sm font-medium py-2 px-2 sm:px-3 rounded-lg transition-colors">
<!-- MODIFIED: px-2 sm:px-3 -->
<svg class="w-4 h-4" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg"> <!-- MODIFIED: removed mr-2 -->
<rect x="2" y="2" width="20" height="20" rx="5.657" ry="5.657"></rect>
<path d="M16 11.37A4 4 0 1112.63 8 4 4 0 0116 11.37zm1.5-4.87h.01"></path>
</svg>
<span class="hidden sm:inline-block ml-2 typewriter-button">Insta</span>
<!-- MODIFIED: Added hidden sm:inline-block, ml-2, typewriter-button -->
</a>
<a href="https://github.com/brianhexer" target="_blank" rel="noopener noreferrer"
class="flex items-center border border-white text-white bg-transparent hover:bg-white hover:text-black text-sm font-medium py-2 px-2 sm:px-3 rounded-lg transition-colors">
<!-- MODIFIED: px-2 sm:px-3 -->
<svg class="w-4 h-4" fill="currentColor" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">
<!-- MODIFIED: removed mr-2 -->
<path
d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.012 8.012 0 0 0 16 8c0-4.42-3.58-8-8-8z" />
</svg>
<span class="hidden sm:inline-block ml-2 typewriter-button">GitHub</span>
<!-- MODIFIED: Added hidden sm:inline-block, ml-2, typewriter-button -->
</a>
</div>
<div class="mt-5 sm:mt-6 sm:flex sm:flex-row-reverse gap-3">
<button id="modal-confirm-btn" type="button"
class="inline-flex w-full justify-center rounded-md border border-white bg-transparent px-4 py-2 text-base font-medium text-white shadow-sm hover:bg-white hover:text-black sm:w-auto sm:text-sm transition-colors">
Yes, Proceed
</button>
<button id="modal-cancel-btn" type="button"
class="mt-3 inline-flex w-full justify-center rounded-md border border-gray-600 bg-transparent px-4 py-2 text-base font-medium text-white shadow-sm hover:bg-white hover:text-black sm:mt-0 sm:w-auto sm:text-sm transition-colors">
Not Yet
</button>
</div>
</div>
</div>
<!-- END MODAL -->
<div id="search-modal" class="fixed inset-0 z-50 flex items-center justify-center p-4" aria-hidden="true">
<!-- Modal Overlay -->
<div id="search-modal-overlay" class="fixed inset-0 bg-black/50 backdrop-blur-sm transition-opacity"></div>
<!-- Modal Content -->
<div
class="relative w-full max-w-lg p-0 bg-white rounded-lg shadow-xl transform transition-all overflow-hidden">
<!-- Search Input -->
<div class="relative p-4">
<input type="search" id="search-input" placeholder="Search lessons..."
class="w-full pl-10 pr-12 py-2 border border-slate-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500">
<div class="absolute inset-y-0 left-0 pl-4 flex items-center pointer-events-none">
<svg class="w-5 h-5 text-slate-400" fill="none" stroke="currentColor" stroke-width="2"
viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path stroke-linecap="round" stroke-linejoin="round"
d="M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"></path>
</svg>
</div>
<button id="search-modal-close" aria-label="Close search"
class="absolute inset-y-0 right-0 pr-4 flex items-center text-slate-400 hover:text-slate-300 transition-colors">
<svg class="w-6 h-6" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg">
<path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12"></path>
</svg>
</button>
</div>
<!-- Search Results -->
<div id="search-results-container" class="max-h-96 overflow-y-auto p-4 border-t border-slate-200">
<p class="text-center text-slate-400">Type to search for lessons.</p>
</div>
</div>
</div>
<!-- END SEARCH MODAL -->
</body>
</html>