This commit is contained in:
Mike Liao 2024-06-27 10:57:20 -07:00
parent b1272e06d1
commit af64b01d84
17 changed files with 329 additions and 270 deletions

View File

@ -69,55 +69,57 @@ export default {
'Invalid password': 'Invalid password', 'Invalid password': 'Invalid password',
'Read More': 'Read More', 'Read More': 'Read More',
'Total earning': 'Total earning', 'Total earning': 'Total earning',
'Payable': 'Payable', Payable: 'Payable',
'Total spending': 'Total spending', 'Total spending': 'Total spending',
'Deposit': 'Deposit', Deposit: 'Deposit',
'Spending': 'Spending', Spending: 'Spending',
'Updated': 'Updated', Updated: 'Updated',
'Earining': 'Earining', Earining: 'Earining',
'Login': 'Login', Login: 'Login',
'User ID': 'User ID', 'User ID': 'User ID',
'Email': 'Email', Email: 'Email',
'Mobile': 'Mobile', Mobile: 'Mobile',
'Personal': 'Personal', Personal: 'Personal',
'Full name': 'Full name', 'Full name': 'Full name',
'Portrait': 'Portrait', Portrait: 'Portrait',
'Self-intro': 'Self-intro', 'Self-intro': 'Self-intro',
'Earning now': 'Earning now', 'Earning now': 'Earning now',
'Edit': 'Edit', Edit: 'Edit',
'Templates': 'Templates', Templates: 'Templates',
'Cancel': 'Cancel', Cancel: 'Cancel',
'I want to be a service provider and earn money': 'I want to be a service provider and earn money', 'I want to be a service provider and earn money':
'I want to be a service provider and earn money',
'Stripe account onboarding is not completed.': 'Stripe account onboarding is not completed.', 'Stripe account onboarding is not completed.': 'Stripe account onboarding is not completed.',
'Upload QR code to receive payment': 'Upload QR code to receive payment', 'Upload QR code to receive payment': 'Upload QR code to receive payment',
'Have you linked your strip account?': 'Have you linked your strip account?', 'Have you linked your strip account?': 'Have you linked your strip account?',
'Visit Stripe': 'Visit Stripe', 'Visit Stripe': 'Visit Stripe',
'You are a service provider now. Please review your self-intro to reflect your skills to deliver projects.': 'You are a service provider now. Please review your self-intro to reflect your skills to deliver projects.', 'You are a service provider now. Please review your self-intro to reflect your skills to deliver projects.':
'Achievement': 'Achievement', 'You are a service provider now. Please review your self-intro to reflect your skills to deliver projects.',
Achievement: 'Achievement',
'On Freeleaps': 'On Freeleaps', 'On Freeleaps': 'On Freeleaps',
'Connections': 'Connections', Connections: 'Connections',
'Messages': 'Messages', Messages: 'Messages',
'Credit': 'Credit', Credit: 'Credit',
'12-month spending': '12-month spending', '12-month spending': '12-month spending',
'3-month spending': '3-month spending', '3-month spending': '3-month spending',
'Posted': 'Posted', Posted: 'Posted',
'Accomplished': 'Accomplished', Accomplished: 'Accomplished',
'Active': 'Active', Active: 'Active',
'Ongoing': 'Ongoing', Ongoing: 'Ongoing',
'12-month earning': '12-month earning', '12-month earning': '12-month earning',
'Delivered': 'Delivered', Delivered: 'Delivered',
'Delivering time': 'Delivering time', 'Delivering time': 'Delivering time',
'Apply self-intro template': 'Apply self-intro template', 'Apply self-intro template': 'Apply self-intro template',
'Apply': 'Apply', Apply: 'Apply',
'Empty conversation': 'Empty conversation', 'Empty conversation': 'Empty conversation',
'Please choose conversation': 'Please choose conversation', 'Please choose conversation': 'Please choose conversation',
'Name': 'Name', Name: 'Name',
'Stay on Freeleaps': 'Stay on Freeleaps', 'Stay on Freeleaps': 'Stay on Freeleaps',
'Delivered projects': 'Delivered projects', 'Delivered projects': 'Delivered projects',
'Responding time': 'Responding time', 'Responding time': 'Responding time',
'Credit score': 'Credit score', 'Credit score': 'Credit score',
'Self intro': 'Self intro', 'Self intro': 'Self intro',
'Profile': 'Profile', Profile: 'Profile',
'Project delivering time': 'Project delivering time', 'Project delivering time': 'Project delivering time',
'Top programming languages': 'Top programming languages', 'Top programming languages': 'Top programming languages',
'Weekly produced code': 'Weekly produced code', 'Weekly produced code': 'Weekly produced code',
@ -131,31 +133,33 @@ export default {
'Issue fixing time': 'Issue fixing time', 'Issue fixing time': 'Issue fixing time',
'Action panel': 'Action panel', 'Action panel': 'Action panel',
'to my open requests': 'to my open requests', 'to my open requests': 'to my open requests',
'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.', 'Once the request is selected, the provider will be invited to see the request.':
'Issuer': 'Issuer', 'Once the request is selected, the provider will be invited to see the request.',
'Request': 'Request', Issuer: 'Issuer',
'Score': 'Score', Request: 'Request',
'Propose': 'Propose', Score: 'Score',
'Preview': 'Preview', Propose: 'Propose',
'Download': 'Download', Preview: 'Preview',
Download: 'Download',
'Total payment': 'Total payment', 'Total payment': 'Total payment',
'Your proposal has been submitted!': 'Your proposal has been submitted!', 'Your proposal has been submitted!': 'Your proposal has been submitted!',
'You can check the status of proposals in': 'You can check the status of proposals in', 'You can check the status of proposals in': 'You can check the status of proposals in',
'My work.': 'My work.', 'My work.': 'My work.',
'Copy from existing proposals': 'Copy from existing proposals', 'Copy from existing proposals': 'Copy from existing proposals',
'Copy': 'Copy', Copy: 'Copy',
'Apply proposal template': 'Apply proposal template', 'Apply proposal template': 'Apply proposal template',
'Proposal': 'Proposal', Proposal: 'Proposal',
'Milestones': 'Milestones', Milestones: 'Milestones',
'Notes': 'Notes', Notes: 'Notes',
'Add Milestones': 'Add Milestones', 'Add Milestones': 'Add Milestones',
'Total milestones': 'Total milestones', 'Total milestones': 'Total milestones',
'Total duration': 'Total duration', 'Total duration': 'Total duration',
'Upload file': 'Upload file', 'Upload file': 'Upload file',
'Back': 'Back', Back: 'Back',
'Issue Request': 'Issue Request', 'Issue Request': 'Issue Request',
'pm-1': 'This is the second item\'s accordion body.', 'pm-1': "This is the second item's accordion body.",
'pm-2': 'It is hidden by default, until the collapse plugin adds the appropriate classes that we use to style each element. These classes control the overall appearance, as well as the showing and hiding via CSS transitions. You can modify any of this with custom CSS or overriding our default variables. It\'s also worth noting that just about any HTML can go within the ', 'pm-2':
"It is hidden by default, until the collapse plugin adds the appropriate classes that we use to style each element. These classes control the overall appearance, as well as the showing and hiding via CSS transitions. You can modify any of this with custom CSS or overriding our default variables. It's also worth noting that just about any HTML can go within the ",
'pm-3': '.accordion-body', 'pm-3': '.accordion-body',
'pm-4': ', though the transition does limit overflow.', 'pm-4': ', though the transition does limit overflow.',
'Copy from existing request': 'Copy from existing request', 'Copy from existing request': 'Copy from existing request',
@ -163,16 +167,18 @@ export default {
'(Re)Submit': '(Re)Submit', '(Re)Submit': '(Re)Submit',
'The request has been submitted!': 'The request has been submitted!', 'The request has been submitted!': 'The request has been submitted!',
'You can find it in': 'You can find it in', 'You can find it in': 'You can find it in',
'Review your request and the associated proposals': 'Review your request and the associated proposals', 'Review your request and the associated proposals':
'Title': 'Title', 'Review your request and the associated proposals',
'Action': 'Action', Title: 'Title',
Action: 'Action',
'Proposed by': 'Proposed by', 'Proposed by': 'Proposed by',
'Price': 'Price', Price: 'Price',
'Reject': 'Reject', Reject: 'Reject',
'Accept': 'Accept', Accept: 'Accept',
'Please review the following critical information': 'Please review the following critical information', 'Please review the following critical information':
'Please review the following critical information',
'Payment plan proposed by the service provider': 'Payment plan proposed by the service provider', 'Payment plan proposed by the service provider': 'Payment plan proposed by the service provider',
'Execution plan proposed by the service provider': 'Execution plan proposed by the service provider', 'Execution plan proposed by the service provider':
'Proceed to workspace': 'Proceed to workspace', 'Execution plan proposed by the service provider',
'Proceed to workspace': 'Proceed to workspace'
} }

View File

@ -16,5 +16,5 @@ export default {
From: '自从', From: '自从',
reject: '拒绝', reject: '拒绝',
accept: '接受', accept: '接受',
Note: '标注', Note: '标注'
} }

