Skip to content

Settings type from enum to JSON schema #149

Description

@Quackzoer

Possible settings types are visible here: https://github.com/ItsRiprod/deskthing-types/blob/master/src/apps/appSettings.ts
I propose to make settings completely customizable using some JSON schema and dynamically generating form based on that.

There are many benefits to this solution, like:

  1. User might define validation
  2. User might create conditional settings
  3. Users might create nested settings
  4. Available settings, schema etc will be easy to version, migrate on update etc
  5. It's industry standard

Most of the work will be done by external libraries like https://github.com/rjsf-team/react-jsonschema-form which will render custom solution obsolete.

I wanted to create Streamdeck where user would be able to assign shortcuts by actually pressing buttons, not by typing them by hand into text input.
There are also macros, that could work in the same way but we would define this field as an array in our schema.

Overall it gives much more freedom, has greater expressibility, and is better solution in the long run

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions