* '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:
min.jiang 2024-08-09 03:37:23 +08:00
commit 55c78c3530
7 changed files with 86 additions and 139 deletions

View File

@ -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',

View File

@ -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': '付款进度',

View File

@ -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))
} }
}, },

View File

@ -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

View File

@ -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))
} }
}, },

View File

@ -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>

View File

@ -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>