View File

@ -15,7 +15,9 @@
aria-controls="collapse-user-id" aria-controls="collapse-user-id"
> >
<div class="profile-item-container"> <div class="profile-item-container">
<label class="profile-item-label" for="account-summary-user-id">{{$t('User ID')}}</label> <label class="profile-item-label" for="account-summary-user-id">{{
$t('User ID')
}}</label>
<span class="profile-item-span" id="account-summary-user-id"> <span class="profile-item-span" id="account-summary-user-id">
{{ userProfile.account.basic.FLID.identity }} {{ userProfile.account.basic.FLID.identity }}
</span> </span>
@ -29,7 +31,9 @@
aria-controls="collapse-password" aria-controls="collapse-password"
> >
<div class="profile-item-container"> <div class="profile-item-container">
<label class="profile-item-label" for="account-summary-password">{{$t('Password')}}</label> <label class="profile-item-label" for="account-summary-password">{{
$t('Password')
}}</label>
<span class="profile-item-span" id="account-summary-password"> ******** </span> <span class="profile-item-span" id="account-summary-password"> ******** </span>
</div> </div>
</button> </button>
@ -41,7 +45,9 @@
aria-controls="collapse-user-email" aria-controls="collapse-user-email"
> >
<div class="profile-item-container"> <div class="profile-item-container">
<label class="profile-item-label" for="account-summary-email">{{$t('Email')}}</label> <label class="profile-item-label" for="account-summary-email">{{
$t('Email')
}}</label>
<span class="profile-item-span" id="account-summary-email"> <span class="profile-item-span" id="account-summary-email">
{{ userProfile.account.basic.email.address }} {{ userProfile.account.basic.email.address }}
</span> </span>
@ -55,7 +61,9 @@
aria-controls="collapse-user-mobile" aria-controls="collapse-user-mobile"
> >
<div class="profile-item-container"> <div class="profile-item-container">
<label class="profile-item-label" for="account-summary-mobile">{{$t('Mobile')}}</label> <label class="profile-item-label" for="account-summary-mobile">{{
$t('Mobile')
}}</label>
<span class="profile-item-span" id="account-summary-mobile"> <span class="profile-item-span" id="account-summary-mobile">
{{ userProfile.account.basic.mobile.number }} {{ userProfile.account.basic.mobile.number }}
</span> </span>
@ -242,9 +250,9 @@
aria-controls="collapse-user-identity" aria-controls="collapse-user-identity"
> >
<div class="profile-item-container"> <div class="profile-item-container">
<label class="profile-item-label" for="account-summary-user-fullname" <label class="profile-item-label" for="account-summary-user-fullname">{{
>{{$t('Full name')}}</label $t('Full name')
> }}</label>
<span class="profile-item-span" id="account-summary-user-fullname"> <span class="profile-item-span" id="account-summary-user-fullname">
{{ userProfile.account.basic.first_name }} {{ userProfile.account.basic.first_name }}
{{ userProfile.account.basic.last_name }} {{ userProfile.account.basic.last_name }}
@ -265,9 +273,9 @@
id="personal-photo-operation-image" id="personal-photo-operation-image"
src="@/assets/profile.png" src="@/assets/profile.png"
/> />
<label class="profile-item-label" for="personal-photo-operation-image" <label class="profile-item-label" for="personal-photo-operation-image">{{
>{{$t('Portrait')}}</label $t('Portrait')
> }}</label>
</div> </div>
</button> </button>
<button <button
@ -278,7 +286,9 @@
aria-controls="collapse-personal-user-intro" aria-controls="collapse-personal-user-intro"
> >
<div class="profile-item-container"> <div class="profile-item-container">
<label class="profile-item-label" for="personal-summary-self-intro">{{$t('Self-intro')}}</label> <label class="profile-item-label" for="personal-summary-self-intro">{{
$t('Self-intro')
}}</label>
<span class="profile-item-span" id="personal-summary-self-intro"> <span class="profile-item-span" id="personal-summary-self-intro">
{{ userProfile.account.basic.self_intro.summary }} {{ userProfile.account.basic.self_intro.summary }}
</span> </span>
@ -292,9 +302,9 @@
aria-controls="collapse-personal-earning-now" aria-controls="collapse-personal-earning-now"
> >
<div class="profile-item-container"> <div class="profile-item-container">
<label class="profile-item-label" for="personal-summary-earning-now" <label class="profile-item-label" for="personal-summary-earning-now">{{
>{{$t('Earning now')}}</label $t('Earning now')
> }}</label>
<span class="profile-item-span" id="personal-summary-earning-now"> <span class="profile-item-span" id="personal-summary-earning-now">
{{ userProfile.account.provider.accepting_request ? 'Yes' : 'No' }} {{ userProfile.account.provider.accepting_request ? 'Yes' : 'No' }}
</span> </span>
@ -473,9 +483,9 @@
class="uploader-img-btn" class="uploader-img-btn"
src="@/assets/images/qr-code.png" src="@/assets/images/qr-code.png"
/> />
<span v-if="!paymentOperation.wechat_qr_code_img.data" class="upload-text-btn" <span v-if="!paymentOperation.wechat_qr_code_img.data" class="upload-text-btn">{{
>{{$t('Upload QR code to receive payment')}}</span $t('Upload QR code to receive payment')
> }}</span>
</label> </label>
<input <input
v-if="Is_Wechat_QR_Code_Payment()" v-if="Is_Wechat_QR_Code_Payment()"
@ -492,9 +502,11 @@
><button class="btn btn-link" @click="visitStripe()">{{ $t('Visit Stripe') }}</button> ><button class="btn btn-link" @click="visitStripe()">{{ $t('Visit Stripe') }}</button>
</div> </div>
<div v-if="personalOperation.accepting_request" class="collapse-item-container"> <div v-if="personalOperation.accepting_request" class="collapse-item-container">
<span <span>{{
>{{$t('You are a service provider now. Please review your self-intro to reflect your skills to deliver projects.')}}</span $t(
> 'You are a service provider now. Please review your self-intro to reflect your skills to deliver projects.'
)
}}</span>
</div> </div>
</div> </div>
</div> </div>
@ -659,7 +671,9 @@
aria-labelledby="offcanvas-template" aria-labelledby="offcanvas-template"
> >
<div class="offcanvas-header"> <div class="offcanvas-header">
<h5 class="offcanvas-title" id="offcanvas-template">{{$t('Apply self-intro template')}}</h5> <h5 class="offcanvas-title" id="offcanvas-template">
{{ $t('Apply self-intro template') }}
</h5>
<button <button
type="button" type="button"
class="btn-close" class="btn-close"

