profile page ui complated

This commit is contained in:
nabijonovdavronbek619@gmail.com
2026-04-06 17:55:54 +05:00
parent 27b1510842
commit db0fad7e00
18 changed files with 976 additions and 85 deletions

View File

@@ -0,0 +1,43 @@
'use client';
import React from 'react';
import { Menu } from 'lucide-react';
import type { CabinetSection } from '../lib/types';
// ─── Labels ────────────────────────────────────────────────────────────────────
const SECTION_LABELS: Record<CabinetSection, string> = {
dashboard: 'Dashboard',
plagiat: 'Plagiat tekshiruvlar',
si: 'SI detektor',
payments: "To'lovlar tarixi",
profile: 'Profil',
};
// ─── Props ─────────────────────────────────────────────────────────────────────
interface CabinetNavProps {
activeSection: CabinetSection;
onMenuClick: () => void;
}
// ─── Component ─────────────────────────────────────────────────────────────────
export const CabinetNav: React.FC<CabinetNavProps> = ({
activeSection,
onMenuClick,
}) => (
<header className="h-14 px-4 md:px-6 flex lg:hidden items-center justify-between border-b border-slate-100 bg-white/80 backdrop-blur-sm sticky top-0 z-20">
<div className="flex items-center gap-3">
<button
onClick={onMenuClick}
className="lg:hidden p-2 rounded-lg text-slate-500 hover:bg-slate-100 transition-colors"
aria-label="Menu"
>
<Menu size={18} />
</button>
<h1 className="text-sm font-semibold text-slate-800">
{SECTION_LABELS[activeSection]}
</h1>
</div>
</header>
);