Skip to content
This repository was archived by the owner on Sep 30, 2023. It is now read-only.

Commit 81b1d80

Browse files
committed
feat: logics to handle data from backend, new design & pages
1 parent f470c4a commit 81b1d80

31 files changed

+1305
-598
lines changed

.env.development

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
VITE_API_ENDPOINT=https://shared-tw.herokuapp.com

.env renamed to .env.production

File renamed without changes.

components.d.ts

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,13 @@ declare module 'vue' {
1616
AppLink: typeof import('./src/components/atoms/AppLink.vue')['default']
1717
AppLogo: typeof import('./src/components/atoms/AppLogo.vue')['default']
1818
ApplyHeader: typeof import('./src/components/organisms/apply/ApplyHeader.vue')['default']
19-
ApplyListHeader: typeof import('./src/components/molecules/ApplyListHeader.vue')['default']
20-
ApplyListItem: typeof import('./src/components/molecules/ApplyListItem.vue')['default']
19+
ApplyItemInfo: typeof import('./src/components/molecules/apply/ApplyItemInfo.vue')['default']
20+
ApplyListItem: typeof import('./src/components/molecules/apply/ApplyListItem.vue')['default']
21+
ApplyOrgInfoBar: typeof import('./src/components/organisms/apply/ApplyOrgInfoBar.vue')['default']
2122
ApplySupply: typeof import('./src/components/templates/ApplySupply.vue')['default']
2223
ApplySupplyList: typeof import('./src/components/organisms/apply/ApplySupplyList.vue')['default']
2324
ApplyToolbar: typeof import('./src/components/organisms/apply/ApplyToolbar.vue')['default']
25+
AppModal: typeof import('./src/components/molecules/AppModal.vue')['default']
2426
AppPopover: typeof import('./src/components/molecules/AppPopover.vue')['default']
2527
AppSelect: typeof import('./src/components/molecules/AppSelect.vue')['default']
2628
AppTitle: typeof import('./src/components/atoms/AppTitle.vue')['default']
@@ -29,8 +31,6 @@ declare module 'vue' {
2931
DonateSchedule: typeof import('./src/components/organisms/DonateSchedule.vue')['default']
3032
DonatorRegisterForm: typeof import('./src/components/organisms/DonatorRegisterForm.vue')['default']
3133
FlashMessage: typeof import('./src/components/global/FlashMessage.vue')['default']
32-
'Fluent:checkboxChecked20Filled': typeof import('virtual:vite-icons/fluent/checkbox-checked20-filled')['default']
33-
'Fluent:checkboxUnchecked20Regular': typeof import('virtual:vite-icons/fluent/checkbox-unchecked20-regular')['default']
3434
FormActions: typeof import('./src/components/molecules/form/FormActions.vue')['default']
3535
FormCheckbox: typeof import('./src/components/molecules/form/FormCheckbox.vue')['default']
3636
FormErrorMessage: typeof import('./src/components/atoms/FormErrorMessage.vue')['default']
@@ -44,13 +44,8 @@ declare module 'vue' {
4444
JamCloseCircleF: typeof import('virtual:vite-icons/jam/close-circle-f')['default']
4545
LoginForm: typeof import('./src/components/organisms/LoginForm.vue')['default']
4646
LoginPage: typeof import('./src/components/templates/LoginPage.vue')['default']
47-
'Mdi:close': typeof import('virtual:vite-icons/mdi/close')['default']
4847
'Mdi:loading': typeof import('virtual:vite-icons/mdi/loading')['default']
49-
'MdiLight:delete': typeof import('virtual:vite-icons/mdi-light/delete')['default']
50-
'MdiLight:minus': typeof import('virtual:vite-icons/mdi-light/minus')['default']
51-
'MdiLight:plus': typeof import('virtual:vite-icons/mdi-light/plus')['default']
5248
NotFound: typeof import('./src/components/templates/NotFound.vue')['default']
53-
OrgInfoNavBar: typeof import('./src/components/organisms/org/OrgInfoNavBar.vue')['default']
5449
OrgListCard: typeof import('./src/components/organisms/org/OrgListCard.vue')['default']
5550
OrgRegisterForm: typeof import('./src/components/organisms/org/OrgRegisterForm.vue')['default']
5651
ProcessLine: typeof import('./src/components/molecules/ProcessLine.vue')['default']
@@ -63,9 +58,13 @@ declare module 'vue' {
6358
SupplyCardList: typeof import('./src/components/organisms/SupplyCardList.vue')['default']
6459
SupplyModal: typeof import('./src/components/organisms/SupplyModal.vue')['default']
6560
TheHeader: typeof import('./src/components/templates/TheHeader.vue')['default']
66-
'Uil:angleDoubleLeft': typeof import('virtual:vite-icons/uil/angle-double-left')['default']
67-
'Uil:angleDoubleRight': typeof import('virtual:vite-icons/uil/angle-double-right')['default']
6861
'Uil:angleLeft': typeof import('virtual:vite-icons/uil/angle-left')['default']
62+
'Uil:filter': typeof import('virtual:vite-icons/uil/filter')['default']
63+
'Uil:infoCircle': typeof import('virtual:vite-icons/uil/info-circle')['default']
64+
'Uil:minus': typeof import('virtual:vite-icons/uil/minus')['default']
65+
'Uil:multiply': typeof import('virtual:vite-icons/uil/multiply')['default']
66+
'Uil:plus': typeof import('virtual:vite-icons/uil/plus')['default']
67+
'Uil:trashAlt': typeof import('virtual:vite-icons/uil/trash-alt')['default']
6968
'Uim:checkCircle': typeof import('virtual:vite-icons/uim/check-circle')['default']
7069
'Uim:circle': typeof import('virtual:vite-icons/uim/circle')['default']
7170
WithHeader: typeof import('./src/components/atoms/layouts/WithHeader.vue')['default']

src/api/donation.ts

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
import { onMounted, ref } from 'vue'
2+
import { donationApi } from '@/api'
3+
4+
import type { GroupedRequiredItems } from '@/api'
5+
import { AxiosError } from 'axios'
6+
7+
const items = ref<GroupedRequiredItems[] | null>(null)
8+
9+
export function getDonationItems() {
10+
const error = ref<AxiosError | undefined>()
11+
onMounted(async() => {
12+
if (items.value) return
13+
await donationApi
14+
.listRequiredItems()
15+
.then(({ data }) => {
16+
items.value = data
17+
})
18+
.catch(e => error.value = e)
19+
})
20+
21+
return {
22+
items,
23+
error,
24+
}
25+
}

0 commit comments

Comments
 (0)