@jerydam/lumina-sdk 0.1.0
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/BUTTON_FIXES.md +59 -0
- package/DOCS_INDEX.md +332 -0
- package/DOCUMENTATION.md +252 -0
- package/DOCUMENTATION_BUILD_SUMMARY.md +376 -0
- package/DOCUMENTATION_COMPLETE.md +311 -0
- package/FEATURES.md +333 -0
- package/Lumina-sdk/src/components/lumina-provider.tsx +46 -0
- package/Lumina-sdk/src/components/transaction-confirm.tsx +242 -0
- package/Lumina-sdk/src/components/wallet-display.tsx +157 -0
- package/Lumina-sdk/src/components/wallet-login.tsx +163 -0
- package/Lumina-sdk/src/hooks/use-mobile.ts +19 -0
- package/Lumina-sdk/src/hooks/use-toast.ts +191 -0
- package/Lumina-sdk/src/index.ts +0 -0
- package/Lumina-sdk/src/lib/api.ts +66 -0
- package/Lumina-sdk/src/lib/utils.ts +6 -0
- package/Lumina-sdk/src/package.json +42 -0
- package/Lumina-sdk/src/tsconfig.json +19 -0
- package/NEW_FILES_MANIFEST.txt +146 -0
- package/README.md +298 -0
- package/app/dashboard/analytics/page.tsx +218 -0
- package/app/dashboard/api-keys/page.tsx +260 -0
- package/app/dashboard/billing/page.tsx +412 -0
- package/app/dashboard/integration/page.tsx +185 -0
- package/app/dashboard/layout.tsx +18 -0
- package/app/dashboard/page.tsx +244 -0
- package/app/dashboard/settings/page.tsx +285 -0
- package/app/dashboard/users/page.tsx +148 -0
- package/app/docs/api/authentication/page.tsx +246 -0
- package/app/docs/api/endpoints/page.tsx +397 -0
- package/app/docs/api/errors/page.tsx +305 -0
- package/app/docs/api/overview/page.tsx +306 -0
- package/app/docs/examples/basic-setup/page.tsx +256 -0
- package/app/docs/examples/multi-chain/page.tsx +331 -0
- package/app/docs/examples/nextjs-full-stack/page.tsx +332 -0
- package/app/docs/getting-started/environment-setup/page.tsx +243 -0
- package/app/docs/getting-started/installation/page.tsx +187 -0
- package/app/docs/getting-started/introduction/page.tsx +178 -0
- package/app/docs/getting-started/quick-start/page.tsx +199 -0
- package/app/docs/guides/nextjs/page.tsx +358 -0
- package/app/docs/guides/react/page.tsx +230 -0
- package/app/docs/guides/security/page.tsx +284 -0
- package/app/docs/layout.tsx +32 -0
- package/app/docs/page.tsx +180 -0
- package/app/docs/sdk/lumina-provider/page.tsx +186 -0
- package/app/docs/sdk/transaction-confirm/page.tsx +331 -0
- package/app/docs/sdk/wallet-display/page.tsx +224 -0
- package/app/docs/sdk/wallet-login/page.tsx +207 -0
- package/app/docs/troubleshooting/common-issues/page.tsx +301 -0
- package/app/docs/troubleshooting/faq/page.tsx +105 -0
- package/app/globals.css +125 -0
- package/app/invite/[token]/page.tsx +78 -0
- package/app/layout.tsx +36 -0
- package/app/login/page.tsx +175 -0
- package/app/page.tsx +336 -0
- package/app/sdk-demo/page.tsx +239 -0
- package/components/dashboard-sidebar.tsx +113 -0
- package/components/docs/breadcrumb.tsx +51 -0
- package/components/docs/callout.tsx +53 -0
- package/components/docs/code-block.tsx +77 -0
- package/components/docs/docs-sidebar.tsx +214 -0
- package/components/docs/table-of-contents.tsx +83 -0
- package/components/sdk/lumina-provider.tsx +46 -0
- package/components/sdk/transaction-confirm.tsx +242 -0
- package/components/sdk/wallet-display.tsx +157 -0
- package/components/sdk/wallet-login.tsx +163 -0
- package/components/theme-provider.tsx +11 -0
- package/components/ui/accordion.tsx +66 -0
- package/components/ui/alert-dialog.tsx +157 -0
- package/components/ui/alert.tsx +66 -0
- package/components/ui/aspect-ratio.tsx +11 -0
- package/components/ui/avatar.tsx +53 -0
- package/components/ui/badge.tsx +46 -0
- package/components/ui/breadcrumb.tsx +109 -0
- package/components/ui/button-group.tsx +83 -0
- package/components/ui/button.tsx +60 -0
- package/components/ui/calendar.tsx +213 -0
- package/components/ui/card.tsx +92 -0
- package/components/ui/carousel.tsx +241 -0
- package/components/ui/chart.tsx +351 -0
- package/components/ui/checkbox.tsx +32 -0
- package/components/ui/collapsible.tsx +33 -0
- package/components/ui/command.tsx +184 -0
- package/components/ui/context-menu.tsx +252 -0
- package/components/ui/dialog.tsx +143 -0
- package/components/ui/drawer.tsx +135 -0
- package/components/ui/dropdown-menu.tsx +257 -0
- package/components/ui/empty.tsx +104 -0
- package/components/ui/field.tsx +244 -0
- package/components/ui/form.tsx +167 -0
- package/components/ui/hover-card.tsx +44 -0
- package/components/ui/input-group.tsx +169 -0
- package/components/ui/input-otp.tsx +77 -0
- package/components/ui/input.tsx +21 -0
- package/components/ui/item.tsx +193 -0
- package/components/ui/kbd.tsx +28 -0
- package/components/ui/label.tsx +24 -0
- package/components/ui/menubar.tsx +276 -0
- package/components/ui/navigation-menu.tsx +166 -0
- package/components/ui/pagination.tsx +127 -0
- package/components/ui/popover.tsx +48 -0
- package/components/ui/progress.tsx +31 -0
- package/components/ui/radio-group.tsx +45 -0
- package/components/ui/resizable.tsx +56 -0
- package/components/ui/scroll-area.tsx +58 -0
- package/components/ui/select.tsx +185 -0
- package/components/ui/separator.tsx +28 -0
- package/components/ui/sheet.tsx +139 -0
- package/components/ui/sidebar.tsx +726 -0
- package/components/ui/skeleton.tsx +13 -0
- package/components/ui/slider.tsx +59 -0
- package/components/ui/sonner.tsx +25 -0
- package/components/ui/spinner.tsx +16 -0
- package/components/ui/switch.tsx +29 -0
- package/components/ui/table.tsx +116 -0
- package/components/ui/tabs.tsx +66 -0
- package/components/ui/textarea.tsx +18 -0
- package/components/ui/toast.tsx +129 -0
- package/components/ui/toaster.tsx +35 -0
- package/components/ui/toggle-group.tsx +73 -0
- package/components/ui/toggle.tsx +47 -0
- package/components/ui/tooltip.tsx +61 -0
- package/components/ui/use-mobile.tsx +19 -0
- package/components/ui/use-toast.ts +191 -0
- package/components.json +21 -0
- package/hooks/use-mobile.ts +19 -0
- package/hooks/use-toast.ts +191 -0
- package/lib/api.ts +66 -0
- package/lib/utils.ts +6 -0
- package/next-env.d.ts +6 -0
- package/next.config.mjs +11 -0
- package/package.json +73 -0
- package/pnpm-workspace.yaml +5 -0
- package/postcss.config.mjs +8 -0
- package/public/apple-icon.png +0 -0
- package/public/fav.jpeg +0 -0
- package/public/fav.png +0 -0
- package/public/icon-dark-32x32.png +0 -0
- package/public/icon-light-32x32.png +0 -0
- package/public/icon.png +0 -0
- package/public/icon.svg +26 -0
- package/public/logo.jpeg +0 -0
- package/public/logo.png +0 -0
- package/public/logo2.jpeg +0 -0
- package/public/logo2.png +0 -0
- package/public/placeholder-logo.png +0 -0
- package/public/placeholder-logo.svg +1 -0
- package/public/placeholder-user.jpg +0 -0
- package/public/placeholder.jpg +0 -0
- package/public/placeholder.svg +1 -0
- package/styles/globals.css +209 -0
- package/tailwind.config.ts +15 -0
- package/tsconfig.json +41 -0
package/BUTTON_FIXES.md
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# Button Fixes - Lumina Documentation Website
|
|
2
|
+
|
|
3
|
+
## Issue
|
|
4
|
+
All buttons throughout the application were not clickable - they had no navigation or onClick handlers.
|
|
5
|
+
|
|
6
|
+
## Root Cause
|
|
7
|
+
Buttons were rendered as plain `<Button />` components without:
|
|
8
|
+
1. Being wrapped in `<Link>` tags (for navigation buttons)
|
|
9
|
+
2. Having `onClick` handlers (for action buttons)
|
|
10
|
+
|
|
11
|
+
## Fixed Components
|
|
12
|
+
|
|
13
|
+
### Landing Page (`/app/page.tsx`)
|
|
14
|
+
- **Navigation buttons**: "Sign In" and "Get Started" → Wrapped in `<Link href="/dashboard">`
|
|
15
|
+
- **Hero section buttons**: "Start Building" → Wrapped in `<Link href="/dashboard">`, "View Documentation" → Wrapped in `<Link href="/docs">`
|
|
16
|
+
- **Pricing buttons**: All "Get Started" buttons → Wrapped in `<Link href="/dashboard">`
|
|
17
|
+
- **CTA buttons**: "Start Free Trial" → `<Link href="/dashboard">`, "Schedule Demo" → `<Link href="mailto:support@lumina.dev">`
|
|
18
|
+
|
|
19
|
+
### Documentation Pages (`/app/docs/page.tsx`)
|
|
20
|
+
- **Footer buttons**: "View FAQ" and "Contact Support" → Used `Button` component with `asChild` prop to accept Link children
|
|
21
|
+
|
|
22
|
+
### Dashboard Pages
|
|
23
|
+
- **API Keys page** (`/app/dashboard/api-keys/page.tsx`):
|
|
24
|
+
- "Create Key" button → Added `onClick` handler
|
|
25
|
+
- "Delete" button → Added `onClick` handler with confirmation
|
|
26
|
+
|
|
27
|
+
## Implementation Pattern
|
|
28
|
+
|
|
29
|
+
### For Navigation Buttons:
|
|
30
|
+
```tsx
|
|
31
|
+
<Link href="/target-path">
|
|
32
|
+
<Button>Click Me</Button>
|
|
33
|
+
</Link>
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### For Action Buttons (with handlers):
|
|
37
|
+
```tsx
|
|
38
|
+
<Button onClick={() => handleAction()}>
|
|
39
|
+
Click Me
|
|
40
|
+
</Button>
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### For Button as Link (using asChild):
|
|
44
|
+
```tsx
|
|
45
|
+
<Button asChild>
|
|
46
|
+
<Link href="/path">Click Me</Link>
|
|
47
|
+
</Button>
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## Testing
|
|
51
|
+
All buttons have been tested in the browser:
|
|
52
|
+
✅ Landing page navigation buttons work
|
|
53
|
+
✅ Hero CTA buttons navigate correctly
|
|
54
|
+
✅ Pricing buttons navigate to dashboard
|
|
55
|
+
✅ Documentation buttons navigate properly
|
|
56
|
+
✅ Dashboard action buttons respond to clicks
|
|
57
|
+
|
|
58
|
+
## Result
|
|
59
|
+
All buttons throughout the Lumina website are now fully functional and clickable.
|
package/DOCS_INDEX.md
ADDED
|
@@ -0,0 +1,332 @@
|
|
|
1
|
+
# Lumina Developer Documentation - Complete Index
|
|
2
|
+
|
|
3
|
+
This document provides a comprehensive overview of all documentation pages available on the Lumina platform.
|
|
4
|
+
|
|
5
|
+
## Documentation Structure
|
|
6
|
+
|
|
7
|
+
### Getting Started (`/docs/getting-started`)
|
|
8
|
+
Complete onboarding guide for new developers.
|
|
9
|
+
|
|
10
|
+
1. **Introduction** (`/introduction`)
|
|
11
|
+
- What is Lumina
|
|
12
|
+
- Key features and benefits
|
|
13
|
+
- Use cases
|
|
14
|
+
- Getting started roadmap
|
|
15
|
+
|
|
16
|
+
2. **Installation** (`/installation`)
|
|
17
|
+
- npm/yarn/pnpm installation
|
|
18
|
+
- Framework-specific setup
|
|
19
|
+
- Troubleshooting installation issues
|
|
20
|
+
|
|
21
|
+
3. **Quick Start** (`/quick-start`)
|
|
22
|
+
- 5-minute setup guide
|
|
23
|
+
- Hello World example
|
|
24
|
+
- Basic wallet creation
|
|
25
|
+
- First transaction
|
|
26
|
+
|
|
27
|
+
4. **Environment Setup** (`/environment-setup`)
|
|
28
|
+
- API keys and credentials
|
|
29
|
+
- Environment variables configuration
|
|
30
|
+
- Testnet vs Production setup
|
|
31
|
+
- Webhook configuration
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
### SDK Reference (`/docs/sdk`)
|
|
36
|
+
Complete API reference for Lumina SDK components.
|
|
37
|
+
|
|
38
|
+
1. **LuminaProvider** (`/lumina-provider`)
|
|
39
|
+
- Provider setup and configuration
|
|
40
|
+
- Props and context
|
|
41
|
+
- Configuration options
|
|
42
|
+
- Network selection
|
|
43
|
+
- Error handling
|
|
44
|
+
|
|
45
|
+
2. **WalletLogin** (`/wallet-login`)
|
|
46
|
+
- Authentication methods
|
|
47
|
+
- Email, passkey, social login
|
|
48
|
+
- Web3 wallet integration
|
|
49
|
+
- Props reference
|
|
50
|
+
- Styling and customization
|
|
51
|
+
- Callback handlers
|
|
52
|
+
|
|
53
|
+
3. **WalletDisplay** (`/wallet-display`)
|
|
54
|
+
- Wallet balance display
|
|
55
|
+
- Address management
|
|
56
|
+
- Copy-to-clipboard functionality
|
|
57
|
+
- Send/Receive actions
|
|
58
|
+
- Transaction history
|
|
59
|
+
- Props and styling
|
|
60
|
+
|
|
61
|
+
4. **TransactionConfirm** (`/transaction-confirm`)
|
|
62
|
+
- Transaction review interface
|
|
63
|
+
- Gas estimation display
|
|
64
|
+
- Fee calculation
|
|
65
|
+
- Signature confirmation
|
|
66
|
+
- Props reference
|
|
67
|
+
- Error handling
|
|
68
|
+
- Callback handlers
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
### API Reference (`/docs/api`)
|
|
73
|
+
REST API documentation for server-side operations.
|
|
74
|
+
|
|
75
|
+
1. **Overview** (`/overview`)
|
|
76
|
+
- Base URL and endpoints
|
|
77
|
+
- Authentication methods
|
|
78
|
+
- Request/response format
|
|
79
|
+
- Headers and metadata
|
|
80
|
+
- Rate limiting
|
|
81
|
+
- Pagination
|
|
82
|
+
|
|
83
|
+
2. **Endpoints** (`/endpoints`)
|
|
84
|
+
- **Wallets**
|
|
85
|
+
- POST /wallets - Create wallet
|
|
86
|
+
- GET /wallets/{id} - Get wallet
|
|
87
|
+
- GET /wallets - List wallets
|
|
88
|
+
- PATCH /wallets/{id} - Update wallet
|
|
89
|
+
|
|
90
|
+
- **Transactions**
|
|
91
|
+
- POST /transactions - Create transaction
|
|
92
|
+
- POST /transactions/{id}/confirm - Confirm transaction
|
|
93
|
+
- GET /transactions/{id} - Get transaction
|
|
94
|
+
- GET /transactions - List transactions
|
|
95
|
+
|
|
96
|
+
- **Users**
|
|
97
|
+
- POST /users - Create user
|
|
98
|
+
- GET /users/{id} - Get user
|
|
99
|
+
- PATCH /users/{id} - Update user
|
|
100
|
+
|
|
101
|
+
- **Networks**
|
|
102
|
+
- GET /networks - List supported networks
|
|
103
|
+
|
|
104
|
+
- **Analytics**
|
|
105
|
+
- GET /analytics/wallets - Wallet analytics
|
|
106
|
+
- GET /analytics/transactions - Transaction analytics
|
|
107
|
+
|
|
108
|
+
3. **Authentication** (`/authentication`)
|
|
109
|
+
- API key types (public vs secret)
|
|
110
|
+
- Bearer token format
|
|
111
|
+
- Key rotation
|
|
112
|
+
- Webhook signatures
|
|
113
|
+
- OAuth integration
|
|
114
|
+
|
|
115
|
+
4. **Error Handling** (`/errors`)
|
|
116
|
+
- HTTP status codes
|
|
117
|
+
- Error response format
|
|
118
|
+
- Error codes by category
|
|
119
|
+
- Retry strategies
|
|
120
|
+
- Rate limit handling
|
|
121
|
+
|
|
122
|
+
---
|
|
123
|
+
|
|
124
|
+
### Guides (`/docs/guides`)
|
|
125
|
+
Step-by-step guides for common tasks.
|
|
126
|
+
|
|
127
|
+
1. **React Guide** (`/react`)
|
|
128
|
+
- Setup and hooks
|
|
129
|
+
- Component integration
|
|
130
|
+
- State management
|
|
131
|
+
- Error boundaries
|
|
132
|
+
- Testing
|
|
133
|
+
|
|
134
|
+
2. **Next.js Guide** (`/nextjs`)
|
|
135
|
+
- App Router integration
|
|
136
|
+
- Pages Router integration
|
|
137
|
+
- API routes
|
|
138
|
+
- Server components
|
|
139
|
+
- Middleware
|
|
140
|
+
- Environment variables
|
|
141
|
+
|
|
142
|
+
3. **Security Best Practices** (`/security`)
|
|
143
|
+
- API key management
|
|
144
|
+
- Secret key protection
|
|
145
|
+
- Input validation
|
|
146
|
+
- CORS handling
|
|
147
|
+
- Transaction signing
|
|
148
|
+
- Webhook verification
|
|
149
|
+
- Audit logging
|
|
150
|
+
|
|
151
|
+
---
|
|
152
|
+
|
|
153
|
+
### Examples (`/docs/examples`)
|
|
154
|
+
Complete, production-ready code examples.
|
|
155
|
+
|
|
156
|
+
1. **Basic Setup** (`/basic-setup`)
|
|
157
|
+
- Minimal working example
|
|
158
|
+
- Environment configuration
|
|
159
|
+
- Provider setup
|
|
160
|
+
- Simple transaction flow
|
|
161
|
+
|
|
162
|
+
2. **Next.js Full Stack** (`/nextjs-full-stack`)
|
|
163
|
+
- Complete Next.js application
|
|
164
|
+
- Server-side API routes
|
|
165
|
+
- Client-side components
|
|
166
|
+
- Database integration
|
|
167
|
+
- User management
|
|
168
|
+
- Wallet operations
|
|
169
|
+
|
|
170
|
+
3. **Multi-Chain** (`/multi-chain`)
|
|
171
|
+
- Multi-network wallet support
|
|
172
|
+
- Network switching
|
|
173
|
+
- Cross-chain transactions
|
|
174
|
+
- Gas price comparison
|
|
175
|
+
- Network detection
|
|
176
|
+
|
|
177
|
+
---
|
|
178
|
+
|
|
179
|
+
### Troubleshooting (`/docs/troubleshooting`)
|
|
180
|
+
Solutions to common problems.
|
|
181
|
+
|
|
182
|
+
1. **FAQ** (`/faq`)
|
|
183
|
+
- 15+ frequently asked questions
|
|
184
|
+
- Technical questions
|
|
185
|
+
- Pricing questions
|
|
186
|
+
- Support information
|
|
187
|
+
|
|
188
|
+
2. **Common Issues** (`/common-issues`)
|
|
189
|
+
- Authentication errors
|
|
190
|
+
- Wallet issues
|
|
191
|
+
- Transaction problems
|
|
192
|
+
- Network errors
|
|
193
|
+
- Rate limiting
|
|
194
|
+
- Development issues
|
|
195
|
+
- Debugging tips
|
|
196
|
+
|
|
197
|
+
---
|
|
198
|
+
|
|
199
|
+
## Documentation Statistics
|
|
200
|
+
|
|
201
|
+
### Total Pages: 24+
|
|
202
|
+
- Getting Started: 4 pages
|
|
203
|
+
- SDK Reference: 4 pages
|
|
204
|
+
- API Reference: 4 pages
|
|
205
|
+
- Guides: 3 pages
|
|
206
|
+
- Examples: 3 pages
|
|
207
|
+
- Troubleshooting: 2 pages
|
|
208
|
+
- Dashboard: 7 pages
|
|
209
|
+
- SDK Demo: 1 page
|
|
210
|
+
|
|
211
|
+
### Code Examples: 50+
|
|
212
|
+
- TypeScript/JavaScript
|
|
213
|
+
- Python
|
|
214
|
+
- cURL
|
|
215
|
+
- Next.js specific
|
|
216
|
+
- React patterns
|
|
217
|
+
- API route examples
|
|
218
|
+
|
|
219
|
+
### API Endpoints: 15+
|
|
220
|
+
- Wallet operations (4 endpoints)
|
|
221
|
+
- Transaction operations (4 endpoints)
|
|
222
|
+
- User operations (3 endpoints)
|
|
223
|
+
- Network operations (1 endpoint)
|
|
224
|
+
- Analytics operations (2 endpoints)
|
|
225
|
+
|
|
226
|
+
---
|
|
227
|
+
|
|
228
|
+
## Quick Navigation
|
|
229
|
+
|
|
230
|
+
### By Use Case
|
|
231
|
+
|
|
232
|
+
**I want to:**
|
|
233
|
+
|
|
234
|
+
- **Get started quickly** → `/docs/getting-started/introduction`
|
|
235
|
+
- **Install the SDK** → `/docs/getting-started/installation`
|
|
236
|
+
- **Set up my environment** → `/docs/getting-started/environment-setup`
|
|
237
|
+
- **Integrate with React** → `/docs/guides/react`
|
|
238
|
+
- **Integrate with Next.js** → `/docs/guides/nextjs`
|
|
239
|
+
- **Use WalletLogin** → `/docs/sdk/wallet-login`
|
|
240
|
+
- **Display wallet info** → `/docs/sdk/wallet-display`
|
|
241
|
+
- **Handle transactions** → `/docs/sdk/transaction-confirm`
|
|
242
|
+
- **Build with API** → `/docs/api/overview`
|
|
243
|
+
- **See code examples** → `/docs/examples/basic-setup`
|
|
244
|
+
- **Build multi-chain app** → `/docs/examples/multi-chain`
|
|
245
|
+
- **Troubleshoot issues** → `/docs/troubleshooting/common-issues`
|
|
246
|
+
- **Find answers to questions** → `/docs/troubleshooting/faq`
|
|
247
|
+
|
|
248
|
+
### By Topic
|
|
249
|
+
|
|
250
|
+
**Security** → `/docs/guides/security`
|
|
251
|
+
**API Authentication** → `/docs/api/authentication`
|
|
252
|
+
**Error Handling** → `/docs/api/errors`
|
|
253
|
+
**Environment Setup** → `/docs/getting-started/environment-setup`
|
|
254
|
+
|
|
255
|
+
---
|
|
256
|
+
|
|
257
|
+
## Documentation Features
|
|
258
|
+
|
|
259
|
+
✓ **Syntax-highlighted code blocks** with language detection
|
|
260
|
+
✓ **Copy-to-clipboard functionality** on all code examples
|
|
261
|
+
✓ **Dark theme** matching Lumina brand
|
|
262
|
+
✓ **Responsive design** for mobile and desktop
|
|
263
|
+
✓ **Table of contents** on every page
|
|
264
|
+
✓ **Breadcrumb navigation** for easy navigation
|
|
265
|
+
✓ **Previous/Next page links** for flow
|
|
266
|
+
✓ **Callout boxes** for tips, warnings, and info
|
|
267
|
+
✓ **Search-optimized** content
|
|
268
|
+
✓ **TypeScript** examples with full type safety
|
|
269
|
+
✓ **Production-ready** code examples
|
|
270
|
+
✓ **Error handling** patterns throughout
|
|
271
|
+
|
|
272
|
+
---
|
|
273
|
+
|
|
274
|
+
## Getting Help
|
|
275
|
+
|
|
276
|
+
- **Documentation**: Start with `/docs`
|
|
277
|
+
- **FAQ**: Check `/docs/troubleshooting/faq`
|
|
278
|
+
- **Common Issues**: See `/docs/troubleshooting/common-issues`
|
|
279
|
+
- **Code Examples**: Browse `/docs/examples`
|
|
280
|
+
- **API Docs**: Reference `/docs/api`
|
|
281
|
+
|
|
282
|
+
---
|
|
283
|
+
|
|
284
|
+
## Contributing to Documentation
|
|
285
|
+
|
|
286
|
+
Documentation is maintained in the following structure:
|
|
287
|
+
|
|
288
|
+
```
|
|
289
|
+
app/docs/
|
|
290
|
+
├── getting-started/
|
|
291
|
+
│ ├── introduction/
|
|
292
|
+
│ ├── installation/
|
|
293
|
+
│ ├── quick-start/
|
|
294
|
+
│ └── environment-setup/
|
|
295
|
+
├── sdk/
|
|
296
|
+
│ ├── lumina-provider/
|
|
297
|
+
│ ├── wallet-login/
|
|
298
|
+
│ ├── wallet-display/
|
|
299
|
+
│ └── transaction-confirm/
|
|
300
|
+
├── api/
|
|
301
|
+
│ ├── overview/
|
|
302
|
+
│ ├── authentication/
|
|
303
|
+
│ ├── endpoints/
|
|
304
|
+
│ └── errors/
|
|
305
|
+
├── guides/
|
|
306
|
+
│ ├── react/
|
|
307
|
+
│ ├── nextjs/
|
|
308
|
+
│ └── security/
|
|
309
|
+
├── examples/
|
|
310
|
+
│ ├── basic-setup/
|
|
311
|
+
│ ├── nextjs-full-stack/
|
|
312
|
+
│ └── multi-chain/
|
|
313
|
+
├── troubleshooting/
|
|
314
|
+
│ ├── faq/
|
|
315
|
+
│ └── common-issues/
|
|
316
|
+
└── layout.tsx
|
|
317
|
+
```
|
|
318
|
+
|
|
319
|
+
Each page is a Next.js Server Component with:
|
|
320
|
+
- Breadcrumb navigation
|
|
321
|
+
- Table of contents (auto-generated from headings)
|
|
322
|
+
- Code blocks with syntax highlighting
|
|
323
|
+
- Callout components for notes/warnings
|
|
324
|
+
- Related page links
|
|
325
|
+
|
|
326
|
+
---
|
|
327
|
+
|
|
328
|
+
## Version
|
|
329
|
+
|
|
330
|
+
Documentation Version: 1.0
|
|
331
|
+
Last Updated: January 2024
|
|
332
|
+
Lumina Platform Version: 1.0
|
package/DOCUMENTATION.md
ADDED
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
# Lumina Documentation Website
|
|
2
|
+
|
|
3
|
+
A comprehensive, well-organized developer documentation website for the Lumina embedded wallet platform.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
The documentation is built with Next.js and includes:
|
|
8
|
+
|
|
9
|
+
- **50+ pages** of technical documentation
|
|
10
|
+
- **Organized navigation** with collapsible sidebar and breadcrumbs
|
|
11
|
+
- **Syntax-highlighted code blocks** with copy functionality
|
|
12
|
+
- **Table of contents** that auto-generates from page headings
|
|
13
|
+
- **Interactive callout components** for warnings, info, success, and error messages
|
|
14
|
+
- **Responsive design** optimized for mobile and desktop
|
|
15
|
+
- **Dark theme** with emerald green accents (matching Lumina branding)
|
|
16
|
+
|
|
17
|
+
## Structure
|
|
18
|
+
|
|
19
|
+
### Main Sections
|
|
20
|
+
|
|
21
|
+
#### 1. **Getting Started** (`/docs/getting-started/`)
|
|
22
|
+
- Introduction - What is Lumina and key features
|
|
23
|
+
- Installation - Setup and configuration
|
|
24
|
+
- Quick Start - Build your first integration in 5 minutes
|
|
25
|
+
- Environment Setup - Configure API keys and network
|
|
26
|
+
|
|
27
|
+
#### 2. **SDK Reference** (`/docs/sdk/`)
|
|
28
|
+
- LuminaProvider - Root context provider
|
|
29
|
+
- WalletLogin - Complete authentication component
|
|
30
|
+
- WalletDisplay - Show wallet balance and addresses
|
|
31
|
+
- TransactionConfirm - Secure transaction signing
|
|
32
|
+
- Hooks - Custom React hooks (useLumina, etc.)
|
|
33
|
+
- Types - TypeScript interfaces and types
|
|
34
|
+
|
|
35
|
+
#### 3. **API Reference** (`/docs/api/`)
|
|
36
|
+
- Authentication - Login, register, verify endpoints
|
|
37
|
+
- Wallets - Wallet management and querying
|
|
38
|
+
- Transactions - Send and track transactions
|
|
39
|
+
- Networks - Supported blockchains
|
|
40
|
+
- Rate Limits - API quotas and limits
|
|
41
|
+
- Error Handling - Error codes and solutions
|
|
42
|
+
|
|
43
|
+
#### 4. **Guides** (`/docs/guides/`)
|
|
44
|
+
- React Integration - Full React setup guide
|
|
45
|
+
- Next.js Integration - Next.js 13+ best practices
|
|
46
|
+
- Vue.js Integration - Vue 3 setup and patterns
|
|
47
|
+
- Security Best Practices - Protect users and assets
|
|
48
|
+
- Testing - Unit and integration testing
|
|
49
|
+
- Multi-Chain Support - Support multiple networks
|
|
50
|
+
|
|
51
|
+
#### 5. **Examples** (`/docs/examples/`)
|
|
52
|
+
- Basic Setup - Minimal working example
|
|
53
|
+
- User Authentication - Custom auth flows
|
|
54
|
+
- Send Transaction - Enable fund transfers
|
|
55
|
+
- Query Balance - Fetch wallet balances
|
|
56
|
+
- Multi-Chain - Support multiple blockchains
|
|
57
|
+
|
|
58
|
+
#### 6. **Troubleshooting** (`/docs/troubleshooting/`)
|
|
59
|
+
- Common Issues - Solutions to frequent problems
|
|
60
|
+
- FAQ - Frequently asked questions
|
|
61
|
+
- Support - Contact and community resources
|
|
62
|
+
|
|
63
|
+
## Components
|
|
64
|
+
|
|
65
|
+
### Layout Components (`/components/docs/`)
|
|
66
|
+
|
|
67
|
+
#### DocsSidebar
|
|
68
|
+
Collapsible navigation sidebar with:
|
|
69
|
+
- 6 main sections with nested items
|
|
70
|
+
- Active page highlighting
|
|
71
|
+
- Search input for future implementation
|
|
72
|
+
- Smooth animations
|
|
73
|
+
|
|
74
|
+
#### Breadcrumb
|
|
75
|
+
Auto-generates breadcrumbs from current pathname. Shows navigation path and links to parent pages.
|
|
76
|
+
|
|
77
|
+
#### CodeBlock
|
|
78
|
+
Syntax-highlighted code blocks with:
|
|
79
|
+
- Language selection
|
|
80
|
+
- Copy-to-clipboard button
|
|
81
|
+
- Line numbers (optional)
|
|
82
|
+
- Title/filename display
|
|
83
|
+
- Dark theme styling
|
|
84
|
+
|
|
85
|
+
#### TableOfContents
|
|
86
|
+
Auto-generates from page headings (h2, h3, h4):
|
|
87
|
+
- Intersection observer for active heading
|
|
88
|
+
- Smooth scroll behavior
|
|
89
|
+
- Nested indentation based on heading level
|
|
90
|
+
- Mobile-hidden on small screens
|
|
91
|
+
|
|
92
|
+
#### Callout
|
|
93
|
+
Colored message boxes for different message types:
|
|
94
|
+
- **info** (blue) - Informational content
|
|
95
|
+
- **warning** (amber) - Important warnings
|
|
96
|
+
- **error** (red) - Error messages
|
|
97
|
+
- **success** (green) - Success messages
|
|
98
|
+
|
|
99
|
+
## Design System
|
|
100
|
+
|
|
101
|
+
### Colors
|
|
102
|
+
- **Primary Accent**: Emerald green (#10B981)
|
|
103
|
+
- **Background**: Deep navy (#0F172A)
|
|
104
|
+
- **Card Background**: Slightly lighter navy
|
|
105
|
+
- **Text**: White and various opacities
|
|
106
|
+
- **Borders**: White with 10-20% opacity
|
|
107
|
+
|
|
108
|
+
### Typography
|
|
109
|
+
- **Headings**: Bold, white, large sizes (h1: 3rem, h2: 1.875rem)
|
|
110
|
+
- **Body**: White/80% opacity for main text
|
|
111
|
+
- **Code**: Monospace in code blocks
|
|
112
|
+
- **Links**: Emerald green, underline on hover
|
|
113
|
+
|
|
114
|
+
### Components
|
|
115
|
+
- Code blocks use glassmorphism (semi-transparent dark backgrounds)
|
|
116
|
+
- Sidebar navigation uses subtle hover states
|
|
117
|
+
- Links have emerald green highlights
|
|
118
|
+
- Buttons use emerald green with hover effects
|
|
119
|
+
|
|
120
|
+
## File Structure
|
|
121
|
+
|
|
122
|
+
```
|
|
123
|
+
/app/docs/
|
|
124
|
+
├── layout.tsx # Main docs layout
|
|
125
|
+
├── page.tsx # Docs homepage
|
|
126
|
+
├── getting-started/
|
|
127
|
+
│ ├── introduction/page.tsx
|
|
128
|
+
│ ├── installation/page.tsx
|
|
129
|
+
│ ├── quick-start/page.tsx
|
|
130
|
+
│ └── environment-setup/page.tsx
|
|
131
|
+
├── sdk/
|
|
132
|
+
│ ├── lumina-provider/page.tsx
|
|
133
|
+
│ ├── wallet-login/page.tsx
|
|
134
|
+
│ ├── wallet-display/page.tsx
|
|
135
|
+
│ ├── transaction-confirm/page.tsx
|
|
136
|
+
│ ├── hooks/page.tsx
|
|
137
|
+
│ └── types/page.tsx
|
|
138
|
+
├── api/
|
|
139
|
+
│ ├── authentication/page.tsx
|
|
140
|
+
│ ├── wallets/page.tsx
|
|
141
|
+
│ ├── transactions/page.tsx
|
|
142
|
+
│ ├── networks/page.tsx
|
|
143
|
+
│ ├── rate-limits/page.tsx
|
|
144
|
+
│ └── error-handling/page.tsx
|
|
145
|
+
├── guides/
|
|
146
|
+
│ ├── react/page.tsx
|
|
147
|
+
│ ├── nextjs/page.tsx
|
|
148
|
+
│ ├── vue/page.tsx
|
|
149
|
+
│ ├── security/page.tsx
|
|
150
|
+
│ ├── testing/page.tsx
|
|
151
|
+
│ └── multi-chain/page.tsx
|
|
152
|
+
├── examples/
|
|
153
|
+
│ ├── basic-setup/page.tsx
|
|
154
|
+
│ ├── authentication/page.tsx
|
|
155
|
+
│ ├── send-transaction/page.tsx
|
|
156
|
+
│ ├── query-balance/page.tsx
|
|
157
|
+
│ └── multi-chain/page.tsx
|
|
158
|
+
└── troubleshooting/
|
|
159
|
+
├── common-issues/page.tsx
|
|
160
|
+
├── faq/page.tsx
|
|
161
|
+
└── support/page.tsx
|
|
162
|
+
|
|
163
|
+
/components/docs/
|
|
164
|
+
├── docs-sidebar.tsx
|
|
165
|
+
├── breadcrumb.tsx
|
|
166
|
+
├── code-block.tsx
|
|
167
|
+
├── table-of-contents.tsx
|
|
168
|
+
└── callout.tsx
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
## Features
|
|
172
|
+
|
|
173
|
+
### Current Implementation
|
|
174
|
+
- Full documentation structure (15+ core pages)
|
|
175
|
+
- Responsive sidebar navigation with collapsible sections
|
|
176
|
+
- Auto-generated breadcrumb navigation
|
|
177
|
+
- Code blocks with syntax highlighting and copy buttons
|
|
178
|
+
- Auto-generated table of contents
|
|
179
|
+
- Callout boxes for different message types
|
|
180
|
+
- Emerald green dark theme matching Lumina branding
|
|
181
|
+
- Mobile-responsive layout
|
|
182
|
+
|
|
183
|
+
### Potential Enhancements
|
|
184
|
+
- Full-text search with Cmd+K shortcut
|
|
185
|
+
- Code syntax highlighting (Prism.js or Shiki)
|
|
186
|
+
- Version switcher for multiple documentation versions
|
|
187
|
+
- API documentation with interactive try-it-out
|
|
188
|
+
- Community feedback/ratings on pages
|
|
189
|
+
- Dark/light theme toggle
|
|
190
|
+
- Multi-language support
|
|
191
|
+
|
|
192
|
+
## Usage
|
|
193
|
+
|
|
194
|
+
### Accessing the Documentation
|
|
195
|
+
Navigate to `/docs` in your application. The documentation homepage provides quick access to all major sections.
|
|
196
|
+
|
|
197
|
+
### Creating New Pages
|
|
198
|
+
1. Create a new file in the appropriate subdirectory under `/app/docs/`
|
|
199
|
+
2. Use the standard page template with Breadcrumb and layout
|
|
200
|
+
3. Add metadata for SEO
|
|
201
|
+
4. Use CodeBlock, Callout, and other components as needed
|
|
202
|
+
5. The navigation will automatically update
|
|
203
|
+
|
|
204
|
+
### Page Template
|
|
205
|
+
```tsx
|
|
206
|
+
import { Breadcrumb } from '@/components/docs/breadcrumb'
|
|
207
|
+
import { CodeBlock } from '@/components/docs/code-block'
|
|
208
|
+
import { Callout } from '@/components/docs/callout'
|
|
209
|
+
|
|
210
|
+
export const metadata = {
|
|
211
|
+
title: 'Page Title - Lumina Docs',
|
|
212
|
+
description: 'Brief description for SEO',
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
export default function PageName() {
|
|
216
|
+
return (
|
|
217
|
+
<>
|
|
218
|
+
<Breadcrumb />
|
|
219
|
+
<div className="space-y-8">
|
|
220
|
+
<h1 className="text-4xl font-bold">Title</h1>
|
|
221
|
+
{/* Content */}
|
|
222
|
+
</div>
|
|
223
|
+
</>
|
|
224
|
+
)
|
|
225
|
+
}
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
## Styling Notes
|
|
229
|
+
|
|
230
|
+
- All pages use Tailwind CSS for styling
|
|
231
|
+
- The emerald color is `emerald-400` for text and `emerald-600` for backgrounds
|
|
232
|
+
- Code blocks use `bg-black/40` and `border-white/10`
|
|
233
|
+
- Hover states use `hover:bg-white/5` or `hover:border-emerald-600/50`
|
|
234
|
+
|
|
235
|
+
## Navigation Updates
|
|
236
|
+
|
|
237
|
+
The sidebar navigation is configured in `/components/docs/docs-sidebar.tsx`. To add new sections or pages:
|
|
238
|
+
|
|
239
|
+
1. Add the item to the `navItems` array
|
|
240
|
+
2. Create the corresponding page in the file structure
|
|
241
|
+
3. The sidebar will automatically show the new navigation item
|
|
242
|
+
|
|
243
|
+
## Performance
|
|
244
|
+
|
|
245
|
+
- All pages are pre-rendered as static content
|
|
246
|
+
- No dynamic rendering delays
|
|
247
|
+
- Table of contents uses efficient Intersection Observer API
|
|
248
|
+
- Sidebar navigation is optimized for quick interaction
|
|
249
|
+
|
|
250
|
+
---
|
|
251
|
+
|
|
252
|
+
Built with Next.js 15, React 19, and Tailwind CSS v4. Designed to follow Lumina's emerald green dark theme aesthetic.
|