* add vite survey package
* add renderSurvey method
* add all survey components
* First working version of renderSurvey
* integrate survey package into survey preview
* add survey modal functionality to formbricks-surveys
* fix build errors and add new template types
* add response queue
* add simple formbricks-js integration
* add local state management for surveys
* add local storage to multiple choice and open text questions
* add local state to other question types, layout fixes
* Fix modal close button, clean js package code
* add new calculate progress function
* fix progressbar on thankyou card
* fix churn survey branching in demo product
* use tsup to bundle @formbricks/js
* update survey positioning in link surveys
* fix preview reset button in link survey
* change logic for progress bar
* update progressbar logic
* update spacing
* add conditional autofocus / disable for iframe
* add userId to link survey
* integrated email verification
* moved token verification and reading to server component
* ran pnpm format
* added question prefilling
* ran pnpm format
* Moved question prefilling logic to Link Survey
* Refactor types
* centralize survey package props, fix build errors
* fix userId in link survey
* fix survey closed message
* add redirect on complete, fix bugs
* smaller bugfixes
* smaller bugfixes
* fix bugs
* fix build errors
* remove logs
---------
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
* feat: revamp nocode action across frontend, backend, and js lib
* fix: remove console warning for ref forwarding
* feat: make advancedToggle component and use it across
* feat: use advancedToggle all across survey editor
* feat: use advancedToggle all across survey editor for link surveys
* remove: unused imports
* ui tweaks
* fix: form registration
* chore: advancedOptionToggle now has grey box inside the div
* fix: handle multiple css selectors separately
* test no code demo app
* replace logout with reset in demo apps
---------
Co-authored-by: Johannes <johannes@formbricks.com>
* made modal component responsive
* added tab switch
* added mobile preview mode for surveys
* did some refactors
* did some refactors
* added type defs
* ran pnpm format
* removed an unused comment
* fixed variable name typo
* fixed UI bugs and added mobile mockup to link surveys
* restored changes from fix long description PR
* fixed scroll to top issue and toggle hide bug
* fixed minor animation bug
* fixed placement issue
* re-embed restart button, make phone preview more responsive
---------
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
* add back button, next with local storaage wip
* handle submission and skip submission logic
* handle showing stored value on same concurrent question type.
* remove console.log
* fix next button not showing, add saving answer on pressing back to local storage
* add temp props to QuestionCondition in preview modal
* add temp props to QuestionCondition in preview modal again...
* update navigation logic
* update survey question preview
* add back-button component
* add back button to formbricks/js
* refactor localStorage functions to lib
* remove unused import
* add form prefilling when reloading forms
* merge main into branch
* Revert "merge main into branch"
This reverts commit 13bc9c06ec.
* rename localStorage key answers->responses
* rename answers -> responses in linkSurvey lib
* when survey page reloaded jump to next question instead of current question
* rename getStoredAnswer -> getStoredResponse
* continue renaming
* continue renaming
* rename answerValue -> responseValue
---------
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
* url add to link-survey
* fixed
* fixed
* fixed
* fixed
* ran pnpm format
* make url optional in response input to not break existing integrations
---------
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
* feat: added a option to set ordering of choices
* changed the parameter for random ordering and used Switch instead of Select
* added logic for shuffle
* added shuffleOption in zod schema and fixed some copy.
* run pnpm format
* make shuffleOption optional in zod to prevent errors in existing data
* made fixes as asked in peer review and ran pnpm format
* minor bug fixes
* Update env.mjs
* fix shuffleArray to not shuffle reference object
* update shuffle method
---------
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
* Fix issue 427
* Address review comment
* jump back to top on long questions
* add to JS widget
---------
Co-authored-by: Seram Nitesh Singh <nitesh.s@auzmor.com>
Co-authored-by: Johannes <johannes@formbricks.com>
* add first part of sync service
* add actionClasses to js sync
* fix errors, add product to sync
* rewrite formbricks-js for new states and types
* fix tests
* fix build errors
* add cors
* fix cors errors and other bugs
* comment test in checks until working again
* created new create-display and updated display endpoints with zod, db service-layer, and next.js route handlers
* changed the api URL and changed few type definations
* new getTeamDetails service is created which will be further used by display and response endpoints
* changed the prisma call with getTeamDetails service
* created display services and zod validation schema
* removed envId from func parameter
* fix build error by adding a type annotation
* Moved the return inside try block
* Removed comments
* changed the update display service name to markDisplayResponded
* Update route.ts
* reference person type in display, check response code first then transform to json
* add createdAt & updatedAt to person when query display
* pnpm format
* small optimizations
---------
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
* only add packages once to their main package and remove them from other packages to avoid version conflicts
* update package versions
* update package versions, clean packages
* remove old vscode settings
* exclude formbricks-com from pnpm dev
* narrow down tsconfig includes, pnpm-lock update
* add pnpm test to github action