{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "admin-panel",
  "title": "Admin Panel",
  "description": "A complete admin dashboard built with liquid glass components.",
  "dependencies": [
    "lucide-react"
  ],
  "registryDependencies": [
    "https://ui.eindev.ir/r/glass-card.json",
    "https://ui.eindev.ir/r/glass-button.json",
    "https://ui.eindev.ir/r/glass-input.json",
    "https://ui.eindev.ir/r/glass-tabs.json",
    "https://ui.eindev.ir/r/glass-dialog.json",
    "https://ui.eindev.ir/r/glass-badge.json",
    "https://ui.eindev.ir/r/glass-avatar.json",
    "https://ui.eindev.ir/r/glass-progress.json",
    "https://ui.eindev.ir/r/glass-switch.json"
  ],
  "files": [
    {
      "path": "registry/blocks/admin/page.tsx",
      "content": "\"use client\"\n\nimport { useState } from \"react\"\nimport { Label } from \"@/components/ui/label\"\nimport {\n  Users,\n  DollarSign,\n  TrendingUp,\n  Activity,\n  Plus,\n  Search,\n  MoreHorizontal,\n  ArrowUpRight,\n  ArrowDownRight,\n  Settings,\n  Bell,\n  Shield,\n  Database,\n  Folder,\n} from \"lucide-react\"\nimport { GlassTabs, GlassTabsContent, GlassTabsList, GlassTabsTrigger } from \"@/registry/liquid-glass/glass-tabs\"\nimport { GlassCard, GlassCardContent, GlassCardDescription, GlassCardHeader, GlassCardTitle } from \"@/registry/liquid-glass/glass-card\"\nimport { GlassInput } from \"@/registry/liquid-glass/glass-input\"\nimport { GlassButton } from \"@/registry/liquid-glass/glass-button\"\nimport { GlassAvatar, GlassAvatarFallback } from \"@/registry/liquid-glass/glass-avatar\"\nimport { GlassBadge } from \"@/registry/liquid-glass/glass-badge\"\nimport { GlassDialog, GlassDialogContent, GlassDialogDescription, GlassDialogFooter, GlassDialogHeader, GlassDialogTitle, GlassDialogTrigger } from \"@/registry/liquid-glass/glass-dialog\"\nimport { GlassProgress } from \"@/registry/liquid-glass/glass-progress\"\n\n\nconst stats = [\n  { title: \"Total Users\", value: \"12,456\", change: \"+12.5%\", trend: \"up\", icon: Users },\n  { title: \"Revenue\", value: \"$54,321\", change: \"+8.2%\", trend: \"up\", icon: DollarSign },\n  { title: \"Growth\", value: \"23.1%\", change: \"+4.3%\", trend: \"up\", icon: TrendingUp },\n  { title: \"Active Now\", value: \"573\", change: \"-2.1%\", trend: \"down\", icon: Activity },\n]\n\nconst users = [\n  { name: \"Alice Johnson\", email: \"alice@example.com\", role: \"Admin\", status: \"active\" },\n  { name: \"Bob Smith\", email: \"bob@example.com\", role: \"User\", status: \"active\" },\n  { name: \"Carol Williams\", email: \"carol@example.com\", role: \"User\", status: \"pending\" },\n  { name: \"David Brown\", email: \"david@example.com\", role: \"Moderator\", status: \"active\" },\n]\n\nexport default function AdminBlockPage() {\n  const [searchQuery, setSearchQuery] = useState(\"\")\n\n  return (\n    <div className=\"w-full space-y-6\">\n      {/* Stats Grid */}\n      <div className=\"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-4\">\n        {stats.map((stat) => (\n          <GlassCard key={stat.title}>\n            <GlassCardContent className=\"pt-6\">\n              <div className=\"flex items-start justify-between\">\n                <div>\n                  <p className=\"text-sm text-white/60 mb-1\">{stat.title}</p>\n                  <p className=\"text-2xl font-bold text-white\">{stat.value}</p>\n                  <div className=\"flex items-center gap-1 mt-1\">\n                    {stat.trend === \"up\" ? (\n                      <ArrowUpRight className=\"h-3 w-3 text-green-400\" />\n                    ) : (\n                      <ArrowDownRight className=\"h-3 w-3 text-red-400\" />\n                    )}\n                    <span className={`text-xs ${stat.trend === \"up\" ? \"text-green-400\" : \"text-red-400\"}`}>\n                      {stat.change}\n                    </span>\n                  </div>\n                </div>\n                <div className=\"p-2 rounded-xl bg-white/10\">\n                  <stat.icon className=\"h-5 w-5 text-white/60\" />\n                </div>\n              </div>\n            </GlassCardContent>\n          </GlassCard>\n        ))}\n      </div>\n\n      {/* Main Content Grid */}\n      <div className=\"grid grid-cols-1 lg:grid-cols-3 gap-6\">\n        {/* Users Table */}\n        <div className=\"lg:col-span-2\">\n          <GlassCard>\n            <GlassCardHeader>\n              <div className=\"flex flex-col sm:flex-row sm:items-center sm:justify-between gap-4\">\n                <div>\n                  <GlassCardTitle>Users</GlassCardTitle>\n                  <GlassCardDescription>Manage your team members</GlassCardDescription>\n                </div>\n                <div className=\"flex items-center gap-2\">\n                  <div className=\"relative\">\n                    <Search className=\"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-white/40\" />\n                    <GlassInput\n                      className=\"pl-9 w-full sm:w-48\"\n                      placeholder=\"Search...\"\n                      value={searchQuery}\n                      onChange={(e) => setSearchQuery(e.target.value)}\n                    />\n                  </div>\n                  <GlassDialog>\n                    <GlassDialogTrigger asChild>\n                      <GlassButton variant=\"primary\" size=\"sm\">\n                        <Plus className=\"h-4 w-4 mr-1\" /> Add\n                      </GlassButton>\n                    </GlassDialogTrigger>\n                    <GlassDialogContent>\n                      <GlassDialogHeader>\n                        <GlassDialogTitle>Add New User</GlassDialogTitle>\n                        <GlassDialogDescription>Create a new user account.</GlassDialogDescription>\n                      </GlassDialogHeader>\n                      <div className=\"space-y-4 py-4\">\n                        <div className=\"flex flex-col gap-2\">\n                          <Label className=\"text-white/80\">Name</Label>\n                          <GlassInput placeholder=\"Full name\" />\n                        </div>\n                        <div className=\"flex flex-col gap-2\">\n                          <Label className=\"text-white/80\">Email</Label>\n                          <GlassInput placeholder=\"email@example.com\" />\n                        </div>\n                      </div>\n                      <GlassDialogFooter>\n                        <GlassButton variant=\"outline\">Cancel</GlassButton>\n                        <GlassButton variant=\"primary\">Create User</GlassButton>\n                      </GlassDialogFooter>\n                    </GlassDialogContent>\n                  </GlassDialog>\n                </div>\n              </div>\n            </GlassCardHeader>\n            <GlassCardContent>\n              <div className=\"overflow-x-auto\">\n                <table className=\"w-full\">\n                  <thead>\n                    <tr className=\"border-b border-white/10\">\n                      <th className=\"text-left py-3 px-2 text-xs font-medium text-white/40 uppercase\">User</th>\n                      <th className=\"text-left py-3 px-2 text-xs font-medium text-white/40 uppercase hidden sm:table-cell\">\n                        Role\n                      </th>\n                      <th className=\"text-left py-3 px-2 text-xs font-medium text-white/40 uppercase\">Status</th>\n                      <th className=\"py-3 px-2\"></th>\n                    </tr>\n                  </thead>\n                  <tbody>\n                    {users.map((user) => (\n                      <tr key={user.email} className=\"border-b border-white/5 hover:bg-white/5 transition-colors\">\n                        <td className=\"py-3 px-2\">\n                          <div className=\"flex items-center gap-3\">\n                            <GlassAvatar className=\"h-8 w-8\">\n                              <GlassAvatarFallback className=\"text-xs\">\n                                {user.name\n                                  .split(\" \")\n                                  .map((n) => n[0])\n                                  .join(\"\")}\n                              </GlassAvatarFallback>\n                            </GlassAvatar>\n                            <div className=\"min-w-0\">\n                              <p className=\"text-sm font-medium text-white truncate\">{user.name}</p>\n                              <p className=\"text-xs text-white/50 truncate\">{user.email}</p>\n                            </div>\n                          </div>\n                        </td>\n                        <td className=\"py-3 px-2 hidden sm:table-cell\">\n                          <span className=\"text-sm text-white/70\">{user.role}</span>\n                        </td>\n                        <td className=\"py-3 px-2\">\n                          <GlassBadge variant={user.status === \"active\" ? \"success\" : \"warning\"}>\n                            {user.status}\n                          </GlassBadge>\n                        </td>\n                        <td className=\"py-3 px-2\">\n                          <GlassButton variant=\"ghost\" size=\"icon\" className=\"h-8 w-8\">\n                            <MoreHorizontal className=\"h-4 w-4\" />\n                          </GlassButton>\n                        </td>\n                      </tr>\n                    ))}\n                  </tbody>\n                </table>\n              </div>\n            </GlassCardContent>\n          </GlassCard>\n        </div>\n\n        {/* Sidebar Widgets */}\n        <div className=\"space-y-6\">\n          {/* Storage */}\n          <GlassCard>\n            <GlassCardHeader>\n              <GlassCardTitle className=\"flex items-center gap-2\">\n                <Database className=\"h-4 w-4\" /> Storage\n              </GlassCardTitle>\n            </GlassCardHeader>\n            <GlassCardContent>\n              <GlassProgress value={68} className=\"mb-3\" />\n              <div className=\"flex justify-between text-sm\">\n                <span className=\"text-white/60\">68.5 GB used</span>\n                <span className=\"text-white/40\">100 GB</span>\n              </div>\n              <div className=\"mt-4 space-y-2\">\n                <div className=\"flex items-center justify-between text-sm\">\n                  <div className=\"flex items-center gap-2\">\n                    <Folder className=\"h-4 w-4 text-cyan-400\" />\n                    <span className=\"text-white/70\">Documents</span>\n                  </div>\n                  <span className=\"text-white/50\">24.5 GB</span>\n                </div>\n                <div className=\"flex items-center justify-between text-sm\">\n                  <div className=\"flex items-center gap-2\">\n                    <Folder className=\"h-4 w-4 text-purple-400\" />\n                    <span className=\"text-white/70\">Media</span>\n                  </div>\n                  <span className=\"text-white/50\">32.1 GB</span>\n                </div>\n                <div className=\"flex items-center justify-between text-sm\">\n                  <div className=\"flex items-center gap-2\">\n                    <Folder className=\"h-4 w-4 text-blue-400\" />\n                    <span className=\"text-white/70\">Backups</span>\n                  </div>\n                  <span className=\"text-white/50\">11.9 GB</span>\n                </div>\n              </div>\n            </GlassCardContent>\n          </GlassCard>\n\n          {/* Activity */}\n          <GlassCard>\n            <GlassCardHeader>\n              <GlassCardTitle>Recent Activity</GlassCardTitle>\n            </GlassCardHeader>\n            <GlassCardContent>\n              <div className=\"space-y-4\">\n                {[\n                  { action: \"User signed up\", time: \"2 min ago\" },\n                  { action: \"New order #1234\", time: \"15 min ago\" },\n                  { action: \"Payment received\", time: \"1 hour ago\" },\n                  { action: \"Server backup completed\", time: \"3 hours ago\" },\n                ].map((item, i) => (\n                  <div key={i} className=\"flex items-center gap-3\">\n                    <div className=\"h-2 w-2 rounded-full bg-cyan-400\" />\n                    <div className=\"flex-1 min-w-0\">\n                      <p className=\"text-sm text-white/80 truncate\">{item.action}</p>\n                      <p className=\"text-xs text-white/40\">{item.time}</p>\n                    </div>\n                  </div>\n                ))}\n              </div>\n            </GlassCardContent>\n          </GlassCard>\n        </div>\n      </div>\n\n      {/* Settings Tabs */}\n      <GlassCard>\n        <GlassCardHeader>\n          <GlassCardTitle>Settings</GlassCardTitle>\n          <GlassCardDescription>Manage your application preferences</GlassCardDescription>\n        </GlassCardHeader>\n        <GlassCardContent>\n          <GlassTabs defaultValue=\"general\">\n            <GlassTabsList className=\"w-full flex-wrap\">\n              <GlassTabsTrigger value=\"general\" className=\"flex-1\">\n                <Settings className=\"h-4 w-4 mr-2\" /> General\n              </GlassTabsTrigger>\n              <GlassTabsTrigger value=\"notifications\" className=\"flex-1\">\n                <Bell className=\"h-4 w-4 mr-2\" /> Notifications\n              </GlassTabsTrigger>\n              <GlassTabsTrigger value=\"security\" className=\"flex-1\">\n                <Shield className=\"h-4 w-4 mr-2\" /> Security\n              </GlassTabsTrigger>\n            </GlassTabsList>\n            <GlassTabsContent value=\"general\">\n              <div className=\"space-y-4\">\n                <div className=\"flex flex-col gap-2\">\n                  <Label className=\"text-white/80\">Site Name</Label>\n                  <GlassInput defaultValue=\"Ein Dashboard\" />\n                </div>\n                <div className=\"flex flex-col gap-2\">\n                  <Label className=\"text-white/80\">Support Email</Label>\n                  <GlassInput defaultValue=\"support@ein.dev\" />\n                </div>\n                <GlassButton variant=\"primary\">Save Changes</GlassButton>\n              </div>\n            </GlassTabsContent>\n            <GlassTabsContent value=\"notifications\">\n              <div className=\"space-y-3\">\n                <div className=\"flex items-center justify-between p-3 rounded-lg bg-white/5\">\n                  <span className=\"text-white/80 text-sm\">Email notifications</span>\n                  <div className=\"w-10 h-6 bg-cyan-500/50 rounded-full relative\">\n                    <div className=\"absolute right-0.5 top-0.5 w-5 h-5 bg-white rounded-full\" />\n                  </div>\n                </div>\n                <div className=\"flex items-center justify-between p-3 rounded-lg bg-white/5\">\n                  <span className=\"text-white/80 text-sm\">Push notifications</span>\n                  <div className=\"w-10 h-6 bg-white/20 rounded-full relative\">\n                    <div className=\"absolute left-0.5 top-0.5 w-5 h-5 bg-white/60 rounded-full\" />\n                  </div>\n                </div>\n                <div className=\"flex items-center justify-between p-3 rounded-lg bg-white/5\">\n                  <span className=\"text-white/80 text-sm\">Weekly digest</span>\n                  <div className=\"w-10 h-6 bg-cyan-500/50 rounded-full relative\">\n                    <div className=\"absolute right-0.5 top-0.5 w-5 h-5 bg-white rounded-full\" />\n                  </div>\n                </div>\n              </div>\n            </GlassTabsContent>\n            <GlassTabsContent value=\"security\">\n              <div className=\"space-y-4\">\n                <div className=\"flex flex-col gap-2\">\n                  <Label className=\"text-white/80\">Current Password</Label>\n                  <GlassInput type=\"password\" placeholder=\"••••••••\" />\n                </div>\n                <div className=\"flex flex-col gap-2\">\n                  <Label className=\"text-white/80\">New Password</Label>\n                  <GlassInput type=\"password\" placeholder=\"••••••••\" />\n                </div>\n                <GlassButton variant=\"primary\">Update Password</GlassButton>\n              </div>\n            </GlassTabsContent>\n          </GlassTabs>\n        </GlassCardContent>\n      </GlassCard>\n    </div>\n  )\n}\n",
      "type": "registry:page",
      "target": "app/admin/page.tsx"
    }
  ],
  "type": "registry:block"
}