View File

@ -28,7 +28,9 @@
> >
</div> </div>
<div class="provider-stay-on-freeleaps-container"> <div class="provider-stay-on-freeleaps-container">
<label class="provider-stay-on-freeleaps-label" for="provider-stay-on-freeleaps" <label
class="provider-stay-on-freeleaps-label"
for="provider-stay-on-freeleaps"
>{{ $t('Stay on Freeleaps') }}</label >{{ $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">
@ -36,7 +38,9 @@
> >
</div> </div>
<div class="provider-delivered-projects-container"> <div class="provider-delivered-projects-container">
<label class="provider-delivered-projects-label" for="provider-delivered-projects" <label
class="provider-delivered-projects-label"
for="provider-delivered-projects"
>{{ $t('Delivered projects') }}</label >{{ $t('Delivered projects') }}</label
> >
<span class="provider-delivered-projects-span" id="provider-delivered-projects"> <span class="provider-delivered-projects-span" id="provider-delivered-projects">
@ -44,17 +48,17 @@
</span> </span>
</div> </div>
<div class="provider-responding-time-container"> <div class="provider-responding-time-container">
<label class="provider-responding-time-label" for="provider-responding-time" <label class="provider-responding-time-label" for="provider-responding-time">{{
>{{$t('Responding time')}}</label $t('Responding time')
> }}</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 }} min(s) {{ provider.provider_achievement.responding_time_in_minutes }} min(s)
</span> </span>
</div> </div>
<div class="provider-credit-score-container"> <div class="provider-credit-score-container">
<label class="provider-credit-score-label" for="provider-credit-score" <label class="provider-credit-score-label" for="provider-credit-score">{{
>{{$t('Credit score')}}</label $t('Credit score')
> }}</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
> >
@ -69,7 +73,9 @@
> >
<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">{{$t('Self intro')}}</label> <label class="self-intro-content-label" for="self-intro-content">{{
$t('Self intro')
}}</label>
<div <div
class="self-intro-content-container" class="self-intro-content-container"
id="self-intro-content" id="self-intro-content"
@ -77,29 +83,31 @@
></div> ></div>
</div> </div>
<div class="statistics-container"> <div class="statistics-container">
<label class="self-intro-content-label" for="statistics-content">{{$t('Profile')}}</label> <label class="self-intro-content-label" for="statistics-content">{{
$t('Profile')
}}</label>
<div class="statistics-content-container" id="statistics-content"> <div class="statistics-content-container" id="statistics-content">
<div class="delivery-container"> <div class="delivery-container">
<div class="dd-project-container"> <div class="dd-project-container">
<label class="dd-project-label" for="delivery-delivered-projects" <label class="dd-project-label" for="delivery-delivered-projects">{{
>{{$t('Delivered projects')}}</label $t('Delivered projects')
> }}</label>
<span class="dd-project-span" id="delivery-delivered-projects"> <span class="dd-project-span" id="delivery-delivered-projects">
{{ provider.provider_achievement.delivered_projects }} {{ provider.provider_achievement.delivered_projects }}
</span> </span>
</div> </div>
<div class="dd-project-container"> <div class="dd-project-container">
<label class="dd-project-label" for="delivery-time-per-project" <label class="dd-project-label" for="delivery-time-per-project">{{
>{{$t('Project delivering time')}}</label $t('Project delivering time')
> }}</label>
<span class="dd-project-span" id="delivery-time-per-project"> <span class="dd-project-span" id="delivery-time-per-project">
{{ provider.provider_deliveries.delivering_time_per_project_in_day }} day(s) {{ provider.provider_deliveries.delivering_time_per_project_in_day }} day(s)
</span> </span>
</div> </div>
<div class="dd-project-container"> <div class="dd-project-container">
<label class="dd-project-label" for="delivery-top-programming-language" <label class="dd-project-label" for="delivery-top-programming-language">{{
>{{$t('Top programming languages')}}</label $t('Top programming languages')
> }}</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"
@ -115,9 +123,9 @@
</div> </div>
</div> </div>
<div class="dd-project-container"> <div class="dd-project-container">
<label class="dd-project-label" for="delivery-weekly-produced-code" <label class="dd-project-label" for="delivery-weekly-produced-code">{{
>{{$t('Weekly produced code')}}</label $t('Weekly produced code')
> }}</label>
<span class="dd-project-span" id="delivery-weekly-produced-code"> <span class="dd-project-span" id="delivery-weekly-produced-code">
{{ provider.provider_deliveries.lines_of_code_per_week }} line(s) {{ provider.provider_deliveries.lines_of_code_per_week }} line(s)
</span> </span>
@ -125,33 +133,33 @@
</div> </div>
<div class="delivery-container"> <div class="delivery-container">
<div class="dd-project-container"> <div class="dd-project-container">
<label class="dd-project-label" for="activity-ongoing-projects" <label class="dd-project-label" for="activity-ongoing-projects">{{
>{{$t('Ongoing projects')}}</label $t('Ongoing projects')
> }}</label>
<span class="dd-project-span" id="activity-ongoing-projects"> <span class="dd-project-span" id="activity-ongoing-projects">
{{ provider.provider_activities.ongoing_projects }} {{ provider.provider_activities.ongoing_projects }}
</span> </span>
</div> </div>
<div class="dd-project-container"> <div class="dd-project-container">
<label class="dd-project-label" for="activity-invitation-to-requests" <label class="dd-project-label" for="activity-invitation-to-requests">{{
>{{$t('Invitations to requests')}}</label $t('Invitations to requests')
> }}</label>
<span class="dd-project-span" id="activity-invitation-to-requests"> <span class="dd-project-span" id="activity-invitation-to-requests">
{{ provider.provider_activities.invitations_to_open_requests }} {{ provider.provider_activities.invitations_to_open_requests }}
</span> </span>
</div> </div>
<div class="dd-project-container"> <div class="dd-project-container">
<label class="dd-project-label" for="activity-active-proposals" <label class="dd-project-label" for="activity-active-proposals">{{
>{{$t('Active proposals')}}</label $t('Active proposals')
> }}</label>
<span class="dd-project-span" id="activity-active-proposals"> <span class="dd-project-span" id="activity-active-proposals">
{{ provider.provider_activities.active_proposals }} {{ provider.provider_activities.active_proposals }}
</span> </span>
</div> </div>
<div class="dd-project-container"> <div class="dd-project-container">
<label class="dd-project-label" for="activity-hourly-rate" <label class="dd-project-label" for="activity-hourly-rate">{{
>{{$t('Expected hourly rate')}}</label $t('Expected hourly rate')
> }}</label>
<span class="dd-project-span" id="activity-hourly-rate"> <span class="dd-project-span" id="activity-hourly-rate">
{{ provider.provider_profile.expected_salary.hourly }} {{ provider.provider_profile.expected_salary.hourly }}
{{ provider.provider_profile.expected_salary.currency }} {{ provider.provider_profile.expected_salary.currency }}
@ -160,33 +168,33 @@
</div> </div>
<div class="delivery-container"> <div class="delivery-container">
<div class="dd-project-container"> <div class="dd-project-container">
<label class="dd-project-label" for="quality-issue-rate" <label class="dd-project-label" for="quality-issue-rate">{{
>{{$t('Code issue rate')}}</label $t('Code issue rate')
> }}</label>
<span class="dd-project-span" id="quality-issue-rate"> <span class="dd-project-span" id="quality-issue-rate">
{{ provider.provider_work_quality.issues_per_thousand_lines_of_codes }} {{ provider.provider_work_quality.issues_per_thousand_lines_of_codes }}
</span> </span>
</div> </div>
<div class="dd-project-container"> <div class="dd-project-container">
<label class="dd-project-label" for="quality-online-issue-rate" <label class="dd-project-label" for="quality-online-issue-rate">{{
>{{$t('Online issue rate')}}</label $t('Online issue rate')
> }}</label>
<span class="dd-project-span" id="quality-online-issue-rate"> <span class="dd-project-span" id="quality-online-issue-rate">
{{ provider.provider_work_quality.issues_after_delivery_per_project }} {{ provider.provider_work_quality.issues_after_delivery_per_project }}
</span> </span>
</div> </div>
<div class="dd-project-container"> <div class="dd-project-container">
<label class="dd-project-label" for="quality-issue-fixing-rate" <label class="dd-project-label" for="quality-issue-fixing-rate">{{
>{{$t('Issue fixing rate')}}</label $t('Issue fixing rate')
> }}</label>
<span class="dd-project-span" id="quality-issue-fixing-rate"> <span class="dd-project-span" id="quality-issue-fixing-rate">
{{ provider.provider_work_quality.issue_fixing_rate_pencentage }}% {{ provider.provider_work_quality.issue_fixing_rate_pencentage }}%
</span> </span>
</div> </div>
<div class="dd-project-container"> <div class="dd-project-container">
<label class="dd-project-label" for="quality-issue-fixing-time" <label class="dd-project-label" for="quality-issue-fixing-time">{{
>{{$t('Issue fixing time')}}</label $t('Issue fixing time')
> }}</label>
<span class="dd-project-span" id="quality-issue-fixing-time"> <span class="dd-project-span" id="quality-issue-fixing-time">
{{ provider.provider_work_quality.issue_fixing_time_minutes }} min(s) {{ provider.provider_work_quality.issue_fixing_time_minutes }} min(s)
</span> </span>
@ -245,7 +253,11 @@
}}</label> }}</label>
</div> </div>
<span class="invite-to-request-note-text" <span class="invite-to-request-note-text"
>*{{$t('Once the request is selected, the provider will be invited to see the request.')}}</span >*{{
$t(
'Once the request is selected, the provider will be invited to see the request.'
)
}}</span
> >
</div> </div>
</div> </div>

