2026-02-15 15:03:43 +00:00
/ * *
* Developer Dashboard — simplified ( P2 . 3 )
* API Keys management has no backend yet . This page shows a "Coming soon" message
* and links to the API documentation ( Swagger ) . Webhooks are available at / webhooks .
* /
import React from 'react' ;
import { Card , CardContent } from '../ui/card' ;
2026-01-07 09:31:02 +00:00
import { Button } from '../ui/button' ;
2026-02-15 15:03:43 +00:00
import { FileText , ExternalLink } from 'lucide-react' ;
2026-01-26 13:12:17 +00:00
import { SwaggerUIDoc } from './SwaggerUI' ;
2026-02-10 21:59:51 +00:00
import { EmptyState } from '../ui/empty-state' ;
2026-01-07 09:31:02 +00:00
export const DeveloperDashboardView : React.FC = ( ) = > {
return (
< div className = "space-y-8 animate-fadeIn pb-20" >
ui(tokens): migrate border-kodo-steel to border-border (86 files, 269 instances)
Replace legacy hardcoded border-kodo-steel (RGB 59,69,84, theme-unaware)
with semantic border-border token across 86 user-facing components.
Covers UI primitives (checkbox, badge, modal, table, textarea, alert,
radio-group, avatar), all modals, settings views, social features,
playlist views, inventory, chat, commerce, and cloud file browser.
Only story/test files retain the legacy token.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-08 23:07:00 +00:00
< div className = "flex flex-col md:flex-row justify-between items-end gap-4 border-b border-border/50 pb-6" >
2026-01-13 18:47:57 +00:00
< div >
2026-02-12 00:49:07 +00:00
< h1 className = "text-3xl font-heading font-bold text-foreground mb-2" >
2026-01-13 18:47:57 +00:00
DEVELOPER PORTAL
< / h1 >
ui(tokens): migrate text-kodo-content-dim to text-muted-foreground (35 files, 160 instances)
Replace legacy hardcoded `text-kodo-content-dim` (Gray-400, theme-unaware)
with semantic `text-muted-foreground` across 35 user-facing components.
This ensures all secondary/muted text adapts correctly to light/dark theme
changes instead of staying fixed at a single gray value.
Covers: SearchBar, PlaylistsView, NotificationBell, TrackAnalyticsView,
LiveStreamDetailView, LicenceCard, FilePreviewCard, PasswordStrengthIndicator,
NotificationItem, TrackList, CourseCard, GroupCard, AchievementCard, XPBar,
EquipmentCard, SellerDashboardView, APIPlaygroundView, DeveloperDashboardView,
CreatorModal, AddToPlaylistModal, LicenceDetailsModal, QuizModal,
CertificateModal, FlashSaleModal, CreateAPIKeyModal, LyricsEditorModal,
WatermarkSettingsModal, ProfileXPView, LeaderboardView, PostCard,
ExploreView, FeedView, MessageSearch, TypingIndicator, PlaylistTrackItem.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-08 23:03:33 +00:00
< p className = "text-muted-foreground font-mono text-sm" >
2026-02-15 15:03:43 +00:00
API & Webhooks — Coming soon . Explore the API documentation below .
2026-01-13 18:47:57 +00:00
< / p >
2026-01-07 09:31:02 +00:00
< / div >
2026-02-15 15:03:43 +00:00
< Button
variant = "secondary"
icon = { < ExternalLink className = "w-4 h-4" / > }
onClick = { ( ) = > window . open ( '/webhooks' , '_self' ) }
>
Manage Webhooks
< / Button >
2026-01-13 18:47:57 +00:00
< / div >
2026-01-07 09:31:02 +00:00
2026-02-15 15:03:43 +00:00
< Card variant = "default" >
< CardContent className = "pt-6" >
< EmptyState
icon = { < FileText className = "w-12 h-12 text-muted-foreground" / > }
title = "API Keys — Coming soon"
description = "API key management will be available in a future release. In the meantime, use the interactive API documentation below to explore endpoints. Webhooks can be configured from the Webhooks page."
variant = "card"
/ >
< / CardContent >
< / Card >
< Card variant = "default" className = "p-0 overflow-hidden bg-background/80" >
< SwaggerUIDoc useIframe = { false } / >
< / Card >
2026-01-07 09:31:02 +00:00
< / div >
) ;
} ;