From c0a8f0d2bdf12c5d75d40ac71b96ed5efc5a3ec4 Mon Sep 17 00:00:00 2001 From: formsdev <136701234+formsdev@users.noreply.github.com> Date: Thu, 31 Aug 2023 14:26:14 +0530 Subject: [PATCH] Alert for Draft Form (#180) * Enable Pro plan - WIP * no pricing page if have no paid plans * Set pricing ids in env * views & submissions FREE for all * extra param for env * form password FREE for all * Custom Code is PRO feature * Replace codeinput prism with codemirror * Better form Cleaning message * Added risky user email spam protection * fix form cleaning * Custom SEO * fix custom seo formcleaner * Better webhooks * Slack-Discord extra feature * Alert for Draft Form/View --- app/Http/Controllers/Forms/FormController.php | 4 +-- app/Models/Forms/Form.php | 5 ++- .../open/forms/components/CopyContent.vue | 7 +++- .../components/pages/forms/show/ShareLink.vue | 2 +- resources/js/mixins/forms/saveUpdateAlert.js | 2 +- resources/js/pages/forms/show/index.vue | 12 ++++++- resources/js/pages/home.vue | 36 +++++++++---------- 7 files changed, 43 insertions(+), 25 deletions(-) diff --git a/app/Http/Controllers/Forms/FormController.php b/app/Http/Controllers/Forms/FormController.php index 80f2561..d51cec1 100644 --- a/app/Http/Controllers/Forms/FormController.php +++ b/app/Http/Controllers/Forms/FormController.php @@ -98,7 +98,7 @@ class FormController extends Controller ])); return $this->success([ - 'message' => $this->formCleaner->hasCleaned() ? 'Form successfully created, but the Pro features you used will be disabled when sharing your form:' : 'Form created.', + 'message' => $this->formCleaner->hasCleaned() ? 'Form successfully created, but the Pro features you used will be disabled when sharing your form:' : 'Form created.' . ($form->visibility == 'draft' ? ' But other people won\'t be able to see the form since it\'s currently in draft mode' : ''), 'form' => (new FormResource($form))->setCleanings($this->formCleaner->getPerformedCleanings()), 'users_first_form' => $request->user()->forms()->count() == 1 ]); @@ -122,7 +122,7 @@ class FormController extends Controller $form->update($formData); return $this->success([ - 'message' => $this->formCleaner->hasCleaned() ? 'Form successfully updated, but the Pro features you used will be disabled when sharing your form:' : 'Form updated.', + 'message' => $this->formCleaner->hasCleaned() ? 'Form successfully updated, but the Pro features you used will be disabled when sharing your form:' : 'Form updated.' . ($form->visibility == 'draft' ? ' But other people won\'t be able to see the form since it\'s currently in draft mode' : ''), 'form' => (new FormResource($form))->setCleanings($this->formCleaner->getPerformedCleanings()), ]); } diff --git a/app/Models/Forms/Form.php b/app/Models/Forms/Form.php index fe2f163..7ba3fcc 100644 --- a/app/Models/Forms/Form.php +++ b/app/Models/Forms/Form.php @@ -84,7 +84,10 @@ class Form extends Model // Security & Privacy 'can_be_indexed', - 'password' + 'password', + + // Custom SEO + 'seo_meta' ]; protected $casts = [ diff --git a/resources/js/components/open/forms/components/CopyContent.vue b/resources/js/components/open/forms/components/CopyContent.vue index ae1444d..109d62e 100644 --- a/resources/js/components/open/forms/components/CopyContent.vue +++ b/resources/js/components/open/forms/components/CopyContent.vue @@ -29,6 +29,10 @@ export default { type: String, required: true }, + isDraft: { + type: Boolean, + default: false + }, }, data() { @@ -50,7 +54,8 @@ export default { el.select() document.execCommand('copy') document.body.removeChild(el) - this.alertSuccess('Copied!') + this.alertSuccess((this.isDraft) ? 'Copied! But other people won\'t be able to see the form since it\'s currently in draft mode' : 'Copied!') + } } } diff --git a/resources/js/components/pages/forms/show/ShareLink.vue b/resources/js/components/pages/forms/show/ShareLink.vue index d3cce9e..b9e0f88 100644 --- a/resources/js/components/pages/forms/show/ShareLink.vue +++ b/resources/js/components/pages/forms/show/ShareLink.vue @@ -3,7 +3,7 @@

Share Link

Your form is now published and ready to be shared with the world! Copy this link to share your form on social media, messaging apps or via email.

- +