View File

@ -25,9 +25,9 @@
> >
<div class="dashed-container request-content-container"> <div class="dashed-container request-content-container">
<div class="request-content-issuer-container"> <div class="request-content-issuer-container">
<label class="request-content-label" for="request-content-issuer-box" <label class="request-content-label" for="request-content-issuer-box">{{
>{{$t('Issuer')}}</label $t('Issuer')
> }}</label>
<div class="request-content-box" id="request-content-issuer-box"> <div class="request-content-box" id="request-content-issuer-box">
<span class="request-content-issuer-text"> <span class="request-content-issuer-text">
{{ request.issuer_profile.first_name }} {{ request.issuer_profile.first_name }}
@ -36,15 +36,17 @@
</div> </div>
</div> </div>
<div class="request-content-title-container"> <div class="request-content-title-container">
<label class="request-content-label" for="request-content-title-box" <label class="request-content-label" for="request-content-title-box">{{
>{{$t('Request')}}</label $t('Request')
> }}</label>
<div class="request-content-box" id="request-content-title-box"> <div class="request-content-box" id="request-content-title-box">
<span class="request-content-title-text"> {{ request.title }}</span> <span class="request-content-title-text"> {{ request.title }}</span>
</div> </div>
</div> </div>
<div class="request-content-date-container"> <div class="request-content-date-container">
<label class="request-content-label" for="request-content-date-box">{{$t('Date')}}</label> <label class="request-content-label" for="request-content-date-box">{{
$t('Date')
}}</label>
<div class="request-content-box" id="request-content-date-box"> <div class="request-content-box" id="request-content-date-box">
<span class="request-content-date-text"> <span class="request-content-date-text">
{{ getDateFromFulltimeString(request.update_time) }} {{ getDateFromFulltimeString(request.update_time) }}
@ -52,9 +54,9 @@
</div> </div>
</div> </div>
<div class="request-content-score-container"> <div class="request-content-score-container">
<label class="request-content-label" for="request-content-score-box" <label class="request-content-label" for="request-content-score-box">{{
>{{$t('Score')}}</label $t('Score')
> }}</label>
<div class="request-content-box" id="request-content-score-box"> <div class="request-content-box" id="request-content-score-box">
<span class="request-content-score-text"> <span class="request-content-score-text">
{{ request.score }} {{ request.score }}

