diff --git a/compass/app/admin/page.tsx b/compass/app/admin/page.tsx index fede31d..8097b6c 100644 --- a/compass/app/admin/page.tsx +++ b/compass/app/admin/page.tsx @@ -1,7 +1,7 @@ "use client"; import { PageLayout } from "@/components/PageLayout"; -import { Table } from "@/components/Table/Index"; +import UserTable from "@/components/Table/UserIndex"; import User from "@/utils/models/User"; import { createClient } from "@/utils/supabase/client"; @@ -38,7 +38,7 @@ export default function Page() {
{/* icon + title */} }> - + ); diff --git a/compass/app/resource/page.tsx b/compass/app/resource/page.tsx index fc4df14..ba641dc 100644 --- a/compass/app/resource/page.tsx +++ b/compass/app/resource/page.tsx @@ -1,8 +1,8 @@ "use client"; import { PageLayout } from "@/components/PageLayout"; -import { ResourceTable } from "@/components/Table/ResourceIndex"; import Resource from "@/utils/models/Resource"; +import ResourceTable from "@/components/Table/ResourceIndex"; import { createClient } from "@/utils/supabase/client"; import { BookmarkIcon } from "@heroicons/react/24/solid"; @@ -27,7 +27,7 @@ export default function Page() { ); const resourcesAPI: Resource[] = await userListData.json(); - + setResources(resourcesAPI); } @@ -38,7 +38,7 @@ export default function Page() {
{/* icon + title */} }> - +
); diff --git a/compass/app/resource_test/page.tsx b/compass/app/resource_test/page.tsx deleted file mode 100644 index 519391e..0000000 --- a/compass/app/resource_test/page.tsx +++ /dev/null @@ -1,177 +0,0 @@ -"use client"; - -import { PageLayout } from "@/components/PageLayout"; -import { RowOpenAction } from "@/components/Table/RowOpenAction"; -import { RowOptionMenu } from "@/components/Table/RowOptionMenu"; -import { TestTable } from "@/components/Table/TestIndex"; -import TagsInput from "@/components/TagsInput/Index"; -import Resource from "@/utils/models/Resource"; -import { createClient } from "@/utils/supabase/client"; - -import { Bars2Icon, BookmarkIcon } from "@heroicons/react/24/solid"; -import { ColumnDef, createColumnHelper } from "@tanstack/react-table"; -import { useEffect, useState } from "react"; - -export default function Page() { - const [resources, setResources] = useState([]); - const columnHelper = createColumnHelper(); - - useEffect(() => { - async function getResources() { - const supabase = createClient(); - - const { data, error } = await supabase.auth.getUser(); - - if (error) { - console.log("Accessed admin page but not logged in"); - return; - } - - const userListData = await fetch( - `${process.env.NEXT_PUBLIC_HOST}/api/resource/all?uuid=${data.user.id}` - ); - - const resourcesAPI: Resource[] = await userListData.json(); - - setResources(resourcesAPI); - } - - getResources(); - }, []); - - const [data, setData] = useState([]); - - const deleteUser = (userId: number) => { - console.log(data); - setData((currentData) => - currentData.filter((user) => user.id !== userId) - ); - }; - - const hideUser = (userId: number) => { - console.log(`Toggling visibility for user with ID: ${userId}`); - setData((currentData) => { - const newData = currentData - .map((user) => { - if (user.id === userId) { - return { ...user, visible: !user.visible }; - } - return user; - }) - .sort((a, b) => - a.visible === b.visible ? 0 : a.visible ? -1 : 1 - ); - - console.log(newData); - return newData; - }); - }; - - const addUser = () => { - setData([...data]); - }; - - const [presetOptions, setPresetOptions] = useState([ - "administrator", - "volunteer", - "employee", - ]); - const [tagColors, setTagColors] = useState(new Map()); - - const getTagColor = (tag: string) => { - if (!tagColors.has(tag)) { - const colors = [ - "bg-cyan-100", - "bg-blue-100", - "bg-green-100", - "bg-yellow-100", - "bg-purple-100", - ]; - const randomColor = - colors[Math.floor(Math.random() * colors.length)]; - setTagColors(new Map(tagColors).set(tag, randomColor)); - } - return tagColors.get(tag); - }; - - const handleRowUpdate = (updatedRow: Resource) => { - const dataIndex = data.findIndex((row) => row.id === updatedRow.id); - if (dataIndex !== -1) { - const updatedData = [...data]; - updatedData[dataIndex] = updatedRow; - setData(updatedData); - } - }; - - const columns: ColumnDef[] = [ - columnHelper.display({ - id: "options", - cell: (props) => ( - {}} - onHide={() => hideUser(props.row.original.id)} - /> - ), - }), - columnHelper.accessor("name", { - header: () => ( - <> - Name - - ), - cell: (info) => ( - - ), - }), - columnHelper.accessor("link", { - header: () => ( - <> - Link - - ), - cell: (info) => ( - - {info.getValue()} - - ), - }), - columnHelper.accessor("program", { - header: () => ( - <> - Program - - ), - cell: (info) => ( - - ), - }), - - columnHelper.accessor("summary", { - header: () => ( - <> - Summary - - ), - cell: (info) => ( - {info.getValue()} - ), - }), - ]; - - return ( -
- {/* icon + title */} - }> - - -
- ); -} diff --git a/compass/app/service/page.tsx b/compass/app/service/page.tsx index 8ebea4f..cb6fbe5 100644 --- a/compass/app/service/page.tsx +++ b/compass/app/service/page.tsx @@ -1,7 +1,7 @@ "use client"; import { PageLayout } from "@/components/PageLayout"; -import { ServiceTable } from "@/components/Table/ServiceIndex"; +import ServiceTable from "@/components/Table/ServiceIndex"; import Service from "@/utils/models/Service"; import { createClient } from "@/utils/supabase/client"; @@ -37,7 +37,7 @@ export default function Page() {
{/* icon + title */} }> - +
); diff --git a/compass/components/Table/ResourceIndex.tsx b/compass/components/Table/ResourceIndex.tsx index a4b66e7..085a14d 100644 --- a/compass/components/Table/ResourceIndex.tsx +++ b/compass/components/Table/ResourceIndex.tsx @@ -8,7 +8,7 @@ import TagsInput from "@/components/TagsInput/Index"; import Resource from "@/utils/models/Resource"; import { DataPoint } from "@/components/Table/Table"; -export function ResourceTable({ resources }: { resources: Resource[] }) { +export default function ResourceTable({ resources }: { resources: Resource[] }) { const columnHelper = createColumnHelper(); const [data, setData] = useState([...resources]); diff --git a/compass/components/Table/ServiceIndex.tsx b/compass/components/Table/ServiceIndex.tsx index fb32144..ac85cae 100644 --- a/compass/components/Table/ServiceIndex.tsx +++ b/compass/components/Table/ServiceIndex.tsx @@ -8,7 +8,7 @@ import TagsInput from "@/components/TagsInput/Index"; import Service from "@/utils/models/Service"; import { DataPoint } from "@/components/Table/Table"; -export const ServiceTable = ({ services }: { services: Service[] }) => { +export default function ServiceTable({ services }: { services: Service[] }) { const columnHelper = createColumnHelper(); const [data, setData] = useState([...services]); diff --git a/compass/components/Table/UserIndex.tsx b/compass/components/Table/UserIndex.tsx index bc93f68..5b02a4d 100644 --- a/compass/components/Table/UserIndex.tsx +++ b/compass/components/Table/UserIndex.tsx @@ -8,7 +8,7 @@ import TagsInput from "@/components/TagsInput/Index"; import User from "@/utils/models/User"; import { DataPoint } from "@/components/Table/Table"; -export function UserTable({ users }: { users: User[] }) { +export default function UserTable({ users }: { users: User[] }) { const columnHelper = createColumnHelper(); const [data, setData] = useState([...users]);