From efbdd43780012647f311d86145043f93edb6a95d Mon Sep 17 00:00:00 2001 From: Anushlinux Date: Fri, 4 Jul 2025 23:29:23 +0530 Subject: [PATCH] New dashboard ui with sechma fix --- .vscode/settings.json | 7 +- apps/admin/app/(main)/page.tsx | 317 ++++++++++++++++++++++---- packages/db/schema.ts | 2 +- packages/ui/src/components/avatar.tsx | 47 ++++ 4 files changed, 323 insertions(+), 50 deletions(-) create mode 100644 packages/ui/src/components/avatar.tsx diff --git a/.vscode/settings.json b/.vscode/settings.json index 05073cf..db28be9 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,5 +1,10 @@ { "tailwindCSS.experimental.configFile": "packages/ui/src/styles/globals.css", "editor.formatOnSave": true, - "editor.defaultFormatter": "esbenp.prettier-vscode" + "editor.defaultFormatter": "esbenp.prettier-vscode", + "workbench.colorCustomizations": { + "editorInfo.foreground": "#0080ff6a", + "minimap.background": "#00000000", + "scrollbar.shadow": "#00000000" + } } diff --git a/apps/admin/app/(main)/page.tsx b/apps/admin/app/(main)/page.tsx index db6e84f..fd17887 100644 --- a/apps/admin/app/(main)/page.tsx +++ b/apps/admin/app/(main)/page.tsx @@ -7,9 +7,11 @@ import { Button } from '@workspace/ui/components/button'; import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogTrigger, DialogDescription } from '@workspace/ui/components/dialog'; import { Accordion, AccordionContent, AccordionItem, AccordionTrigger } from '@workspace/ui/components/accordion'; import { Badge } from '@workspace/ui/components/badge'; +import { Separator } from '@workspace/ui/components/separator'; import Link from 'next/link'; import { revalidatePath } from 'next/cache'; import { db, companies, jobs } from '@workspace/db'; +import { Plus, Building2, Briefcase, MapPin, DollarSign, Calendar, ExternalLink } from 'lucide-react'; async function createCompany(formData: FormData) { 'use server'; @@ -58,62 +60,281 @@ async function createJob(formData: FormData) { } async function getDashboardData() { - return await db.query.companies.findMany({ with: { jobs: true } }); + try { + // First, let's test a simple query without relations + const companiesOnly = await db.select().from(companies); + console.log('Companies query successful:', companiesOnly.length); + + // Now try the relation query + const result = await db.query.companies.findMany({ with: { jobs: true } }); + console.log('Full query successful:', result.length); + return result; + } catch (error) { + console.error('Database query error:', error); + // Fallback to companies only if the relation query fails + const companiesOnly = await db.select().from(companies); + return companiesOnly.map(company => ({ ...company, jobs: [] })); + } } export default async function DashboardPage() { const data = await getDashboardData(); return ( -
-
-

Companies Dashboard

- - - - - - - Add a new company - Fill in the details below to add a new company. - -
- - - - -