View File

@ -8,7 +8,9 @@
aria-labelledby="offcanvas-copy-existing" aria-labelledby="offcanvas-copy-existing"
> >
<div class="offcanvas-header"> <div class="offcanvas-header">
<h5 class="offcanvas-title" id="offcanvas-copy-existing">{{$t('Copy from existing proposals')}}</h5> <h5 class="offcanvas-title" id="offcanvas-copy-existing">
{{ $t('Copy from existing proposals') }}
</h5>
<button <button
type="button" type="button"
class="btn-close" class="btn-close"
@ -63,7 +65,9 @@
aria-labelledby="offcanvas-template" aria-labelledby="offcanvas-template"
> >
<div class="offcanvas-header"> <div class="offcanvas-header">
<h5 class="offcanvas-title" id="offcanvas-template">{{$t('Apply proposal template')}}</h5> <h5 class="offcanvas-title" id="offcanvas-template">
{{ $t('Apply proposal template') }}
</h5>
<button <button
type="button" type="button"
class="btn-close" class="btn-close"
@ -249,7 +253,9 @@
</div> --> </div> -->
</div> </div>
<div class="stage-more-action-container"> <div class="stage-more-action-container">
<button class="stage-add-more-button" @click="addStage()">+ {{$t('Add Milestones')}}</button> <button class="stage-add-more-button" @click="addStage()">
+ {{ $t('Add Milestones') }}
</button>
</div> </div>
<div class="summary-content-container" id="summary-content"> <div class="summary-content-container" id="summary-content">
<span id="summary-total-stages-content"> <span id="summary-total-stages-content">

