Merge branch 'main' of https://freeleaps.com:3443/products/freeleaps into main
* 'main' of https://freeleaps.com:3443/products/freeleaps: Fix minor UI display for cancel&edit Update the minor UI display support both content.link and content.pdf when rendering public static content
This commit is contained in:
commit
55c78c3530
@ -6,14 +6,14 @@ export default {
|
|||||||
Summary: 'Summary',
|
Summary: 'Summary',
|
||||||
Status: 'Status',
|
Status: 'Status',
|
||||||
Date: 'Date',
|
Date: 'Date',
|
||||||
withdraw: 'withdraw',
|
withdraw: 'Cancel',
|
||||||
edit: 'edit',
|
edit: 'Edit',
|
||||||
Quote: 'Quote',
|
Quote: 'Quote',
|
||||||
Payment: 'Payment',
|
Payment: 'Payment',
|
||||||
Duration: 'Duration',
|
Duration: 'Duration',
|
||||||
days: 'days',
|
days: 'days',
|
||||||
Update: 'Update',
|
Update: 'Update',
|
||||||
From: 'From',
|
"Quote From": 'From',
|
||||||
reject: 'reject',
|
reject: 'reject',
|
||||||
accept: 'accept',
|
accept: 'accept',
|
||||||
Note: 'Note',
|
Note: 'Note',
|
||||||
|
|||||||
@ -13,7 +13,7 @@ export default {
|
|||||||
Duration: '工期',
|
Duration: '工期',
|
||||||
days: '天',
|
days: '天',
|
||||||
Update: '更新',
|
Update: '更新',
|
||||||
From: '需求方',
|
"Quote From": '需求方',
|
||||||
reject: '拒绝',
|
reject: '拒绝',
|
||||||
accept: '接受',
|
accept: '接受',
|
||||||
Note: '标注',
|
Note: '标注',
|
||||||
@ -170,7 +170,7 @@ export default {
|
|||||||
'Review your request and the associated proposals': '核对你的请求和相关提议',
|
'Review your request and the associated proposals': '核对你的请求和相关提议',
|
||||||
Title: '标题',
|
Title: '标题',
|
||||||
Action: '待办操作',
|
Action: '待办操作',
|
||||||
Proposals: '提议数',
|
Proposals: '报价数量',
|
||||||
'Proposed by': '提议来自',
|
'Proposed by': '提议来自',
|
||||||
Price: '价格',
|
Price: '价格',
|
||||||
Reject: '拒绝',
|
Reject: '拒绝',
|
||||||
@ -190,7 +190,7 @@ export default {
|
|||||||
'day(s)': '天',
|
'day(s)': '天',
|
||||||
'Some update in your work': 'Some update in your work',
|
'Some update in your work': 'Some update in your work',
|
||||||
'Some update in your request': 'Some update in your request',
|
'Some update in your request': 'Some update in your request',
|
||||||
'min(s)': '响应时间',
|
'min(s)': '分钟',
|
||||||
'line(s)': '每周产出代码',
|
'line(s)': '每周产出代码',
|
||||||
'Issues management': '问题管理',
|
'Issues management': '问题管理',
|
||||||
'Payment progress': '付款进度',
|
'Payment progress': '付款进度',
|
||||||
|
|||||||
@ -1,17 +1,15 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="directories_containter">
|
<div class="directories_containter">
|
||||||
<div
|
<div class="directory_container" v-for="(directory, index) in directories" :key="index">
|
||||||
class="directory_container"
|
|
||||||
v-for="(directory, index) in directories"
|
|
||||||
:key="index"
|
|
||||||
>
|
|
||||||
<div
|
<div
|
||||||
class="directory_cover_image"
|
class="directory_cover_image"
|
||||||
:style="{ 'background-image': `url(${directory.cover_picture})` }"
|
:style="{ 'background-image': `url(${directory.cover_picture})` }"
|
||||||
/>
|
/>
|
||||||
<p class="directory-title">{{ directory.title_text }}</p>
|
<p class="directory-title">{{ directory.title_text }}</p>
|
||||||
<p class="directory-subtitle">{{ directory.summary_text }}</p>
|
<p class="directory-subtitle">{{ directory.summary_text }}</p>
|
||||||
<button class="btn btn-link directory-btn" @click="view_link(directory)">{{ $t('Read More') }}</button>
|
<button class="btn btn-link directory-btn" @click="view_link(directory)">
|
||||||
|
{{ $t('Read More') }}
|
||||||
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@ -35,6 +33,9 @@ export default {
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
view_link(directory) {
|
view_link(directory) {
|
||||||
|
if (directory.content_id)
|
||||||
|
this.mnx_navToPdfContentViewer(directory.content_id)
|
||||||
|
else if (directory.content_link)
|
||||||
this.mnx_navToLinkContentViewer(btoa(directory.content_link))
|
this.mnx_navToLinkContentViewer(btoa(directory.content_link))
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@ -32,7 +32,10 @@ export default {
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
view_blog(blog) {
|
view_blog(blog) {
|
||||||
|
if (blog.content_id)
|
||||||
this.mnx_navToPdfContentViewer(blog.content_id)
|
this.mnx_navToPdfContentViewer(blog.content_id)
|
||||||
|
else if (blog.content_link)
|
||||||
|
this.mnx_navToLinkContentViewer(btoa(blog.content_link))
|
||||||
},
|
},
|
||||||
retrieve_summary(blog) {
|
retrieve_summary(blog) {
|
||||||
return blog.summary_text
|
return blog.summary_text
|
||||||
|
|||||||
@ -1,11 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="career_containter">
|
<div class="career_containter">
|
||||||
<div
|
<div class="career-item" v-for="(directory, index) in directories" :key="index" @click="view_link(directory)">
|
||||||
class="career-item"
|
|
||||||
v-for="(directory, index) in directories"
|
|
||||||
:key="index"
|
|
||||||
@click="view_link(directory)"
|
|
||||||
>
|
|
||||||
<p class="career-title">
|
<p class="career-title">
|
||||||
{{ directory.title_text }}
|
{{ directory.title_text }}
|
||||||
</p>
|
</p>
|
||||||
@ -33,6 +28,9 @@ export default {
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
view_link(directory) {
|
view_link(directory) {
|
||||||
|
if (directory.content_id)
|
||||||
|
this.mnx_navToPdfContentViewer(directory.content_id)
|
||||||
|
else if (directory.content_link)
|
||||||
this.mnx_navToLinkContentViewer(btoa(directory.content_link))
|
this.mnx_navToLinkContentViewer(btoa(directory.content_link))
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@ -2,21 +2,11 @@
|
|||||||
<empty-content :loading="loading" :empty="recommendedProviders?.length === 0" />
|
<empty-content :loading="loading" :empty="recommendedProviders?.length === 0" />
|
||||||
<div class="provider-hub-container" id="provider-accordion-container">
|
<div class="provider-hub-container" id="provider-accordion-container">
|
||||||
<template v-if="recommendedProviders">
|
<template v-if="recommendedProviders">
|
||||||
<div
|
<div class="accordion accordion-list" v-for="(provider, index) in recommendedProviders" :key="index">
|
||||||
class="accordion accordion-list"
|
|
||||||
v-for="(provider, index) in recommendedProviders"
|
|
||||||
:key="index"
|
|
||||||
>
|
|
||||||
<div class="accordion-item my-3">
|
<div class="accordion-item my-3">
|
||||||
<h2 class="accordion-header">
|
<h2 class="accordion-header">
|
||||||
<button
|
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse"
|
||||||
class="accordion-button collapsed"
|
:data-bs-target="'#collapse' + index" aria-expanded="false" :aria-controls="'collapse' + index">
|
||||||
type="button"
|
|
||||||
data-bs-toggle="collapse"
|
|
||||||
:data-bs-target="'#collapse' + index"
|
|
||||||
aria-expanded="false"
|
|
||||||
:aria-controls="'collapse' + index"
|
|
||||||
>
|
|
||||||
<div class="provider-summary-containter dashed-container">
|
<div class="provider-summary-containter dashed-container">
|
||||||
<div class="provider-portrait-containter">
|
<div class="provider-portrait-containter">
|
||||||
<img class="provider-portrait" alt="user portrait" src="@/assets/profile.png" />
|
<img class="provider-portrait" alt="user portrait" src="@/assets/profile.png" />
|
||||||
@ -25,26 +15,18 @@
|
|||||||
<label class="provider-name-label" for="provider-name">{{ $t('Name') }}</label>
|
<label class="provider-name-label" for="provider-name">{{ $t('Name') }}</label>
|
||||||
<span class="provider-name-span" id="provider-name">
|
<span class="provider-name-span" id="provider-name">
|
||||||
{{ provider.user_profile.first_name }}
|
{{ provider.user_profile.first_name }}
|
||||||
{{ provider.user_profile.last_name }}</span
|
{{ provider.user_profile.last_name }}</span>
|
||||||
>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="provider-stay-on-freeleaps-container">
|
<div class="provider-stay-on-freeleaps-container">
|
||||||
<label
|
<label class="provider-stay-on-freeleaps-label" for="provider-stay-on-freeleaps">
|
||||||
class="provider-stay-on-freeleaps-label"
|
{{ $t('Stay on Freeleaps') }} </label>
|
||||||
for="provider-stay-on-freeleaps"
|
|
||||||
>{{ $t('Stay on Freeleaps') }}</label
|
|
||||||
>
|
|
||||||
<span class="provider-stay-on-freeleaps-span" id="provider-stay-on-freeleaps">
|
<span class="provider-stay-on-freeleaps-span" id="provider-stay-on-freeleaps">
|
||||||
{{ provider.activeness_achievement.days_of_staying_on }}
|
{{ provider.activeness_achievement.days_of_staying_on }}
|
||||||
{{ $t('day(s)') }}</span
|
{{ $t('day(s)') }}</span>
|
||||||
>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="provider-delivered-projects-container">
|
<div class="provider-delivered-projects-container">
|
||||||
<label
|
<label class="provider-delivered-projects-label" for="provider-delivered-projects">
|
||||||
class="provider-delivered-projects-label"
|
{{ $t('Delivered projects') }}</label>
|
||||||
for="provider-delivered-projects"
|
|
||||||
>{{ $t('Delivered projects') }}</label
|
|
||||||
>
|
|
||||||
<span class="provider-delivered-projects-span" id="provider-delivered-projects">
|
<span class="provider-delivered-projects-span" id="provider-delivered-projects">
|
||||||
{{ provider.provider_achievement.delivered_projects }}
|
{{ provider.provider_achievement.delivered_projects }}
|
||||||
</span>
|
</span>
|
||||||
@ -54,7 +36,7 @@
|
|||||||
$t('Responding time')
|
$t('Responding time')
|
||||||
}}</label>
|
}}</label>
|
||||||
<span class="provider-responding-time-span" id="provider-responding-time">
|
<span class="provider-responding-time-span" id="provider-responding-time">
|
||||||
{{ provider.provider_achievement.responding_time_in_minutes }}
|
{{ provider.provider_achievement.activities.responding_time_in_minutes ?? 'N/A' }}
|
||||||
{{ $t('min(s)') }}
|
{{ $t('min(s)') }}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
@ -63,27 +45,20 @@
|
|||||||
$t('Credit score')
|
$t('Credit score')
|
||||||
}}</label>
|
}}</label>
|
||||||
<span class="provider-credit-score-span" id="provider-credit-score">
|
<span class="provider-credit-score-span" id="provider-credit-score">
|
||||||
{{ provider.provider_achievement.credit }}</span
|
{{ provider.provider_achievement.credit }}</span>
|
||||||
>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</button>
|
</button>
|
||||||
</h2>
|
</h2>
|
||||||
<div
|
<div :id="'collapse' + index" class="accordion-collapse collapse"
|
||||||
:id="'collapse' + index"
|
data-bs-parent="#provider-accordion-container">
|
||||||
class="accordion-collapse collapse"
|
|
||||||
data-bs-parent="#provider-accordion-container"
|
|
||||||
>
|
|
||||||
<div class="accordion-body">
|
<div class="accordion-body">
|
||||||
<div class="self-intro-container">
|
<div class="self-intro-container">
|
||||||
<label class="self-intro-content-label" for="self-intro-content">{{
|
<label class="self-intro-content-label" for="self-intro-content">{{
|
||||||
$t('Self intro')
|
$t('Self intro')
|
||||||
}}</label>
|
}}</label>
|
||||||
<div
|
<div class="self-intro-content-container" id="self-intro-content"
|
||||||
class="self-intro-content-container"
|
v-html="provider.user_profile.self_intro.content_html"></div>
|
||||||
id="self-intro-content"
|
|
||||||
v-html="provider.user_profile.self_intro.content_html"
|
|
||||||
></div>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="statistics-container">
|
<div class="statistics-container">
|
||||||
<label class="self-intro-content-label" for="statistics-content">{{
|
<label class="self-intro-content-label" for="statistics-content">{{
|
||||||
@ -112,16 +87,10 @@
|
|||||||
<label class="dd-project-label" for="delivery-top-programming-language">{{
|
<label class="dd-project-label" for="delivery-top-programming-language">{{
|
||||||
$t('Top programming languages')
|
$t('Top programming languages')
|
||||||
}}</label>
|
}}</label>
|
||||||
<div
|
<div class="delivery-top-programming-language-content-container"
|
||||||
class="delivery-top-programming-language-content-container"
|
id="delivery-top-programming-language">
|
||||||
id="delivery-top-programming-language"
|
<span v-for="(lang, index) in provider.provider_deliveries
|
||||||
>
|
.top_programming_languages" :key="index" class="dd-project-span">
|
||||||
<span
|
|
||||||
v-for="(lang, index) in provider.provider_deliveries
|
|
||||||
.top_programming_languages"
|
|
||||||
:key="index"
|
|
||||||
class="dd-project-span"
|
|
||||||
>
|
|
||||||
#{{ lang }}
|
#{{ lang }}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
@ -211,60 +180,36 @@
|
|||||||
<div v-if="requests" class="accordion" id="accordion-action-panel">
|
<div v-if="requests" class="accordion" id="accordion-action-panel">
|
||||||
<div class="accordion-item">
|
<div class="accordion-item">
|
||||||
<h2 class="accordion-header">
|
<h2 class="accordion-header">
|
||||||
<button
|
<button class="accordion-button" type="button" data-bs-toggle="collapse"
|
||||||
class="accordion-button"
|
data-bs-target="#collapse-action-panel" aria-expanded="false"
|
||||||
type="button"
|
aria-controls="collapse-action-panel">
|
||||||
data-bs-toggle="collapse"
|
|
||||||
data-bs-target="#collapse-action-panel"
|
|
||||||
aria-expanded="false"
|
|
||||||
aria-controls="collapse-action-panel"
|
|
||||||
>
|
|
||||||
{{ $t('Action panel') }}
|
{{ $t('Action panel') }}
|
||||||
</button>
|
</button>
|
||||||
</h2>
|
</h2>
|
||||||
<div
|
<div id="collapse-action-panel" class="accordion-collapse collapse"
|
||||||
id="collapse-action-panel"
|
data-bs-parent="#accordion-action-panel">
|
||||||
class="accordion-collapse collapse"
|
|
||||||
data-bs-parent="#accordion-action-panel"
|
|
||||||
>
|
|
||||||
<div class="accordion-body">
|
<div class="accordion-body">
|
||||||
<div class="invite-to-request-container">
|
<div class="invite-to-request-container">
|
||||||
<label
|
<label class="invite-to-request-content-label" for="invite-to-request-content">{{ $t('Invite')
|
||||||
class="invite-to-request-content-label"
|
}}
|
||||||
for="invite-to-request-content"
|
<span class="invite-to-request-name-span">{{ provider.user_profile.first_name }}
|
||||||
>{{ $t('Invite') }}
|
{{ provider.user_profile.last_name }}</span>
|
||||||
<span class="invite-to-request-name-span"
|
{{ $t('to my open requests') }}</label>
|
||||||
>{{ provider.user_profile.first_name }}
|
<div class="invite-to-request-content-container" id="invite-to-request-content">
|
||||||
{{ provider.user_profile.last_name }}</span
|
|
||||||
>
|
|
||||||
{{ $t('to my open requests') }}</label
|
|
||||||
>
|
|
||||||
<div
|
|
||||||
class="invite-to-request-content-container"
|
|
||||||
id="invite-to-request-content"
|
|
||||||
>
|
|
||||||
<div class="form-check" v-for="(request, index) in requests" :key="index">
|
<div class="form-check" v-for="(request, index) in requests" :key="index">
|
||||||
<input
|
<input class="form-check-input" type="checkbox" :value="request.id"
|
||||||
class="form-check-input"
|
:id="'check' + request.id" v-model="checkedRequests" @change="
|
||||||
type="checkbox"
|
|
||||||
:value="request.id"
|
|
||||||
:id="'check' + request.id"
|
|
||||||
v-model="checkedRequests"
|
|
||||||
@change="
|
|
||||||
checkRequest($event, request.id, provider.user_profile.user_id)
|
checkRequest($event, request.id, provider.user_profile.user_id)
|
||||||
"
|
" />
|
||||||
/>
|
|
||||||
<label class="form-check-label" :for="'check' + request.id">{{
|
<label class="form-check-label" :for="'check' + request.id">{{
|
||||||
request.title
|
request.title
|
||||||
}}</label>
|
}}</label>
|
||||||
</div>
|
</div>
|
||||||
<span class="invite-to-request-note-text"
|
<span class="invite-to-request-note-text">*{{
|
||||||
>*{{
|
|
||||||
$t(
|
$t(
|
||||||
'Once the request is selected, the provider will be invited to see the request.'
|
'Once the request is selected, the provider will be invited to see the request.'
|
||||||
)
|
)
|
||||||
}}</span
|
}}</span>
|
||||||
>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -57,7 +57,7 @@
|
|||||||
<div class="project-request-proposal-bar-container">
|
<div class="project-request-proposal-bar-container">
|
||||||
<div class="project-request-proposal-quote-container">
|
<div class="project-request-proposal-quote-container">
|
||||||
<label class="project-item-label">{{ $t('Quote') }}</label>
|
<label class="project-item-label">{{ $t('Quote') }}</label>
|
||||||
<p class="project-item-text">{{ proposal.price_in_usd }} USD</p>
|
<p class="project-item-text">{{ proposal.total_amount }} {{ proposal.currency }}</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="project-request-proposal-payment-type-container">
|
<div class="project-request-proposal-payment-type-container">
|
||||||
<label class="project-item-label">{{ $t('Payment') }}</label>
|
<label class="project-item-label">{{ $t('Payment') }}</label>
|
||||||
@ -78,7 +78,7 @@
|
|||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="project-request-proposal-from-container">
|
<div class="project-request-proposal-from-container">
|
||||||
<label class="project-item-label">{{ $t('From') }}</label>
|
<label class="project-item-label">{{ $t('Quote From') }}</label>
|
||||||
<p class="project-item-text">
|
<p class="project-item-text">
|
||||||
{{ proposal.proposer.first_name }} {{ proposal.proposer.last_name }}
|
{{ proposal.proposer.first_name }} {{ proposal.proposer.last_name }}
|
||||||
</p>
|
</p>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user