Merge branch 'main' into vue-3

This commit is contained in:
Forms Dev 2023-12-13 18:21:09 +05:30
commit e929995281
8 changed files with 40 additions and 28 deletions

View File

@ -16,6 +16,7 @@ class SitemapController extends Controller
*/ */
protected $urls = [ protected $urls = [
['/', 1], ['/', 1],
['/pricing', 0.9],
['/privacy-policy', 0.5], ['/privacy-policy', 0.5],
['/terms-conditions', 0.5], ['/terms-conditions', 0.5],
['/login', 0.4], ['/login', 0.4],

View File

@ -34,7 +34,7 @@ class License extends Model
return $query->where('status', self::STATUS_ACTIVE); return $query->where('status', self::STATUS_ACTIVE);
} }
public function getMaxFileSizeAttribute() public function getMaxFileSizeAttribute(): int
{ {
return [ return [
1 => 25000000, // 25 MB, 1 => 25000000, // 25 MB,
@ -43,7 +43,7 @@ class License extends Model
][$this->meta['tier']]; ][$this->meta['tier']];
} }
public function getCustomDomainLimitCountAttribute() public function getCustomDomainLimitCountAttribute(): ?int
{ {
return [ return [
1 => 1, 1 => 1,

View File

@ -2,7 +2,6 @@
namespace App\Models; namespace App\Models;
use App\Http\Requests\AnswerFormRequest;
use App\Models\Forms\Form; use App\Models\Forms\Form;
use App\Models\Traits\CachableAttributes; use App\Models\Traits\CachableAttributes;
use App\Models\Traits\CachesAttributes; use App\Models\Traits\CachesAttributes;
@ -71,7 +70,7 @@ class Workspace extends Model implements CachableAttributes
return null; return null;
} }
return $this->remember('custom_domain_count', 15 * 60, function(): int { return $this->remember('custom_domain_count', 15 * 60, function(): ?int {
foreach ($this->owners as $owner) { foreach ($this->owners as $owner) {
if ($owner->is_subscribed) { if ($owner->is_subscribed) {
if ($license = $owner->activeLicense()) { if ($license = $owner->activeLicense()) {

View File

@ -68,7 +68,7 @@ class DiscordHandler extends AbstractWebhookHandler
"description" => implode(' - ', $externalLinks) "description" => implode(' - ', $externalLinks)
]; ];
} }
return [ return [
'content' => 'New submission for your form **' . $this->form->title . '**', 'content' => 'New submission for your form **' . $this->form->title . '**',
'tts' => false, 'tts' => false,

View File

@ -56,6 +56,9 @@ export default {
return this.$store.getters['open/workspaces/getCurrent']() return this.$store.getters['open/workspaces/getCurrent']()
}, },
customDomainOptions () { customDomainOptions () {
if (!this.workspace || !this.workspace.custom_domains) {
return []
}
return this.workspace.custom_domains.map((domain) => { return this.workspace.custom_domains.map((domain) => {
return { return {
name: domain, name: domain,

View File

@ -70,8 +70,8 @@
label="Transparent Background" help="Only applies when form is embedded" label="Transparent Background" help="Only applies when form is embedded"
/> />
<toggle-switch-input name="confetti_on_submission" :form="form" class="mt-4" <toggle-switch-input name="confetti_on_submission" :form="form" class="mt-4"
label="Confetti on successful submisison" label="Confetti on successful submission"
@update:model-value="onChangeConfettiOnSubmission" @input="onChangeConfettiOnSubmission"
/> />
<toggle-switch-input name="auto_save" :form="form" <toggle-switch-input name="auto_save" :form="form"
label="Auto save form response" label="Auto save form response"

View File

@ -1,7 +1,7 @@
<template> <template>
<div class="w-full"> <div class="w-full">
<div class="grid md:grid-cols-3 my-8"> <div class="grid md:grid-cols-3 my-8">
<div class="flex mt-2"> <div class="flex mt-2 items-center">
<p class="text-sm text-gray-600 dark:text-gray-400 text-center w-full"> <p class="text-sm text-gray-600 dark:text-gray-400 text-center w-full">
© Copyright {{ currYear }}. All Rights Reserved © Copyright {{ currYear }}. All Rights Reserved
</p> </p>
@ -14,18 +14,31 @@
</span> </span>
</router-link> </router-link>
</div> </div>
<ul class="flex justify-center mt-5 md:mt-1"> <div class="flex justify-center mt-5 md:mt-0">
<li class="mr-10"> <div class="grid grid-cols-1 lg:grid-cols-2 gap-x-4 gap-y-2">
<router-link :to="{name:'privacy-policy'}" class="text-gray-600 dark:text-gray-400 transition-colors duration-300 hover:text-nt-blue"> <a href="https://opnform.featurebase.app/" target="_blank"
Privacy Policy class="text-gray-600 dark:text-gray-400 transition-colors duration-300 hover:text-nt-blue">
</router-link> Feature Requests
</li> </a>
<li class="list-disc pl-3"> <a href="https://opnform.featurebase.app/roadmap" target="_blank"
<router-link :to="{name:'terms-conditions'}" class="text-gray-600 dark:text-gray-400 transition-colors duration-300 hover:text-nt-blue"> class="text-gray-600 dark:text-gray-400 transition-colors duration-300 hover:text-nt-blue">
Terms & Conditions Roadmap
</router-link> </a>
</li> <a href="www.facebook.com/groups/opnform" target="_blank"
</ul> class="text-gray-600 dark:text-gray-400 transition-colors duration-300 hover:text-nt-blue">
Facebook Group
</a>
<router-link :to="{name:'privacy-policy'}"
class="text-gray-600 dark:text-gray-400 transition-colors duration-300 hover:text-nt-blue">
Privacy Policy
</router-link>
<router-link :to="{name:'terms-conditions'}"
class="text-gray-600 dark:text-gray-400 transition-colors duration-300 hover:text-nt-blue">
Terms & Conditions
</router-link>
</div>
</div>
</div> </div>
</div> </div>
</template> </template>
@ -57,7 +70,8 @@ export default {
featureRequestsUrl: () => window.config.links.feature_requests featureRequestsUrl: () => window.config.links.feature_requests
}, },
mounted () {}, mounted() {
},
methods: {} methods: {}
} }

View File

@ -56,22 +56,17 @@
</template> </template>
<script> <script>
import OpenFormFooter from '../../components/pages/OpenFormFooter.vue' import OpenFormFooter from '~/components/pages/OpenFormFooter.vue'
import Testimonials from '../../components/pages/welcome/Testimonials.vue' import LoginForm from "./components/LoginForm.vue";
import LoginForm from './components/LoginForm.vue'
import SeoMeta from '../../mixins/seo-meta.js'
export default { export default {
components: { components: {
OpenFormFooter, OpenFormFooter,
Testimonials,
LoginForm LoginForm
}, },
middleware: 'guest', middleware: 'guest',
mixins: [SeoMeta],
data: () => ({ data: () => ({
metaTitle: 'Login', metaTitle: 'Login',
}), }),