{
  "$schema": "../../packages/ui/screens/screen.schema.json",
  "id": "performance.programme",
  "version": 1,
  "app": "member",
  "route": "/plaene/:planId",
  "title": {
    "$bind": "programme.title"
  },
  "nav": {
    "label": "Pläne",
    "icon": "list",
    "order": 2,
    "tab": true
  },
  "requires": [
    "performance.programmes"
  ],
  "data": {
    "programme": {
      "source": "performance.programmes.today",
      "params": {
        "planId": {
          "$bind": "params.planId"
        }
      },
      "offline": true
    }
  },
  "actions": {
    "done": {
      "handler": "performance.completeExercise",
      "risk": "reversible",
      "success": "Übung fertig"
    },
    "set": {
      "handler": "performance.completeSet",
      "risk": "reversible",
      "success": "Satz geschafft"
    },
    "reset": {
      "handler": "performance.resetExercise",
      "risk": "reversible",
      "success": "Zurückgesetzt"
    },
    "details": {
      "handler": "performance.openExercise",
      "risk": "safe"
    }
  },
  "body": [
    {
      "component": "page-header",
      "data": {
        "title": {
          "$bind": "programme.title"
        },
        "meta": {
          "$text": "Woche {programme.week} von {programme.weeks} · {programme.doneToday} von {programme.total} Übungen heute"
        },
        "back": {
          "label": "Pläne",
          "href": "#"
        }
      }
    },
    {
      "component": "progress",
      "data": {
        "label": "Heute",
        "value": {
          "$bind": "programme.doneToday"
        },
        "max": {
          "$bind": "programme.total"
        },
        "text": {
          "$text": "{programme.doneToday} von {programme.total} Übungen"
        },
        "id": "today-progress"
      }
    },
    {
      "component": "alert",
      "if": {
        "$bind": "programme.focus"
      },
      "data": {
        "tone": "warning",
        "title": {
          "$bind": "programme.focus"
        }
      }
    },
    {
      "component": "list",
      "data": {
        "label": "Deine Übungen",
        "gestures": "primary",
        "swipeHint": {
          "id": "training-swipe",
          "title": "So geht es",
          "items": [
            "Nach rechts wischen: Übung fertig",
            "Nach links wischen: ein Satz geschafft",
            "Menü (⋯): Details und Zurücksetzen"
          ]
        },
        "items": {
          "$each": "programme.exercises",
          "as": "ex",
          "map": {
            "id": {
              "$bind": "ex.id"
            },
            "title": {
              "$bind": "ex.title"
            },
            "meta": {
              "$bind": "ex.scheme"
            },
            "done": {
              "$bind": "ex.done"
            },
            "progress": {
              "done": {
                "$bind": "ex.setsDone"
              },
              "total": {
                "$bind": "ex.sets"
              }
            },
            "quickAction": {
              "action": "done",
              "label": "Fertig",
              "icon": "check"
            },
            "swipe": {
              "mode": "commit",
              "start": {
                "action": "done",
                "label": "Übung fertig",
                "icon": "check",
                "tone": "success"
              },
              "end": {
                "action": "set",
                "label": "Satz geschafft",
                "icon": "plus",
                "tone": "accent"
              }
            },
            "actions": [
              {
                "action": "done",
                "label": "Übung fertig",
                "icon": "check"
              },
              {
                "action": "set",
                "label": "Ein Satz geschafft",
                "icon": "plus"
              },
              {
                "action": "details",
                "label": "Details, Bilder, Video",
                "icon": "info"
              },
              {
                "action": "reset",
                "label": "Zurücksetzen",
                "icon": "undo"
              }
            ]
          }
        }
      }
    },
    {
      "component": "note",
      "if": {
        "$bind": "programme.coachNote"
      },
      "data": {
        "author": {
          "$bind": "programme.coachNote.author"
        },
        "dateLabel": {
          "$bind": "programme.coachNote.dateLabel"
        },
        "text": {
          "$bind": "programme.coachNote.text"
        }
      }
    }
  ]
}
