Skip to content

Org dashboard#229

Open
abhikaboy wants to merge 5 commits intomainfrom
org-dashboard
Open

Org dashboard#229
abhikaboy wants to merge 5 commits intomainfrom
org-dashboard

Conversation

@abhikaboy
Copy link
Copy Markdown
Collaborator

@abhikaboy abhikaboy commented Apr 15, 2026

Description

[Link to Ticket](insert the link to your ticket inside the parenthesis here)
Please include a summary of the changes and the related issue. Please also
include relevant motivation, context, and images!

How Has This Been Tested?

Please describe the tests that you manually ran to verify your changes (beyond any unit/integration tests written and ran).

Screenshots

Please provide screenshots of manual testing (Scalar, frontend pages, etc.)
image
image
image

Checklist

General

  • I have performed a self-review of my code
  • I have commented my code, particularly in hard-to-understand areas

Backend Changes (if applicable)

  • I have written unit tests for my code
  • I have written integration tests where appropriate
  • New and existing unit tests pass locally with my changes
  • I have run make api-validate and make api-gen to keep the openAPI spec up to date
  • I have tested error handling and edge cases
  • Database migrations are included (if applicable)

Frontend Changes (if applicable)

  • I have tested in multiple browsers (Chrome, Firefox, Safari)
  • Mobile responsive design verified (if applicable)
  • I have run make generate-api to keep the API hooks up to date
  • For mobile features: Tested on both iOS and Android devices
  • For mobile features: Screenshots from both iOS and Android included below
  • No console errors or warnings
  • Loading states and error states handled

Mobile Screenshots (if applicable)

iOS

[Add iOS screenshots here]

Android

[Add Android screenshots here]

