Commit Graph

48 Commits

Author SHA1 Message Date
Chirag Chhatrala aa5c1acf3a
Decouple title from title block (#696)
* Decouple title from title block

* fix lint

* remove dry run for FormTitleMigration

* Skip form title migration for forms with hidden titles

* Refactor AI Form Generation with Dedicated Prompt Services

- Extract AI form generation logic from GenerateTemplate command into dedicated prompt service classes
- Update GenerateAiForm job to use new prompt generation services
- Improve GptCompleter with more robust error handling and token tracking
- Add error field to AiFormCompletion model for better error logging
- Simplify command signature from 'ai:make-form-template' to 'form:generate'

* Consolidate Template Metadata Generation with Unified Prompt Service

- Create GenerateTemplateMetadataPrompt to centralize template metadata generation
- Update GenerateTemplate command to use new consolidated metadata generation approach
- Enhance GptCompleter to support strict JSON schema validation
- Increase form prompt max length to support more complex form descriptions
- Refactor form generation to simplify metadata extraction and processing

* Implement Form Mode Strategy for Flexible Form Rendering

- Introduce FormModeStrategy to centralize form rendering logic
- Add support for different form modes: LIVE, PREVIEW, TEST, EDIT, PREFILL
- Refactor components to use mode-based rendering strategy
- Remove legacy boolean props like adminPreview and creating
- Enhance form component flexibility and reusability

* Refine Form Mode Strategy Display Behavior

- Update FormModeStrategy to hide hidden fields in PREVIEW mode
- Add FormMode getter in UrlFormPrefill component for mode-specific rendering
- Clarify mode-specific validation and display logic in form strategies

* Enhance Form Template Generation with Advanced Field Options

- Update GenerateTemplate command to use front_url for template URL output
- Expand GenerateFormPrompt with comprehensive field configuration options
- Add support for advanced field types: date with time, toggle switches, radio/checkbox selections
- Introduce field width configuration and HTML formatting for text elements
- Re-enable select, multi-select, and matrix field type definitions with enhanced configurations

* Remove Deprecated Template Metadata Generation Services

- Delete multiple AI prompt services related to template metadata generation
- Simplify GenerateTemplate command to use default values instead of complex metadata generation
- Remove GenerateTemplateMetadataPrompt and related classes like GenerateTemplateDescriptionPrompt, GenerateTemplateImageKeywordsPrompt, etc.
- Update form template generation to use basic fallback metadata generation approach

* Restore GenerateTemplateMetadataPrompt for Comprehensive Template Generation

- Reintroduce GenerateTemplateMetadataPrompt to replace default metadata generation
- Update GenerateTemplate command to use consolidated metadata generation approach
- Extract detailed metadata components including title, description, industries, and image search query
- Improve template generation with more dynamic and AI-generated metadata

* Refactor Template Preview Section Layout

- Remove unnecessary nested div in template preview section
- Simplify HTML structure for the template preview component
- Maintain existing styling and functionality while improving code readability

* Refactor Constructor and Code Formatting in AI Form Generation and Prompt Classes

- Updated the constructor in GenerateAiForm.php to use a block structure for improved readability and consistency.
- Added a blank line in the Prompt.php file to enhance code formatting and maintain consistency with PHP coding standards.
- Modified the migration file to use a more concise class declaration syntax, improving clarity.

These changes aim to enhance code readability and maintainability across the affected files.

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2025-03-21 16:59:18 +01:00
Julien Nahum 4a2adcf8f7 Add client linting to GitHub Actions workflow
Enhance CI/CD pipeline by introducing a new job to run ESLint on the client application. This ensures code quality and consistency for the frontend codebase.
2025-01-27 18:24:27 +01:00
Chirag Chhatrala 80b7c1e773
Form editor logic copy to x (#656)
* Form editor logic copy to x

* Refactor form components to use UButton and UButtonGroup for improved consistency and styling
2025-01-03 16:09:53 +01:00
Chirag Chhatrala 2366f9515d
Readonly User (#637)
* Readonly User

* Refactor FormPolicy and TemplatePolicy to centralize write operation logic

- Introduced a private method `canPerformWriteOperation` in both FormPolicy and TemplatePolicy to encapsulate the logic for determining if a user can perform write operations on the respective models.
- Updated the `update`, `delete`, `restore`, and `forceDelete` methods in FormPolicy to use the new method for improved readability and maintainability.
- Simplified the `update` and `delete` methods in TemplatePolicy to leverage the centralized write operation logic.

This refactoring enhances code clarity and reduces duplication across policy classes.

* Refactor user and workspace permissions handling

- Updated FormController to authorize form creation based on workspace context.
- Removed the `is_readonly` attribute from UserResource and integrated it into WorkspaceResource for better encapsulation.
- Refactored User model to eliminate the `getIsReadonlyAttribute` method, shifting readonly logic to the Workspace model.
- Adjusted FormPolicy and TemplatePolicy to utilize workspace readonly checks for user permissions.
- Updated various frontend components to reference workspace readonly status instead of user readonly status, enhancing clarity and consistency in permission handling.

These changes improve the management of user permissions in relation to workspaces, ensuring a more robust and maintainable authorization system.

* Fix isReadonlyUser

* fix pint

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-12-30 14:35:23 +01:00
Chirag Chhatrala d6181cd249
Form editor v2 (#579)
* Form editor v2

* fix template test

* setFormDefaults when save

* fix form cleaning dark mode

* improvements on open sidebar

* UI polish

* Fix change type button

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-09-23 20:02:38 +02:00
Julien Nahum 79d3dd7888
Feature flags (#543)
* Re-organize a bit controllers

* Added the featureflagcontroller

* Implement feature flags in the front-end

* Clean env files

* Clean console.log messages

* Fix feature flag test
2024-08-27 16:49:43 +02:00
Chirag Chhatrala fedc382594
Pricing Upgrade Flow changes (#514)
* Pricing Upgrade Flow changes

* remove extra code

* Refactor subscription plan selection and billing management

* Polish the new pricing modal

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-08-23 12:23:01 +02:00
ash 6fca106df1
Update RegenerateFormLink.vue (#517) 2024-08-06 10:22:52 +02:00
Favour Olayinka 7ee5623b8e
disable precognition on url prefill modal (#503) 2024-07-26 11:44:38 +02:00
Favour Olayinka 11f99df98f
Ba515 fix 500 error on url prefil (#483)
* fix password reset bug

* fix form theme builder

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-07-10 12:31:33 +02:00
Chirag Chhatrala 52f65752af
remove embedcode id prefix (#472) 2024-07-01 13:07:35 +02:00
Julien Nahum 2ca2d97e8e
Better form themes (#465)
* Working on custom radius + input size

* Fix date input clear vertical align

* Moslty finished implementing small size

* Polishing larger theme

* Finish large theme

* Added size/radius options in form editor

* Darken help text, improve switch input help location

* Slight form editor improvement

* Fix styling

* Polish of the form editor
2024-06-27 17:52:49 +02:00
Julien Nahum a84abf9f72 Fix redirect with embed script 2024-06-27 17:06:19 +02:00
Julien Nahum 570f943bd1
Custom Embed script (#469)
* Custom Embed script

* Fix redirecting whene embedded

---------

Co-authored-by: Chirag Chhatrala <chirag.chhatrala@gmail.com>
2024-06-27 16:00:54 +02:00
Favour Olayinka f07f1d16d6
form extra menu update (#382)
Co-authored-by: Julien Nahum <julien@nahum.net>
2024-04-22 15:55:31 +02:00
Favour Olayinka bcd45ce8a6
0351d front end linting (#377)
* feat: disable custom script for  trial users

* after lint fix

* frontend linting

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-04-15 19:39:03 +02:00
formsdev 6f61faa9ef
Notification & Integrations refactoring (#346)
* Integrations Refactoring - WIP

* integrations list & edit - WIP

* Fix integration store binding issue

* integrations refactor - WIP

* Form integration - WIP

* Form integration Edit - WIP

* Integration Refactor - Slack - WIP

* Integration Refactor - Discord - WIP

* Integration Refactor - Webhook - WIP

* Integration Refactor - Send Submission Confirmation - WIP

* Integration Refactor - Backend handler - WIP

* Form Integration Status field

* Integration Refactor - Backend SubmissionConfirmation - WIP

* IntegrationMigration Command

* skip confirmation email test case

* Small refactoring

* FormIntegration status active/inactive

* formIntegrationData to integrationData

* Rename file name with Integration suffix for integration realted files

* Loader on form integrations

* WIP

* form integration test case

* WIP

* Added Integration card - working on refactoring

* change location for IntegrationCard and update package file

* Form Integration Create/Edit in single Modal

* Remove integration extra pages

* crisp_help_page_slug for integration json

* integration logic as collapse

* UI improvements

* WIP

* Trying to debug vue devtools

* WIP for integrations

* getIntegrationHandler change namespace name

* useForm for integration fields + validation structure

* Integration Test case & apply validation rules

* Apply useform changes to integration other files

* validation rules for FormNotificationsMessageActions fields

* Zapier integration as coming soon

* Update FormCleaner

* set default settings for confirmation integration

* WIP

* Finish validation for all integrations

* Updated purify, added integration formatData

* Fix testcase

* Ran pint; working on integration errors

* Handle integration events

* command for Delete Old Integration Events

* Display Past Events in Modal

* on Integration event create with status error send email to form creator

* Polish styling

* Minor improvements

* Finish badge and integration status

* Fix tests and add an integration event test

* Lint

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-03-28 18:14:30 +01:00
Daniel Roe d9996e0d9d
fix: opt in to `import.meta.*` properties (#364) 2024-03-28 17:59:41 +01:00
formsdev c73fcd226b
extramenu improvement (#353)
* extramenu improvement

* fix test cases
2024-03-19 15:17:23 +01:00
Favour Olayinka 29fdc961fc
move form to another workspace (#339)
* move form to another workspace

* style: apply lint

* fix typo error

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-03-12 17:55:19 +01:00
Julien Nahum 91911bc6e5 Multiple bug fixing 2024-02-10 12:20:45 +01:00
formsdev f2916b9e31
extra menu improvement (#316) 2024-02-09 09:32:38 +01:00
Julien Nahum abfbad465c Remove useless iframe attributes
Fix resize for all forms

crisp migration (#302)

Co-authored-by: Julien Nahum <julien@nahum.net>

fix console error (#304)

fix: dark mode issues on form preview (#301)

* fix: dark mode issues on form preview

* Fix darkmode issues

---------

Co-authored-by: Julien Nahum <julien@nahum.net>

Remove useless iframe attributes
2024-02-01 19:02:21 +01:00
formsdev 9f909d1b13 crisp migration (#302)
Co-authored-by: Julien Nahum <julien@nahum.net>
2024-02-01 18:57:22 +01:00
Julien Nahum a650228a67 Auto-resize iframes, fix custom code, fix create form initial properties 2024-02-01 18:21:30 +01:00
Favour Olayinka 000b65d4db
Form draft warning (#287)
* feat: add warning to draft form preview button

* warning modal component

* feat: use notification for draft form warning

* fix: remove unused variable

* fix: remove unused variable

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-01-29 21:15:16 +01:00
formsdev 8f2f2182f0
fix display error message (#293)
Co-authored-by: Julien Nahum <julien@nahum.net>
2024-01-24 10:05:47 +01:00
Julien Nahum c97be832d7 Fix sentry tracked issues 2024-01-18 11:37:04 +01:00
Julien Nahum dc3608f085 Fix logic bugs 2024-01-17 14:26:31 +01:00
Julien Nahum 9cb3abec26 Fix AI Generation 2024-01-17 11:03:57 +01:00
formsdev 57ce0e6114
remove api prefix from routes (#280)
* remove api prefix from routes

* PR changes

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-01-12 17:35:16 +01:00
Julien Nahum 5a3978874a URL generation (front&back) + fixed authJWT for SSR 2024-01-11 14:07:27 +01:00
Julien Nahum 9750406025 Remove NuxtImg for non asset files 2024-01-10 16:17:47 +01:00
formsdev 27ece34226
NuxtImg Migration (#279)
Co-authored-by: Julien Nahum <julien@nahum.net>
2024-01-05 11:41:49 +01:00
formsdev 2207c8cd90
migrate to nuxt useClipboard (#268) 2024-01-05 09:59:53 +01:00
Julien Nahum a6d88278be Remove appconfig in favor of runtimeconfig 2024-01-03 17:38:11 +01:00
formsdev 178424a184
Migrate to nuxt settings page AND remove axios (#266)
* Settings pages migration

* remove axios and use opnFetch

* Make created form reactive (#267)

* Remove verify pages and axios lib

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-01-02 13:09:41 +01:00
formsdev 6fd2985ff5
Nuxt Migration notifications (#265)
* Nuxt Migration notifications

* @input to @update:model-value

* change field type fixes

* @update:model-value

* Enable form-block-logic-editor

* vue-confetti migration

* PR request changes

* useAlert in setup
2023-12-31 12:39:01 +01:00
Julien Nahum b4365b5e30 Work in progress for form create guess user 2023-12-25 19:57:00 +01:00
Julien Nahum d93b696b05 Working on form/show and editor 2023-12-24 09:51:22 +01:00
Chirag Chhatrala 56e533581c
migrate-to-nuxt-useappconfig (#263)
* migrate-to-nuxt-useappconfig

* defineAppConfig

---------

Co-authored-by: Forms Dev <chirag+new@notionforms.io>
2023-12-22 15:45:53 +01:00
Chirag Chhatrala 3d92637ef5
NuxtLink migration (#262)
Co-authored-by: Forms Dev <chirag+new@notionforms.io>
2023-12-22 10:24:51 +01:00
Julien Nahum bab8517879 Fixed most of the form/show pages 2023-12-20 18:38:43 +01:00
Julien Nahum af5656ce81 Fixed form creation 2023-12-20 16:10:32 +01:00
Julien Nahum df2fa4c444 Fix dropdown 2023-12-20 13:42:43 +01:00
Julien Nahum 3b798c12fd WI 2023-12-18 10:35:00 +01:00
Julien Nahum 5c4dc2a3d6 WIP 2023-12-11 11:56:21 +01:00
Julien Nahum 1f853e8178 Work in progress 2023-12-09 15:47:03 +01:00