{
  "name": "Todoist",
  "version": "0.1.0",
  "status": "alpha",
  "description": "Shows Todoist tasks for today, the next seven days, a project, or a custom filter.",
  "renderPage": "./render.html",
  "icon": "./assets/icon.png",
  "nativeSettings": {
    "color": "light",
    "title": "",
    "apiToken": "",
    "view": "today",
    "filter": "",
    "projectId": "",
    "limit": 7,
    "sortBy": "todoist",
    "timezone": "Europe/Berlin",
    "showStats": true,
    "showProject": true,
    "showLabels": true,
    "showDescription": false,
    "showDuration": true
  },
  "configVariants": [
    {
      "color": "light",
      "title": "",
      "apiToken": "",
      "view": "today",
      "filter": "",
      "projectId": "",
      "limit": 7,
      "sortBy": "todoist",
      "timezone": "Europe/Berlin",
      "showStats": true,
      "showProject": true,
      "showLabels": true,
      "showDescription": false,
      "showDuration": true,
      "screenshots": {
        "800x480": "./screenshots/todoist-today-focus-800x480-landscape.png",
        "480x800": "./screenshots/todoist-today-focus-480x800-portrait.png"
      }
    },
    {
      "color": "red-light",
      "title": "Weekly Plan",
      "apiToken": "",
      "view": "upcoming",
      "filter": "",
      "projectId": "",
      "limit": 9,
      "sortBy": "due",
      "timezone": "Europe/Berlin",
      "showStats": true,
      "showProject": true,
      "showLabels": false,
      "showDescription": false,
      "showDuration": true,
      "screenshots": {
        "800x480": "./screenshots/todoist-weekly-plan-800x480-landscape.png",
        "480x800": "./screenshots/todoist-weekly-plan-480x800-portrait.png"
      }
    }
  ],
  "formSchema": {
    "type": "object",
    "properties": {
      "title": {
        "type": "string",
        "title": "Title",
        "description": "Optional heading. Leave empty to use the selected view name.",
        "default": ""
      },
      "apiToken": {
        "type": "string",
        "title": "Todoist API token",
        "description": "Personal API token from Todoist Settings > Integrations > Developer.",
        "format": "password",
        "default": ""
      },
      "view": {
        "type": "string",
        "title": "Task view",
        "enum": [
          "today",
          "upcoming",
          "project",
          "custom",
          "all"
        ],
        "default": "today"
      },
      "filter": {
        "type": "string",
        "title": "Custom Todoist filter",
        "description": "Used for the custom view, for example: today | overdue.",
        "default": ""
      },
      "projectId": {
        "type": "string",
        "title": "Project ID",
        "description": "Required for the project view. Copy the project ID from Todoist.",
        "default": ""
      },
      "limit": {
        "type": "integer",
        "title": "Maximum tasks",
        "default": 7,
        "minimum": 1,
        "maximum": 12
      },
      "sortBy": {
        "type": "string",
        "title": "Sort tasks by",
        "enum": [
          "todoist",
          "due",
          "priority"
        ],
        "default": "todoist"
      },
      "timezone": {
        "type": "string",
        "title": "Timezone",
        "description": "IANA timezone used for due dates, such as Europe/Berlin.",
        "default": "Europe/Berlin"
      },
      "showStats": {
        "type": "boolean",
        "title": "Show task summary",
        "default": true
      },
      "showProject": {
        "type": "boolean",
        "title": "Show project names",
        "default": true
      },
      "showLabels": {
        "type": "boolean",
        "title": "Show labels",
        "default": true
      },
      "showDescription": {
        "type": "boolean",
        "title": "Show descriptions",
        "default": false
      },
      "showDuration": {
        "type": "boolean",
        "title": "Show task duration",
        "default": true
      }
    }
  },
  "language": [
    "en",
    "de",
    "fr",
    "es",
    "it"
  ]
}
