plan tables for fixed billing

language translation fix
This commit is contained in:
Čarodej
2022-03-23 19:16:40 +01:00
parent aa515b5450
commit a608678bb9
11 changed files with 143 additions and 122 deletions

View File

@@ -28,7 +28,7 @@
"laravel/tinker": "^2.7",
"laravel/ui": "^3.4.2",
"league/flysystem-aws-s3-v3": "^3.0.9",
"makingcg/subscription": "^1.0.0",
"makingcg/subscription": "^1.0.1",
"pusher/pusher-php-server": "^7.0",
"spatie/data-transfer-object": "^3.7.3",
"spatie/laravel-backup": "^8.0.8",

26
composer.lock generated
View File

@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "d783346bc156d4d036fec1beae64e9b1",
"content-hash": "e61b8e24ece57235dd4b1e44dc3e832d",
"packages": [
{
"name": "amphp/amp",
@@ -280,16 +280,16 @@
},
{
"name": "aws/aws-sdk-php",
"version": "3.215.1",
"version": "3.215.2",
"source": {
"type": "git",
"url": "https://github.com/aws/aws-sdk-php.git",
"reference": "32cb9c6ac53ef7eb773d645ce6eda308ff069c5e"
"reference": "8ddbc5242ec59a22b2c4704867e028343c6d8ade"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/32cb9c6ac53ef7eb773d645ce6eda308ff069c5e",
"reference": "32cb9c6ac53ef7eb773d645ce6eda308ff069c5e",
"url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/8ddbc5242ec59a22b2c4704867e028343c6d8ade",
"reference": "8ddbc5242ec59a22b2c4704867e028343c6d8ade",
"shasum": ""
},
"require": {
@@ -365,9 +365,9 @@
"support": {
"forum": "https://forums.aws.amazon.com/forum.jspa?forumID=80",
"issues": "https://github.com/aws/aws-sdk-php/issues",
"source": "https://github.com/aws/aws-sdk-php/tree/3.215.1"
"source": "https://github.com/aws/aws-sdk-php/tree/3.215.2"
},
"time": "2022-03-21T18:18:55+00:00"
"time": "2022-03-22T19:02:23+00:00"
},
{
"name": "bacon/bacon-qr-code",
@@ -4397,7 +4397,7 @@
},
{
"name": "makingcg/subscription",
"version": "v1.0.0",
"version": "1.0.1",
"source": {
"type": "git",
"url": "git@github.com:VueFileManager/subscription.git",
@@ -14319,16 +14319,16 @@
},
{
"name": "spatie/ignition",
"version": "1.2.5",
"version": "1.2.6",
"source": {
"type": "git",
"url": "https://github.com/spatie/ignition.git",
"reference": "982f69f3c2e525cef62fa23ada047d745e4bcda9"
"reference": "be24d33a9de271638314924b5da85e168e4148e4"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/spatie/ignition/zipball/982f69f3c2e525cef62fa23ada047d745e4bcda9",
"reference": "982f69f3c2e525cef62fa23ada047d745e4bcda9",
"url": "https://api.github.com/repos/spatie/ignition/zipball/be24d33a9de271638314924b5da85e168e4148e4",
"reference": "be24d33a9de271638314924b5da85e168e4148e4",
"shasum": ""
},
"require": {
@@ -14385,7 +14385,7 @@
"type": "github"
}
],
"time": "2022-03-19T14:07:30+00:00"
"time": "2022-03-23T11:02:14+00:00"
},
{
"name": "spatie/laravel-ignition",

View File

@@ -901,8 +901,8 @@ return [
'active' => 'Active',
'archived' => 'Archived',
'inactive' => 'Inactive',
'total_x_of_x_used' => 'Total ${use} of ${total} Used',
'total_x_of_x_members' => 'Total ${use} of ${total} Members',
'total_x_of_x_used' => 'Total {use} of {total} Used',
'total_x_of_x_members' => 'Total {use} of {total} Members',
'go_back_from_x' => 'Go back from {location}',
'new_team_invitation' => 'New Team Invitation',
'x_invite_to_join_team' => ":name invite you to join into Team Folder.",

View File

@@ -1,7 +1,7 @@
<?php
return [
'version' => '2.0.3',
'version' => '2.0.4',
'is_demo' => env('APP_DEMO', false),

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

2
public/js/main.js vendored

File diff suppressed because one or more lines are too long

View File

@@ -1,75 +1,75 @@
{
"/js/main.js": "/js/main.js",
"/chunks/request.js": "/chunks/request.js?id=5b796b8410a96a49",
"/chunks/request-upload.js": "/chunks/request-upload.js?id=b1aaf8357a30794a",
"/chunks/setup-wizard.js": "/chunks/setup-wizard.js?id=19a0784e59d768ec",
"/chunks/status-check.js": "/chunks/status-check.js?id=ca27b637120e086a",
"/chunks/purchase-code.js": "/chunks/purchase-code.js?id=df5bd89528649783",
"/chunks/database.js": "/chunks/database.js?id=6bd9994bd24d6c8d",
"/chunks/environment-setup.js": "/chunks/environment-setup.js?id=fc9b6215ce43229b",
"/chunks/app-setup.js": "/chunks/app-setup.js?id=77937d105dfa28ba",
"/chunks/admin-account.js": "/chunks/admin-account.js?id=6dbc3fe81f957a59",
"/chunks/shared.js": "/chunks/shared.js?id=96268e9b7e8e8a19",
"/chunks/shared/browser.js": "/chunks/shared/browser.js?id=3dc8fdb008b6ff5f",
"/chunks/shared/single-file.js": "/chunks/shared/single-file.js?id=9ccb8bb19b95a23f",
"/chunks/shared/authenticate.js": "/chunks/shared/authenticate.js?id=672e931a9fb0b672",
"/chunks/not-found.js": "/chunks/not-found.js?id=9f6ce23ce5d969f1",
"/chunks/temporary-unavailable.js": "/chunks/temporary-unavailable.js?id=f564565faa09d6d6",
"/chunks/admin.js": "/chunks/admin.js?id=5220642a9e4d30d4",
"/chunks/dashboard.js": "/chunks/dashboard.js?id=c7fa2f0dc8ed949c",
"/chunks/invoices.js": "/chunks/invoices.js?id=1416cbf6d1a593ac",
"/chunks/subscriptions.js": "/chunks/subscriptions.js?id=5bf6704f5b599f36",
"/chunks/pages.js": "/chunks/pages.js?id=c8380d571e91e8be",
"/chunks/page-edit.js": "/chunks/page-edit.js?id=b19868b3100360a3",
"/chunks/plans.js": "/chunks/plans.js?id=c8506e0e20966ef7",
"/chunks/users.js": "/chunks/users.js?id=ec687ee365c4248a",
"/chunks/user-create.js": "/chunks/user-create.js?id=bb3b30ce248209f0",
"/chunks/plan-create/fixed.js": "/chunks/plan-create/fixed.js?id=a8ffa08ce94ddf4e",
"/chunks/plan-create/metered.js": "/chunks/plan-create/metered.js?id=3b516dcccbbef20a",
"/chunks/user.js": "/chunks/user.js?id=c191b906a0496fe5",
"/chunks/user-detail.js": "/chunks/user-detail.js?id=80491654e6ee63b1",
"/chunks/user-storage.js": "/chunks/user-storage.js?id=69eb59b682c5482f",
"/chunks/user-subscription.js": "/chunks/user-subscription.js?id=a69ebc3b23446cda",
"/chunks/user-password.js": "/chunks/user-password.js?id=e1c4ebc07ba426e6",
"/chunks/user-delete.js": "/chunks/user-delete.js?id=82b5180a1d9e1217",
"/chunks/plan.js": "/chunks/plan.js?id=4b267375ea9f19b3",
"/chunks/plan-subscribers.js": "/chunks/plan-subscribers.js?id=a956ceca6865c50c",
"/chunks/plan-settings.js": "/chunks/plan-settings.js?id=f366690f8764bb20",
"/chunks/plan-delete.js": "/chunks/plan-delete.js?id=e26d5bd3ecbb4bb1",
"/chunks/payments.js": "/chunks/payments.js?id=dc4586691c25de6f",
"/chunks/payments/billings.js": "/chunks/payments/billings.js?id=9942aaac1bdb11e5",
"/chunks/payments/settings.js": "/chunks/payments/settings.js?id=717bf97ba2ffdc28",
"/chunks/app-settings.js": "/chunks/app-settings.js?id=55da23af2b076069",
"/chunks/app-appearance.js": "/chunks/app-appearance.js?id=c308941663208358",
"/chunks/app-index.js": "/chunks/app-index.js?id=aa62aedf1f38cc22",
"/chunks/app-environment.js": "/chunks/app-environment.js?id=538eea914fc27794",
"/chunks/app-others.js": "/chunks/app-others.js?id=3282fb7a70e8e02e",
"/chunks/app-sign-in-out.js": "/chunks/app-sign-in-out.js?id=3f8e5f906a4dee4e",
"/chunks/app-adsense.js": "/chunks/app-adsense.js?id=4ee8de4ac0dae19e",
"/chunks/app-server.js": "/chunks/app-server.js?id=dd8c15d4646053cd",
"/chunks/app-language.js": "/chunks/app-language.js?id=ba087a47c8efca29",
"/chunks/homepage.js": "/chunks/homepage.js?id=f1cfba4f0152f4b9",
"/chunks/dynamic-page.js": "/chunks/dynamic-page.js?id=2504793131107b1f",
"/chunks/contact-us.js": "/chunks/contact-us.js?id=2e0b16655d2d85d7",
"/chunks/successfully-email-verified.js": "/chunks/successfully-email-verified.js?id=25b805ade5230382",
"/chunks/successfully-email-send.js": "/chunks/successfully-email-send.js?id=f4562229776d9f56",
"/chunks/sign-in.js": "/chunks/sign-in.js?id=295d214d04f2a86d",
"/chunks/sign-up.js": "/chunks/sign-up.js?id=77351b7631a6ee6c",
"/chunks/forgotten-password.js": "/chunks/forgotten-password.js?id=50a1bc5e4ed86ec9",
"/chunks/create-new-password.js": "/chunks/create-new-password.js?id=f652de052dba55c1",
"/chunks/settings.js": "/chunks/settings.js?id=29ed650209e64d66",
"/chunks/profile.js": "/chunks/profile.js?id=5b2ed82815320625",
"/chunks/settings-password.js": "/chunks/settings-password.js?id=c912a79595c2efcb",
"/chunks/settings-storage.js": "/chunks/settings-storage.js?id=6fec7aac1a5280c7",
"/chunks/billing.js": "/chunks/billing.js?id=2a2cd66f503a9fc0",
"/chunks/platform.js": "/chunks/platform.js?id=86aefe46c825e07d",
"/chunks/files.js": "/chunks/files.js?id=060b1a34dfdbe97c",
"/chunks/recent-uploads.js": "/chunks/recent-uploads.js?id=0f63bbc02ad8f3e1",
"/chunks/my-shared-items.js": "/chunks/my-shared-items.js?id=0a06d32b4cf8b52c",
"/chunks/trash.js": "/chunks/trash.js?id=ac5389500f8f7912",
"/chunks/team-folders.js": "/chunks/team-folders.js?id=c0a03c6937856ca1",
"/chunks/shared-with-me.js": "/chunks/shared-with-me.js?id=88fa008db0c6a4f6",
"/chunks/invitation.js": "/chunks/invitation.js?id=9ed8456c9d6d5ce1",
"/chunks/request.js": "/chunks/request.js?id=37e3e34fbcc98d4c",
"/chunks/request-upload.js": "/chunks/request-upload.js?id=2a6d910114ffb8d2",
"/chunks/setup-wizard.js": "/chunks/setup-wizard.js?id=3c2fc454c3fce8d2",
"/chunks/status-check.js": "/chunks/status-check.js?id=783c6143db13e6c0",
"/chunks/purchase-code.js": "/chunks/purchase-code.js?id=c1df85c34d7e9521",
"/chunks/database.js": "/chunks/database.js?id=d4f38bfdef26b0d9",
"/chunks/environment-setup.js": "/chunks/environment-setup.js?id=21e576c9c8183e42",
"/chunks/app-setup.js": "/chunks/app-setup.js?id=647bf9cdc907e83c",
"/chunks/admin-account.js": "/chunks/admin-account.js?id=d21b66f2b6e1638e",
"/chunks/shared.js": "/chunks/shared.js?id=52ff66b9c01f84ef",
"/chunks/shared/browser.js": "/chunks/shared/browser.js?id=a9710655d75c8079",
"/chunks/shared/single-file.js": "/chunks/shared/single-file.js?id=c013d98f7386c448",
"/chunks/shared/authenticate.js": "/chunks/shared/authenticate.js?id=ca8cc89fe5982782",
"/chunks/not-found.js": "/chunks/not-found.js?id=4cb8d3a7a2212c3c",
"/chunks/temporary-unavailable.js": "/chunks/temporary-unavailable.js?id=c71981d946a9ca71",
"/chunks/admin.js": "/chunks/admin.js?id=4c86279cd6e85aa5",
"/chunks/dashboard.js": "/chunks/dashboard.js?id=d8740b43db79abfe",
"/chunks/invoices.js": "/chunks/invoices.js?id=70fb9a603be2f554",
"/chunks/subscriptions.js": "/chunks/subscriptions.js?id=94e96e1bb505ae59",
"/chunks/pages.js": "/chunks/pages.js?id=d1f5d211e9dfc4ae",
"/chunks/page-edit.js": "/chunks/page-edit.js?id=184547a95a64a121",
"/chunks/plans.js": "/chunks/plans.js?id=f6e9d2f34fac6d79",
"/chunks/users.js": "/chunks/users.js?id=651b8af7afecc88e",
"/chunks/user-create.js": "/chunks/user-create.js?id=d24c5037b91a2fa2",
"/chunks/plan-create/fixed.js": "/chunks/plan-create/fixed.js?id=20a6ee217157864f",
"/chunks/plan-create/metered.js": "/chunks/plan-create/metered.js?id=617982724a144a43",
"/chunks/user.js": "/chunks/user.js?id=dae4ac26750f99d0",
"/chunks/user-detail.js": "/chunks/user-detail.js?id=d56437755ba2c6cc",
"/chunks/user-storage.js": "/chunks/user-storage.js?id=c26b370f6f4323fe",
"/chunks/user-subscription.js": "/chunks/user-subscription.js?id=6d7d1235d1ae5bf2",
"/chunks/user-password.js": "/chunks/user-password.js?id=acd9b49cca55d161",
"/chunks/user-delete.js": "/chunks/user-delete.js?id=47d44b2f8e4e620c",
"/chunks/plan.js": "/chunks/plan.js?id=d8ffa85dc9b68966",
"/chunks/plan-subscribers.js": "/chunks/plan-subscribers.js?id=3010ddb4ba7419e9",
"/chunks/plan-settings.js": "/chunks/plan-settings.js?id=d3c236e167831f25",
"/chunks/plan-delete.js": "/chunks/plan-delete.js?id=44ad905bfe1ae983",
"/chunks/payments.js": "/chunks/payments.js?id=051e8246e2b5c9d0",
"/chunks/payments/billings.js": "/chunks/payments/billings.js?id=7ec4ad9b9755b2b8",
"/chunks/payments/settings.js": "/chunks/payments/settings.js?id=6644b642875c732f",
"/chunks/app-settings.js": "/chunks/app-settings.js?id=692d3291fb9d2cf7",
"/chunks/app-appearance.js": "/chunks/app-appearance.js?id=27652021b725b9e7",
"/chunks/app-index.js": "/chunks/app-index.js?id=968d5378d871f070",
"/chunks/app-environment.js": "/chunks/app-environment.js?id=09a06687b64b4246",
"/chunks/app-others.js": "/chunks/app-others.js?id=2c024715a619858e",
"/chunks/app-sign-in-out.js": "/chunks/app-sign-in-out.js?id=ea65b443a513ad8c",
"/chunks/app-adsense.js": "/chunks/app-adsense.js?id=c4c4cda03202a49a",
"/chunks/app-server.js": "/chunks/app-server.js?id=307fce5c9d192bf3",
"/chunks/app-language.js": "/chunks/app-language.js?id=51c79c7bdb8f9382",
"/chunks/homepage.js": "/chunks/homepage.js?id=dab18013ce4a716e",
"/chunks/dynamic-page.js": "/chunks/dynamic-page.js?id=e110e8923b6ca22f",
"/chunks/contact-us.js": "/chunks/contact-us.js?id=54d3469e6d46cef6",
"/chunks/successfully-email-verified.js": "/chunks/successfully-email-verified.js?id=3153532f0d2273c8",
"/chunks/successfully-email-send.js": "/chunks/successfully-email-send.js?id=d630ed9f6f558509",
"/chunks/sign-in.js": "/chunks/sign-in.js?id=73e0fd17a1b1677d",
"/chunks/sign-up.js": "/chunks/sign-up.js?id=920ebe5b86e59c09",
"/chunks/forgotten-password.js": "/chunks/forgotten-password.js?id=9c62b8573fbdd567",
"/chunks/create-new-password.js": "/chunks/create-new-password.js?id=926b35b6745d99ba",
"/chunks/settings.js": "/chunks/settings.js?id=efd739cafc57e762",
"/chunks/profile.js": "/chunks/profile.js?id=e92af0c70da9aa83",
"/chunks/settings-password.js": "/chunks/settings-password.js?id=080d3133ed6bc14c",
"/chunks/settings-storage.js": "/chunks/settings-storage.js?id=736118b6409186cc",
"/chunks/billing.js": "/chunks/billing.js?id=e4e8b9c2f7fa6cd2",
"/chunks/platform.js": "/chunks/platform.js?id=dd458bc66dd8cb51",
"/chunks/files.js": "/chunks/files.js?id=5d6eb9b9f9ecd296",
"/chunks/recent-uploads.js": "/chunks/recent-uploads.js?id=827d3a5dcce159b5",
"/chunks/my-shared-items.js": "/chunks/my-shared-items.js?id=2a4e4e0db02cbcbb",
"/chunks/trash.js": "/chunks/trash.js?id=8362aa0f91231350",
"/chunks/team-folders.js": "/chunks/team-folders.js?id=0a46fecf35a23406",
"/chunks/shared-with-me.js": "/chunks/shared-with-me.js?id=77a33583775c6d8f",
"/chunks/invitation.js": "/chunks/invitation.js?id=64a211c90b505767",
"/css/tailwind.css": "/css/tailwind.css",
"/css/app.css": "/css/app.css"
}

View File

@@ -1,49 +1,70 @@
<template>
<div class="plans-wrapper" v-if="plans">
<article class="plan" v-for="(plan, i) in plans" :key="i">
<div class="plan-wrapper">
<header class="plan-header">
<div class="icon">
<hard-drive-icon class="text-theme" size="26" />
</div>
<h1 class="title">{{ plan.data.attributes.name }}</h1>
<h2 class="description">
{{ plan.data.attributes.description }}
</h2>
</header>
<section class="plan-features">
<b class="storage-size">{{ plan.data.attributes.capacity_formatted }}</b>
<span class="storage-description">{{ $t('page_pricing_tables.storage_capacity') }}</span>
</section>
<footer class="plan-footer">
<b class="price text-theme">
{{ plan.data.attributes.price }}/{{ $t('mo.') }}
<small v-if="plan.data.attributes.tax_rates.length > 0" class="vat-disclaimer">{{
$t('page_pricing_tables.vat_excluded')
}}</small>
</b>
</footer>
</div>
</article>
</div>
<div class="text-center">
<PlanPeriodSwitcher v-if="plans && yearlyPlans.length > 0" v-model="isSelectedYearlyPlans" class="inline-block" />
<div class="plans-wrapper" v-if="plans">
<article class="plan" v-if="plan.data.attributes.interval === intervalPlanType" v-for="plan in plans.data" :key="plan.data.id">
<div class="plan-wrapper">
<header class="plan-header mb-8">
<div class="icon">
<hard-drive-icon class="text-theme mx-auto" size="26" />
</div>
<h1 class="title">{{ plan.data.attributes.name }}</h1>
<h2 class="description">
{{ plan.data.attributes.description }}
</h2>
</header>
<div class="justify-center flex py-1.5" v-for="(value, key, i) in plan.data.attributes.features" :key="i">
<div class="flex items-center">
<CheckIcon size="18" class="svg-stroke-theme mr-2" />
<span class="text-sm font-bold" v-if="value !== -1">
{{ $t( key === 'max_team_members' ? 'max_team_members_total' : key, { value: value }) }}
</span>
<span class="text-sm font-bold" v-if="value === -1">
{{ $t(`${key}.unlimited`) }}
</span>
</div>
</div>
<footer class="plan-footer mt-8">
<b class="price text-theme">
{{ plan.data.attributes.price }} / {{ $t(`interval.${plan.data.attributes.interval}`) }}
</b>
</footer>
</div>
</article>
</div>
</div>
</template>
<script>
import { HardDriveIcon } from 'vue-feather-icons'
import { CheckIcon, HardDriveIcon } from 'vue-feather-icons'
import axios from 'axios'
import PlanPeriodSwitcher from "../../Subscription/PlanPeriodSwitcher";
export default {
name: 'PricingTables',
components: {
PlanPeriodSwitcher,
HardDriveIcon,
CheckIcon,
},
computed: {
intervalPlanType() {
return this.isSelectedYearlyPlans ? 'year' : 'month'
},
yearlyPlans() {
return this.plans.data.filter((plan) => plan.data.attributes.interval === 'year')
},
},
data() {
return {
plans: undefined,
isSelectedYearlyPlans: false,
}
},
created() {
axios.get('/api/pricing').then((response) => {
axios.get('api/subscriptions/plans').then((response) => {
this.plans = response.data
this.$emit('load', response.data)
})
@@ -83,7 +104,7 @@ export default {
}
.title {
@include font-size(22);
@include font-size(25);
font-weight: 800;
padding-top: 10px;
}

View File

@@ -21,7 +21,7 @@
<li class="mb-1.5 flex items-center" v-for="(value, key, i) in plan.data.attributes.features" :key="i">
<CheckIcon size="12" class="svg-stroke-theme" />
<small class="pl-1.5 text-xs font-bold text-gray-600" v-if="value !== -1">
{{ $t(key, { value: value }) }}
{{ $t(key === 'max_team_members' ? 'max_team_members_total' : key, { value: value }) }}
</small>
<small class="pl-1.5 text-xs font-bold text-gray-600" v-if="value === -1">
{{ $t(`${key}.unlimited`) }}

View File

@@ -17,7 +17,7 @@
<MainFeatures />
<!--Pricing Tables-->
<!--<PricingTables v-if="config.isSaaS" />-->
<PricingTables v-if="config.isSaaS && config.subscriptionType === 'fixed'" />
<!--Get Started Call To Action-->
<GetStarted />