@kood/claude-code 0.3.14 → 0.3.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/templates/.claude/skills/korea-uiux-design/SKILL.md +444 -0
- package/templates/.claude/skills/korea-uiux-design/references/accessibility.md +298 -0
- package/templates/.claude/skills/korea-uiux-design/references/checklist.md +107 -0
- package/templates/.claude/skills/korea-uiux-design/references/color-system.md +156 -0
- package/templates/.claude/skills/korea-uiux-design/references/design-philosophy.md +25 -0
- package/templates/.claude/skills/korea-uiux-design/references/icon-guide.md +180 -0
- package/templates/.claude/skills/korea-uiux-design/references/micro-interactions.md +259 -0
- package/templates/.claude/skills/korea-uiux-design/references/responsive-patterns.md +115 -0
- package/templates/.claude/skills/korea-uiux-design/references/service-patterns.md +206 -0
- package/templates/.claude/skills/korea-uiux-design/references/state-patterns.md +320 -0
- package/templates/.claude/skills/korea-uiux-design/references/typography.md +70 -0
- package/templates/.claude/skills/vs-design-diverge/SKILL.md +0 -307
package/dist/index.js
CHANGED
|
@@ -431,7 +431,7 @@ var init = async (options) => {
|
|
|
431
431
|
|
|
432
432
|
// src/index.ts
|
|
433
433
|
var program = new Command();
|
|
434
|
-
program.name("claude-code").description("Claude Code documentation installer for projects").version("0.3.
|
|
434
|
+
program.name("claude-code").description("Claude Code documentation installer for projects").version("0.3.15");
|
|
435
435
|
program.option(
|
|
436
436
|
"-t, --template <names>",
|
|
437
437
|
"template names (comma-separated: tanstack-start,hono)"
|
package/package.json
CHANGED
|
@@ -0,0 +1,444 @@
|
|
|
1
|
+
# 한국형 앱 UI/UX 디자인
|
|
2
|
+
|
|
3
|
+
<context>
|
|
4
|
+
|
|
5
|
+
**Purpose:** 한국 사용자 대상 앱/웹 UI/UX 디자인 구현. shadcn/ui 기본 스타일 대신 토스/카카오/배민/플렉스 등 국내 앱 스타일 적용.
|
|
6
|
+
|
|
7
|
+
**Trigger:** 프론트엔드 UI/UX 구현, React/Vue 컴포넌트 디자인, 반응형 웹/앱 개발, 한국 사용자 대상 서비스
|
|
8
|
+
|
|
9
|
+
**Key Features:**
|
|
10
|
+
- 정보 밀도와 가독성 균형
|
|
11
|
+
- 절제된 미니멀리즘
|
|
12
|
+
- 대화하는 듯한 UX 라이팅
|
|
13
|
+
- WCAG AA 접근성 기준
|
|
14
|
+
|
|
15
|
+
</context>
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
<core_principles>
|
|
20
|
+
|
|
21
|
+
## 디자인 철학
|
|
22
|
+
|
|
23
|
+
| 원칙 | 적용 |
|
|
24
|
+
|------|------|
|
|
25
|
+
| **정보 밀도** | 한 화면에 핵심만, 상세는 펼침/모달 |
|
|
26
|
+
| **미니멀리즘** | 불필요한 장식 제거, 미세한 보더로 구분 |
|
|
27
|
+
| **부드러운 곡선** | border-radius 8-16px |
|
|
28
|
+
| **UX 라이팅** | "입력하세요" → "어떤 이름으로 불러드릴까요?" |
|
|
29
|
+
|
|
30
|
+
**상세:** [references/design-philosophy.md](references/design-philosophy.md)
|
|
31
|
+
|
|
32
|
+
</core_principles>
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
<layout_patterns>
|
|
37
|
+
|
|
38
|
+
## 레이아웃
|
|
39
|
+
|
|
40
|
+
### 컨테이너 너비
|
|
41
|
+
|
|
42
|
+
```tsx
|
|
43
|
+
{/* 대시보드 - 1200px */}
|
|
44
|
+
<div className="max-w-7xl mx-auto px-4 md:px-6 lg:px-8">
|
|
45
|
+
|
|
46
|
+
{/* 콘텐츠 - 800px */}
|
|
47
|
+
<div className="max-w-3xl mx-auto px-4 md:px-6">
|
|
48
|
+
|
|
49
|
+
{/* 폼/설정 - 480px */}
|
|
50
|
+
<div className="max-w-md mx-auto px-4">
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
### 여백
|
|
54
|
+
|
|
55
|
+
```tsx
|
|
56
|
+
{/* 섹션 간 */}
|
|
57
|
+
<div className="space-y-8 md:space-y-12">
|
|
58
|
+
|
|
59
|
+
{/* 카드 내부 */}
|
|
60
|
+
<div className="p-4 md:p-6">
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
</layout_patterns>
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
<component_patterns>
|
|
68
|
+
|
|
69
|
+
## 컴포넌트
|
|
70
|
+
|
|
71
|
+
### 버튼
|
|
72
|
+
|
|
73
|
+
```tsx
|
|
74
|
+
{/* Primary */}
|
|
75
|
+
<button className="h-11 px-4 rounded-lg bg-blue-500 hover:bg-blue-600 text-white font-medium transition-colors">
|
|
76
|
+
저장하기
|
|
77
|
+
</button>
|
|
78
|
+
|
|
79
|
+
{/* Secondary */}
|
|
80
|
+
<button className="h-11 px-4 rounded-lg border border-gray-300 hover:bg-gray-50 font-medium transition-colors">
|
|
81
|
+
취소
|
|
82
|
+
</button>
|
|
83
|
+
|
|
84
|
+
{/* Ghost */}
|
|
85
|
+
<button className="h-11 px-4 rounded-lg hover:bg-gray-100 font-medium transition-colors">
|
|
86
|
+
더보기
|
|
87
|
+
</button>
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
**크기:** Small h-8 px-3 | Medium h-11 px-4 | Large h-12 px-5
|
|
91
|
+
|
|
92
|
+
### 카드
|
|
93
|
+
|
|
94
|
+
```tsx
|
|
95
|
+
<div className="p-4 md:p-6 border border-gray-200 rounded-xl bg-white">
|
|
96
|
+
{/* 헤더 */}
|
|
97
|
+
<div className="flex items-center justify-between mb-4">
|
|
98
|
+
<h3 className="text-lg font-semibold">제목</h3>
|
|
99
|
+
<button className="text-gray-500">•••</button>
|
|
100
|
+
</div>
|
|
101
|
+
|
|
102
|
+
{/* 바디 */}
|
|
103
|
+
<div className="space-y-3">
|
|
104
|
+
<p className="text-sm text-gray-700 leading-relaxed">콘텐츠</p>
|
|
105
|
+
</div>
|
|
106
|
+
|
|
107
|
+
{/* 푸터 */}
|
|
108
|
+
<div className="flex items-center justify-between mt-4 pt-4 border-t">
|
|
109
|
+
<span className="text-sm text-gray-500">2시간 전</span>
|
|
110
|
+
<button className="text-sm text-blue-500 font-medium">자세히</button>
|
|
111
|
+
</div>
|
|
112
|
+
</div>
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
### 리스트 아이템
|
|
116
|
+
|
|
117
|
+
```tsx
|
|
118
|
+
<div className="flex items-center gap-3 p-4 hover:bg-gray-50 transition-colors cursor-pointer">
|
|
119
|
+
{/* 좌측: 썸네일 */}
|
|
120
|
+
<div className="w-12 h-12 rounded-lg bg-gray-100 flex-shrink-0" />
|
|
121
|
+
|
|
122
|
+
{/* 중앙: 제목+설명 */}
|
|
123
|
+
<div className="flex-1 min-w-0">
|
|
124
|
+
<div className="font-semibold text-sm truncate">제목</div>
|
|
125
|
+
<div className="text-[13px] text-gray-600 truncate">설명</div>
|
|
126
|
+
</div>
|
|
127
|
+
|
|
128
|
+
{/* 우측: 숫자/상태 */}
|
|
129
|
+
<div className="flex items-center gap-2 flex-shrink-0">
|
|
130
|
+
<span className="text-sm font-semibold">15,000원</span>
|
|
131
|
+
<svg className="w-5 h-5 text-gray-400" />
|
|
132
|
+
</div>
|
|
133
|
+
</div>
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
### 입력 필드
|
|
137
|
+
|
|
138
|
+
```tsx
|
|
139
|
+
<div className="space-y-2">
|
|
140
|
+
<label className="text-sm font-medium text-gray-900">
|
|
141
|
+
이메일 <span className="text-red-500">*</span>
|
|
142
|
+
</label>
|
|
143
|
+
<input
|
|
144
|
+
type="email"
|
|
145
|
+
className="w-full h-11 px-3 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent transition-shadow"
|
|
146
|
+
placeholder="example@email.com"
|
|
147
|
+
/>
|
|
148
|
+
</div>
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
### 모달
|
|
152
|
+
|
|
153
|
+
```tsx
|
|
154
|
+
<div className="fixed inset-0 bg-black/50 flex items-center justify-center p-4 z-50">
|
|
155
|
+
<div className="bg-white rounded-2xl max-w-md w-full max-h-[90vh] overflow-auto">
|
|
156
|
+
<div className="flex items-center justify-between p-6 border-b">
|
|
157
|
+
<h2 className="text-xl font-semibold">모달 제목</h2>
|
|
158
|
+
<button className="w-8 h-8 flex items-center justify-center rounded-lg hover:bg-gray-100">✕</button>
|
|
159
|
+
</div>
|
|
160
|
+
<div className="p-6"><p className="text-sm text-gray-700 leading-relaxed">내용</p></div>
|
|
161
|
+
<div className="flex gap-2 justify-end p-6 border-t">
|
|
162
|
+
<button className="h-11 px-4 rounded-lg border">취소</button>
|
|
163
|
+
<button className="h-11 px-4 rounded-lg bg-blue-500 text-white">확인</button>
|
|
164
|
+
</div>
|
|
165
|
+
</div>
|
|
166
|
+
</div>
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
### 탭
|
|
170
|
+
|
|
171
|
+
```tsx
|
|
172
|
+
{/* 밑줄 스타일 */}
|
|
173
|
+
<div className="border-b border-gray-200">
|
|
174
|
+
<div className="flex gap-8">
|
|
175
|
+
<button className="py-3 text-sm font-medium text-blue-500 border-b-2 border-blue-500">전체</button>
|
|
176
|
+
<button className="py-3 text-sm font-medium text-gray-600 hover:text-gray-900">진행중</button>
|
|
177
|
+
</div>
|
|
178
|
+
</div>
|
|
179
|
+
|
|
180
|
+
{/* 세그먼트 */}
|
|
181
|
+
<div className="inline-flex p-1 bg-gray-100 rounded-lg gap-1">
|
|
182
|
+
<button className="px-4 py-2 rounded-md bg-white shadow-sm text-sm font-medium">전체</button>
|
|
183
|
+
<button className="px-4 py-2 rounded-md text-sm font-medium text-gray-600">진행중</button>
|
|
184
|
+
</div>
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
</component_patterns>
|
|
188
|
+
|
|
189
|
+
---
|
|
190
|
+
|
|
191
|
+
<color_system>
|
|
192
|
+
|
|
193
|
+
## 색상 시스템
|
|
194
|
+
|
|
195
|
+
| 색상 | 용도 | 비율 |
|
|
196
|
+
|------|------|------|
|
|
197
|
+
| **Primary** | 버튼, 링크, 활성 상태 | 10% |
|
|
198
|
+
| **Secondary** | 필터, 칩, 보조 버튼 | 30% |
|
|
199
|
+
| **Background** | 배경 | 60% |
|
|
200
|
+
| **Semantic** | Success/Error/Warning/Info | 필요시 |
|
|
201
|
+
|
|
202
|
+
```tsx
|
|
203
|
+
{/* 60-30-10 규칙 적용 */}
|
|
204
|
+
<button className="bg-primary-500 hover:bg-primary-600 text-white">주요 액션</button>
|
|
205
|
+
<button className="bg-secondary-200 text-secondary-900">보조 액션</button>
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
**WCAG AA:** 일반 텍스트 4.5:1 | 큰 텍스트 3:1
|
|
209
|
+
|
|
210
|
+
**상세:** [references/color-system.md](references/color-system.md)
|
|
211
|
+
|
|
212
|
+
</color_system>
|
|
213
|
+
|
|
214
|
+
---
|
|
215
|
+
|
|
216
|
+
<icon_system>
|
|
217
|
+
|
|
218
|
+
## 아이콘
|
|
219
|
+
|
|
220
|
+
| 크기 | 용도 | 터치 영역 |
|
|
221
|
+
|------|------|----------|
|
|
222
|
+
| 16px, 20px | 텍스트와 함께 | - |
|
|
223
|
+
| 24px | 기본 시스템 아이콘 | 44-48px |
|
|
224
|
+
| 32-48px | 강조 | 그대로 |
|
|
225
|
+
|
|
226
|
+
```tsx
|
|
227
|
+
{/* 충분한 터치 타겟 */}
|
|
228
|
+
<button className="w-12 h-12 flex items-center justify-center rounded-lg">
|
|
229
|
+
<svg className="w-6 h-6" />
|
|
230
|
+
</button>
|
|
231
|
+
|
|
232
|
+
{/* 비활성: Outline | 활성: Filled */}
|
|
233
|
+
<svg className="w-6 h-6 stroke-current text-gray-600" fill="none" />
|
|
234
|
+
<svg className="w-6 h-6 fill-current text-primary-500" />
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
**상세:** [references/icon-guide.md](references/icon-guide.md)
|
|
238
|
+
|
|
239
|
+
</icon_system>
|
|
240
|
+
|
|
241
|
+
---
|
|
242
|
+
|
|
243
|
+
<typography>
|
|
244
|
+
|
|
245
|
+
## 타이포그래피
|
|
246
|
+
|
|
247
|
+
```tsx
|
|
248
|
+
{/* 페이지 제목 */}
|
|
249
|
+
<h1 className="text-3xl font-bold tracking-tight leading-tight">대시보드</h1>
|
|
250
|
+
|
|
251
|
+
{/* 섹션 제목 */}
|
|
252
|
+
<h2 className="text-xl font-semibold tracking-tight">최근 활동</h2>
|
|
253
|
+
|
|
254
|
+
{/* 본문 */}
|
|
255
|
+
<p className="text-sm font-normal leading-relaxed text-gray-700">본문</p>
|
|
256
|
+
|
|
257
|
+
{/* 부가 정보 */}
|
|
258
|
+
<span className="text-[13px] text-gray-500">2시간 전</span>
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
**상세:** [references/typography.md](references/typography.md)
|
|
262
|
+
|
|
263
|
+
</typography>
|
|
264
|
+
|
|
265
|
+
---
|
|
266
|
+
|
|
267
|
+
<responsive_patterns>
|
|
268
|
+
|
|
269
|
+
## 반응형
|
|
270
|
+
|
|
271
|
+
### 그리드
|
|
272
|
+
|
|
273
|
+
```tsx
|
|
274
|
+
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-4">
|
|
275
|
+
{items.map(item => <Card key={item.id} {...item} />)}
|
|
276
|
+
</div>
|
|
277
|
+
```
|
|
278
|
+
|
|
279
|
+
### 네비게이션
|
|
280
|
+
|
|
281
|
+
```tsx
|
|
282
|
+
{/* 데스크톱: 사이드바 */}
|
|
283
|
+
<aside className="hidden lg:block w-60" />
|
|
284
|
+
|
|
285
|
+
{/* 모바일: 하단 탭바 */}
|
|
286
|
+
<nav className="lg:hidden fixed bottom-0 w-full h-14 border-t bg-white" />
|
|
287
|
+
```
|
|
288
|
+
|
|
289
|
+
**상세:** [references/responsive-patterns.md](references/responsive-patterns.md)
|
|
290
|
+
|
|
291
|
+
</responsive_patterns>
|
|
292
|
+
|
|
293
|
+
---
|
|
294
|
+
|
|
295
|
+
<service_patterns>
|
|
296
|
+
|
|
297
|
+
## 주요 서비스 패턴
|
|
298
|
+
|
|
299
|
+
| 서비스 | 색상 | 특징 |
|
|
300
|
+
|--------|------|------|
|
|
301
|
+
| **토스** | Blue #3182F6 | 신뢰감, 카드 중심, "어떤 이름으로 불러드릴까요?" |
|
|
302
|
+
| **카카오** | Yellow #FEE500 | 친근함, 말풍선 모티브, radius 12px |
|
|
303
|
+
| **배민** | Teal #2AC1BC | 감성, 손글씨, 일러스트 |
|
|
304
|
+
|
|
305
|
+
**상세:** [references/service-patterns.md](references/service-patterns.md)
|
|
306
|
+
|
|
307
|
+
</service_patterns>
|
|
308
|
+
|
|
309
|
+
---
|
|
310
|
+
|
|
311
|
+
<accessibility_and_states>
|
|
312
|
+
|
|
313
|
+
## 접근성 & 상태
|
|
314
|
+
|
|
315
|
+
### 접근성 필수
|
|
316
|
+
|
|
317
|
+
- 명암 대비 4.5:1 (WCAG AA)
|
|
318
|
+
- 키보드 네비게이션
|
|
319
|
+
- 색상만으로 정보 전달 금지
|
|
320
|
+
- 스크린 리더 호환
|
|
321
|
+
|
|
322
|
+
### 상태 패턴
|
|
323
|
+
|
|
324
|
+
```tsx
|
|
325
|
+
{/* 로딩 */}
|
|
326
|
+
<div className="animate-pulse space-y-3">
|
|
327
|
+
<div className="h-4 bg-gray-200 rounded w-3/4" />
|
|
328
|
+
</div>
|
|
329
|
+
|
|
330
|
+
{/* 에러 */}
|
|
331
|
+
<div className="text-red-600 flex items-center gap-2">
|
|
332
|
+
<svg className="w-5 h-5" />
|
|
333
|
+
<span>오류가 발생했습니다</span>
|
|
334
|
+
</div>
|
|
335
|
+
|
|
336
|
+
{/* 빈 상태 */}
|
|
337
|
+
<div className="py-12 text-center">
|
|
338
|
+
<div className="w-20 h-20 mx-auto mb-4 rounded-full bg-gray-100 flex items-center justify-center">
|
|
339
|
+
<svg className="w-10 h-10 text-gray-400" />
|
|
340
|
+
</div>
|
|
341
|
+
<h3 className="font-semibold mb-1">아직 내용이 없어요</h3>
|
|
342
|
+
<p className="text-sm text-gray-600">첫 번째 항목을 추가해보세요</p>
|
|
343
|
+
</div>
|
|
344
|
+
```
|
|
345
|
+
|
|
346
|
+
**상세:**
|
|
347
|
+
- [references/accessibility.md](references/accessibility.md)
|
|
348
|
+
- [references/micro-interactions.md](references/micro-interactions.md)
|
|
349
|
+
- [references/state-patterns.md](references/state-patterns.md)
|
|
350
|
+
|
|
351
|
+
</accessibility_and_states>
|
|
352
|
+
|
|
353
|
+
---
|
|
354
|
+
|
|
355
|
+
<references>
|
|
356
|
+
|
|
357
|
+
## 상세 문서
|
|
358
|
+
|
|
359
|
+
| 문서 | 내용 |
|
|
360
|
+
|------|------|
|
|
361
|
+
| [design-philosophy.md](references/design-philosophy.md) | 디자인 철학, 피해야 할 것 |
|
|
362
|
+
| [color-system.md](references/color-system.md) | Primary/Secondary/Semantic, WCAG, 서비스별 색상 |
|
|
363
|
+
| [icon-guide.md](references/icon-guide.md) | 크기, 터치 타겟, 스타일, 접근성 |
|
|
364
|
+
| [typography.md](references/typography.md) | 폰트, 크기, 웨이트, 한글 특징 |
|
|
365
|
+
| [service-patterns.md](references/service-patterns.md) | 토스/카카오/배민/플렉스/당근 분석 |
|
|
366
|
+
| [responsive-patterns.md](references/responsive-patterns.md) | 브레이크포인트, 그리드, 네비게이션 변환 |
|
|
367
|
+
| [accessibility.md](references/accessibility.md) | WCAG/KWCAG, 명암 대비, ARIA |
|
|
368
|
+
| [micro-interactions.md](references/micro-interactions.md) | 버튼/인풋/카드 인터랙션, 애니메이션 |
|
|
369
|
+
| [state-patterns.md](references/state-patterns.md) | 로딩/에러/빈 상태/성공 패턴 |
|
|
370
|
+
| [checklist.md](references/checklist.md) | 화면별 체크리스트 |
|
|
371
|
+
|
|
372
|
+
</references>
|
|
373
|
+
|
|
374
|
+
---
|
|
375
|
+
|
|
376
|
+
<prompt_examples>
|
|
377
|
+
|
|
378
|
+
## 프롬프트 예시
|
|
379
|
+
|
|
380
|
+
### 대시보드
|
|
381
|
+
|
|
382
|
+
```
|
|
383
|
+
대시보드 페이지 만들어줘.
|
|
384
|
+
|
|
385
|
+
레이아웃:
|
|
386
|
+
- 데스크톱: 좌측 사이드바(240px) + 메인(max-w-7xl)
|
|
387
|
+
- 모바일: 하단 탭바로 전환
|
|
388
|
+
- 반응형 패딩 (px-4 md:px-6 lg:px-8)
|
|
389
|
+
|
|
390
|
+
구성:
|
|
391
|
+
- 상단 인사말 + 날짜
|
|
392
|
+
- 통계 카드 4개 (grid-cols-1 md:grid-cols-2 lg:grid-cols-4)
|
|
393
|
+
- 최근 활동 리스트
|
|
394
|
+
- 빠른 액션 버튼
|
|
395
|
+
|
|
396
|
+
스타일:
|
|
397
|
+
- 한국형 SaaS (토스/플렉스)
|
|
398
|
+
- 카드: border + rounded-xl, 그림자 최소
|
|
399
|
+
- 숫자: font-bold + text-2xl
|
|
400
|
+
```
|
|
401
|
+
|
|
402
|
+
### 설정 화면
|
|
403
|
+
|
|
404
|
+
```
|
|
405
|
+
설정 페이지 만들어줘.
|
|
406
|
+
|
|
407
|
+
레이아웃:
|
|
408
|
+
- max-w-md mx-auto
|
|
409
|
+
- 섹션별 space-y-8
|
|
410
|
+
|
|
411
|
+
구성:
|
|
412
|
+
- 프로필: 아바타 + 이름 + 이메일
|
|
413
|
+
- 알림: 토글 스위치 (h-11 터치 영역)
|
|
414
|
+
- 계정: 비밀번호 변경, 로그아웃
|
|
415
|
+
- 위험: 계정 삭제 (빨간색)
|
|
416
|
+
|
|
417
|
+
스타일:
|
|
418
|
+
- 각 항목: flex justify-between items-center
|
|
419
|
+
- 레이블: text-sm font-medium
|
|
420
|
+
- 섹션 제목: text-xs text-gray-500 uppercase
|
|
421
|
+
```
|
|
422
|
+
|
|
423
|
+
### 리스트 화면
|
|
424
|
+
|
|
425
|
+
```
|
|
426
|
+
사용자 목록 만들어줘.
|
|
427
|
+
|
|
428
|
+
레이아웃:
|
|
429
|
+
- 데스크톱: 테이블
|
|
430
|
+
- 모바일: 카드 리스트
|
|
431
|
+
|
|
432
|
+
구성:
|
|
433
|
+
- 상단: 검색바 + 필터 + 추가 버튼
|
|
434
|
+
- 테이블: 이름, 이메일, 가입일, 상태
|
|
435
|
+
- 페이지네이션
|
|
436
|
+
|
|
437
|
+
스타일:
|
|
438
|
+
- 헤더: bg-gray-50
|
|
439
|
+
- 행 호버: hover:bg-gray-50
|
|
440
|
+
- 세로 구분선 없음
|
|
441
|
+
- 액션: 더보기 메뉴
|
|
442
|
+
```
|
|
443
|
+
|
|
444
|
+
</prompt_examples>
|