Skip to content

Commit 6ea044b

Browse files
committed
🔀 [fix] : conflict resolved
2 parents 3a2ac26 + 36cd54f commit 6ea044b

28 files changed

+438
-140
lines changed

src/api/auth.ts

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
import { axiosInstance } from '@/utils/axios'
2+
import Cookies from 'js-cookie'
3+
import type { loginDataTypes } from '@/types/auth'
4+
5+
export const postLogin = async (loginData: loginDataTypes, sessionId: string) => {
6+
const response = await axiosInstance.post('/api/auths/login', loginData, {
7+
headers: { sessionId: sessionId }
8+
})
9+
Cookies.set('accessToken', response.data.accessToken, {
10+
path: '/',
11+
sameSite: 'strict'
12+
})
13+
return response.data
14+
}
15+
16+
export const patchPassword = async (password: string) => {
17+
const accessToken = Cookies.get('accessToken')
18+
19+
if (!accessToken) return
20+
21+
const response = await axiosInstance.patch('/api/members/password', password, {
22+
headers: {
23+
Authorization: `Bearer ${accessToken}`
24+
}
25+
})
26+
27+
return response.data
28+
}

src/api/common.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import { axiosInstance } from '../utils/axios'
2+
3+
export const getMainCategory = async () => {
4+
const response = await axiosInstance.get('/api/main-category')
5+
return response.data
6+
}
7+
8+
export const getSubCategory = async () => {
9+
const response = await axiosInstance.get('/api/sub-category')
10+
return response.data
11+
}

src/api/test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import axiosInstance from '../utils/axios'
1+
import { axiosInstance } from '../utils/axios'
22

