From 3da4d3316754b557c6c63c9a4490d6658a48f59f Mon Sep 17 00:00:00 2001 From: ajdj100 Date: Mon, 15 Sep 2025 10:38:31 -0400 Subject: [PATCH] added initial members list --- api/index.js | 8 +- ui/src/api/member.ts | 19 ++++ .../components/ui/combobox/ComboboxInput.vue | 2 +- .../ui/dropdown-menu/DropdownMenu.vue | 19 ++++ .../DropdownMenuCheckboxItem.vue | 46 ++++++++++ .../ui/dropdown-menu/DropdownMenuContent.vue | 62 +++++++++++++ .../ui/dropdown-menu/DropdownMenuGroup.vue | 14 +++ .../ui/dropdown-menu/DropdownMenuItem.vue | 36 ++++++++ .../ui/dropdown-menu/DropdownMenuLabel.vue | 28 ++++++ .../dropdown-menu/DropdownMenuRadioGroup.vue | 21 +++++ .../dropdown-menu/DropdownMenuRadioItem.vue | 47 ++++++++++ .../dropdown-menu/DropdownMenuSeparator.vue | 21 +++++ .../ui/dropdown-menu/DropdownMenuSub.vue | 17 ++++ .../dropdown-menu/DropdownMenuSubContent.vue | 56 +++++++++++ .../dropdown-menu/DropdownMenuSubTrigger.vue | 34 +++++++ .../ui/dropdown-menu/DropdownMenuTrigger.vue | 20 ++++ ui/src/components/ui/dropdown-menu/index.js | 16 ++++ ui/src/pages/RankChange.vue | 63 +++++++++---- ui/src/pages/memberList.vue | 92 +++++++++++++++++++ ui/src/router/index.js | 2 + 20 files changed, 601 insertions(+), 22 deletions(-) create mode 100644 ui/src/api/member.ts create mode 100644 ui/src/components/ui/dropdown-menu/DropdownMenu.vue create mode 100644 ui/src/components/ui/dropdown-menu/DropdownMenuCheckboxItem.vue create mode 100644 ui/src/components/ui/dropdown-menu/DropdownMenuContent.vue create mode 100644 ui/src/components/ui/dropdown-menu/DropdownMenuGroup.vue create mode 100644 ui/src/components/ui/dropdown-menu/DropdownMenuItem.vue create mode 100644 ui/src/components/ui/dropdown-menu/DropdownMenuLabel.vue create mode 100644 ui/src/components/ui/dropdown-menu/DropdownMenuRadioGroup.vue create mode 100644 ui/src/components/ui/dropdown-menu/DropdownMenuRadioItem.vue create mode 100644 ui/src/components/ui/dropdown-menu/DropdownMenuSeparator.vue create mode 100644 ui/src/components/ui/dropdown-menu/DropdownMenuSub.vue create mode 100644 ui/src/components/ui/dropdown-menu/DropdownMenuSubContent.vue create mode 100644 ui/src/components/ui/dropdown-menu/DropdownMenuSubTrigger.vue create mode 100644 ui/src/components/ui/dropdown-menu/DropdownMenuTrigger.vue create mode 100644 ui/src/components/ui/dropdown-menu/index.js create mode 100644 ui/src/pages/memberList.vue diff --git a/api/index.js b/api/index.js index 3c23124..73d6699 100644 --- a/api/index.js +++ b/api/index.js @@ -13,13 +13,13 @@ const port = 3000; // Mount route modules const applicationsRouter = require('./routes/applications'); -const { userRanks, ranks} = require('./routes/ranks'); -const users = require('./routes/users'); +const { memberRanks, ranks} = require('./routes/ranks'); +const members = require('./routes/users'); app.use('/application', applicationsRouter); app.use('/ranks', ranks); -app.use('/userRoles', userRanks); -app.use('/users', users); +app.use('/userRoles', memberRanks); +app.use('/members', members); app.listen(port, () => { console.log(`Example app listening on port ${port} `) diff --git a/ui/src/api/member.ts b/ui/src/api/member.ts new file mode 100644 index 0000000..acb05e5 --- /dev/null +++ b/ui/src/api/member.ts @@ -0,0 +1,19 @@ +export type Member = { + member_id: number; + member_name: string; + rank: string | null; + rank_date: string | null; + status: string | null; + status_date: string | null; +}; + + +const addr = "localhost:3000" + +export async function getMembers(): Promise { + const response = await fetch(`http://${addr}/members`); + if (!response.ok) { + throw new Error("Failed to fetch members"); + } + return response.json(); +} \ No newline at end of file diff --git a/ui/src/components/ui/combobox/ComboboxInput.vue b/ui/src/components/ui/combobox/ComboboxInput.vue index 6dd3822..567005e 100644 --- a/ui/src/components/ui/combobox/ComboboxInput.vue +++ b/ui/src/components/ui/combobox/ComboboxInput.vue @@ -28,7 +28,7 @@ const forwarded = useForwardPropsEmits(delegatedProps, emits);