{
  "about": {
    "description": "An app menu with objects",
    "android": {
      "class": "MyNimbus",
      "package": "com.example.app"
    },
    "ios": {
      "class": "MyNimbus",
      "module": "App"
    }
  },
  "enums": {
    "MenuItemId": {
      "name": "MenuItemId",
      "doc": "The menu items id",
      "variants": [
        {
          "name": "start-game",
          "doc": "Start the game"
        },
        {
          "name": "resume-game",
          "doc": "Jump back in"
        },
        {
          "name": "settings",
          "doc": "Tweaks to set settings to set"
        },
        {
          "name": "community",
          "doc": "Visit scary people online"
        }
      ]
    },
    "PlayerProfile": {
      "name": "PlayerProfile",
      "doc": "The sections of the homescreen",
      "variants": [
        {
          "name": "adult",
          "doc": "The user is over an age"
        },
        {
          "name": "child",
          "doc": "The user is under an age"
        }
      ]
    }
  },
  "objects": {
    "MenuItem": {
      "name": "MenuItem",
      "doc": "An object defining a menu item",
      "props": [
        {
          "name": "label",
          "doc": "The label that the user sees",
          "type": "String",
          "default": "UNSET"
        },
        {
          "name": "deeplink",
          "doc": "The applink where the user is taken if the user taps it.",
          "type": "String",
          "default": "UNSET"
        }
      ]
    }
  },
  "features": {
    "app-menu": {
      "name": "app-menu",
      "description": "Represents the app-menu feature",
      "props": [
        {
          "name": "item-enabled",
          "doc": "A map of booleans",
          "type": {
            "EnumMap": [
              {
                "Enum": "MenuItemId"
              },
              "Boolean"
            ]
          },
          "default": {
            "start-game": true,
            "settings": true,
            "resume-game": false,
            "community": false
          }
        },
        {
          "name": "item-ordering",
          "doc": "The ordering of the items in the menu",
          "type": {
            "List": {
              "Enum": "MenuItemId"
            }
          },
          "default": ["resume-game", "start-game", "community", "settings"]
        },
        {
          "name": "all-menu-items",
          "doc": "All the menu items",
          "type": {
            "List": {
              "Object": "MenuItem"
            }
          },
          "default": [
            {
              "label": "Start Game",
              "deeplink": "deeplink://start"
            },
            {
              "label": "Resume Game",
              "deeplink": "deeplink://start?continue=true"
            }
          ]
        },
        {
          "name": "items",
          "doc": "The menu items",
          "type": {
            "EnumMap": [
              {
                "Enum": "MenuItemId"
              },
              {
                "Object": "MenuItem"
              }
            ]
          },
          "default": {
            "start-game": {
              "label": "Start Game",
              "deeplink": "deeplink://start"
            },
            "resume-game": {
              "label": "Resume Game",
              "deeplink": "deeplink://start?continue=true"
            },
            "settings": {
              "label": "Settings",
              "deeplink": "deeplink://settings"
            },
            "community": {
              "label": "Community",
              "deeplink": "deeplink://community"
            }
          }
        },
        {
          "name": "profile-ordering",
          "doc": "",
          "type": {
            "List": {
              "EnumMap": [{ "Enum": "PlayerProfile" }, { "Enum": "MenuItemId" }]
            }
          },
          "default": [
            {
              "child": "start-game",
              "adult": "settings"
            },
            {
              "adult": "settings",
              "child": "resume-game"
            }
          ]
        },
        {
          "name": "profile-items",
          "doc": "The menu items for each of the profiles",
          "type": {
            "EnumMap": [
              {
                "Enum": "PlayerProfile"
              },
              {
                "EnumMap": [
                  {
                    "Enum": "MenuItemId"
                  },
                  {
                    "Object": "MenuItem"
                  }
                ]
              }
            ]
          },
          "default": {
            "child": {
              "start-game": {
                "label": "start child-friendly game",
                "deeplink": "deeplink://start"
              },
              "resume-game": {
                "label": "resume child-friendly game",
                "deeplink": "deeplink://start?continue=true"
              },
              "settings": {
                "label": "child-friendly tweaks",
                "deeplink": "deeplink://settings"
              },
              "community": {
                "label": "child-friendly community engagement!",
                "deeplink": "deeplink://community"
              }
            },
            "adult": {
              "start-game": {
                "label": "START",
                "deeplink": "deeplink://start"
              },
              "resume-game": {
                "label": "RESUME",
                "deeplink": "deeplink://start?continue=true"
              },
              "settings": {
                "label": "SETTINGS",
                "deeplink": "deeplink://settings"
              },
              "community": {
                "label": "COMMUNITY",
                "deeplink": "deeplink://community"
              }
            }
          }
        }
      ],
      "allow_coenrollment": false,
      "default": null
    }
  }
}
