update
This commit is contained in:
parent
0d54878258
commit
2d5b61c532
@ -66,5 +66,113 @@ export default {
|
|||||||
'invalid code': 'invalid code',
|
'invalid code': 'invalid code',
|
||||||
Password: 'Password',
|
Password: 'Password',
|
||||||
'Forget password': 'Forget password',
|
'Forget password': 'Forget password',
|
||||||
'Invalid password': 'Invalid password'
|
'Invalid password': 'Invalid password',
|
||||||
|
'Read More': 'Read More',
|
||||||
|
'Total earning': 'Total earning',
|
||||||
|
'Payable': 'Payable',
|
||||||
|
'Total spending': 'Total spending',
|
||||||
|
'Deposit': 'Deposit',
|
||||||
|
'Spending': 'Spending',
|
||||||
|
'Updated': 'Updated',
|
||||||
|
'Earining': 'Earining',
|
||||||
|
'Login': 'Login',
|
||||||
|
'User ID': 'User ID',
|
||||||
|
'Email': 'Email',
|
||||||
|
'Mobile': 'Mobile',
|
||||||
|
'Personal': 'Personal',
|
||||||
|
'Full name': 'Full name',
|
||||||
|
'Portrait': 'Portrait',
|
||||||
|
'Self-intro': 'Self-intro',
|
||||||
|
'Earning now': 'Earning now',
|
||||||
|
'Edit': 'Edit',
|
||||||
|
'Templates': 'Templates',
|
||||||
|
'Cancel': 'Cancel',
|
||||||
|
'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.',
|
||||||
|
'Upload QR code to receive payment': 'Upload QR code to receive payment',
|
||||||
|
'Have you linked your strip account?': 'Have you linked your strip account?',
|
||||||
|
'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.',
|
||||||
|
'Achievement': 'Achievement',
|
||||||
|
'On Freeleaps': 'On Freeleaps',
|
||||||
|
'Connections': 'Connections',
|
||||||
|
'Messages': 'Messages',
|
||||||
|
'Credit': 'Credit',
|
||||||
|
'12-month spending': '12-month spending',
|
||||||
|
'3-month spending': '3-month spending',
|
||||||
|
'Posted': 'Posted',
|
||||||
|
'Accomplished': 'Accomplished',
|
||||||
|
'Active': 'Active',
|
||||||
|
'Ongoing': 'Ongoing',
|
||||||
|
'12-month earning': '12-month earning',
|
||||||
|
'Delivered': 'Delivered',
|
||||||
|
'Delivering time': 'Delivering time',
|
||||||
|
'Apply self-intro template': 'Apply self-intro template',
|
||||||
|
'Apply': 'Apply',
|
||||||
|
'Empty conversation': 'Empty conversation',
|
||||||
|
'Please choose conversation': 'Please choose conversation',
|
||||||
|
'Name': 'Name',
|
||||||
|
'Stay on Freeleaps': 'Stay on Freeleaps',
|
||||||
|
'Delivered projects': 'Delivered projects',
|
||||||
|
'Responding time': 'Responding time',
|
||||||
|
'Credit score': 'Credit score',
|
||||||
|
'Self intro': 'Self intro',
|
||||||
|
'Profile': 'Profile',
|
||||||
|
'Project delivering time': 'Project delivering time',
|
||||||
|
'Top programming languages': 'Top programming languages',
|
||||||
|
'Weekly produced code': 'Weekly produced code',
|
||||||
|
'Ongoing projects': 'Ongoing projects',
|
||||||
|
'Invitations to requests': 'Invitations to requests',
|
||||||
|
'Active proposals': 'Active proposals',
|
||||||
|
'Expected hourly rate': 'Expected hourly rate',
|
||||||
|
'Code issue rate': 'Code issue rate',
|
||||||
|
'Online issue rate': 'Online issue rate',
|
||||||
|
'Issue fixing rate': 'Issue fixing rate',
|
||||||
|
'Issue fixing time': 'Issue fixing time',
|
||||||
|
'Action panel': 'Action panel',
|
||||||
|
'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.',
|
||||||
|
'Issuer': 'Issuer',
|
||||||
|
'Request': 'Request',
|
||||||
|
'Score': 'Score',
|
||||||
|
'Propose': 'Propose',
|
||||||
|
'Preview': 'Preview',
|
||||||
|
'Download': 'Download',
|
||||||
|
'Total payment': 'Total payment',
|
||||||
|
'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',
|
||||||
|
'My work.': 'My work.',
|
||||||
|
'Copy from existing proposals': 'Copy from existing proposals',
|
||||||
|
'Copy': 'Copy',
|
||||||
|
'Apply proposal template': 'Apply proposal template',
|
||||||
|
'Proposal': 'Proposal',
|
||||||
|
'Milestones': 'Milestones',
|
||||||
|
'Notes': 'Notes',
|
||||||
|
'Add Milestones': 'Add Milestones',
|
||||||
|
'Total milestones': 'Total milestones',
|
||||||
|
'Total duration': 'Total duration',
|
||||||
|
'Upload file': 'Upload file',
|
||||||
|
'Back': 'Back',
|
||||||
|
'Issue Request': 'Issue Request',
|
||||||
|
'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-3': '.accordion-body',
|
||||||
|
'pm-4': ', though the transition does limit overflow.',
|
||||||
|
'Copy from existing request': 'Copy from existing request',
|
||||||
|
'Apply request template': 'Apply request template',
|
||||||
|
'(Re)Submit': '(Re)Submit',
|
||||||
|
'The request has been submitted!': 'The request has been submitted!',
|
||||||
|
'You can find it in': 'You can find it in',
|
||||||
|
'Review your request and the associated proposals': 'Review your request and the associated proposals',
|
||||||
|
'Title': 'Title',
|
||||||
|
'Action': 'Action',
|
||||||
|
'Proposed by': 'Proposed by',
|
||||||
|
'Price': 'Price',
|
||||||
|
'Reject': 'Reject',
|
||||||
|
'Accept': 'Accept',
|
||||||
|
'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',
|
||||||
|
'Execution plan proposed by the service provider': 'Execution plan proposed by the service provider',
|
||||||
|
'Proceed to workspace': 'Proceed to workspace',
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -9,7 +9,7 @@
|
|||||||
<img class="directory_cover_image" :src="directory.cover_picture" />
|
<img class="directory_cover_image" :src="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">Read More</button>
|
<button class="btn btn-link">{{$t('Read More')}}</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|||||||
@ -15,23 +15,23 @@
|
|||||||
<div class="history-bar dashed-container">
|
<div class="history-bar dashed-container">
|
||||||
<div class="history-bar-container">
|
<div class="history-bar-container">
|
||||||
<div class="history-bar-item">
|
<div class="history-bar-item">
|
||||||
<label class="history-item-label">Total earning</label>
|
<label class="history-item-label">{{$t('Total earning')}}</label>
|
||||||
<p class="history-item-text">2000USD</p>
|
<p class="history-item-text">2000USD</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="history-bar-item">
|
<div class="history-bar-item">
|
||||||
<label class="history-item-label">Paid</label>
|
<label class="history-item-label">{{$t('Paid')}}</label>
|
||||||
<p class="history-item-text">2000USD</p>
|
<p class="history-item-text">2000USD</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="history-bar-item">
|
<div class="history-bar-item">
|
||||||
<label class="history-item-label">Payable</label>
|
<label class="history-item-label">{{$t('Payable')}}</label>
|
||||||
<p class="history-item-text">2000USD</p>
|
<p class="history-item-text">2000USD</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="history-bar-item">
|
<div class="history-bar-item">
|
||||||
<label class="history-item-label">Total spending</label>
|
<label class="history-item-label">{{$t('Total spending')}}</label>
|
||||||
<p class="history-item-text">2000USD</p>
|
<p class="history-item-text">2000USD</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="history-bar-item">
|
<div class="history-bar-item">
|
||||||
<label class="history-item-label">Deposit</label>
|
<label class="history-item-label">{{$t('Deposit')}}</label>
|
||||||
<p class="history-item-text">2000USD</p>
|
<p class="history-item-text">2000USD</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -62,15 +62,15 @@
|
|||||||
<div class="history-bar dashed-container">
|
<div class="history-bar dashed-container">
|
||||||
<div class="history-bar-container">
|
<div class="history-bar-container">
|
||||||
<div class="history-bar-item">
|
<div class="history-bar-item">
|
||||||
<label class="history-item-label">Summary</label>
|
<label class="history-item-label">{{$t('Summary')}}</label>
|
||||||
<p class="history-item-text">Need a python programmer</p>
|
<p class="history-item-text">Need a python programmer</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="history-bar-item">
|
<div class="history-bar-item">
|
||||||
<label class="history-item-label">Spending</label>
|
<label class="history-item-label">{{$t('Spending')}}</label>
|
||||||
<p class="history-item-text">2000USD</p>
|
<p class="history-item-text">2000USD</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="history-bar-item">
|
<div class="history-bar-item">
|
||||||
<label class="history-item-label">Updated</label>
|
<label class="history-item-label">{{$t('Updated')}}</label>
|
||||||
<p class="history-item-text">2023-10-19</p>
|
<p class="history-item-text">2023-10-19</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -99,15 +99,15 @@
|
|||||||
<div class="history-bar dashed-container">
|
<div class="history-bar dashed-container">
|
||||||
<div class="history-bar-container">
|
<div class="history-bar-container">
|
||||||
<div class="history-bar-item">
|
<div class="history-bar-item">
|
||||||
<label class="history-item-label">Summary</label>
|
<label class="history-item-label">{{$t('Summary')}}</label>
|
||||||
<p class="history-item-text">Need a python programmer</p>
|
<p class="history-item-text">Need a python programmer</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="history-bar-item">
|
<div class="history-bar-item">
|
||||||
<label class="history-item-label">Spending</label>
|
<label class="history-item-label">{{$t('Spending')}}</label>
|
||||||
<p class="history-item-text">2000USD</p>
|
<p class="history-item-text">2000USD</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="history-bar-item">
|
<div class="history-bar-item">
|
||||||
<label class="history-item-label">Updated</label>
|
<label class="history-item-label">{{$t('Updated')}}</label>
|
||||||
<p class="history-item-text">2023-10-19</p>
|
<p class="history-item-text">2023-10-19</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -138,15 +138,15 @@
|
|||||||
<div class="history-bar dashed-container">
|
<div class="history-bar dashed-container">
|
||||||
<div class="history-bar-container">
|
<div class="history-bar-container">
|
||||||
<div class="history-bar-item">
|
<div class="history-bar-item">
|
||||||
<label class="history-item-label">Summary</label>
|
<label class="history-item-label">{{$t('Summary')}}</label>
|
||||||
<p class="history-item-text">Need a python programmer</p>
|
<p class="history-item-text">Need a python programmer</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="history-bar-item">
|
<div class="history-bar-item">
|
||||||
<label class="history-item-label">Earining</label>
|
<label class="history-item-label">{{$t('Earining')}}</label>
|
||||||
<p class="history-item-text">2000USD</p>
|
<p class="history-item-text">2000USD</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="history-bar-item">
|
<div class="history-bar-item">
|
||||||
<label class="history-item-label">Updated</label>
|
<label class="history-item-label">{{$t('Updated')}}</label>
|
||||||
<p class="history-item-text">2023-10-19</p>
|
<p class="history-item-text">2023-10-19</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -162,15 +162,15 @@
|
|||||||
<div class="history-bar dashed-container">
|
<div class="history-bar dashed-container">
|
||||||
<div class="history-bar-container">
|
<div class="history-bar-container">
|
||||||
<div class="history-bar-item">
|
<div class="history-bar-item">
|
||||||
<label class="history-item-label">Summary</label>
|
<label class="history-item-label">{{$t('Summary')}}</label>
|
||||||
<p class="history-item-text">Need a python programmer</p>
|
<p class="history-item-text">Need a python programmer</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="history-bar-item">
|
<div class="history-bar-item">
|
||||||
<label class="history-item-label">Earining</label>
|
<label class="history-item-label">{{$t('Earining')}}</label>
|
||||||
<p class="history-item-text">2000USD</p>
|
<p class="history-item-text">2000USD</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="history-bar-item">
|
<div class="history-bar-item">
|
||||||
<label class="history-item-label">Updated</label>
|
<label class="history-item-label">{{$t('Updated')}}</label>
|
||||||
<p class="history-item-text">2023-10-19</p>
|
<p class="history-item-text">2023-10-19</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -3,7 +3,7 @@
|
|||||||
<div class="panel-container" id="account-panel">
|
<div class="panel-container" id="account-panel">
|
||||||
<div>
|
<div>
|
||||||
<div class="panel-header-container">
|
<div class="panel-header-container">
|
||||||
<label for="account-summary">Login</label>
|
<label for="account-summary">{{$t('Login')}}</label>
|
||||||
<span v-if="accountNeedAttention">!</span>
|
<span v-if="accountNeedAttention">!</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="panel-content-container" id="account-summary">
|
<div class="panel-content-container" id="account-summary">
|
||||||
@ -15,7 +15,7 @@
|
|||||||
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">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 +29,7 @@
|
|||||||
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">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 +41,7 @@
|
|||||||
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">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 +55,7 @@
|
|||||||
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">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>
|
||||||
@ -231,7 +231,7 @@
|
|||||||
<div class="panel-container" id="personal-panel">
|
<div class="panel-container" id="personal-panel">
|
||||||
<div>
|
<div>
|
||||||
<div class="panel-header-container">
|
<div class="panel-header-container">
|
||||||
<label for="personal-summary">Personal</label>
|
<label for="personal-summary">{{$t('Personal')}}</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="panel-content-container" id="personal-summary">
|
<div class="panel-content-container" id="personal-summary">
|
||||||
<button
|
<button
|
||||||
@ -243,7 +243,7 @@
|
|||||||
>
|
>
|
||||||
<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"
|
||||||
>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 }}
|
||||||
@ -266,7 +266,7 @@
|
|||||||
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"
|
||||||
>Portrait</label
|
>{{$t('Portrait')}}</label
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
</button>
|
</button>
|
||||||
@ -278,7 +278,7 @@
|
|||||||
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">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>
|
||||||
@ -293,7 +293,7 @@
|
|||||||
>
|
>
|
||||||
<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"
|
||||||
>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' }}
|
||||||
@ -385,7 +385,7 @@
|
|||||||
class="btn btn-link"
|
class="btn btn-link"
|
||||||
@click="personalOperation.self_intro.is_editing = true"
|
@click="personalOperation.self_intro.is_editing = true"
|
||||||
>
|
>
|
||||||
Edit
|
{{$t('Edit')}}
|
||||||
</button>
|
</button>
|
||||||
<button
|
<button
|
||||||
v-if="personalOperation.self_intro.is_editing"
|
v-if="personalOperation.self_intro.is_editing"
|
||||||
@ -395,21 +395,21 @@
|
|||||||
data-bs-target="#offcanvas-template"
|
data-bs-target="#offcanvas-template"
|
||||||
aria-controls="offcanvas-template"
|
aria-controls="offcanvas-template"
|
||||||
>
|
>
|
||||||
Templates
|
{{$t('Templates')}}
|
||||||
</button>
|
</button>
|
||||||
<button
|
<button
|
||||||
v-if="personalOperation.self_intro.is_editing"
|
v-if="personalOperation.self_intro.is_editing"
|
||||||
@click="updateSelfIntro()"
|
@click="updateSelfIntro()"
|
||||||
class="btn btn-link"
|
class="btn btn-link"
|
||||||
>
|
>
|
||||||
Update
|
{{$t('Update')}}
|
||||||
</button>
|
</button>
|
||||||
<button
|
<button
|
||||||
v-if="personalOperation.self_intro.is_editing"
|
v-if="personalOperation.self_intro.is_editing"
|
||||||
@click="stopEdittingSelfintro($event)"
|
@click="stopEdittingSelfintro($event)"
|
||||||
class="btn btn-link"
|
class="btn btn-link"
|
||||||
>
|
>
|
||||||
Cancel
|
{{$t('Cancel')}}
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -433,9 +433,9 @@
|
|||||||
:disabled="!paymentOperation.ready_to_receive_money"
|
:disabled="!paymentOperation.ready_to_receive_money"
|
||||||
/>
|
/>
|
||||||
<label class="form-check-label" for="personal-earning-now-checkbox">
|
<label class="form-check-label" for="personal-earning-now-checkbox">
|
||||||
<span>I want to be a service provider and earn money</span>
|
<span>{{$t('I want to be a service provider and earn money')}}</span>
|
||||||
<span v-if="personalOperation.show_stripe_status" style="color: red"
|
<span v-if="personalOperation.show_stripe_status" style="color: red"
|
||||||
>* Stripe account onboarding is not completed.</span
|
>* {{$t('Stripe account onboarding is not completed.')}}</span
|
||||||
>
|
>
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
@ -474,7 +474,7 @@
|
|||||||
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"
|
||||||
>Upload QR code to receive payment</span
|
>{{$t('Upload QR code to receive payment')}}</span
|
||||||
>
|
>
|
||||||
</label>
|
</label>
|
||||||
<input
|
<input
|
||||||
@ -488,27 +488,26 @@
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="Is_Stripe_Payment()" class="collapse-item-container">
|
<div v-if="Is_Stripe_Payment()" class="collapse-item-container">
|
||||||
<span>Have you linked your strip account?</span
|
<span>{{$t('Have you linked your strip account?')}}</span
|
||||||
><button class="btn btn-link" @click="visitStripe()">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
|
||||||
>You are a service provider now. Please review your self-intro to reflect your skills to
|
>{{$t('You are a service provider now. Please review your self-intro to reflect your skills to deliver projects.')}}</span
|
||||||
deliver projects.</span
|
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="panel-container" id="accordion-achievement-panel">
|
<div class="panel-container" id="accordion-achievement-panel">
|
||||||
<div class="panel-header-container">
|
<div class="panel-header-container">
|
||||||
<label for="account-summary">Achievement</label>
|
<label for="account-summary">{{$t('Achievement')}}</label>
|
||||||
</div>
|
</div>
|
||||||
<table class="panel-table-container">
|
<table class="panel-table-container">
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<div class="panel-table-content">
|
<div class="panel-table-content">
|
||||||
<span class="panel-table-label">On Freeleaps</span>
|
<span class="panel-table-label">{{$t('On Freeleaps')}}</span>
|
||||||
<span class="panel-table-span">
|
<span class="panel-table-span">
|
||||||
{{ userProfile.achievemnt.activeness.days_of_staying_on }} day(s)
|
{{ userProfile.achievemnt.activeness.days_of_staying_on }} day(s)
|
||||||
</span>
|
</span>
|
||||||
@ -516,7 +515,7 @@
|
|||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<div class="panel-table-content">
|
<div class="panel-table-content">
|
||||||
<span class="panel-table-label">Connections</span>
|
<span class="panel-table-label">{{$t('Connections')}}</span>
|
||||||
<span class="panel-table-span">
|
<span class="panel-table-span">
|
||||||
{{ userProfile.achievemnt.activeness.connections }}
|
{{ userProfile.achievemnt.activeness.connections }}
|
||||||
</span>
|
</span>
|
||||||
@ -524,7 +523,7 @@
|
|||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<div class="panel-table-content">
|
<div class="panel-table-content">
|
||||||
<span class="panel-table-label">Messages</span>
|
<span class="panel-table-label">{{$t('Messages')}}</span>
|
||||||
<span class="panel-table-span">
|
<span class="panel-table-span">
|
||||||
{{ userProfile.achievemnt.activeness.messages }}
|
{{ userProfile.achievemnt.activeness.messages }}
|
||||||
</span>
|
</span>
|
||||||
@ -532,7 +531,7 @@
|
|||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<div class="panel-table-content">
|
<div class="panel-table-content">
|
||||||
<span class="panel-table-label">Credit</span>
|
<span class="panel-table-label">{{$t('Credit')}}</span>
|
||||||
<span class="panel-table-span">
|
<span class="panel-table-span">
|
||||||
{{ userProfile.achievemnt.activeness.credit }}
|
{{ userProfile.achievemnt.activeness.credit }}
|
||||||
</span>
|
</span>
|
||||||
@ -542,7 +541,7 @@
|
|||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<div class="panel-table-content">
|
<div class="panel-table-content">
|
||||||
<span class="panel-table-label">Total spending</span>
|
<span class="panel-table-label">{{$t('Total spending')}}</span>
|
||||||
<span class="panel-table-span">
|
<span class="panel-table-span">
|
||||||
{{ userProfile.achievemnt.issuer.spending.total }}
|
{{ userProfile.achievemnt.issuer.spending.total }}
|
||||||
{{ userProfile.achievemnt.issuer.spending.currency }}
|
{{ userProfile.achievemnt.issuer.spending.currency }}
|
||||||
@ -551,7 +550,7 @@
|
|||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<div class="panel-table-content">
|
<div class="panel-table-content">
|
||||||
<span class="panel-table-label">12-month spending</span>
|
<span class="panel-table-label">{{$t('12-month spending')}}</span>
|
||||||
<span class="panel-table-span">
|
<span class="panel-table-span">
|
||||||
{{ userProfile.achievemnt.issuer.spending.twelve_month }}
|
{{ userProfile.achievemnt.issuer.spending.twelve_month }}
|
||||||
{{ userProfile.achievemnt.issuer.spending.currency }}
|
{{ userProfile.achievemnt.issuer.spending.currency }}
|
||||||
@ -560,7 +559,7 @@
|
|||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<div class="panel-table-content">
|
<div class="panel-table-content">
|
||||||
<span class="panel-table-label">3-month spending</span>
|
<span class="panel-table-label">{{$t('3-month spending')}}</span>
|
||||||
<span class="panel-table-span">
|
<span class="panel-table-span">
|
||||||
{{ userProfile.achievemnt.issuer.spending.three_month }}
|
{{ userProfile.achievemnt.issuer.spending.three_month }}
|
||||||
{{ userProfile.achievemnt.issuer.spending.currency }}
|
{{ userProfile.achievemnt.issuer.spending.currency }}
|
||||||
@ -569,7 +568,7 @@
|
|||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<div class="panel-table-content">
|
<div class="panel-table-content">
|
||||||
<span class="panel-table-label">Deposit</span>
|
<span class="panel-table-label">{{$t('Deposit')}}</span>
|
||||||
<span class="panel-table-span">
|
<span class="panel-table-span">
|
||||||
{{ userProfile.achievemnt.issuer.deposit.available }}
|
{{ userProfile.achievemnt.issuer.deposit.available }}
|
||||||
{{ userProfile.achievemnt.issuer.deposit.currency }}
|
{{ userProfile.achievemnt.issuer.deposit.currency }}
|
||||||
@ -580,7 +579,7 @@
|
|||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<div class="panel-table-content">
|
<div class="panel-table-content">
|
||||||
<span class="panel-table-label">Posted</span>
|
<span class="panel-table-label">{{$t('Posted')}}</span>
|
||||||
<span class="panel-table-span">
|
<span class="panel-table-span">
|
||||||
{{ userProfile.achievemnt.issuer.request.issued }}
|
{{ userProfile.achievemnt.issuer.request.issued }}
|
||||||
</span>
|
</span>
|
||||||
@ -588,7 +587,7 @@
|
|||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<div class="panel-table-content">
|
<div class="panel-table-content">
|
||||||
<span class="panel-table-label">Accomplished</span>
|
<span class="panel-table-label">{{$t('Accomplished')}}</span>
|
||||||
<span class="panel-table-span">
|
<span class="panel-table-span">
|
||||||
{{ userProfile.achievemnt.issuer.request.accomplished }}
|
{{ userProfile.achievemnt.issuer.request.accomplished }}
|
||||||
</span>
|
</span>
|
||||||
@ -596,7 +595,7 @@
|
|||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<div class="panel-table-content">
|
<div class="panel-table-content">
|
||||||
<span class="panel-table-label">Active</span>
|
<span class="panel-table-label">{{$t('Active')}}</span>
|
||||||
<span class="panel-table-span">
|
<span class="panel-table-span">
|
||||||
{{ userProfile.achievemnt.issuer.request.active }}
|
{{ userProfile.achievemnt.issuer.request.active }}
|
||||||
</span>
|
</span>
|
||||||
@ -604,7 +603,7 @@
|
|||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<div class="panel-table-content">
|
<div class="panel-table-content">
|
||||||
<span class="panel-table-label">Ongoing</span>
|
<span class="panel-table-label">{{$t('Ongoing')}}</span>
|
||||||
<span class="panel-table-span">
|
<span class="panel-table-span">
|
||||||
{{ userProfile.achievemnt.issuer.request.ongoing }}
|
{{ userProfile.achievemnt.issuer.request.ongoing }}
|
||||||
</span>
|
</span>
|
||||||
@ -614,7 +613,7 @@
|
|||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<div class="panel-table-content">
|
<div class="panel-table-content">
|
||||||
<span class="panel-table-label">Total earning</span>
|
<span class="panel-table-label">{{$t('Total earning')}}</span>
|
||||||
<span class="panel-table-span">
|
<span class="panel-table-span">
|
||||||
{{ userProfile.achievemnt.provider.earnings.total }}
|
{{ userProfile.achievemnt.provider.earnings.total }}
|
||||||
{{ userProfile.achievemnt.provider.earnings.currency }}
|
{{ userProfile.achievemnt.provider.earnings.currency }}
|
||||||
@ -623,7 +622,7 @@
|
|||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<div class="panel-table-content">
|
<div class="panel-table-content">
|
||||||
<span class="panel-table-label">12-month earning</span>
|
<span class="panel-table-label">{{$t('12-month earning')}}</span>
|
||||||
<span class="panel-table-span">
|
<span class="panel-table-span">
|
||||||
{{ userProfile.achievemnt.provider.earnings.twelve_month }}
|
{{ userProfile.achievemnt.provider.earnings.twelve_month }}
|
||||||
{{ userProfile.achievemnt.provider.earnings.currency }}
|
{{ userProfile.achievemnt.provider.earnings.currency }}
|
||||||
@ -632,7 +631,7 @@
|
|||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<div class="panel-table-content">
|
<div class="panel-table-content">
|
||||||
<span class="panel-table-label">Delivered</span>
|
<span class="panel-table-label">{{$t('Delivered')}}</span>
|
||||||
<span class="panel-table-span">
|
<span class="panel-table-span">
|
||||||
{{ userProfile.achievemnt.provider.deliveries.delivered_projects }}
|
{{ userProfile.achievemnt.provider.deliveries.delivered_projects }}
|
||||||
</span>
|
</span>
|
||||||
@ -640,12 +639,12 @@
|
|||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<div class="panel-table-content">
|
<div class="panel-table-content">
|
||||||
<span class="panel-table-label">Delivering time</span>
|
<span class="panel-table-label">{{$t('Delivering time')}}</span>
|
||||||
<span class="panel-table-span">
|
<span class="panel-table-span">
|
||||||
{{
|
{{
|
||||||
userProfile.achievemnt.provider.deliveries.delivering_time_per_project_in_day
|
userProfile.achievemnt.provider.deliveries.delivering_time_per_project_in_day
|
||||||
}}
|
}}
|
||||||
days
|
{{$t('days')}}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
@ -660,7 +659,7 @@
|
|||||||
aria-labelledby="offcanvas-template"
|
aria-labelledby="offcanvas-template"
|
||||||
>
|
>
|
||||||
<div class="offcanvas-header">
|
<div class="offcanvas-header">
|
||||||
<h5 class="offcanvas-title" id="offcanvas-template">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"
|
||||||
@ -696,7 +695,7 @@
|
|||||||
>
|
>
|
||||||
<div class="accordion-body">
|
<div class="accordion-body">
|
||||||
<button class="select-template-button" @click="selectTemplate(template)">
|
<button class="select-template-button" @click="selectTemplate(template)">
|
||||||
Apply
|
{{$t('Apply')}}
|
||||||
</button>
|
</button>
|
||||||
<div class="template-content-textarea" v-html="template.content"></div>
|
<div class="template-content-textarea" v-html="template.content"></div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -35,7 +35,7 @@
|
|||||||
v-if="!conversations || conversations.length == 0"
|
v-if="!conversations || conversations.length == 0"
|
||||||
class="conversation-list-empty-container"
|
class="conversation-list-empty-container"
|
||||||
>
|
>
|
||||||
Empty conversation
|
{{$t('Empty conversation')}}
|
||||||
</div>
|
</div>
|
||||||
<div class="message-panel-container">
|
<div class="message-panel-container">
|
||||||
<div v-if="current_thread" class="message-thread-container">
|
<div v-if="current_thread" class="message-thread-container">
|
||||||
@ -63,7 +63,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="!current_thread" class="message-thread-empty-container">
|
<div v-if="!current_thread" class="message-thread-empty-container">
|
||||||
Please choose conversation
|
{{$t('Please choose conversation')}}
|
||||||
</div>
|
</div>
|
||||||
<div class="message-writing-panel-container">
|
<div class="message-writing-panel-container">
|
||||||
<svg-icon icon="msg-enter" class-name="writing-message-enter" />
|
<svg-icon icon="msg-enter" class-name="writing-message-enter" />
|
||||||
|
|||||||
@ -21,7 +21,7 @@
|
|||||||
<img class="provider-portrait" alt="user portrait" src="@/assets/profile.png" />
|
<img class="provider-portrait" alt="user portrait" src="@/assets/profile.png" />
|
||||||
</div>
|
</div>
|
||||||
<div class="provider-name-container">
|
<div class="provider-name-container">
|
||||||
<label class="provider-name-label" for="provider-name">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
|
||||||
@ -29,7 +29,7 @@
|
|||||||
</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"
|
||||||
>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">
|
||||||
{{ provider.activeness_achievement.days_of_staying_on }} day(s)</span
|
{{ provider.activeness_achievement.days_of_staying_on }} day(s)</span
|
||||||
@ -37,7 +37,7 @@
|
|||||||
</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"
|
||||||
>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">
|
||||||
{{ provider.provider_achievement.delivered_projects }}
|
{{ provider.provider_achievement.delivered_projects }}
|
||||||
@ -45,7 +45,7 @@
|
|||||||
</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"
|
||||||
>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)
|
||||||
@ -53,7 +53,7 @@
|
|||||||
</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"
|
||||||
>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 +69,7 @@
|
|||||||
>
|
>
|
||||||
<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">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,12 +77,12 @@
|
|||||||
></div>
|
></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="statistics-container">
|
<div class="statistics-container">
|
||||||
<label class="self-intro-content-label" for="statistics-content">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"
|
||||||
>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 }}
|
||||||
@ -90,7 +90,7 @@
|
|||||||
</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"
|
||||||
>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)
|
||||||
@ -98,7 +98,7 @@
|
|||||||
</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"
|
||||||
>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"
|
||||||
@ -116,7 +116,7 @@
|
|||||||
</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"
|
||||||
>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)
|
||||||
@ -126,7 +126,7 @@
|
|||||||
<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"
|
||||||
>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 }}
|
||||||
@ -134,7 +134,7 @@
|
|||||||
</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"
|
||||||
>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 }}
|
||||||
@ -142,7 +142,7 @@
|
|||||||
</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"
|
||||||
>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 }}
|
||||||
@ -150,7 +150,7 @@
|
|||||||
</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"
|
||||||
>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 }}
|
||||||
@ -161,7 +161,7 @@
|
|||||||
<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"
|
||||||
>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 }}
|
||||||
@ -169,7 +169,7 @@
|
|||||||
</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"
|
||||||
>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 }}
|
||||||
@ -177,7 +177,7 @@
|
|||||||
</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"
|
||||||
>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 }}%
|
||||||
@ -185,7 +185,7 @@
|
|||||||
</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"
|
||||||
>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)
|
||||||
@ -205,7 +205,7 @@
|
|||||||
aria-expanded="false"
|
aria-expanded="false"
|
||||||
aria-controls="collapse-action-panel"
|
aria-controls="collapse-action-panel"
|
||||||
>
|
>
|
||||||
Action panel
|
{{$t('Action panel')}}
|
||||||
</button>
|
</button>
|
||||||
</h2>
|
</h2>
|
||||||
<div
|
<div
|
||||||
@ -218,12 +218,12 @@
|
|||||||
<label
|
<label
|
||||||
class="invite-to-request-content-label"
|
class="invite-to-request-content-label"
|
||||||
for="invite-to-request-content"
|
for="invite-to-request-content"
|
||||||
>Invite
|
>{{$t('Invite')}}
|
||||||
<span class="invite-to-request-name-span"
|
<span class="invite-to-request-name-span"
|
||||||
>{{ provider.user_profile.first_name }}
|
>{{ provider.user_profile.first_name }}
|
||||||
{{ provider.user_profile.last_name }}</span
|
{{ provider.user_profile.last_name }}</span
|
||||||
>
|
>
|
||||||
to my open requests</label
|
{{$t('to my open requests')}}</label
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="invite-to-request-content-container"
|
class="invite-to-request-content-container"
|
||||||
@ -245,8 +245,7 @@
|
|||||||
}}</label>
|
}}</label>
|
||||||
</div>
|
</div>
|
||||||
<span class="invite-to-request-note-text"
|
<span class="invite-to-request-note-text"
|
||||||
>*Once the request is selected, the provider will be invited to see the
|
>*{{$t('Once the request is selected, the provider will be invited to see the request.')}}</span
|
||||||
request.</span
|
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -26,7 +26,7 @@
|
|||||||
<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"
|
||||||
>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">
|
||||||
@ -37,14 +37,14 @@
|
|||||||
</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"
|
||||||
>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">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) }}
|
||||||
@ -53,7 +53,7 @@
|
|||||||
</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"
|
||||||
>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">
|
||||||
@ -72,15 +72,15 @@
|
|||||||
<div class="accordion-body">
|
<div class="accordion-body">
|
||||||
<div class="request-description-container">
|
<div class="request-description-container">
|
||||||
<button class="make-proposal-button" type="button" @click="Propose(request)">
|
<button class="make-proposal-button" type="button" @click="Propose(request)">
|
||||||
Propose
|
{{$t('Propose')}}
|
||||||
</button>
|
</button>
|
||||||
<div class="request-description-content" v-html="request.content"></div>
|
<div class="request-description-content" v-html="request.content"></div>
|
||||||
<div v-for="(file, index) in request.attached_files" :key="index">
|
<div v-for="(file, index) in request.attached_files" :key="index">
|
||||||
<button @click="previewAttachedFile(request.id, file.document_id)">
|
<button @click="previewAttachedFile(request.id, file.document_id)">
|
||||||
Preview{{ file.file_name }}
|
{{$t('Preview')}}{{ file.file_name }}
|
||||||
</button>
|
</button>
|
||||||
<button @click="downloadAttachedFile(request.id, file.document_id)">
|
<button @click="downloadAttachedFile(request.id, file.document_id)">
|
||||||
Download{{ file.file_name }}
|
{{$t('Download')}}{{ file.file_name }}
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -93,7 +93,7 @@
|
|||||||
<label
|
<label
|
||||||
class="issuer-achievement-label"
|
class="issuer-achievement-label"
|
||||||
for="issuer-achievement-isssuer-content-div"
|
for="issuer-achievement-isssuer-content-div"
|
||||||
>Name</label
|
>{{$t('Name')}}</label
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="issuer-achievement-content-container"
|
class="issuer-achievement-content-container"
|
||||||
@ -109,7 +109,7 @@
|
|||||||
<label
|
<label
|
||||||
class="issuer-achievement-label"
|
class="issuer-achievement-label"
|
||||||
for="issuer-achievement-stay-content-div"
|
for="issuer-achievement-stay-content-div"
|
||||||
>Stay on Freeleaps</label
|
>{{$t('Stay on Freeleaps')}}</label
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="issuer-achievement-content-container"
|
class="issuer-achievement-content-container"
|
||||||
@ -125,7 +125,7 @@
|
|||||||
<label
|
<label
|
||||||
class="issuer-achievement-label"
|
class="issuer-achievement-label"
|
||||||
for="issuer-achievement-paid-content-div"
|
for="issuer-achievement-paid-content-div"
|
||||||
>Total payment</label
|
>{{$t('Total payment')}}</label
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="issuer-achievement-content-container"
|
class="issuer-achievement-content-container"
|
||||||
@ -141,7 +141,7 @@
|
|||||||
<label
|
<label
|
||||||
class="issuer-achievement-label"
|
class="issuer-achievement-label"
|
||||||
for="issuer-achievement-deposit-content-div"
|
for="issuer-achievement-deposit-content-div"
|
||||||
>Deposit</label
|
>{{$t('Deposit')}}</label
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="issuer-achievement-content-container"
|
class="issuer-achievement-content-container"
|
||||||
@ -157,7 +157,7 @@
|
|||||||
<label
|
<label
|
||||||
class="issuer-achievement-label"
|
class="issuer-achievement-label"
|
||||||
for="issuer-achievement-credit-content-div"
|
for="issuer-achievement-credit-content-div"
|
||||||
>Credit</label
|
>{{$t('Credit')}}</label
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="issuer-achievement-content-container"
|
class="issuer-achievement-content-container"
|
||||||
|
|||||||
@ -2,10 +2,10 @@
|
|||||||
<div class="submission-result-container">
|
<div class="submission-result-container">
|
||||||
<div class="submission-result-card">
|
<div class="submission-result-card">
|
||||||
<img src="@/assets/images/submited.png" alt="freeleaps" />
|
<img src="@/assets/images/submited.png" alt="freeleaps" />
|
||||||
<span>Your proposal has been submitted!</span>
|
<span>{{$t('Your proposal has been submitted!')}}</span>
|
||||||
<span>
|
<span>
|
||||||
You can check the status of proposals in
|
{{$t('You can check the status of proposals in')}}
|
||||||
<button class="btn btn-link" @click="gotoWorkspace()">My work.</button>
|
<button class="btn btn-link" @click="gotoWorkspace()">{{$t('My work.')}}</button>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -8,7 +8,7 @@
|
|||||||
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">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"
|
||||||
@ -44,7 +44,7 @@
|
|||||||
>
|
>
|
||||||
<div class="accordion-body">
|
<div class="accordion-body">
|
||||||
<button class="copy-existing-button" @click="copyProposal(existingProposal)">
|
<button class="copy-existing-button" @click="copyProposal(existingProposal)">
|
||||||
Copy
|
{{$t('Copy')}}
|
||||||
</button>
|
</button>
|
||||||
<div
|
<div
|
||||||
class="existing-request-content-text"
|
class="existing-request-content-text"
|
||||||
@ -63,7 +63,7 @@
|
|||||||
aria-labelledby="offcanvas-template"
|
aria-labelledby="offcanvas-template"
|
||||||
>
|
>
|
||||||
<div class="offcanvas-header">
|
<div class="offcanvas-header">
|
||||||
<h5 class="offcanvas-title" id="offcanvas-template">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"
|
||||||
@ -99,7 +99,7 @@
|
|||||||
>
|
>
|
||||||
<div class="accordion-body">
|
<div class="accordion-body">
|
||||||
<button class="load-template-button" @click="applyTemplate(template)">
|
<button class="load-template-button" @click="applyTemplate(template)">
|
||||||
Apply
|
{{$t('Apply')}}
|
||||||
</button>
|
</button>
|
||||||
<div class="template-content-text" v-html="template.proposal.content"></div>
|
<div class="template-content-text" v-html="template.proposal.content"></div>
|
||||||
</div>
|
</div>
|
||||||
@ -137,7 +137,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div v-if="proposal" class="proposal-container">
|
<div v-if="proposal" class="proposal-container">
|
||||||
<div class="proposal-header-container">
|
<div class="proposal-header-container">
|
||||||
<label class="proposal-label">Proposal:</label>
|
<label class="proposal-label">{{$t('Proposal')}}:</label>
|
||||||
<div class="header-bar">
|
<div class="header-bar">
|
||||||
<button
|
<button
|
||||||
class="btn btn-link"
|
class="btn btn-link"
|
||||||
@ -147,7 +147,7 @@
|
|||||||
aria-controls="offcanvas-template"
|
aria-controls="offcanvas-template"
|
||||||
>
|
>
|
||||||
<svg-icon icon="btn-templates" />
|
<svg-icon icon="btn-templates" />
|
||||||
Templates
|
{{$t('Templates')}}
|
||||||
</button>
|
</button>
|
||||||
<button
|
<button
|
||||||
class="btn btn-link"
|
class="btn btn-link"
|
||||||
@ -157,14 +157,14 @@
|
|||||||
aria-controls="offcanvas-copy-existing"
|
aria-controls="offcanvas-copy-existing"
|
||||||
>
|
>
|
||||||
<svg-icon icon="btn-history" />
|
<svg-icon icon="btn-history" />
|
||||||
Copy
|
{{$t('Copy')}}
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="cover-letter-content-container" id="cover-letter-content">
|
<div class="cover-letter-content-container" id="cover-letter-content">
|
||||||
<freeleaps-editor v-model:content="proposal.content" />
|
<freeleaps-editor v-model:content="proposal.content" />
|
||||||
</div>
|
</div>
|
||||||
<label class="summary-content-label" for="stage-content"> Milestones</label>
|
<label class="summary-content-label" for="stage-content"> {{$t('Milestones')}}</label>
|
||||||
<div class="stage-content-container" id="stage-content">
|
<div class="stage-content-container" id="stage-content">
|
||||||
<div v-for="(stage, index) in proposal.stages" :key="index" class="stage-item-container">
|
<div v-for="(stage, index) in proposal.stages" :key="index" class="stage-item-container">
|
||||||
<div class="input-container milestone-input-container">
|
<div class="input-container milestone-input-container">
|
||||||
@ -177,7 +177,7 @@
|
|||||||
type="number"
|
type="number"
|
||||||
v-model="stage.payment"
|
v-model="stage.payment"
|
||||||
/>
|
/>
|
||||||
<label :for="`stage-payment-content-${index}`">Payment</label>
|
<label :for="`stage-payment-content-${index}`">{{$t('Payment')}}</label>
|
||||||
</div>
|
</div>
|
||||||
<span class="btn-start">{{ stage.currency }}</span>
|
<span class="btn-start">{{ stage.currency }}</span>
|
||||||
</div>
|
</div>
|
||||||
@ -193,7 +193,7 @@
|
|||||||
type="number"
|
type="number"
|
||||||
v-model="stage.duration_in_days"
|
v-model="stage.duration_in_days"
|
||||||
/>
|
/>
|
||||||
<label :for="`stage-duration-content-${index}`">Duration</label>
|
<label :for="`stage-duration-content-${index}`">{{$t('Duration')}}</label>
|
||||||
</div>
|
</div>
|
||||||
<span class="btn-start">day(s)</span>
|
<span class="btn-start">day(s)</span>
|
||||||
</div>
|
</div>
|
||||||
@ -209,7 +209,7 @@
|
|||||||
type="text"
|
type="text"
|
||||||
v-model="stage.note"
|
v-model="stage.note"
|
||||||
/>
|
/>
|
||||||
<label :for="`stage-note-content-${index}`">Notes</label>
|
<label :for="`stage-note-content-${index}`">{{$t('Notes')}}</label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -249,25 +249,25 @@
|
|||||||
</div> -->
|
</div> -->
|
||||||
</div>
|
</div>
|
||||||
<div class="stage-more-action-container">
|
<div class="stage-more-action-container">
|
||||||
<button class="stage-add-more-button" @click="addStage()">+ 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">
|
||||||
Total milestones:
|
{{$t('Total milestones')}}:
|
||||||
{{ summary.total_stages }}
|
{{ summary.total_stages }}
|
||||||
</span>
|
</span>
|
||||||
<span id="summary-total-payment-content">
|
<span id="summary-total-payment-content">
|
||||||
Total payment:{{ summary.total_payment }} {{ summary.currency }}
|
{{$t('Total payment')}}:{{ summary.total_payment }} {{ summary.currency }}
|
||||||
</span>
|
</span>
|
||||||
<span id="summary-total-duration-content">
|
<span id="summary-total-duration-content">
|
||||||
Total duration:{{ summary.total_duration_in_days }} day(s)
|
{{$t('Total duration')}}:{{ summary.total_duration_in_days }} day(s)
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="file-upload-container">
|
<div class="file-upload-container">
|
||||||
<div class="upload-contianer">
|
<div class="upload-contianer">
|
||||||
<label class="btn btn-link">
|
<label class="btn btn-link">
|
||||||
<span v-if="!uploadFile">Upload file</span>
|
<span v-if="!uploadFile">{{$t('Upload file')}}</span>
|
||||||
<span v-if="uploadFile">{{ uploadFile.name }}</span>
|
<span v-if="uploadFile">{{ uploadFile.name }}</span>
|
||||||
<input type="file" hidden @change="handleFileUpload" />
|
<input type="file" hidden @change="handleFileUpload" />
|
||||||
</label>
|
</label>
|
||||||
@ -283,8 +283,8 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="action-footer">
|
<div class="action-footer">
|
||||||
<button class="cancel-button" @click="back">Back</button>
|
<button class="cancel-button" @click="back">{{$t('Back')}}</button>
|
||||||
<button class="submit-button" @click="submit">Submit</button>
|
<button class="submit-button" @click="submit">{{$t('Submit')}}</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
<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()">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,12 +29,7 @@
|
|||||||
:data-bs-parent="'#' + project.id"
|
:data-bs-parent="'#' + project.id"
|
||||||
>
|
>
|
||||||
<div class="accordion-body">
|
<div class="accordion-body">
|
||||||
<strong>This is the second item's accordion body.</strong> It is hidden by default,
|
<strong>{{$t('pm-1')}}</strong> {{$t('pm-2')}}<code>{{$t('pm-3')}}</code>{{$t('pm-4')}}
|
||||||
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 <code>.accordion-body</code>, though the transition does limit overflow.
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
<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()">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,12 +29,7 @@
|
|||||||
:data-bs-parent="'#' + project.id"
|
:data-bs-parent="'#' + project.id"
|
||||||
>
|
>
|
||||||
<div class="accordion-body">
|
<div class="accordion-body">
|
||||||
<strong>This is the second item's accordion body.</strong> It is hidden by default,
|
<strong>{{$t('pm-1')}}</strong> {{$t('pm-2')}}<code>{{$t('pm-3')}}</code>{{$t('pm-4')}}
|
||||||
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 <code>.accordion-body</code>, though the transition does limit overflow.
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -7,7 +7,7 @@
|
|||||||
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">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 +42,7 @@
|
|||||||
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)">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>
|
||||||
@ -57,7 +57,7 @@
|
|||||||
aria-labelledby="offcanvas-template"
|
aria-labelledby="offcanvas-template"
|
||||||
>
|
>
|
||||||
<div class="offcanvas-header">
|
<div class="offcanvas-header">
|
||||||
<h5 class="offcanvas-title" id="offcanvas-template">Apply request template</h5>
|
<h5 class="offcanvas-title" id="offcanvas-template">{{$t('Apply request template')}}</h5>
|
||||||
<button
|
<button
|
||||||
type="button"
|
type="button"
|
||||||
class="btn-close"
|
class="btn-close"
|
||||||
@ -96,7 +96,7 @@
|
|||||||
class="select-template-button btn btn-link"
|
class="select-template-button btn btn-link"
|
||||||
@click="selectTemplate(template)"
|
@click="selectTemplate(template)"
|
||||||
>
|
>
|
||||||
Apply
|
{{$t('Apply')}}
|
||||||
</button>
|
</button>
|
||||||
<div class="template-content-textarea" v-html="template.content"></div>
|
<div class="template-content-textarea" v-html="template.content"></div>
|
||||||
</div>
|
</div>
|
||||||
@ -113,7 +113,7 @@
|
|||||||
/>
|
/>
|
||||||
<div class="upload-contianer">
|
<div class="upload-contianer">
|
||||||
<label class="btn btn-link">
|
<label class="btn btn-link">
|
||||||
<span v-if="!uploadFile">Upload file</span>
|
<span v-if="!uploadFile">{{$t('Upload file')}}</span>
|
||||||
<span v-if="uploadFile">{{ uploadFile.name }}</span>
|
<span v-if="uploadFile">{{ uploadFile.name }}</span>
|
||||||
<input type="file" hidden @change="handleFileUpload" />
|
<input type="file" hidden @change="handleFileUpload" />
|
||||||
</label>
|
</label>
|
||||||
@ -133,7 +133,7 @@
|
|||||||
aria-controls="offcanvas-template"
|
aria-controls="offcanvas-template"
|
||||||
>
|
>
|
||||||
<svg-icon icon="btn-templates" />
|
<svg-icon icon="btn-templates" />
|
||||||
Templates
|
{{$t('Templates')}}
|
||||||
</button>
|
</button>
|
||||||
<button
|
<button
|
||||||
class="action-button btn btn-link"
|
class="action-button btn btn-link"
|
||||||
@ -143,15 +143,15 @@
|
|||||||
aria-controls="offcanvas-copy-existing"
|
aria-controls="offcanvas-copy-existing"
|
||||||
>
|
>
|
||||||
<svg-icon icon="btn-history" />
|
<svg-icon icon="btn-history" />
|
||||||
Copy
|
{{$t('Copy')}}
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="description-container">
|
<div class="description-container">
|
||||||
<freeleaps-editor v-model:content="content" />
|
<freeleaps-editor v-model:content="content" />
|
||||||
</div>
|
</div>
|
||||||
<div class="action-footer">
|
<div class="action-footer">
|
||||||
<button class="cancel-button" @click="back">Cancel</button>
|
<button class="cancel-button" @click="back">{{$t('Cancel')}}</button>
|
||||||
<button class="submit-button" @click="submit">(Re)Submit</button>
|
<button class="submit-button" @click="submit">{{$t('(Re)Submit')}}</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|||||||
@ -2,10 +2,10 @@
|
|||||||
<div class="submission-result-container">
|
<div class="submission-result-container">
|
||||||
<div class="submission-result-card">
|
<div class="submission-result-card">
|
||||||
<img src="@/assets/images/submited.png" alt="freeleaps" />
|
<img src="@/assets/images/submited.png" alt="freeleaps" />
|
||||||
<span>The request has been submitted!</span>
|
<span>{{$t('The request has been submitted!')}}</span>
|
||||||
<span>
|
<span>
|
||||||
You can find it in
|
{{$t('You can find it in')}}
|
||||||
<button class="btn btn-link" @click="gotoWorkspace()">My work.</button>
|
<button class="btn btn-link" @click="gotoWorkspace()">{{$t('My work.')}}</button>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
<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()">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,12 +29,7 @@
|
|||||||
:data-bs-parent="'#' + project.id"
|
:data-bs-parent="'#' + project.id"
|
||||||
>
|
>
|
||||||
<div class="accordion-body">
|
<div class="accordion-body">
|
||||||
<strong>This is the second item's accordion body.</strong> It is hidden by default,
|
<strong>{{$t('pm-1')}}</strong> {{$t('pm-2')}}<code>{{$t('pm-3')}}</code>{{$t('pm-4')}}
|
||||||
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 <code>.accordion-body</code>, though the transition does limit overflow.
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -1,24 +1,24 @@
|
|||||||
<template>
|
<template>
|
||||||
<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">Back</button>
|
<button class="back-button" type="button" @click="back">{{$t('Back')}}</button>
|
||||||
<p class="request-reviewer-title">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">
|
||||||
<label class="request-control-label" for="request-title">Title:</label>
|
<label class="request-control-label" for="request-title">{{$t('Title')}}:</label>
|
||||||
<span id="request-title" class="request-title-span">{{ request.title }}</span>
|
<span id="request-title" class="request-title-span">{{ request.title }}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="request-status-container">
|
<div class="request-status-container">
|
||||||
<label class="request-control-label" for="request-status">Status:</label>
|
<label class="request-control-label" for="request-status">{{$t('Status')}}:</label>
|
||||||
<span id="request-status" class="request-status-span">{{
|
<span id="request-status" class="request-status-span">{{
|
||||||
getRequestStatus(request.status)
|
getRequestStatus(request.status)
|
||||||
}}</span>
|
}}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="request-edit-button-container">
|
<div class="request-edit-button-container">
|
||||||
<label class="request-control-label" for="request-edit">Action:</label>
|
<label class="request-control-label" for="request-edit">{{$t('Action')}}:</label>
|
||||||
<button id="request-edit" class="request-edit-button" type="button" @click="editRequest">
|
<button id="request-edit" class="request-edit-button" type="button" @click="editRequest">
|
||||||
Edit
|
{{$t('Edit')}}
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -41,21 +41,21 @@
|
|||||||
>
|
>
|
||||||
<div class="proposal-summary-container">
|
<div class="proposal-summary-container">
|
||||||
<div class="proposer-fullname-container">
|
<div class="proposer-fullname-container">
|
||||||
<label class="proposer-fullname-label">Proposed by:</label>
|
<label class="proposer-fullname-label">{{$t('Proposed by')}}:</label>
|
||||||
<span class="proposer-fullname-span"
|
<span class="proposer-fullname-span"
|
||||||
>{{ proposal.proposer.first_name }} {{ proposal.proposer.last_name }}</span
|
>{{ proposal.proposer.first_name }} {{ proposal.proposer.last_name }}</span
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
<div class="proposal-price-container">
|
<div class="proposal-price-container">
|
||||||
<label class="proposal-price-label">Price(USD):</label>
|
<label class="proposal-price-label">{{$t('Price')}}(USD):</label>
|
||||||
<span class="proposal-price-span">{{ proposal.price_in_usd }}</span>
|
<span class="proposal-price-span">{{ proposal.price_in_usd }}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="proposal-duration-container">
|
<div class="proposal-duration-container">
|
||||||
<label class="proposal-duration-label">Duration(Days):</label>
|
<label class="proposal-duration-label">{{$t('Duration')}}(Days):</label>
|
||||||
<span class="proposal-duration-span">{{ proposal.duration_in_day }}</span>
|
<span class="proposal-duration-span">{{ proposal.duration_in_day }}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="proposal-update-container">
|
<div class="proposal-update-container">
|
||||||
<label class="proposal-update-label">Updated:</label>
|
<label class="proposal-update-label">{{$t('Updated')}}:</label>
|
||||||
<span class="proposal-update-span">{{
|
<span class="proposal-update-span">{{
|
||||||
getDateFromFulltimeString(proposal.update_time)
|
getDateFromFulltimeString(proposal.update_time)
|
||||||
}}</span>
|
}}</span>
|
||||||
@ -72,10 +72,10 @@
|
|||||||
<div class="accordion-body">
|
<div class="accordion-body">
|
||||||
<div class="proposal-body-action-container">
|
<div class="proposal-body-action-container">
|
||||||
<button class="reject-proposal-button" @click="rejectProposal(proposal.id)">
|
<button class="reject-proposal-button" @click="rejectProposal(proposal.id)">
|
||||||
Reject
|
{{$t('Reject')}}
|
||||||
</button>
|
</button>
|
||||||
<button class="accept-proposal-button" @click="acceptProposal(proposal.id)">
|
<button class="accept-proposal-button" @click="acceptProposal(proposal.id)">
|
||||||
Accept
|
{{$t('Accept')}}
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="proposal-content-textarea" v-html="proposal.content"></div>
|
<div class="proposal-content-textarea" v-html="proposal.content"></div>
|
||||||
|
|||||||
@ -1,12 +1,12 @@
|
|||||||
<template>
|
<template>
|
||||||
<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">Back</button>
|
<button class="back-button" type="button" @click="back">{{$t('Back')}}</button>
|
||||||
<p class="request-reviewer-title">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"
|
||||||
>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
|
||||||
@ -32,7 +32,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="total-payment-container">
|
<div class="total-payment-container">
|
||||||
<label class="total-payment-content-label" for="total-payment-content"
|
<label class="total-payment-content-label" for="total-payment-content"
|
||||||
>Total payment:</label
|
>{{$t('Total payment')}}:</label
|
||||||
>
|
>
|
||||||
<div class="total-payment-content-container" id="total-payment-content">
|
<div class="total-payment-content-container" id="total-payment-content">
|
||||||
<span class="total-payment-content-span">{{ proposal.price_in_usd }} USD</span>
|
<span class="total-payment-content-span">{{ proposal.price_in_usd }} USD</span>
|
||||||
@ -42,11 +42,11 @@
|
|||||||
</div>
|
</div>
|
||||||
<div v-if="proposal" class="execution-plan-container">
|
<div v-if="proposal" class="execution-plan-container">
|
||||||
<label class="execution-plan-label" for="execution-plan-content-container"
|
<label class="execution-plan-label" for="execution-plan-content-container"
|
||||||
>Execution plan proposed by the service provider:</label
|
>{{$t('Execution plan proposed by the service provider')}}:</label
|
||||||
>
|
>
|
||||||
<div class="execution-plan-content-container" id="execution-plan-content-container">
|
<div class="execution-plan-content-container" id="execution-plan-content-container">
|
||||||
<label class="execution-duration-label" for="execution-duration-containter"
|
<label class="execution-duration-label" for="execution-duration-containter"
|
||||||
>Duration:</label
|
>{{$t('Duration')}}:</label
|
||||||
>
|
>
|
||||||
<div class="execution-duration-containter" id="execution-duration-containter">
|
<div class="execution-duration-containter" id="execution-duration-containter">
|
||||||
<span class="execution-duration-span" id="execution-duration-span">
|
<span class="execution-duration-span" id="execution-duration-span">
|
||||||
@ -56,7 +56,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="action-footer">
|
<div class="action-footer">
|
||||||
<button class="confirm-button" @click="confirm">Confirm & Proceed to workspace</button>
|
<button class="confirm-button" @click="confirm">{{$t('Confirm')}} & {{$t('Proceed to workspace')}}</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user