View File

@ -1,7 +1,9 @@
<template> <template>
<div class="workspace-container"> <div class="workspace-container">
<div class="workspace-header"> <div class="workspace-header">
<button class="issue-request-button" @click="issueRequest()">{{$t('Issue Request')}}</button> <button class="issue-request-button" @click="issueRequest()">
{{ $t('Issue Request') }}
</button>
</div> </div>
<div class="workspace-body"> <div class="workspace-body">
<div class="accordion" v-for="(project, index) in projects" :key="index" :id="project.id"> <div class="accordion" v-for="(project, index) in projects" :key="index" :id="project.id">
@ -29,7 +31,8 @@
:data-bs-parent="'#' + project.id" :data-bs-parent="'#' + project.id"
> >
<div class="accordion-body"> <div class="accordion-body">
<strong>{{$t('pm-1')}}</strong> {{$t('pm-2')}}<code>{{$t('pm-3')}}</code>{{$t('pm-4')}} <strong>{{ $t('pm-1') }}</strong> {{ $t('pm-2') }}<code>{{ $t('pm-3') }}</code
>{{ $t('pm-4') }}
</div> </div>
</div> </div>
</div> </div>

View File

@ -1,7 +1,9 @@
<template> <template>
<div class="workspace-container"> <div class="workspace-container">
<div class="workspace-header"> <div class="workspace-header">
<button class="issue-request-button" @click="issueRequest()">{{$t('Issue Request')}}</button> <button class="issue-request-button" @click="issueRequest()">
{{ $t('Issue Request') }}
</button>
</div> </div>
<div class="workspace-body"> <div class="workspace-body">
<div class="accordion" v-for="(project, index) in projects" :key="index" :id="project.id"> <div class="accordion" v-for="(project, index) in projects" :key="index" :id="project.id">
@ -29,7 +31,8 @@
:data-bs-parent="'#' + project.id" :data-bs-parent="'#' + project.id"
> >
<div class="accordion-body"> <div class="accordion-body">
<strong>{{$t('pm-1')}}</strong> {{$t('pm-2')}}<code>{{$t('pm-3')}}</code>{{$t('pm-4')}} <strong>{{ $t('pm-1') }}</strong> {{ $t('pm-2') }}<code>{{ $t('pm-3') }}</code
>{{ $t('pm-4') }}
</div> </div>
</div> </div>
</div> </div>