33
export const getNotifications = async () => {
44
const response = await axiosInstance.get('/api/notifications?page=0&size=5')

src/api/user.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
import { formDataAxiosInstance } from '@/utils/axios'
2+
3+
export const postTaskRequest = async (formdata: FormData) => {
4+
const response = await formDataAxiosInstance.post('/api/tasks', formdata)
5+
return response.data
6+
}

src/components/SideBar.vue

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,14 @@
3939

4040
<div class="flex w-full justify-between px-6 py-4 bg-white">
4141
<div class="flex w-full items-center gap-3">
42-
<!-- 프로필 사진 API 필요 -->
43-
<div class="w-10 h-10 rounded-full bg-background-1" />
42+
<img
43+
v-if="info?.imageUrl"
44+
class="rounded-[50%] w-10 h-10"
45+
:src="info.imageUrl"
46+
alt="프로필 이미지" />
47+
<div
48+
v-else
49+
class="w-10 h-10 rounded-full bg-background-1" />
4450
<div class="flex flex-col gap-1">
4551
<p class="text-xs text-body font-bold">{{ name }}</p>
4652
<p class="text-sm text-black">{{ nickname }}</p>
@@ -61,22 +67,26 @@
6167

6268
<script setup lang="ts">
6369
import { useRoute } from 'vue-router'
64-
import { computed, ref } from 'vue'
70+
import { computed } from 'vue'
6571
import CommonIcons from './common/CommonIcons.vue'
6672
import { hamburgerIcon } from '@/constants/iconPath'
6773
import { SIDE_USER_MENU, SIDE_MANAGER_MENU, SIDE_ADMIN_MENU } from '@/constants/menu'
74+
import { useMemberStore } from '@/stores/member'
75+
import { storeToRefs } from 'pinia'
76+
77+
const memberStore = useMemberStore()
78+
const { info } = storeToRefs(memberStore)
6879
6980
const route = useRoute()
7081
71-
// 회원 역할, 닉네임 필요
72-
const role = ref('manager')
73-
const name = ref('백지연')
74-
const nickname = ref('Chloe.yeon')
82+
const role = computed(() => info.value.memberRole)
83+
const name = computed(() => info.value.memberName)
84+
const nickname = computed(() => info.value.nickname)
7585
7686
const filteredMenu = computed(() => {
77-
return role.value === 'user'
87+
return role.value === 'ROLE_USER'
7888
? SIDE_USER_MENU
79-
: role.value === 'manager'
89+
: role.value === 'ROLE_MANAGER'
8090
? SIDE_MANAGER_MENU
8191
: SIDE_ADMIN_MENU
8292
})

src/components/TopBar.vue

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,14 @@
1414
v-show="isLogined"
1515
class="flex items-center gap-6">
1616
<NotificationIcon :new-notification="12" />
17-
<!-- 프로필 사진 API 필요 -->
18-
<div class="rounded-[50%] bg-zinc-100 p-5" />
17+
<img
18+
v-if="info?.imageUrl"
19+
class="rounded-[50%] w-10 h-10"
20+
:src="info.imageUrl"
21+
alt="프로필 이미지" />
22+
<div
23+
v-else
24+
class="rounded-[50%] bg-zinc-100 p-5" />
1925
</div>
2026
</div>
2127
</div>
@@ -25,13 +31,21 @@
2531
</template>
2632

2733
<script setup lang="ts">
28-
import { ref } from 'vue'
34+
import { ref, onMounted } from 'vue'
2935
import CommonIcons from './common/CommonIcons.vue'
3036
import SideBar from './SideBar.vue'
3137
import { hamburgerIcon } from '../constants/iconPath'
3238
import NotificationIcon from './icons/NotificationIcon.vue'
39+
import { storeToRefs } from 'pinia'
40+
import { useMemberStore } from '@/stores/member'
41+
42+
const memberStore = useMemberStore()
43+
const { info } = storeToRefs(memberStore)
44+
45+
onMounted(async () => {
46+
await memberStore.updateMemberInfoWithToken()
47+
})
3348
34-
// 로그인 정보 필요
3549
const isSideOpen = ref(false)
3650
const isLogined = ref(true)
3751

src/components/my-request/MyRequestFilterBar.vue

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -33,15 +33,15 @@
3333
</template>
3434

3535
<script setup lang="ts">
36-
import FilterDropdown from '../filters/FilterDropdown.vue'
36+
import { PAGE_SIZE_LIST, TASK_STATUS_LIST, TERM_LIST } from '@/constants/common'
37+
import { useRequestParamsStore } from '@/stores/params'
38+
import { axiosInstance } from '@/utils/axios'
39+
import { useQuery } from '@tanstack/vue-query'
3740
import FilterCategory from '../filters/FilterCategory.vue'
38-
import FilterInput from '../filters/FilterInput.vue'
41+
import FilterDropdown from '../filters/FilterDropdown.vue'
3942
import FilterDropdownMulti from '../filters/FilterDropdownMulti.vue'
40-
import { useRequestParamsStore } from '@/stores/params'
41-
import { PAGE_SIZE_LIST, TASK_STATUS_LIST, TERM_LIST } from '@/constants/common'
43+
import FilterInput from '../filters/FilterInput.vue'
4244
import { useRequestParamsChange } from '../hooks/useRequestParamsChange'
43-
import axiosInstance from '@/utils/axios'
44-
import { useQuery } from '@tanstack/vue-query'
4545
4646
const store = useRequestParamsStore()
4747
store.$reset()

src/components/my-request/MyRequestList.vue

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -22,17 +22,17 @@
2222
</template>
2323

2424
<script setup lang="ts">
25-
import MyRequestListBar from './MyRequestListBar.vue'
26-
import MyRequestListCard from './MyRequestListCard.vue'
27-
import ListPagination from '../lists/ListPagination.vue'
28-
import ListContainer from '../lists/ListContainer.vue'
2925
import { useRequestParamsStore } from '@/stores/params'
30-
import axiosInstance from '@/utils/axios'
26+
import type { MyRequestResponse } from '@/types/user'
27+
import { axiosInstance } from '@/utils/axios'
3128
import { useQuery } from '@tanstack/vue-query'
3229
import { useParseParams } from '../hooks/useParseParams'
33-
import type { MyRequestResponse } from '@/types/user'
34-
import { computed } from 'vue'
30+
import ListContainer from '../lists/ListContainer.vue'
31+
import ListPagination from '../lists/ListPagination.vue'
3532
import NoContent from '../lists/NoContent.vue'
33+
import MyRequestListBar from './MyRequestListBar.vue'
34+
import MyRequestListCard from './MyRequestListCard.vue'
35+
import { computed } from 'vue'
3636
3737
const { params } = useRequestParamsStore()
3838
const onPageChange = (value: number) => {

src/components/my-task/MyTaskFilterBar.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ import { useRequestParamsStore } from '@/stores/params'
4141
import { PAGE_SIZE_LIST, TASK_STATUS_LIST, TERM_LIST } from '@/constants/common'
4242
import { useRequestParamsChange } from '../hooks/useRequestParamsChange'
4343
import { useQuery } from '@tanstack/vue-query'
44-
import axiosInstance from '@/utils/axios'
44+
import {axiosInstance} from '@/utils/axios'
4545
4646
const store = useRequestParamsStore()
4747
store.$reset()

src/components/request-history/RequestHistoryFilterBar.vue

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -33,15 +33,15 @@
3333
</template>
3434

3535
<script setup lang="ts">
36-
import FilterDropdown from '../filters/FilterDropdown.vue'
37-
import FilterCategory from '../filters/FilterCategory.vue'
38-
import FilterInput from '../filters/FilterInput.vue'
3936
import { PAGE_SIZE_LIST, TASK_STATUS_LIST, TERM_LIST } from '@/constants/common'
40-
import FilterDropdownMulti from '../filters/FilterDropdownMulti.vue'
4137
import { useRequestParamsStore } from '@/stores/params'
42-
import { useRequestParamsChange } from '../hooks/useRequestParamsChange'
38+
import { axiosInstance } from '@/utils/axios'
4339
import { useQuery } from '@tanstack/vue-query'
44-
import axiosInstance from '@/utils/axios'
40+
import FilterCategory from '../filters/FilterCategory.vue'
41+
import FilterDropdown from '../filters/FilterDropdown.vue'
42+
import FilterDropdownMulti from '../filters/FilterDropdownMulti.vue'
43+
import FilterInput from '../filters/FilterInput.vue'
44+
import { useRequestParamsChange } from '../hooks/useRequestParamsChange'
4545
4646
const store = useRequestParamsStore()
4747
store.$reset()

0 commit comments

Comments
 (0)