@goweekdays/layer-common 1.6.0 → 1.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/components/ConfirmationPrompt.vue +5 -0
- package/composables/useJobPost.ts +0 -110
- package/composables/useJobProfile.ts +6 -6
- package/composables/useOption.ts +126 -0
- package/nuxt.config.ts +1 -0
- package/package.json +1 -1
- package/pages/index.vue +2 -2
- package/types/job.profile.d.ts +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# @goweekdays/layer-common
|
|
2
2
|
|
|
3
|
+
## 1.6.2
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- c6565a1: Make handleSignin async and await refreshMember() so member data is refreshed before navigating. This ensures navigation logic runs after the latest member state is loaded, preventing potential race conditions.
|
|
8
|
+
|
|
9
|
+
## 1.6.1
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- 9e8b319: Move option APIs to useOption and rename fields
|
|
14
|
+
|
|
3
15
|
## 1.6.0
|
|
4
16
|
|
|
5
17
|
### Minor Changes
|
|
@@ -53,6 +53,7 @@
|
|
|
53
53
|
class="text-none"
|
|
54
54
|
@click="emits('confirm')"
|
|
55
55
|
:disabled="localProps.disabled"
|
|
56
|
+
:loading="localProps.loading"
|
|
56
57
|
>
|
|
57
58
|
{{ localProps.action }}
|
|
58
59
|
</v-btn>
|
|
@@ -72,6 +73,10 @@ const localProps = defineProps({
|
|
|
72
73
|
type: Boolean,
|
|
73
74
|
default: false,
|
|
74
75
|
},
|
|
76
|
+
loading: {
|
|
77
|
+
type: Boolean,
|
|
78
|
+
default: false,
|
|
79
|
+
},
|
|
75
80
|
action: {
|
|
76
81
|
type: String,
|
|
77
82
|
default: "Submit",
|
|
@@ -59,39 +59,6 @@ export function useJobPost() {
|
|
|
59
59
|
);
|
|
60
60
|
}
|
|
61
61
|
|
|
62
|
-
function getLocations({ page = 1, limit = 10, search = "" } = {}) {
|
|
63
|
-
return useNuxtApp().$api<Record<string, any>>(`/api/job/posts/locations`, {
|
|
64
|
-
method: "GET",
|
|
65
|
-
query: {
|
|
66
|
-
page,
|
|
67
|
-
limit,
|
|
68
|
-
search,
|
|
69
|
-
},
|
|
70
|
-
});
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
function getJobTitles({ page = 1, limit = 10, search = "" } = {}) {
|
|
74
|
-
return useNuxtApp().$api<Record<string, any>>(`/api/job/posts/titles`, {
|
|
75
|
-
method: "GET",
|
|
76
|
-
query: {
|
|
77
|
-
page,
|
|
78
|
-
limit,
|
|
79
|
-
search,
|
|
80
|
-
},
|
|
81
|
-
});
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
function getCurrencies({ page = 1, limit = 10, search = "" } = {}) {
|
|
85
|
-
return useNuxtApp().$api<Record<string, any>>(`/api/job/posts/currencies`, {
|
|
86
|
-
method: "GET",
|
|
87
|
-
query: {
|
|
88
|
-
page,
|
|
89
|
-
limit,
|
|
90
|
-
search,
|
|
91
|
-
},
|
|
92
|
-
});
|
|
93
|
-
}
|
|
94
|
-
|
|
95
62
|
const workplaceTypes = [
|
|
96
63
|
{ title: "On-site", value: "onsite" },
|
|
97
64
|
{ title: "Remote", value: "remote" },
|
|
@@ -105,79 +72,6 @@ export function useJobPost() {
|
|
|
105
72
|
{ title: "Internship - Career", value: "internship-career" },
|
|
106
73
|
];
|
|
107
74
|
|
|
108
|
-
const defaultCurrencies = [
|
|
109
|
-
{
|
|
110
|
-
title: "PHP",
|
|
111
|
-
value: "PHP",
|
|
112
|
-
prop: {
|
|
113
|
-
subtitle: "Philippines Peso",
|
|
114
|
-
},
|
|
115
|
-
},
|
|
116
|
-
{
|
|
117
|
-
title: "USD",
|
|
118
|
-
value: "USD",
|
|
119
|
-
prop: {
|
|
120
|
-
subtitle: "United States Dollar",
|
|
121
|
-
},
|
|
122
|
-
},
|
|
123
|
-
{
|
|
124
|
-
title: "EUR",
|
|
125
|
-
value: "EUR",
|
|
126
|
-
prop: {
|
|
127
|
-
subtitle: "Euro",
|
|
128
|
-
},
|
|
129
|
-
},
|
|
130
|
-
{
|
|
131
|
-
title: "GBP",
|
|
132
|
-
value: "GBP",
|
|
133
|
-
prop: {
|
|
134
|
-
subtitle: "British Pound Sterling",
|
|
135
|
-
},
|
|
136
|
-
},
|
|
137
|
-
{
|
|
138
|
-
title: "JPY",
|
|
139
|
-
value: "JPY",
|
|
140
|
-
prop: {
|
|
141
|
-
subtitle: "Japanese Yen",
|
|
142
|
-
},
|
|
143
|
-
},
|
|
144
|
-
{
|
|
145
|
-
title: "AUD",
|
|
146
|
-
value: "AUD",
|
|
147
|
-
prop: {
|
|
148
|
-
subtitle: "Australian Dollar",
|
|
149
|
-
},
|
|
150
|
-
},
|
|
151
|
-
{
|
|
152
|
-
title: "CAD",
|
|
153
|
-
value: "CAD",
|
|
154
|
-
prop: {
|
|
155
|
-
subtitle: "Canadian Dollar",
|
|
156
|
-
},
|
|
157
|
-
},
|
|
158
|
-
{
|
|
159
|
-
title: "CHF",
|
|
160
|
-
value: "CHF",
|
|
161
|
-
prop: {
|
|
162
|
-
subtitle: "Swiss Franc",
|
|
163
|
-
},
|
|
164
|
-
},
|
|
165
|
-
{
|
|
166
|
-
title: "CNY",
|
|
167
|
-
value: "CNY",
|
|
168
|
-
prop: {
|
|
169
|
-
subtitle: "Chinese Yuan",
|
|
170
|
-
},
|
|
171
|
-
},
|
|
172
|
-
{
|
|
173
|
-
title: "INR",
|
|
174
|
-
value: "INR",
|
|
175
|
-
prop: {
|
|
176
|
-
subtitle: "Indian Rupee",
|
|
177
|
-
},
|
|
178
|
-
},
|
|
179
|
-
];
|
|
180
|
-
|
|
181
75
|
const payPeriodOptions = [
|
|
182
76
|
{ title: "Hourly", value: "hourly" },
|
|
183
77
|
{ title: "Weekly", value: "weekly" },
|
|
@@ -207,16 +101,12 @@ export function useJobPost() {
|
|
|
207
101
|
jobPost,
|
|
208
102
|
workplaceTypes,
|
|
209
103
|
jobTypes,
|
|
210
|
-
defaultCurrencies,
|
|
211
104
|
payPeriodOptions,
|
|
212
105
|
searchFilterWorkType,
|
|
213
106
|
searchFilterJobType,
|
|
214
107
|
searchFilterLocation,
|
|
215
108
|
searchFilterCurrency,
|
|
216
109
|
getAll,
|
|
217
|
-
getLocations,
|
|
218
|
-
getJobTitles,
|
|
219
|
-
getCurrencies,
|
|
220
110
|
getJobPostsByOrg,
|
|
221
111
|
getJobPostsById,
|
|
222
112
|
deleteJobPostById,
|
|
@@ -8,7 +8,7 @@ export function useJobProfile() {
|
|
|
8
8
|
email: "",
|
|
9
9
|
contact: "",
|
|
10
10
|
country: "",
|
|
11
|
-
|
|
11
|
+
city: "",
|
|
12
12
|
streetAddress: "",
|
|
13
13
|
postalCode: "",
|
|
14
14
|
relocate: false,
|
|
@@ -65,7 +65,7 @@ export function useJobProfile() {
|
|
|
65
65
|
contact?: string;
|
|
66
66
|
showContact?: boolean;
|
|
67
67
|
country?: string;
|
|
68
|
-
|
|
68
|
+
city?: string;
|
|
69
69
|
streetAddress?: string;
|
|
70
70
|
postalCode?: string;
|
|
71
71
|
relocate?: boolean;
|
|
@@ -112,7 +112,7 @@ export function useJobProfile() {
|
|
|
112
112
|
| "jobTitle"
|
|
113
113
|
| "company"
|
|
114
114
|
| "country"
|
|
115
|
-
| "
|
|
115
|
+
| "city"
|
|
116
116
|
| "fromMonth"
|
|
117
117
|
| "fromYear"
|
|
118
118
|
| "toMonth"
|
|
@@ -139,7 +139,7 @@ export function useJobProfile() {
|
|
|
139
139
|
| "jobTitle"
|
|
140
140
|
| "company"
|
|
141
141
|
| "country"
|
|
142
|
-
| "
|
|
142
|
+
| "city"
|
|
143
143
|
| "fromMonth"
|
|
144
144
|
| "fromYear"
|
|
145
145
|
| "toMonth"
|
|
@@ -181,7 +181,7 @@ export function useJobProfile() {
|
|
|
181
181
|
| "fromYear"
|
|
182
182
|
| "toMonth"
|
|
183
183
|
| "toYear"
|
|
184
|
-
| "
|
|
184
|
+
| "additionalInfo"
|
|
185
185
|
>
|
|
186
186
|
) {
|
|
187
187
|
return useNuxtApp().$api<TJobProfile>(
|
|
@@ -208,7 +208,7 @@ export function useJobProfile() {
|
|
|
208
208
|
| "fromYear"
|
|
209
209
|
| "toMonth"
|
|
210
210
|
| "toYear"
|
|
211
|
-
| "
|
|
211
|
+
| "additionalInfo"
|
|
212
212
|
>
|
|
213
213
|
) {
|
|
214
214
|
return useNuxtApp().$api<TJobProfile>(
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
export default function useOption() {
|
|
2
|
+
function getCountries({ page = 1, limit = 10, search = "" } = {}) {
|
|
3
|
+
return useNuxtApp().$api<Record<string, any>>(`/api/options/countries`, {
|
|
4
|
+
method: "GET",
|
|
5
|
+
query: {
|
|
6
|
+
page,
|
|
7
|
+
limit,
|
|
8
|
+
search,
|
|
9
|
+
},
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
function getCities({ page = 1, limit = 10, search = "" } = {}) {
|
|
14
|
+
return useNuxtApp().$api<Record<string, any>>(`/api/options/cities`, {
|
|
15
|
+
method: "GET",
|
|
16
|
+
query: {
|
|
17
|
+
page,
|
|
18
|
+
limit,
|
|
19
|
+
search,
|
|
20
|
+
},
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
function getJobTitles({ page = 1, limit = 10, search = "" } = {}) {
|
|
25
|
+
return useNuxtApp().$api<Record<string, any>>(`/api/options/job/titles`, {
|
|
26
|
+
method: "GET",
|
|
27
|
+
query: {
|
|
28
|
+
page,
|
|
29
|
+
limit,
|
|
30
|
+
search,
|
|
31
|
+
},
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
function getCurrencies({ page = 1, limit = 10, search = "" } = {}) {
|
|
36
|
+
return useNuxtApp().$api<Record<string, any>>(`/api/options/currencies`, {
|
|
37
|
+
method: "GET",
|
|
38
|
+
query: {
|
|
39
|
+
page,
|
|
40
|
+
limit,
|
|
41
|
+
search,
|
|
42
|
+
},
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
const defaultCurrencies = [
|
|
47
|
+
{
|
|
48
|
+
title: "PHP",
|
|
49
|
+
value: "PHP",
|
|
50
|
+
prop: {
|
|
51
|
+
subtitle: "Philippines Peso",
|
|
52
|
+
},
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
title: "USD",
|
|
56
|
+
value: "USD",
|
|
57
|
+
prop: {
|
|
58
|
+
subtitle: "United States Dollar",
|
|
59
|
+
},
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
title: "EUR",
|
|
63
|
+
value: "EUR",
|
|
64
|
+
prop: {
|
|
65
|
+
subtitle: "Euro",
|
|
66
|
+
},
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
title: "GBP",
|
|
70
|
+
value: "GBP",
|
|
71
|
+
prop: {
|
|
72
|
+
subtitle: "British Pound Sterling",
|
|
73
|
+
},
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
title: "JPY",
|
|
77
|
+
value: "JPY",
|
|
78
|
+
prop: {
|
|
79
|
+
subtitle: "Japanese Yen",
|
|
80
|
+
},
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
title: "AUD",
|
|
84
|
+
value: "AUD",
|
|
85
|
+
prop: {
|
|
86
|
+
subtitle: "Australian Dollar",
|
|
87
|
+
},
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
title: "CAD",
|
|
91
|
+
value: "CAD",
|
|
92
|
+
prop: {
|
|
93
|
+
subtitle: "Canadian Dollar",
|
|
94
|
+
},
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
title: "CHF",
|
|
98
|
+
value: "CHF",
|
|
99
|
+
prop: {
|
|
100
|
+
subtitle: "Swiss Franc",
|
|
101
|
+
},
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
title: "CNY",
|
|
105
|
+
value: "CNY",
|
|
106
|
+
prop: {
|
|
107
|
+
subtitle: "Chinese Yuan",
|
|
108
|
+
},
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
title: "INR",
|
|
112
|
+
value: "INR",
|
|
113
|
+
prop: {
|
|
114
|
+
subtitle: "Indian Rupee",
|
|
115
|
+
},
|
|
116
|
+
},
|
|
117
|
+
];
|
|
118
|
+
|
|
119
|
+
return {
|
|
120
|
+
getCountries,
|
|
121
|
+
getCities,
|
|
122
|
+
getJobTitles,
|
|
123
|
+
getCurrencies,
|
|
124
|
+
defaultCurrencies,
|
|
125
|
+
};
|
|
126
|
+
}
|
package/nuxt.config.ts
CHANGED
|
@@ -85,6 +85,7 @@ export default defineNuxtConfig({
|
|
|
85
85
|
proxy: `${process.env.S3_BUCKET_ENDPOINT}/**`,
|
|
86
86
|
},
|
|
87
87
|
"/api/job/posts/**": { proxy: `${process.env.API_CORE}/api/job/posts/**` },
|
|
88
|
+
"/api/finance/**": { proxy: `${process.env.API_CORE}/api/finance/**` },
|
|
88
89
|
},
|
|
89
90
|
|
|
90
91
|
vite: {
|
package/package.json
CHANGED
package/pages/index.vue
CHANGED
|
@@ -103,8 +103,8 @@ const { data: member, refresh: refreshMember } = await useLazyAsyncData(
|
|
|
103
103
|
{ immediate: isPartnerApp.value }
|
|
104
104
|
);
|
|
105
105
|
|
|
106
|
-
function handleSignin() {
|
|
107
|
-
refreshMember();
|
|
106
|
+
async function handleSignin() {
|
|
107
|
+
await refreshMember();
|
|
108
108
|
if (APP === "main") {
|
|
109
109
|
navigateTo({ name: APP_MAIN_LANDING_PAGE });
|
|
110
110
|
} else if (APP === "admin") {
|
package/types/job.profile.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ declare type TJobProfileWorkExp = {
|
|
|
3
3
|
jobTitle: string;
|
|
4
4
|
company: string;
|
|
5
5
|
country: string;
|
|
6
|
-
|
|
6
|
+
city?: string;
|
|
7
7
|
fromMonth: string;
|
|
8
8
|
fromYear: string;
|
|
9
9
|
toMonth?: string;
|
|
@@ -25,7 +25,7 @@ declare type TJobProfileEdu = {
|
|
|
25
25
|
fromYear: string;
|
|
26
26
|
toMonth?: string;
|
|
27
27
|
toYear?: string;
|
|
28
|
-
|
|
28
|
+
additionalInfo?: string;
|
|
29
29
|
};
|
|
30
30
|
|
|
31
31
|
declare type TJobProfileSkill = {
|
|
@@ -114,7 +114,7 @@ declare type TJobProfile = {
|
|
|
114
114
|
verifiedEmail?: boolean;
|
|
115
115
|
country: string;
|
|
116
116
|
streetAddress?: string;
|
|
117
|
-
|
|
117
|
+
city: string;
|
|
118
118
|
postalCode?: string;
|
|
119
119
|
relocate?: boolean;
|
|
120
120
|
summary?: string;
|