View File

@ -7,7 +7,9 @@
aria-labelledby="offcanvas-copy-existing" aria-labelledby="offcanvas-copy-existing"
> >
<div class="offcanvas-header"> <div class="offcanvas-header">
<h5 class="offcanvas-title" id="offcanvas-copy-existing">{{$t('Copy from existing request')}}</h5> <h5 class="offcanvas-title" id="offcanvas-copy-existing">
{{ $t('Copy from existing request') }}
</h5>
<button <button
type="button" type="button"
class="btn-close" class="btn-close"
@ -42,7 +44,9 @@
data-bs-parent="#existing-request-item-container" data-bs-parent="#existing-request-item-container"
> >
<div class="accordion-body"> <div class="accordion-body">
<button class="btn btn-link" @click="copyRequest(existingRequest)">{{$t('Copy')}}</button> <button class="btn btn-link" @click="copyRequest(existingRequest)">
{{ $t('Copy') }}
</button>
<div class="existing-request-content-text" v-html="existingRequest.content"></div> <div class="existing-request-content-text" v-html="existingRequest.content"></div>
</div> </div>
</div> </div>

View File

@ -1,7 +1,9 @@
<template> <template>
<div class="workspace-container"> <div class="workspace-container">
<div class="workspace-header"> <div class="workspace-header">
<button class="issue-request-button" @click="issueRequest()">{{$t('Issue Request')}}</button> <button class="issue-request-button" @click="issueRequest()">
{{ $t('Issue Request') }}
</button>
</div> </div>
<div class="workspace-body"> <div class="workspace-body">
<div class="accordion" v-for="(project, index) in projects" :key="index" :id="project.id"> <div class="accordion" v-for="(project, index) in projects" :key="index" :id="project.id">
@ -29,7 +31,8 @@
:data-bs-parent="'#' + project.id" :data-bs-parent="'#' + project.id"
> >
<div class="accordion-body"> <div class="accordion-body">
<strong>{{$t('pm-1')}}</strong> {{$t('pm-2')}}<code>{{$t('pm-3')}}</code>{{$t('pm-4')}} <strong>{{ $t('pm-1') }}</strong> {{ $t('pm-2') }}<code>{{ $t('pm-3') }}</code
>{{ $t('pm-4') }}
</div> </div>
</div> </div>
</div> </div>

