diff --git a/components/ui/Card.tsx b/components/ui/Card.tsx
index c3fb70c..9ba59bd 100644
--- a/components/ui/Card.tsx
+++ b/components/ui/Card.tsx
@@ -12,7 +12,7 @@ interface CardProps {
function getVariantClasses(variant: CardVariant, hasOnClick: boolean): string {
const baseClasses = 'border rounded-lg bg-cyber-dark'
-
+
switch (variant) {
case 'default':
return `${baseClasses} border-neon-cyan/30`
diff --git a/components/ui/MobileMenu.tsx b/components/ui/MobileMenu.tsx
index 4ece8df..5e0f93e 100644
--- a/components/ui/MobileMenu.tsx
+++ b/components/ui/MobileMenu.tsx
@@ -62,44 +62,84 @@ export function MobileMenu({ children, 'aria-label': ariaLabel }: MobileMenuProp
return (
<>
-
+ ariaLabel={ariaLabel ?? 'Toggle menu'}
+ />
{isOpen && (
- <>
-
setIsOpen(false)}
- aria-hidden="true"
- />
-
- >
+
setIsOpen(false)}
+ ariaLabel={ariaLabel ?? 'Mobile menu'}
+ >
+ {children}
+
)}
>
)
}
+
+function MobileMenuButton({
+ isOpen,
+ onClick,
+ ariaLabel,
+}: {
+ isOpen: boolean
+ onClick: () => void
+ ariaLabel: string
+}): React.ReactElement {
+ return (
+
+ )
+}
+
+function MobileMenuDrawer({
+ isOpen,
+ onClose,
+ ariaLabel,
+ children,
+}: {
+ isOpen: boolean
+ onClose: () => void
+ ariaLabel: string
+ children: ReactNode
+}): React.ReactElement {
+ return (
+ <>
+
+
+ >
+ )
+}
diff --git a/components/ui/Skeleton.tsx b/components/ui/Skeleton.tsx
index abb3f3a..4596fe6 100644
--- a/components/ui/Skeleton.tsx
+++ b/components/ui/Skeleton.tsx
@@ -26,7 +26,7 @@ export function Skeleton({
const variantClasses = getVariantClasses(variant)
const baseClasses = 'bg-cyber-light animate-pulse'
const style: React.CSSProperties = {}
-
+
if (width) {
style.width = typeof width === 'number' ? `${width}px` : width
}