Skip to content

Commit a7b30cb

Browse files
committed
Merge branch 'main' of github.com:CS3219-AY2425S1/cs3219-ay2425s1-project-g16 into anun/crud
2 parents 460e487 + 8557eee commit a7b30cb

File tree

3 files changed

+19
-11
lines changed

3 files changed

+19
-11
lines changed

Makefile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
setup:
22
./scripts/install-deps.sh
33
./scripts/ensure-volume.sh
4+
5+
migrate-seed:
46
./scripts/migrate-seed-databases.sh
57

68
db-up:

frontend/src/routes/questions/main.tsx

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import { Await, defer, useLoaderData, type LoaderFunctionArgs } from 'react-rout
44

55
import { WithNavBanner } from '@/components/blocks/authed/with-nav-banner';
66
import { Loading } from '@/components/blocks/loading';
7+
import { ScrollArea } from '@/components/ui/scroll-area';
78
import { useCrumbs } from '@/lib/hooks/use-crumbs';
89
import { fetchQuestions, ROWS_PER_PAGE } from '@/services/question-service';
910
import type { IGetQuestionsResponse } from '@/types/question-types';
@@ -69,12 +70,14 @@ export function Questions() {
6970

7071
return (
7172
<WithNavBanner crumbs={crumbs}>
72-
<div className='container mx-auto py-3'>
73-
<Suspense fallback={<Loading />}>
74-
<Await resolve={initialData.initialPage}>
75-
<QuestionTable columns={columns} data={questions} isError={isError} />
76-
</Await>
77-
</Suspense>
73+
<div className='flex w-full flex-1 overflow-hidden py-3'>
74+
<ScrollArea className='size-full px-6'>
75+
<Suspense fallback={<Loading />}>
76+
<Await resolve={initialData.initialPage}>
77+
<QuestionTable columns={columns} data={questions} isError={isError} />
78+
</Await>
79+
</Suspense>
80+
</ScrollArea>
7881
</div>
7982
</WithNavBanner>
8083
);

frontend/src/routes/questions/question-table.tsx

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import { useState } from 'react';
12
import {
23
ColumnDef,
34
ColumnFiltersState,
@@ -32,7 +33,6 @@ import {
3233
SelectTrigger,
3334
SelectValue,
3435
} from '@/components/ui/select';
35-
import { useState } from 'react';
3636

3737
interface QuestionTableProps<TData, TValue> {
3838
columns: ColumnDef<TData, TValue>[];
@@ -73,7 +73,7 @@ export function QuestionTable<TData, TValue>({
7373
};
7474

7575
return (
76-
<div>
76+
<div className='flex size-full flex-col'>
7777
<div className='flex items-center py-4'>
7878
<div className='mr-2'>
7979
<Select onValueChange={handleStatusFilterChange}>
@@ -107,11 +107,14 @@ export function QuestionTable<TData, TValue>({
107107
className='max-w-sm'
108108
/>
109109
</div>
110-
<div className='rounded-md border'>
110+
<div className='border-border rounded-md border'>
111111
<Table>
112112
<TableHeader>
113113
{table.getHeaderGroups().map((headerGroup) => (
114-
<TableRow key={headerGroup.id}>
114+
<TableRow
115+
className='border-border/60 bg-primary-foreground text-primary'
116+
key={headerGroup.id}
117+
>
115118
{headerGroup.headers.map((header) => {
116119
return (
117120
<TableHead key={header.id}>
@@ -127,7 +130,7 @@ export function QuestionTable<TData, TValue>({
127130
<TableBody>
128131
{!isError && table.getRowModel().rows?.length ? (
129132
table.getRowModel().rows.map((row) => (
130-
<TableRow key={row.id}>
133+
<TableRow key={row.id} className='border-border/60 even:bg-secondary/10'>
131134
{row.getVisibleCells().map((cell) => (
132135
<TableCell key={cell.id}>
133136
{flexRender(cell.column.columnDef.cell, cell.getContext())}

0 commit comments

Comments
 (0)