View File

@ -2,7 +2,9 @@
<div class="request-reviwer-container"> <div class="request-reviwer-container">
<div class="header-bar"> <div class="header-bar">
<button class="back-button" type="button" @click="back">{{ $t('Back') }}</button> <button class="back-button" type="button" @click="back">{{ $t('Back') }}</button>
<p class="request-reviewer-title">{{$t('Review your request and the associated proposals')}}</p> <p class="request-reviewer-title">
{{ $t('Review your request and the associated proposals') }}
</p>
</div> </div>
<div v-if="request" class="request-info-bar"> <div v-if="request" class="request-info-bar">
<div class="request-title-container"> <div class="request-title-container">

View File

@ -2,12 +2,14 @@
<div class="proposal-reviewer-container"> <div class="proposal-reviewer-container">
<div class="header-bar"> <div class="header-bar">
<button class="back-button" type="button" @click="back">{{ $t('Back') }}</button> <button class="back-button" type="button" @click="back">{{ $t('Back') }}</button>
<p class="request-reviewer-title">{{$t('Please review the following critical information')}}</p> <p class="request-reviewer-title">
{{ $t('Please review the following critical information') }}
</p>
</div> </div>
<div v-if="proposal" class="payment-plan-container"> <div v-if="proposal" class="payment-plan-container">
<label class="payment-plan-content-label" for="payment-plan-content" <label class="payment-plan-content-label" for="payment-plan-content">{{
>{{$t('Payment plan proposed by the service provider')}}</label $t('Payment plan proposed by the service provider')
> }}</label>
<div class="payment-plan-content-container" id="payment-plan-content"> <div class="payment-plan-content-container" id="payment-plan-content">
<div <div
v-for="(stage, index) in proposal.payment_plan.stages" v-for="(stage, index) in proposal.payment_plan.stages"
@ -56,7 +58,9 @@
</div> </div>
</div> </div>
<div class="action-footer"> <div class="action-footer">
<button class="confirm-button" @click="confirm">{{$t('Confirm')}} & {{$t('Proceed to workspace')}}</button> <button class="confirm-button" @click="confirm">
{{ $t('Confirm') }} & {{ $t('Proceed to workspace') }}
</button>
</div> </div>
</div> </div>
</template> </template>