@abhikaboy abhikaboy marked this pull request as ready for review April 15, 2026 07:07
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds an organization/company dashboard area to the web frontend (under /company/:id/*) with a sidebar layout and an initial Events page UI, plus supporting UI primitives, styling, and path alias setup.

Changes:

  • Introduces /company/:id/* routes, company layout/context, and placeholder pages (Home/Events/Payments/Customers).
  • Adds Events page UI (toolbar, grid/table views, cards, formatting helpers) backed by mock event data.
  • Adds UI utilities/components (Button, Bento grid/cards, Skeleton, Table components), Tailwind/Shadcn-related CSS imports, and @/ path aliases.

Reviewed changes

Copilot reviewed 45 out of 46 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
frontend/bun.lock Updates lockfile entries for React versions and adds new dependencies used by the web app.
frontend/apps/web/vite.config.ts Adds @ alias config and changes how env is injected into the build.
frontend/apps/web/tsconfig.json Adds baseUrl + paths mapping for @/*.
frontend/apps/web/tsconfig.app.json Adds baseUrl + paths mapping for @/* for app compilation.
frontend/apps/web/src/main.tsx Adds /company/:id/* route to render the new Company dashboard area.
frontend/apps/web/src/lib/utils.ts Adds cn() helper for merging Tailwind classnames (clsx + tailwind-merge).
frontend/apps/web/src/index.css Imports animation + shadcn styles and defines theme CSS variables/base layer styling.
frontend/apps/web/src/hooks/use-debounce.ts Adds a debounce hook used by Events search filtering.
frontend/apps/web/src/components/ui/stat-card.tsx Adds a small stat display card for the dashboard home.
frontend/apps/web/src/components/ui/skeleton.tsx Adds a reusable skeleton loading component.
frontend/apps/web/src/components/ui/button.tsx Adds Base UI + CVA-based Button component/variants.
frontend/apps/web/src/components/ui/bento-grid.tsx Adds BentoGrid/BentoCard layout primitives for dashboard sections.
frontend/apps/web/src/components/table/table-container.tsx Adds table container wrapper styling.
frontend/apps/web/src/components/table/table-header.tsx Adds table header component.
frontend/apps/web/src/components/table/table-row.tsx Adds clickable table row component.
frontend/apps/web/src/components/table/table-cell.tsx Adds table cell component with class merging.
frontend/apps/web/src/components/table/index.ts Exports the new table primitives from a barrel file.
frontend/apps/web/src/components/sidebar-nav-item.tsx Adds a sidebar nav item component with active styling + icon support.
frontend/apps/web/src/components/company_sidebar.tsx Adds the company dashboard sidebar (nav + footer profile link).
frontend/apps/web/src/company/company.tsx Adds the Company dashboard router + layout shell.
frontend/apps/web/src/company/company-context.tsx Adds context for companyId and organization data fetched by id.
frontend/apps/web/src/company/company-layout.tsx Adds shared page layout for company pages (breadcrumbs + optional heading).
frontend/apps/web/src/company/company-heading.tsx Adds company heading/summary component with loading state.
frontend/apps/web/src/company/breadcrumbs.tsx Adds breadcrumb display with loading skeleton state.
frontend/apps/web/src/company/home.tsx Adds company home page placeholder (stats grid).
frontend/apps/web/src/company/events.tsx Adds company events page with filtering/search + grid/table toggle.
frontend/apps/web/src/company/payments.tsx Adds company payments placeholder page.
frontend/apps/web/src/company/customers.tsx Adds company customers placeholder page.
frontend/apps/web/src/company/events/constants.ts Adds constants for icon sizing and grid column classnames.
frontend/apps/web/src/company/events/formatters.ts Adds date/price formatting helpers for Events UI.
frontend/apps/web/src/company/events/mock-events.ts Adds mock events dataset for the Events page.
frontend/apps/web/src/company/events/events-toolbar.tsx Adds filtering/search + view mode controls for Events page.
frontend/apps/web/src/company/events/create-event-button.tsx Adds the “Create Event” CTA button.
frontend/apps/web/src/company/events/event-card.tsx Adds event card UI for grid view.
frontend/apps/web/src/company/events/event-card-image.tsx Adds event image/header UI with fallback + badges.
frontend/apps/web/src/company/events/category-badges.tsx Adds category badges rendering on event cards.
frontend/apps/web/src/company/events/status-badge.tsx Adds status badge rendering for scheduled/cancelled.
frontend/apps/web/src/company/events/event-card-date.tsx Adds date row UI for event cards.
frontend/apps/web/src/company/events/event-card-location.tsx Adds location row UI for event cards.
frontend/apps/web/src/company/events/enrollment-bar.tsx Adds enrollment progress bar for event cards.
frontend/apps/web/src/company/events/event-card-grid.tsx Adds grid wrapper + skeleton behavior for Events cards.
frontend/apps/web/src/company/events/event-card-skeleton.tsx Adds skeleton layout for event cards while loading.
frontend/apps/web/src/company/events/event-table.tsx Adds table view wrapper for events list.
frontend/apps/web/src/company/events/event-table-row.tsx Adds table row UI for an event occurrence.
frontend/apps/web/package.json Adds new UI-related dependencies required by the dashboard UI.
frontend/apps/web/components.json Adds Shadcn UI configuration for the web app.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines 14 to +18
createRoot(document.getElementById("root")!).render(
<QueryClientProvider client={queryClient}>
<BrowserRouter>
<AuthProvider>
<Routes>
<Route path="/login" element={<Login />} />
<Route path="/signup" element={<SignUp />} />
<Route
path="/"
element={
<ProtectedRoute>
<App />
</ProtectedRoute>
}
/>
<Route path="/admin/*" element={<Admin />} />
</Routes>
</AuthProvider>
</BrowserRouter>
</QueryClientProvider>,
<QueryClientProvider client={queryClient}>
<BrowserRouter>
<AuthProvider>
<Routes>
Comment on lines +12 to +15
},
define: {
"process.env.VITE_API_BASE_URL": JSON.stringify(env.VITE_API_BASE_URL),
},
Comment on lines +8 to 11
resolve: {
alias: {
"@": path.resolve(__dirname, "./src"),
},
Comment on lines +16 to +21
export function CompanyProvider({ children }: { children: React.ReactNode }) {
const { id } = useParams<{ id: string }>();
const { data, isLoading } = useGetOrganization(id!);

const organization = data?.data as Organization | undefined;

Copy link
Copy Markdown
Collaborator

@adescoteaux1 adescoteaux1 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

see CI failures and co-pilot comments

@adescoteaux1 adescoteaux1 linked an issue Apr 15, 2026 that may be closed by this pull request
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Feat: Business Portal Landing page

3 participants