mirror of
https://github.com/VueFileManager/vuefilemanager.git
synced 2026-05-13 08:45:01 +00:00
dark mode revision
This commit is contained in:
Vendored
+5
-5
@@ -3,23 +3,23 @@
|
|||||||
@tailwind utilities;
|
@tailwind utilities;
|
||||||
|
|
||||||
.card {
|
.card {
|
||||||
@apply dark:bg-dark-foreground bg-white sm:p-6 p-4 rounded-xl lg:mb-6 mb-5
|
@apply mb-5 rounded-xl bg-white p-4 dark:bg-dark-foreground sm:p-6 lg:mb-6;
|
||||||
}
|
}
|
||||||
|
|
||||||
.widget-card {
|
.widget-card {
|
||||||
@apply dark:bg-dark-foreground bg-white lg:p-5 p-4 rounded-xl
|
@apply rounded-xl bg-white p-4 dark:bg-dark-foreground lg:p-5;
|
||||||
}
|
}
|
||||||
|
|
||||||
.input-dark {
|
.input-dark {
|
||||||
@apply w-full dark:bg-2x-dark-foreground bg-light-background py-3 sm:px-5 px-4 rounded-lg appearance-none border-transparent sm:text-base text-sm font-bold border
|
@apply w-full appearance-none rounded-lg border border-transparent bg-light-background py-3 px-4 text-sm font-bold dark:bg-2x-dark-foreground dark:placeholder:text-gray-600 sm:px-5 sm:text-base dark:disabled:text-gray-400;
|
||||||
}
|
}
|
||||||
|
|
||||||
.text-limit {
|
.text-limit {
|
||||||
@apply whitespace-nowrap text-ellipsis overflow-x-hidden block
|
@apply block overflow-x-hidden text-ellipsis whitespace-nowrap;
|
||||||
}
|
}
|
||||||
|
|
||||||
.is-inactive {
|
.is-inactive {
|
||||||
@apply pointer-events-none opacity-40
|
@apply pointer-events-none opacity-40;
|
||||||
}
|
}
|
||||||
|
|
||||||
.grid-view {
|
.grid-view {
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
<label class="mb-1.5 block text-sm font-bold text-gray-700 dark:text-gray-200"> {{ title }}: </label>
|
<label class="mb-1.5 block text-sm font-bold text-gray-700 dark:text-gray-200"> {{ title }}: </label>
|
||||||
|
|
||||||
<!--Input Description-->
|
<!--Input Description-->
|
||||||
<span v-if="description" class="block text-xs leading-4 text-gray-500" v-html="description"></span>
|
<span v-if="description" class="block text-xs leading-4 dark:text-gray-500 text-gray-500" v-html="description"></span>
|
||||||
|
|
||||||
<!--Input Description-->
|
<!--Input Description-->
|
||||||
<span v-if="error" class="error-message">
|
<span v-if="error" class="error-message">
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
<label class="mb-1.5 block text-sm font-bold text-gray-700 dark:text-gray-200"> {{ title }}: </label>
|
<label class="mb-1.5 block text-sm font-bold text-gray-700 dark:text-gray-200"> {{ title }}: </label>
|
||||||
|
|
||||||
<!--Input Description-->
|
<!--Input Description-->
|
||||||
<span v-if="description" class="block text-xs leading-4 text-gray-500" v-html="description"></span>
|
<span v-if="description" class="block text-xs leading-4 dark:text-gray-500 text-gray-500" v-html="description"></span>
|
||||||
|
|
||||||
<!--Input Description-->
|
<!--Input Description-->
|
||||||
<span v-if="error" class="error-message">
|
<span v-if="error" class="error-message">
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
</span>
|
</span>
|
||||||
|
|
||||||
<!--Input Description-->
|
<!--Input Description-->
|
||||||
<small v-if="description" class="block pt-2 text-xs leading-4 text-gray-500" v-html="description"></small>
|
<small v-if="description" class="block pt-2 text-xs leading-4 dark:text-gray-500 text-gray-500" v-html="description"></small>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|||||||
@@ -7,16 +7,16 @@
|
|||||||
</span>
|
</span>
|
||||||
|
|
||||||
<svg
|
<svg
|
||||||
|
class="vue-feather dark:text-gray-800 text-gray-100 "
|
||||||
width="38px"
|
width="38px"
|
||||||
height="51px"
|
height="51px"
|
||||||
|
fill="currentColor"
|
||||||
viewBox="0 0 38 51"
|
viewBox="0 0 38 51"
|
||||||
version="1.1"
|
version="1.1"
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
>
|
>
|
||||||
<path
|
<path
|
||||||
stroke-width="0"
|
|
||||||
fill="#f4f5f6"
|
|
||||||
d="M22.1666667,13.546875 L22.1666667,0 L2.375,0 C1.05885417,0 0,1.06582031 0,2.390625 L0,48.609375 C0,49.9341797 1.05885417,51 2.375,51 L35.625,51 C36.9411458,51 38,49.9341797 38,48.609375 L38,15.9375 L24.5416667,15.9375 C23.2354167,15.9375 22.1666667,14.8617187 22.1666667,13.546875 Z M38,12.1423828 L38,12.75 L25.3333333,12.75 L25.3333333,0 L25.9369792,0 C26.5703125,0 27.1739583,0.249023438 27.6192708,0.697265625 L37.3072917,10.4589844 C37.7526042,10.9072266 38,11.5148437 38,12.1423828 Z"
|
d="M22.1666667,13.546875 L22.1666667,0 L2.375,0 C1.05885417,0 0,1.06582031 0,2.390625 L0,48.609375 C0,49.9341797 1.05885417,51 2.375,51 L35.625,51 C36.9411458,51 38,49.9341797 38,48.609375 L38,15.9375 L24.5416667,15.9375 C23.2354167,15.9375 22.1666667,14.8617187 22.1666667,13.546875 Z M38,12.1423828 L38,12.75 L25.3333333,12.75 L25.3333333,0 L25.9369792,0 C26.5703125,0 27.1739583,0.249023438 27.6192708,0.697265625 L37.3072917,10.4589844 C37.7526042,10.9072266 38,11.5148437 38,12.1423828 Z"
|
||||||
></path>
|
></path>
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
@@ -19,15 +19,16 @@
|
|||||||
borderRadius,
|
borderRadius,
|
||||||
{
|
{
|
||||||
'border-3 border-white dark:border-dark-background': isBorder,
|
'border-3 border-white dark:border-dark-background': isBorder,
|
||||||
|
'dark:bg-4x-dark-foreground bg-light-background': !member.data.attributes.color,
|
||||||
},
|
},
|
||||||
]"
|
]"
|
||||||
:style="{
|
:style="{
|
||||||
width: size + 'px',
|
width: size + 'px',
|
||||||
height: size + 'px',
|
height: size + 'px',
|
||||||
background: member.data.attributes.color ? member.data.attributes.color : '#f4f5f6',
|
background: member.data.attributes.color ? member.data.attributes.color : '',
|
||||||
}"
|
}"
|
||||||
>
|
>
|
||||||
<span :class="fontSize" class="font-extrabold uppercase text-gray-900">
|
<span :class="fontSize" class="font-extrabold uppercase dark:text-gray-400 text-gray-900">
|
||||||
{{ letter }}
|
{{ letter }}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -45,24 +45,15 @@
|
|||||||
</AppInputText>
|
</AppInputText>
|
||||||
</ValidationProvider>
|
</ValidationProvider>
|
||||||
|
|
||||||
<!--Custom Folder Name-->
|
|
||||||
<AppInputSwitch
|
|
||||||
:title="$t('Custom Folder Name')"
|
|
||||||
:description="$t('Created folder with files will be named with your own name.')"
|
|
||||||
>
|
|
||||||
<SwitchInput v-model="customFolderName" :state="customFolderName" />
|
|
||||||
</AppInputSwitch>
|
|
||||||
|
|
||||||
<!--Set email-->
|
<!--Set email-->
|
||||||
<ValidationProvider
|
<ValidationProvider
|
||||||
v-if="customFolderName"
|
|
||||||
tag="div"
|
tag="div"
|
||||||
mode="passive"
|
mode="passive"
|
||||||
name="Name"
|
name="Name"
|
||||||
rules="required"
|
rules="required"
|
||||||
v-slot="{ errors }"
|
v-slot="{ errors }"
|
||||||
>
|
>
|
||||||
<AppInputText :error="errors[0]" class="-mt-2">
|
<AppInputText :title="this.$t('Folder Name (optional)')" :description="$t('Created folder with files will be named with your own name.')" :error="errors[0]" class="-mt-2">
|
||||||
<input
|
<input
|
||||||
v-model="form.name"
|
v-model="form.name"
|
||||||
:class="{ 'border-red': errors[0] }"
|
:class="{ 'border-red': errors[0] }"
|
||||||
@@ -158,7 +149,6 @@ export default {
|
|||||||
},
|
},
|
||||||
generatedUploadRequest: undefined,
|
generatedUploadRequest: undefined,
|
||||||
shareViaEmail: false,
|
shareViaEmail: false,
|
||||||
customFolderName: false,
|
|
||||||
pickedItem: undefined,
|
pickedItem: undefined,
|
||||||
isLoading: false,
|
isLoading: false,
|
||||||
}
|
}
|
||||||
@@ -206,7 +196,6 @@ export default {
|
|||||||
this.pickedItem = undefined
|
this.pickedItem = undefined
|
||||||
|
|
||||||
this.shareViaEmail = false
|
this.shareViaEmail = false
|
||||||
this.customFolderName = false
|
|
||||||
|
|
||||||
this.form = {
|
this.form = {
|
||||||
name: undefined,
|
name: undefined,
|
||||||
|
|||||||
@@ -7,9 +7,9 @@
|
|||||||
<div
|
<div
|
||||||
v-if="imagePreview"
|
v-if="imagePreview"
|
||||||
@click="resetImage"
|
@click="resetImage"
|
||||||
class="absolute right-0 top-0 z-[9] flex h-7 w-7 -translate-y-3 translate-x-3 cursor-pointer items-center justify-center rounded-md rounded-full bg-white shadow-lg"
|
class="absolute right-0 top-0 z-[9] flex h-7 w-7 -translate-y-3 translate-x-3 cursor-pointer items-center justify-center rounded-md rounded-full dark:bg-4x-dark-foreground bg-white shadow-lg"
|
||||||
>
|
>
|
||||||
<x-icon size="14" class="vue-feather" />
|
<x-icon size="14" class="vue-feather dark:text-gray-500" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<input
|
<input
|
||||||
|
|||||||
@@ -12,8 +12,8 @@
|
|||||||
<div class="flex items-center justify-between">
|
<div class="flex items-center justify-between">
|
||||||
<div class="flex items-center">
|
<div class="flex items-center">
|
||||||
<div>
|
<div>
|
||||||
<check-icon v-if="isSuccess" size="22" class="vue-feather text-green-600" />
|
<check-icon v-if="isSuccess" size="22" class="vue-feather dark:text-green-600 text-green-600" />
|
||||||
<x-icon v-if="isDanger" size="22" class="vue-feather text-red-600" />
|
<x-icon v-if="isDanger" size="22" class="vue-feather dark:text-red-600 text-red-600" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<p
|
<p
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
<div class="flex items-center justify-between border-b border-dashed border-light py-4 dark:border-opacity-5">
|
<div class="flex items-center justify-between border-b border-dashed border-light py-4 dark:border-opacity-5">
|
||||||
<div>
|
<div>
|
||||||
<img :src="$getPaymentLogo(driver)" :alt="driver" class="h-6" />
|
<img :src="$getPaymentLogo(driver)" :alt="driver" class="h-6" />
|
||||||
<small class="block pt-2 text-xs leading-4 text-gray-500">
|
<small class="block pt-2 text-xs leading-4 dark:text-gray-500 text-gray-500">
|
||||||
{{ description }}
|
{{ description }}
|
||||||
</small>
|
</small>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
class="popup fixed top-0 left-0 right-0 bottom-0 z-50 grid h-full overflow-y-auto p-10 lg:absolute"
|
class="popup fixed top-0 left-0 right-0 bottom-0 z-50 grid h-full overflow-y-auto p-10 lg:absolute"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="fixed top-0 bottom-0 left-0 right-0 z-10 m-auto w-full bg-white shadow-xl dark:bg-2x-dark-foreground md:relative md:w-[490px] md:rounded-xl"
|
class="fixed top-0 bottom-0 left-0 right-0 z-10 m-auto w-full bg-white shadow-xl dark:bg-dark-foreground md:relative md:w-[490px] md:rounded-xl"
|
||||||
>
|
>
|
||||||
<slot />
|
<slot />
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
<transition name="vignette">
|
<transition name="vignette">
|
||||||
<div
|
<div
|
||||||
v-if="isVisible"
|
v-if="isVisible"
|
||||||
class="vignette bg-dark-background bg-opacity-[0.35] dark:bg-opacity-[0.45]"
|
class="vignette dark:bg-2x-dark-background bg-dark-background bg-opacity-[0.35] dark:bg-opacity-[0.70]"
|
||||||
@click="closePopup"
|
@click="closePopup"
|
||||||
></div>
|
></div>
|
||||||
</transition>
|
</transition>
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
/>
|
/>
|
||||||
</b>
|
</b>
|
||||||
|
|
||||||
<b class="block text-sm text-gray-400">
|
<b class="block text-sm dark:text-gray-500 text-gray-400">
|
||||||
{{ $t('Alert will be triggered after you reach the value above.') }}
|
{{ $t('Alert will be triggered after you reach the value above.') }}
|
||||||
</b>
|
</b>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -8,13 +8,13 @@
|
|||||||
{{ status }}
|
{{ status }}
|
||||||
</b>
|
</b>
|
||||||
|
|
||||||
<b class="mb-3 mb-8 block text-sm text-gray-400">
|
<b class="mb-3 mb-8 block text-sm dark:text-gray-500 text-gray-400">
|
||||||
{{ subscription.data.relationships.plan.data.attributes.name }} /
|
{{ subscription.data.relationships.plan.data.attributes.name }} /
|
||||||
{{ price }}
|
{{ price }}
|
||||||
</b>
|
</b>
|
||||||
|
|
||||||
<div v-for="(limit, i) in limitations" :key="i" :class="{ 'mb-6': Object.keys(limitations).length - 1 !== i }">
|
<div v-for="(limit, i) in limitations" :key="i" :class="{ 'mb-6': Object.keys(limitations).length - 1 !== i }">
|
||||||
<b class="mb-3 block text-sm text-gray-400">
|
<b class="mb-3 block text-sm dark:text-gray-500 text-gray-400">
|
||||||
{{ limit.message }}
|
{{ limit.message }}
|
||||||
</b>
|
</b>
|
||||||
<ProgressLine :data="limit.distribution" />
|
<ProgressLine :data="limit.distribution" />
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
<!-- Card -->
|
<!-- Card -->
|
||||||
<PaymentCard v-for="card in user.data.relationships.creditCards.data" :key="card.data.id" :card="card" />
|
<PaymentCard v-for="card in user.data.relationships.creditCards.data" :key="card.data.id" :card="card" />
|
||||||
|
|
||||||
<small class="hidden pt-3 text-xs leading-none text-gray-500 sm:block">
|
<small class="hidden pt-3 text-xs leading-none dark:text-gray-500 text-gray-500 sm:block">
|
||||||
{{ $t('We are settling your payment automatically via your saved credit card.') }}
|
{{ $t('We are settling your payment automatically via your saved credit card.') }}
|
||||||
</small>
|
</small>
|
||||||
</div>
|
</div>
|
||||||
@@ -46,6 +46,10 @@
|
|||||||
<div v-if="stripe.isInitialization" class="relative mb-6 h-10">
|
<div v-if="stripe.isInitialization" class="relative mb-6 h-10">
|
||||||
<Spinner />
|
<Spinner />
|
||||||
</div>
|
</div>
|
||||||
|
<InfoBox v-if="config.isDemo && !stripe.isInitialization">
|
||||||
|
<p>For adding test credit card please use <b class="text-theme">4242 4242 4242 4242</b> as a card number, <b class="text-theme">11/22</b>
|
||||||
|
as the expiration date and <b class="text-theme">123</b> as CVC number and ZIP <b class="text-theme">12345</b> if required.</p>
|
||||||
|
</InfoBox>
|
||||||
<div id="payment-element">
|
<div id="payment-element">
|
||||||
<!-- Elements will create form elements here -->
|
<!-- Elements will create form elements here -->
|
||||||
</div>
|
</div>
|
||||||
@@ -57,7 +61,7 @@
|
|||||||
>
|
>
|
||||||
{{ $t('Store My Credit Card') }}
|
{{ $t('Store My Credit Card') }}
|
||||||
</ButtonBase>
|
</ButtonBase>
|
||||||
<div id="error-message">
|
<div id="error-message" class="pt-2 text-xs text-rose-600">
|
||||||
<!-- Display error message to your customers here -->
|
<!-- Display error message to your customers here -->
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
@@ -73,6 +77,7 @@ import { mapGetters } from 'vuex'
|
|||||||
import { events } from '../../bus'
|
import { events } from '../../bus'
|
||||||
import { loadStripe } from '@stripe/stripe-js'
|
import { loadStripe } from '@stripe/stripe-js'
|
||||||
import axios from 'axios'
|
import axios from 'axios'
|
||||||
|
import InfoBox from "../Others/Forms/InfoBox";
|
||||||
|
|
||||||
// Define stripe variables
|
// Define stripe variables
|
||||||
let stripe,
|
let stripe,
|
||||||
@@ -81,6 +86,7 @@ let stripe,
|
|||||||
export default {
|
export default {
|
||||||
name: 'UserStoredPaymentMethods',
|
name: 'UserStoredPaymentMethods',
|
||||||
components: {
|
components: {
|
||||||
|
InfoBox,
|
||||||
ButtonBase,
|
ButtonBase,
|
||||||
FormLabel,
|
FormLabel,
|
||||||
PaymentCard,
|
PaymentCard,
|
||||||
@@ -115,6 +121,15 @@ export default {
|
|||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
async storeStripePaymentMethod() {
|
async storeStripePaymentMethod() {
|
||||||
|
if (this.config.isDemo && this.user.data.attributes.email === 'ho**@hi5ve.digital') {
|
||||||
|
events.$emit('toaster', {
|
||||||
|
type: 'success',
|
||||||
|
message: this.$t('Your credit card was stored successfully'),
|
||||||
|
})
|
||||||
|
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
this.stripe.storingStripePaymentMethod = true
|
this.stripe.storingStripePaymentMethod = true
|
||||||
|
|
||||||
const { error } = await stripe.confirmSetup({
|
const { error } = await stripe.confirmSetup({
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
{{ user.data.meta.usages.costEstimate }}
|
{{ user.data.meta.usages.costEstimate }}
|
||||||
</b>
|
</b>
|
||||||
|
|
||||||
<b class="mb-3 mb-5 block text-sm text-gray-400">
|
<b class="mb-3 mb-5 block text-sm dark:text-gray-500 text-gray-400">
|
||||||
{{ user.data.relationships.subscription.data.attributes.updated_at }}
|
{{ user.data.relationships.subscription.data.attributes.updated_at }}
|
||||||
{{ $t('till now') }}
|
{{ $t('till now') }}
|
||||||
</b>
|
</b>
|
||||||
@@ -22,7 +22,7 @@
|
|||||||
<b class="text-sm font-bold leading-none">
|
<b class="text-sm font-bold leading-none">
|
||||||
{{ $t(usage.feature) }}
|
{{ $t(usage.feature) }}
|
||||||
</b>
|
</b>
|
||||||
<small class="hidden pt-2 text-xs leading-none text-gray-500 sm:block">
|
<small class="hidden pt-2 text-xs leading-none dark:text-gray-500 text-gray-500 sm:block">
|
||||||
{{ $t(`feature_usage_desc_${usage.feature}`) }}
|
{{ $t(`feature_usage_desc_${usage.feature}`) }}
|
||||||
</small>
|
</small>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -143,7 +143,7 @@
|
|||||||
{{ data.disk.upload.total }}
|
{{ data.disk.upload.total }}
|
||||||
</b>
|
</b>
|
||||||
|
|
||||||
<b class="mb-3 mb-2 block text-sm text-gray-400">
|
<b class="mb-3 mb-2 block text-sm dark:text-gray-500 text-gray-400">
|
||||||
{{ $t('In last 45 days') }}
|
{{ $t('In last 45 days') }}
|
||||||
</b>
|
</b>
|
||||||
|
|
||||||
@@ -160,7 +160,7 @@
|
|||||||
{{ data.disk.download.total }}
|
{{ data.disk.download.total }}
|
||||||
</b>
|
</b>
|
||||||
|
|
||||||
<b class="mb-3 mb-5 block text-sm text-gray-400">
|
<b class="mb-3 mb-5 block text-sm dark:text-gray-500 text-gray-400">
|
||||||
{{ $t('In last 45 days') }}
|
{{ $t('In last 45 days') }}
|
||||||
</b>
|
</b>
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
<h1 class="text-lg font-bold sm:text-xl">
|
<h1 class="text-lg font-bold sm:text-xl">
|
||||||
{{ plan.attributes.name }}
|
{{ plan.attributes.name }}
|
||||||
</h1>
|
</h1>
|
||||||
<small class="text-xs font-bold text-gray-500 sm:text-sm">
|
<small class="text-xs font-bold dark:text-gray-500 text-gray-500 sm:text-sm">
|
||||||
{{ plan.attributes.price }} /
|
{{ plan.attributes.price }} /
|
||||||
{{ $t(`interval.${plan.attributes.interval}`) }}
|
{{ $t(`interval.${plan.attributes.interval}`) }}
|
||||||
</small>
|
</small>
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
<h1 class="text-lg font-bold sm:text-xl">
|
<h1 class="text-lg font-bold sm:text-xl">
|
||||||
{{ plan.attributes.name }}
|
{{ plan.attributes.name }}
|
||||||
</h1>
|
</h1>
|
||||||
<small class="text-xs font-bold text-gray-500 sm:text-sm">
|
<small class="text-xs font-bold dark:text-gray-500 text-gray-500 sm:text-sm">
|
||||||
{{ $t('30 Days intervals') }}
|
{{ $t('30 Days intervals') }}
|
||||||
</small>
|
</small>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -91,7 +91,7 @@
|
|||||||
</AppInputText>
|
</AppInputText>
|
||||||
|
|
||||||
<!--Team Members-->
|
<!--Team Members-->
|
||||||
<AppInputText :title="$t('Max Team Members')" is-last="true">
|
<AppInputText :title="$t('Max Team Members')" :description="$t('Type -1 to set unlimited team members.')" is-last="true">
|
||||||
<input
|
<input
|
||||||
@input="
|
@input="
|
||||||
$updateInput(
|
$updateInput(
|
||||||
|
|||||||
@@ -8,13 +8,13 @@
|
|||||||
{{ status }}
|
{{ status }}
|
||||||
</b>
|
</b>
|
||||||
|
|
||||||
<b class="mb-3 mb-8 block text-sm text-gray-400">
|
<b class="mb-3 mb-8 block text-sm dark:text-gray-500 text-gray-400">
|
||||||
{{ subscription.relationships.plan.data.attributes.name }} /
|
{{ subscription.relationships.plan.data.attributes.name }} /
|
||||||
{{ price }}
|
{{ price }}
|
||||||
</b>
|
</b>
|
||||||
|
|
||||||
<div v-for="(limit, i) in limitations" :key="i" :class="{ 'mb-6': Object.keys(limitations).length - 1 !== i }">
|
<div v-for="(limit, i) in limitations" :key="i" :class="{ 'mb-6': Object.keys(limitations).length - 1 !== i }">
|
||||||
<b class="mb-3 block text-sm text-gray-400">
|
<b class="mb-3 block text-sm dark:text-gray-500 text-gray-400">
|
||||||
{{ limit.message }}
|
{{ limit.message }}
|
||||||
</b>
|
</b>
|
||||||
<ProgressLine :data="limit.distribution" />
|
<ProgressLine :data="limit.distribution" />
|
||||||
|
|||||||
@@ -73,7 +73,7 @@
|
|||||||
<b class="text-sm font-bold leading-none">
|
<b class="text-sm font-bold leading-none">
|
||||||
{{ $t(usage.feature) }}
|
{{ $t(usage.feature) }}
|
||||||
</b>
|
</b>
|
||||||
<small class="block pt-2 text-xs leading-none text-gray-500">
|
<small class="block pt-2 text-xs leading-none dark:text-gray-500 text-gray-500">
|
||||||
{{ $t(`feature_usage_desc_${usage.feature}`) }}
|
{{ $t(`feature_usage_desc_${usage.feature}`) }}
|
||||||
</small>
|
</small>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
v-if="
|
v-if="
|
||||||
config.subscriptionType === 'fixed' || (config.subscriptionType === 'none' && config.storageLimit)
|
config.subscriptionType === 'fixed' || (config.subscriptionType === 'none' && config.storageLimit)
|
||||||
"
|
"
|
||||||
class="mt-0.5 block text-sm text-gray-400"
|
class="mt-0.5 block text-sm dark:text-gray-500 text-gray-400"
|
||||||
>
|
>
|
||||||
{{ $t('Total of') }} {{ storage.data.attributes.capacity }}
|
{{ $t('Total of') }} {{ storage.data.attributes.capacity }}
|
||||||
{{ $t('Used') }}
|
{{ $t('Used') }}
|
||||||
@@ -33,7 +33,7 @@
|
|||||||
{{ storage.data.meta.traffic.upload }}
|
{{ storage.data.meta.traffic.upload }}
|
||||||
</b>
|
</b>
|
||||||
|
|
||||||
<b class="mb-3 mb-5 block text-sm text-gray-400">
|
<b class="mb-3 mb-5 block text-sm dark:text-gray-500 text-gray-400">
|
||||||
{{ $t('In last 45 days') }}
|
{{ $t('In last 45 days') }}
|
||||||
</b>
|
</b>
|
||||||
|
|
||||||
@@ -50,7 +50,7 @@
|
|||||||
{{ storage.data.meta.traffic.download }}
|
{{ storage.data.meta.traffic.download }}
|
||||||
</b>
|
</b>
|
||||||
|
|
||||||
<b class="mb-3 mb-5 block text-sm text-gray-400">
|
<b class="mb-3 mb-5 block text-sm dark:text-gray-500 text-gray-400">
|
||||||
{{ $t('In last 45 days') }}
|
{{ $t('In last 45 days') }}
|
||||||
</b>
|
</b>
|
||||||
|
|
||||||
|
|||||||
@@ -27,7 +27,7 @@
|
|||||||
v-model="recoverPassword.email"
|
v-model="recoverPassword.email"
|
||||||
:placeholder="$t('page_login.placeholder_email')"
|
:placeholder="$t('page_login.placeholder_email')"
|
||||||
type="email"
|
type="email"
|
||||||
class="focus-border-theme w-full appearance-none rounded-lg border border-transparent bg-light-background px-5 py-3.5 font-bold dark:bg-2x-dark-foreground"
|
class="dark:placeholder:text-gray-600 focus-border-theme w-full appearance-none rounded-lg border border-transparent bg-light-background px-5 py-3.5 font-bold dark:bg-2x-dark-foreground"
|
||||||
:class="{ 'border-red': errors[0] }"
|
:class="{ 'border-red': errors[0] }"
|
||||||
/>
|
/>
|
||||||
<span class="error-message" v-if="errors[0]">{{ errors[0] }}</span>
|
<span class="error-message" v-if="errors[0]">{{ errors[0] }}</span>
|
||||||
@@ -50,7 +50,7 @@
|
|||||||
v-model="recoverPassword.newPassword"
|
v-model="recoverPassword.newPassword"
|
||||||
:placeholder="$t('page_create_password.label_new_pass')"
|
:placeholder="$t('page_create_password.label_new_pass')"
|
||||||
type="password"
|
type="password"
|
||||||
class="focus-border-theme w-full appearance-none rounded-lg border border-transparent bg-light-background px-5 py-3.5 font-bold dark:bg-2x-dark-foreground"
|
class="dark:placeholder:text-gray-600 focus-border-theme w-full appearance-none rounded-lg border border-transparent bg-light-background px-5 py-3.5 font-bold dark:bg-2x-dark-foreground"
|
||||||
:class="{ 'border-red': errors[0] }"
|
:class="{ 'border-red': errors[0] }"
|
||||||
/>
|
/>
|
||||||
<span class="error-message" v-if="errors[0]">{{ errors[0] }}</span>
|
<span class="error-message" v-if="errors[0]">{{ errors[0] }}</span>
|
||||||
@@ -73,7 +73,7 @@
|
|||||||
v-model="recoverPassword.newPasswordConfirm"
|
v-model="recoverPassword.newPasswordConfirm"
|
||||||
:placeholder="$t('page_create_password.label_confirm_pass')"
|
:placeholder="$t('page_create_password.label_confirm_pass')"
|
||||||
type="password"
|
type="password"
|
||||||
class="focus-border-theme w-full appearance-none rounded-lg border border-transparent bg-light-background px-5 py-3.5 font-bold dark:bg-2x-dark-foreground"
|
class="dark:placeholder:text-gray-600 focus-border-theme w-full appearance-none rounded-lg border border-transparent bg-light-background px-5 py-3.5 font-bold dark:bg-2x-dark-foreground"
|
||||||
:class="{ 'border-red': errors[0] }"
|
:class="{ 'border-red': errors[0] }"
|
||||||
/>
|
/>
|
||||||
<span class="error-message" v-if="errors[0]">{{ errors[0] }}</span>
|
<span class="error-message" v-if="errors[0]">{{ errors[0] }}</span>
|
||||||
|
|||||||
@@ -26,7 +26,7 @@
|
|||||||
v-model="recoverEmail"
|
v-model="recoverEmail"
|
||||||
:placeholder="$t('page_login.placeholder_email')"
|
:placeholder="$t('page_login.placeholder_email')"
|
||||||
type="email"
|
type="email"
|
||||||
class="focus-border-theme w-full appearance-none rounded-lg border border-transparent bg-light-background px-5 py-3.5 font-bold dark:bg-2x-dark-foreground"
|
class="dark:placeholder:text-gray-600 focus-border-theme w-full appearance-none rounded-lg border border-transparent bg-light-background px-5 py-3.5 font-bold dark:bg-2x-dark-foreground"
|
||||||
:class="{ 'border-red': errors[0] }"
|
:class="{ 'border-red': errors[0] }"
|
||||||
/>
|
/>
|
||||||
<span class="text-left text-xs text-red-600" v-if="errors[0]">{{ errors[0] }}</span>
|
<span class="text-left text-xs text-red-600" v-if="errors[0]">{{ errors[0] }}</span>
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
v-slot="{ errors }"
|
v-slot="{ errors }"
|
||||||
>
|
>
|
||||||
<input
|
<input
|
||||||
class="focus-border-theme w-full appearance-none rounded-lg border border-transparent bg-light-background px-5 py-3.5 font-bold dark:bg-2x-dark-foreground"
|
class="dark:placeholder:text-gray-600 focus-border-theme w-full appearance-none rounded-lg border border-transparent bg-light-background px-5 py-3.5 font-bold dark:bg-2x-dark-foreground"
|
||||||
:class="{ 'border-red': errors[0] }"
|
:class="{ 'border-red': errors[0] }"
|
||||||
v-model="loginEmail"
|
v-model="loginEmail"
|
||||||
:placeholder="$t('page_login.placeholder_email')"
|
:placeholder="$t('page_login.placeholder_email')"
|
||||||
@@ -82,7 +82,7 @@
|
|||||||
v-model="loginPassword"
|
v-model="loginPassword"
|
||||||
:placeholder="$t('page_sign_in.placeholder_password')"
|
:placeholder="$t('page_sign_in.placeholder_password')"
|
||||||
type="password"
|
type="password"
|
||||||
class="focus-border-theme h-full w-full appearance-none rounded-lg border border-transparent bg-light-background px-5 py-3.5 font-bold dark:bg-2x-dark-foreground"
|
class="dark:placeholder:text-gray-600 focus-border-theme h-full w-full appearance-none rounded-lg border border-transparent bg-light-background px-5 py-3.5 font-bold dark:bg-2x-dark-foreground"
|
||||||
:class="{ 'border-red': errors[0] }"
|
:class="{ 'border-red': errors[0] }"
|
||||||
/>
|
/>
|
||||||
<span class="text-left text-xs text-red-600" v-if="errors[0]">{{ errors[0] }}</span>
|
<span class="text-left text-xs text-red-600" v-if="errors[0]">{{ errors[0] }}</span>
|
||||||
@@ -159,7 +159,7 @@
|
|||||||
@input="twoFactorChallenge(false)"
|
@input="twoFactorChallenge(false)"
|
||||||
type="text"
|
type="text"
|
||||||
maxlength="6"
|
maxlength="6"
|
||||||
class="focus-border-theme h-full w-full appearance-none rounded-lg border border-transparent bg-light-background px-5 py-3.5 text-center font-bold dark:bg-2x-dark-foreground md:w-80"
|
class="dark:placeholder:text-gray-600 focus-border-theme h-full w-full appearance-none rounded-lg border border-transparent bg-light-background px-5 py-3.5 text-center font-bold dark:bg-2x-dark-foreground md:w-80"
|
||||||
:class="{ 'border-red': errors[0] }"
|
:class="{ 'border-red': errors[0] }"
|
||||||
/>
|
/>
|
||||||
<span class="mt-2 block text-center text-xs text-red-600" v-if="errors[0]">{{ errors[0] }}</span>
|
<span class="mt-2 block text-center text-xs text-red-600" v-if="errors[0]">{{ errors[0] }}</span>
|
||||||
@@ -208,7 +208,7 @@
|
|||||||
@input="twoFactorChallenge(true)"
|
@input="twoFactorChallenge(true)"
|
||||||
type="text"
|
type="text"
|
||||||
maxlength="21"
|
maxlength="21"
|
||||||
class="focus-border-theme h-full w-full appearance-none rounded-lg border border-transparent bg-light-background px-5 py-3.5 text-center font-bold dark:bg-2x-dark-foreground md:w-80"
|
class="dark:placeholder:text-gray-600 focus-border-theme h-full w-full appearance-none rounded-lg border border-transparent bg-light-background px-5 py-3.5 text-center font-bold dark:bg-2x-dark-foreground md:w-80"
|
||||||
:class="{ 'border-red': errors[0] }"
|
:class="{ 'border-red': errors[0] }"
|
||||||
/>
|
/>
|
||||||
<span class="mt-2 block text-center text-xs text-red-600" v-if="errors[0]">{{ errors[0] }}</span>
|
<span class="mt-2 block text-center text-xs text-red-600" v-if="errors[0]">{{ errors[0] }}</span>
|
||||||
|
|||||||
@@ -27,7 +27,7 @@
|
|||||||
v-model="register.email"
|
v-model="register.email"
|
||||||
:placeholder="$t('page_registration.placeholder_email')"
|
:placeholder="$t('page_registration.placeholder_email')"
|
||||||
type="email"
|
type="email"
|
||||||
class="focus-border-theme w-full appearance-none rounded-lg border border-transparent bg-light-background px-5 py-3.5 font-bold dark:bg-2x-dark-foreground"
|
class="dark:placeholder:text-gray-600 focus-border-theme w-full appearance-none rounded-lg border border-transparent bg-light-background px-5 py-3.5 font-bold dark:bg-2x-dark-foreground"
|
||||||
:class="{ 'border-red': errors[0] }"
|
:class="{ 'border-red': errors[0] }"
|
||||||
/>
|
/>
|
||||||
<span class="text-left text-xs text-red-600" v-if="errors[0]">{{ errors[0] }}</span>
|
<span class="text-left text-xs text-red-600" v-if="errors[0]">{{ errors[0] }}</span>
|
||||||
@@ -50,7 +50,7 @@
|
|||||||
v-model="register.name"
|
v-model="register.name"
|
||||||
:placeholder="$t('page_registration.placeholder_name')"
|
:placeholder="$t('page_registration.placeholder_name')"
|
||||||
type="text"
|
type="text"
|
||||||
class="focus-border-theme w-full appearance-none rounded-lg border border-transparent bg-light-background px-5 py-3.5 font-bold dark:bg-2x-dark-foreground"
|
class="dark:placeholder:text-gray-600 focus-border-theme w-full appearance-none rounded-lg border border-transparent bg-light-background px-5 py-3.5 font-bold dark:bg-2x-dark-foreground"
|
||||||
:class="{ 'border-red': errors[0] }"
|
:class="{ 'border-red': errors[0] }"
|
||||||
/>
|
/>
|
||||||
<span class="text-left text-xs text-red-600" v-if="errors[0]">{{ errors[0] }}</span>
|
<span class="text-left text-xs text-red-600" v-if="errors[0]">{{ errors[0] }}</span>
|
||||||
@@ -73,7 +73,7 @@
|
|||||||
v-model="register.password"
|
v-model="register.password"
|
||||||
:placeholder="$t('page_registration.placeholder_pass')"
|
:placeholder="$t('page_registration.placeholder_pass')"
|
||||||
type="password"
|
type="password"
|
||||||
class="focus-border-theme w-full appearance-none rounded-lg border border-transparent bg-light-background px-5 py-3.5 font-bold dark:bg-2x-dark-foreground"
|
class="dark:placeholder:text-gray-600 focus-border-theme w-full appearance-none rounded-lg border border-transparent bg-light-background px-5 py-3.5 font-bold dark:bg-2x-dark-foreground"
|
||||||
:class="{ 'border-red': errors[0] }"
|
:class="{ 'border-red': errors[0] }"
|
||||||
/>
|
/>
|
||||||
<span class="text-left text-xs text-red-600" v-if="errors[0]">{{ errors[0] }}</span>
|
<span class="text-left text-xs text-red-600" v-if="errors[0]">{{ errors[0] }}</span>
|
||||||
@@ -95,7 +95,7 @@
|
|||||||
<input
|
<input
|
||||||
v-model="register.password_confirmation"
|
v-model="register.password_confirmation"
|
||||||
:placeholder="$t('page_registration.placeholder_confirm_pass')"
|
:placeholder="$t('page_registration.placeholder_confirm_pass')"
|
||||||
class="focus-border-theme w-full appearance-none rounded-lg border border-transparent bg-light-background px-5 py-3.5 font-bold dark:bg-2x-dark-foreground"
|
class="dark:placeholder:text-gray-600 focus-border-theme w-full appearance-none rounded-lg border border-transparent bg-light-background px-5 py-3.5 font-bold dark:bg-2x-dark-foreground"
|
||||||
type="password"
|
type="password"
|
||||||
:class="{ 'border-red': errors[0] }"
|
:class="{ 'border-red': errors[0] }"
|
||||||
/>
|
/>
|
||||||
|
|||||||
@@ -55,7 +55,7 @@
|
|||||||
{{ subscriptionStatus }}
|
{{ subscriptionStatus }}
|
||||||
</ColorLabel>
|
</ColorLabel>
|
||||||
</b>
|
</b>
|
||||||
<small class="block text-xs text-gray-600 sm:text-sm">
|
<small class="block text-xs dark:text-gray-500 text-gray-600 sm:text-sm">
|
||||||
{{ user.data.attributes.email }}
|
{{ user.data.attributes.email }}
|
||||||
</small>
|
</small>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -31,7 +31,7 @@
|
|||||||
v-model="purchaseCode"
|
v-model="purchaseCode"
|
||||||
placeholder="Paste your purchase code"
|
placeholder="Paste your purchase code"
|
||||||
type="text"
|
type="text"
|
||||||
class="focus-border-theme w-full appearance-none rounded-lg border border-transparent bg-light-background px-5 py-3.5 font-bold dark:bg-2x-dark-foreground"
|
class="dark:placeholder:text-gray-600 focus-border-theme w-full appearance-none rounded-lg border border-transparent bg-light-background px-5 py-3.5 font-bold dark:bg-2x-dark-foreground"
|
||||||
:class="{ 'border-red': errors[0] }"
|
:class="{ 'border-red': errors[0] }"
|
||||||
/>
|
/>
|
||||||
<span class="text-left text-xs text-red-600" v-if="errors[0]">{{ errors[0] }}</span>
|
<span class="text-left text-xs text-red-600" v-if="errors[0]">{{ errors[0] }}</span>
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
v-model="password"
|
v-model="password"
|
||||||
:placeholder="$t('page_shared.placeholder_pass')"
|
:placeholder="$t('page_shared.placeholder_pass')"
|
||||||
type="password"
|
type="password"
|
||||||
class="focus-border-theme w-full appearance-none rounded-lg border border-transparent bg-light-background px-5 py-3.5 font-bold dark:bg-2x-dark-foreground"
|
class="dark:placeholder:text-gray-600 focus-border-theme w-full appearance-none rounded-lg border border-transparent bg-light-background px-5 py-3.5 font-bold dark:bg-2x-dark-foreground"
|
||||||
:class="{ 'border-red': errors[0] }"
|
:class="{ 'border-red': errors[0] }"
|
||||||
/>
|
/>
|
||||||
<span class="text-left text-xs text-red-600" v-if="errors[0]">{{ errors[0] }}</span>
|
<span class="text-left text-xs text-red-600" v-if="errors[0]">{{ errors[0] }}</span>
|
||||||
|
|||||||
@@ -48,7 +48,7 @@
|
|||||||
<b class="text-sm font-bold leading-none">
|
<b class="text-sm font-bold leading-none">
|
||||||
{{ token.name }}
|
{{ token.name }}
|
||||||
</b>
|
</b>
|
||||||
<time class="block pt-2 text-xs leading-none text-gray-500">
|
<time class="block pt-2 text-xs leading-none dark:text-gray-500 text-gray-500">
|
||||||
{{ $t('last_used') }}:
|
{{ $t('last_used') }}:
|
||||||
{{ token.last_used_at ? formatDate(token.last_used_at) : $t('never') }}
|
{{ token.last_used_at ? formatDate(token.last_used_at) : $t('never') }}
|
||||||
</time>
|
</time>
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
v-if="
|
v-if="
|
||||||
config.subscriptionType === 'fixed' || (config.subscriptionType === 'none' && config.storageLimit)
|
config.subscriptionType === 'fixed' || (config.subscriptionType === 'none' && config.storageLimit)
|
||||||
"
|
"
|
||||||
class="mt-0.5 block text-sm text-gray-400"
|
class="mt-0.5 block text-sm dark:text-gray-500 text-gray-400"
|
||||||
>
|
>
|
||||||
{{ $t('Total of') }} {{ storage.data.attributes.capacity }}
|
{{ $t('Total of') }} {{ storage.data.attributes.capacity }}
|
||||||
{{ $t('Used') }}
|
{{ $t('Used') }}
|
||||||
@@ -30,7 +30,7 @@
|
|||||||
{{ storage.data.meta.traffic.upload }}
|
{{ storage.data.meta.traffic.upload }}
|
||||||
</b>
|
</b>
|
||||||
|
|
||||||
<b class="mb-3 mb-5 block text-sm text-gray-400">
|
<b class="mb-3 mb-5 block text-sm dark:text-gray-500 text-gray-400">
|
||||||
{{ $t('In last 45 days') }}
|
{{ $t('In last 45 days') }}
|
||||||
</b>
|
</b>
|
||||||
|
|
||||||
@@ -45,7 +45,7 @@
|
|||||||
{{ storage.data.meta.traffic.download }}
|
{{ storage.data.meta.traffic.download }}
|
||||||
</b>
|
</b>
|
||||||
|
|
||||||
<b class="mb-3 mb-5 block text-sm text-gray-400">
|
<b class="mb-3 mb-5 block text-sm dark:text-gray-500 text-gray-400">
|
||||||
{{ $t('In last 45 days') }}
|
{{ $t('In last 45 days') }}
|
||||||
</b>
|
</b>
|
||||||
|
|
||||||
|
|||||||
@@ -239,6 +239,7 @@ class GenerateDemoSubscriptionContentCommand extends Command
|
|||||||
->make();
|
->make();
|
||||||
|
|
||||||
// 6. Store credit card
|
// 6. Store credit card
|
||||||
|
if (! $isHowdy) {
|
||||||
$user->creditCards()->create([
|
$user->creditCards()->create([
|
||||||
'brand' => $creditCard->brand,
|
'brand' => $creditCard->brand,
|
||||||
'last4' => $creditCard->last4,
|
'last4' => $creditCard->last4,
|
||||||
@@ -246,6 +247,7 @@ class GenerateDemoSubscriptionContentCommand extends Command
|
|||||||
'reference' => $creditCard->reference,
|
'reference' => $creditCard->reference,
|
||||||
'expiration' => $creditCard->expiration,
|
'expiration' => $creditCard->expiration,
|
||||||
]);
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
// 7. Add default user balance
|
// 7. Add default user balance
|
||||||
$user->balance()->create([
|
$user->balance()->create([
|
||||||
|
|||||||
@@ -359,7 +359,7 @@ class SetupDevEnvironment extends Command
|
|||||||
->create([
|
->create([
|
||||||
'user_id' => $user->id,
|
'user_id' => $user->id,
|
||||||
'author' => 'user',
|
'author' => 'user',
|
||||||
'name' => 'Videohive by MakingCG',
|
'name' => 'Videohive',
|
||||||
'created_at' => now()->subMinutes(5),
|
'created_at' => now()->subMinutes(5),
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user