Miscellaneous Pages¶
Purpose: Utility, admin, and edge case pages
Category: Misc
Pages: 11+ pages
Complexity: Varies
1. Super Admin¶
File: src/app/super-admin/page.tsx
Route: /super-admin
Type: Protected (Admin only)
Purpose: Admin dashboard for platform management
Features:
- User management
- Chatbot overview
- System analytics
- Feature flags
- Manual user impersonation (
?adminRedirect=true) - Database operations (read-only views)
Access Control:
- Email must end with
@askgalore.com - OR specific whitelist
2. Thank You¶
File: src/app/thank-you/page.tsx
Route: /thank-you
Type: Public
Purpose: Post-payment success page
Content:
- Success message
- Order/subscription confirmation
- Next steps
- CTA to dashboard
- Email confirmation notice
Redirect: Auto-redirect to /chatbots after 5 seconds
3. Audio Diagnostics¶
File: src/app/audio-diagnostics/page.tsx
Route: /audio-diagnostics
Type: Public/Protected
Purpose: Test microphone and audio for voice chatbot
Features:
- Microphone permission request
- Audio input visualization
- Waveform display
- Echo test
- Recording test
- Playback test
- Troubleshooting tips
Use Case: Pre-flight check before using voice chatbot
4. Robots.txt¶
File: src/app/robots.txt/route.tsx
Route: /robots.txt
Type: Public
Purpose: Search engine crawler instructions
Content:
User-agent: *
Allow: /
Disallow: /api/
Disallow: /super-admin/
Disallow: /chatbots/
Disallow: /dashboard/
Disallow: /payment/
Disallow: /profile/
Disallow: /analytics/
Sitemap: https://machineavatars.com/sitemap.xml
5. Sitemap.xml¶
File: src/app/sitemap.xml/route.tsx
Route: /sitemap.xml
Type: Public
Purpose: Site structure for SEO
Generated Pages:
- Homepage
- Pricing
- About Us
- AI Agents
- Contact Us
- Terms
- Privacy
- Cancellation Policy
- Blog posts (if applicable)
Dynamic Generation: Server-side generation with timestamps
6. Not Found (404)¶
File: src/app/not-found.tsx
Route: Any invalid URL
Type: Public
Purpose: Custom 404 error page
Content:
- "Page Not Found" message
- Search bar (optional)
- Popular pages links
- Back to home CTA
- Illustration/animation
7. Error (500)¶
File: src/app/error.tsx (if exists)
Route: Server errors
Type: Public
Purpose: Global error boundary
Content:
- "Something went wrong" message
- Error code (masked for security)
- Reload button
- Contact support link
8-11. Other Utility Pages¶
Additional pages that may exist:
Layout.tsx¶
File: src/app/layout.tsx
Purpose: Root layout wrapper
Features: Metadata, font loading, providers
Providers.tsx¶
File: src/app/providers.tsx
Purpose: Context providers wrapper
Providers: ToastProvider, ChatbotProvider, ThemeProvider
Globals.css¶
File: src/app/globals.css
Purpose: Global styles and Tailwind directives
Lib/Utils¶
Directory: src/app/lib/
Files: Utility functions, helpers, constants
Summary Table¶
| Page | Lines | Type | Purpose |
|---|---|---|---|
| Super Admin | ~800 | Protected | Admin dashboard |
| Thank You | ~150 | Public | Payment success |
| Audio Diagnostics | ~400 | Public | Audio testing |
| Robots.txt | ~20 | Public | SEO crawlers |
| Sitemap.xml | ~100 | Public | SEO sitemap |
| Not Found (404) | ~150 | Public | Error handling |
| Error (500) | ~100 | Public | Global errors |
| Layout | ~100 | N/A | Root layout |
| Providers | ~50 | N/A | Context setup |
estimated Total: ~1,900 lines
Super Admin Features (Detail)¶
User Impersonation:
const impersonateUser = (userId: string, email: string) => {
const adminToken = sessionStorage.getItem("adminToken");
const url = `/login?adminRedirect=true&token=${adminToken}&user_id=${userId}&email=${email}`;
router.push(url);
};
Feature Flags:
- Enable/disable features per user
- A/B testing toggles
- Rollout controls
Audio Diagnostics Flow¶
1. Request microphone permission
↓
2. Display permission status
↓
3. Show audio input level meter
↓
4. Record 5-second test
↓
5. Playback recording
↓
6. Show pass/fail result
↓
7. Provide troubleshooting tips if fail
SEO Configuration¶
Metadata (layout.tsx):
export const metadata = {
title: "MachineAvatars - AI 3D Chatbots for Your Website",
description: "Create intelligent 3D AI chatbots...",
keywords: "AI chatbot, 3D avatar, voice assistant...",
openGraph: {
title: "MachineAvatars",
description: "...",
images: ["/og-image.png"],
},
twitter: {
card: "summary_large_image",
},
};
"Every edge case handled, every utility provided."