backend:
  name: bitbucket
  repo: raskie/quixano-website
  branch: master
  auth_type: implicit
  app_id: LB62Bu6pj2UdH34nVv

media_folder: static/content/images # Media files will be stored in the repo under static/images/uploads
public_folder: /content/images

collections:
  - label: "Pages"
    name: "pages"
    files:
      - label: "Search Page"
        name: "search-page"
        file: "static/content/pages/search.json"
        fields:
          - { label: Search page meta title, name: searchPageMetaTitle, widget: string }
          - { label: Search page meta description, name: searchPageMetaDescription, widget: string }
          - { label: Search input label, name: searchInputLabel, widget: string }
          - { label: Search input placeholder, name: searchInputPlaceholder, widget: string }
          - { label: Search input correction prefix, name: searchInputCorrectionPrefix, widget: string }
          - { label: Search result to label, name: searchResultToLabel, widget: string }
          - { label: Search result from label, name: searchResultFromLabel, widget: string }
          - { label: Search result message count label, name: searchResultMessageCountLabel, widget: string }
          - { label: Search result user count label, name: searchResultUserCountLabel, widget: string }
          - { label: Search result message count default, name: searchResultMessageCountDefault, widget: string }
          - { label: Search result user count default, name: searchResultUserCountDefault, widget: string }
          - { label: Search result notification tip text, name: searchResultNotificationTipText, widget: string }
          - { label: Search result empty notification tip text, name: searchResultEmptyNotificationTipText, widget: string }
          - { label: Search show results link text, name: searchShowResultsLinkText, widget: string }
          - { label: Search result defaults, name: searchResultDefaults, widget: text } # Crude but will work.

      - label: "Home Page"
        name: "homepage"
        file: "static/content/pages/index.json"
        fields:
          - { label: Homepage A Title, name: homepageATitle, widget: string }
          - { label: Homepage A Subtitle, name: homepageASubtitle, widget: string }
          - { label: Homepage A Logo Subtitle, name: homepageALogoSubtitle, widget: string }
          - { label: Homepage B Logo Subtitle, name: homepageBLogoSubtitle, widget: string }
          - { label: Homepage A CTA logged in label, name: homepageACtaLoggedInLabel, widget: string }
          - { label: Homepage B CTA logged in label, name: homepageBCtaLoggedInLabel, widget: string }
          - { label: Homepage A CTA logged out label, name: homepageACtaLoggedOutLabel, widget: string }
          - { label: Homepage B CTA logged out label, name: homepageBCtaLoggedOutLabel, widget: string }
          - { label: Homepage A CTA logged in link, name: homepageACtaLoggedInLink, widget: string }
          - { label: Homepage B CTA logged in link, name: homepageBCtaLoggedInLink, widget: string }
          - { label: Homepage A CTA logged out link, name: homepageACtaLoggedOutLink, widget: string }
          - { label: Homepage B CTA logged out link, name: homepageBCtaLoggedOutLink, widget: string }
          - { label: Homepage B tooltip text, name: homepageBTooltipText, widget: string }
          - { label: Homepage A content, name: homepageAContent, widget: markdown }
      
      - label: "Account Page"
        name: "account-page"
        file: "static/content/pages/account/index.json"
        fields:
          - { label: Account page meta title, name: accountPageMetaTitle, widget: string }
          - { label: Account page meta description , name: accountPageMetaDescription, widget: string }
          - { label: Account title icon, name: accountTitleIcon, widget: string }
          - { label: Account logged in title , name: accountLoggedInTitle, widget: string }
          - { label: Account logged out title, name: accountLoggedOutTitle, widget: string }
          - { label: Account logged out subtitle, name: accountLoggedOutSubtitle, widget: string }
          
          - label: "Account menu items (fixed)"
            name: "accountMenuItemsFixed"
            widget: "list"
            fields:
              - {label: "Title", name: "title", widget: "string"}
              - {label: "Subtitle", name: "subtitle", widget: "string"}
              - {label: "link", name: "link", widget: "string"}
              - {label: "icon", name: "icon", widget: "string"}

          - label: "Account menu items (logged in)"
            name: "accountMenuItemsLoggedIn"
            widget: "list"
            fields:
              - {label: "Title", name: "title", widget: "string"}
              - {label: "Subtitle", name: "subtitle", widget: "string"}
              - {label: "link", name: "link", widget: "string"}
              - {label: "icon", name: "icon", widget: "string"}

          - label: "Account menu items (logged out)"
            name: "accountMenuItemsLoggedOut"
            widget: "list"
            fields:
              - {label: "Title", name: "title", widget: "string"}
              - {label: "Subtitle", name: "subtitle", widget: "string"}
              - {label: "link", name: "link", widget: "string"}
              - {label: "icon", name: "icon", widget: "string"}

      - label: "Account Registration Page"
        name: "account-registration-page"
        file: "static/content/pages/account/registration/_id.json"
        fields:
          - { label: Account registration valid title, name: accountRegistrationValidTitle, widget: string }
          - { label: Account registration valid title icon, name: accountRegistrationValidTitleIcon, widget: string }
          - { label: Account registration valid subtitle prefix, name: accountRegistrationValidSubtitlePrefix, widget: string }
          - { label: Account registration valid subtitle postfix, name: accountRegistrationValidSubtitlePostfix, widget: string }
          - { label: Account registration invalid title, name: accountRegistrationInvalidTitle, widget: string }
          - { label: Account registration invalid title icon, name: accountRegistrationInvalidTitleIcon, widget: string }
          - { label: Account registration invalid subtitle, name: accountRegistrationInvalidSubtitle, widget: string }
          - { label: Account registration default username, name: accountRegistrationDefaultUsername, widget: string }
          - { label: Account registration password input label, name: accountRegistrationPasswordInputLabel, widget: string }
          - { label: Account registration password input placeholder, name: accountRegistrationPasswordInputPlaceholder, widget: string }
          - { label: Account registration form button label, name: accountRegistrationFormButtonLabel, widget: string }
          - { label: Account registration form password error message, name: accountRegistrationFormPasswordErrorMessage, widget: string }
          - { label: Account registration form password length error message, name: accountRegistrationFormPasswordLengthErrorMessage, widget: string }
          - { label: Account registration form default error message, name: accountRegistrationFormDefaultErrorMessage, widget: string }

      - label: "Account Registration Confirmation Page"
        name: "account-registration-confirmation-page"
        file: "static/content/pages/account/registration/confirmation.json"
        fields:
          - { label: Account registration confirmation title, name: accountRegistrationConfirmationTitle, widget: string }
          - { label: Account registration confirmation subtitle, name: accountRegistrationConfirmationSubtitle, widget: string }
          - { label: Account registration confirmation title icon, name: accountRegistrationConfirmationTitleIcon, widget: string }

      - label: "Account Delete Page"
        name: "account-delete-page"
        file: "static/content/pages/account/delete/index.json"
        fields:
          - { label: Account delete title, name: accountDeleteTitle, widget: string }
          - { label: Account delete title icon, name: accountDeleteTitleIcon, widget: string }
          - { label: Account delete subtitle postfix, name: accountDeleteSubtitlePostfix, widget: string }
          - { label: Account delete default user name, name: accountDeleteDefaultUsername, widget: string }
          - { label: Account delete confirmation input label, name: accountDeleteConfirmationInputLabel, widget: string }
          - { label: Account delete password input placeholder, name: accountDeletePasswordInputPlaceholder, widget: string }
          - { label: Account delete form button label, name: accountDeleteFormButtonLabel, widget: string }
          - { label: Account delete form name error message, name: accountDeleteFormNameErrorMessage, widget: string }

      - label: "Account Delete Confirmation Page"
        name: "account-delete-confirmation-page"
        file: "static/content/pages/account/delete/confirmation.json"
        fields:
          - { label: Account delete confirmation title, name: accountDeleteConfirmationTitle, widget: string }
          - { label: Account delete confirmation title icon, name: accountDeleteConfirmationSubtitle, widget: string }
          - { label: Account delete confirmation subtitle postfix, name: accountDeleteConfirmationTitleIcon, widget: string }

      - label: "Account Confirmation Page"
        name: "account-confirmation-page"
        file: "static/content/pages/account/confirmation.json"
        fields:
          - { label: Account confirmation title, name: accountConfirmationTitle, widget: string }
          - { label: Account confirmation subtitle, name: accountConfirmationSubtitle, widget: string }
          - { label: Account confirmation title icon, name: accountConfirmationTitleIcon, widget: string }

      - label: "Account Logged In Page"
        name: "account-logged-in-page"
        file: "static/content/pages/account/logged-in.json"
        fields:
          - { label: Account logged in signed in title, name: accountLoggedInSignedInTitle, widget: string }
          - { label: Account logged in signed out title, name: accountLoggedInSignedOutTitle, widget: string }
          - { label: Account logged in signed out subtitle, name: accountLoggedInSignedOutSubtitle, widget: string }
          - { label: Account logged in title icon, name: accountLoggedInTitleIcon, widget: string }

      - label: "Account Login Page"
        name: "account-login-page"
        file: "static/content/pages/account/login.json"
        fields:
          - { label: Account login page meta description, name: accountLoginPageMetaDescription, widget: string }
          - { label: Account login title, name: accountLoginTitle, widget: string }
          - { label: Account login signed subtitle, name: accountLoginSubtitle, widget: string }
          - { label: Account login title icon, name: accountLoginTitleIcon, widget: string }
          - { label: Account login form username input label, name: accountLoginFormUsernameInputLabel, widget: string }
          - { label: Account login form username input placeholder, name: accountLoginFormUsernameInputPlaceholder, widget: string }
          - { label: Account login form password input label, name: accountLoginFormPasswordInputLabel, widget: string }
          - { label: Account login form password input placeholder, name: accountLoginFormPasswordInputPlaceholder, widget: string }
          - { label: Account login form submit button label, name: accountLoginFormSubmitButtonLabel, widget: string }
          - { label: Account login form error message, name: accountLoginFormErrorMessage, widget: string }

      - label: "Account Signup Page"
        name: "account-signup-page"
        file: "static/content/pages/account/signup.json"
        fields:
          - { label: Account page meta description, name: accountSignupPageMetaDescription, widget: string }
          - { label: Account signup title, name: accountSignupTitle, widget: string }
          - { label: Account signup signed subtitle, name: accountSignupSubtitle, widget: string }
          - { label: Account signup title icon, name: accountSignupTitleIcon, widget: string }
          - { label: Account signup form account name input label, name: accountSignupFormAccountNameInputLabel, widget: string }
          - { label: Account signup form account name input title, name: accountSignupFormAccountNameInputTitle, widget: string }
          - { label: Account signup form account name input placeholder, name: accountSignupFormAccountNameInputPlaceholder, widget: string }
          - { label: Account signup form email input label, name: accountSignupFormEmailInputLabel, widget: string }
          - { label: Account signup form email input title, name: accountSignupFormEmailInputTitle, widget: string }
          - { label: Account signup form email input placeholder, name: accountSignupFormEmailInputPlaceholder, widget: string }
          - { label: Account signup form submit button label, name: accountSignupFormSubmitButtonLabel, widget: string }
          - { label: Account signup form incomplete error message, name: accountSignupFormIncompleteErrorMessage, widget: string }
          - { label: Account signup form short name error message, name: accountSignupFormShortNameErrorMessage, widget: string }
          - { label: Account signup form format error message, name: accountSignupFormFormatErrorMessage, widget: string }
          - { label: Account signup form sign error message, name: accountSignupFormEmailErrorMessage, widget: string }

      - label: "Account Logout Page"
        name: "account-logout-page"
        file: "static/content/pages/account/logout.json"
        fields:
          - { label: Account logout title, name: accountLogoutTitle, widget: string }
          - { label: Account logout subtitle, name: accountLogoutSubtitle, widget: string }
          - { label: Account logout title icon, name: accountLogoutTitleIcon, widget: string }

      - label: "Error Page"
        name: "error-page"
        file: "static/content/pages/error.json"
        fields:
          - { label: Error title, name: errorTitle, widget: string }
          - { label: Error subtitle, name: errorSubtitle, widget: string }
          - { label: Error title icon, name: errorTitleIcon, widget: string }

      - label: "Channel Message Page"
        name: "channel-message-page"
        file: "static/content/pages/channel/_id/messages.json"
        fields:
          - { label: Channel page meta title prefix, name: channelPageMetaTitlePrefix, widget: string }
          - { label: Channel page meta description prefix, name: channelPageMetaDescriptionPrefix, widget: string }
          - { label: Channel page meta description postfix, name: channelPageMetaDescriptionPostfix, widget: string }
          - { label: Channel page meta first preposition, name: channelPageMetaFirstPreposition, widget: string }
          - { label: Channel page meta second preposition, name: channelPageMetaSecondPreposition, widget: string }
          - { label: Channel message empty notification text, name: channelMessagesEmptyNotificationText, widget: string }
          - { label: Channel messages input placeholder, name: channelMessagesInputPlaceholder, widget: string }
          - { label: Channel messages empty tooltip text, name: channelMessagesEmptyTooltipText, widget: string }
          - { label: Channel messages send message link text, name: channelMessagesSendMessageLinkText, widget: string }
          - { label: Channel messages subscriber count link prefix, name: channelMessagesSubscriberCountLinkPrefix, widget: string }
          - { label: Channel sidebar title, name: channelSidebarTitle, widget: string }
          - { label: Channel sidebar subtitle postfix, name: channelSidebarSubtitlePostfix, widget: string }
          - { label: Channel sidebar subtitle with users postfix, name: channelSidebarSubtitleWithUsersPostfix, widget: string }
          - { label: Channel sidebar title icon, name: channelSidebarTitleIcon, widget: string }

      - label: "Policy Page"
        name: "policy-page"
        file: "static/content/pages/policy.json"
        fields:
          - { label: Policy page meta title, name: policyPageMetaTitle, widget: string }
          - { label: Policy page meta description, name: policyPageMetaDescription, widget: string }
          - { label: Article, name: article, widget: markdown }
          - { 
              label: "Updated",
              name: "updated",
              widget: "datetime",
              default: "",
              dateFormat: "DD.MM.YYYY",
              timeFormat: "HH:mm", # e.g. 21:07
              format: "LLL",
              pickerUtc: false
            }
      - label: "Welcome Page"
        name: "welcome-page"
        file: "static/content/pages/welcome.json"
        fields:
          - { label: Welcome page meta title, name: welcomePageMetaTitle, widget: string }
          - { label: Welcome page meta description, name: welcomePageMetaDescription, widget: string }        
          - { label: Article, name: article, widget: markdown }
          - { 
              label: "Updated",
              name: "updated",
              widget: "datetime",
              default: "",
              dateFormat: "DD.MM.YYYY",
              timeFormat: "HH:mm", # e.g. 21:07
              format: "LLL",
              pickerUtc: false
            }

  - label: "Furniture"
    name: "furniture"
    files:
      - label: "Cookiebar"
        name: "cookiebar"
        file: "static/content/furniture/cookiebar.json"
        fields:
          - { label: Cookiebar summary text, name: cookiebarSummaryText, widget: string }
          - { label: Cookiebar button label, name: cookiebarButtonLabel, widget: string }
          - { label: Cookiebar policy link, name: cookiebarPolicyLink, widget: string }
          - { label: Cookiebar policy link text, name: cookiebarPolicyLinkText, widget: string }

      - label: "Disconnection Modal"
        name: "disconnection-modal"
        file: "static/content/furniture/disconnection-modal.json"
        fields:
          - { label: Disconnection modal spam message, name: disconnectionModalSpamMessage, widget: string }
          - { label: Disconnection modal default message, name: disconnectionModalDefaultMessage, widget: string }
          - { label: Reconnection button label, name: reconnectionButtonLabel, widget: string }

      - label: "Loading Modal"
        name: "loading-modal"
        file: "static/content/furniture/loadimg-modal.json"
        fields:
          - { label: Loading modal spam message, name: loadingModalMessage, widget: string }

      - label: "Warning Modal"
        name: "warning-modal"
        file: "static/content/furniture/warning-modal.json"
        fields:
          - { label: Warning modal spam message, name: warningModalTitle, widget: string }
      
      - label: "Info Page"
        name: "info-page"
        file: "static/content/furniture/info-page.json"
        fields:
          - { label: Update Date Prefix, name: updateDatePrefix, widget: string }

      - label: "Sidebar"
        name: "sidebar"
        file: "static/content/furniture/sidebar.json"
        fields:
          - { label: Sidebar logo subtitle, name: sidebarLogoSubtitle, widget: string }

      - label: "Logo"
        name: "logo"
        file: "static/content/furniture/logo.json"
        fields:
          - { label: Logo default subtitle, name: logoDefaultSubtitle, widget: string }
          - { label: Logo logged in subtitle prefix, name: logoLoggedInSubtitlePrefix, widget: string }
          - { label: Logo logged in subtitle postfix, name: logoLoggedInSubtitlePostfix, widget: string }

      - label: "SEO"
        name: "seo"
        file: "static/content/furniture/seo.json"
        fields:
          - { label: Meta title prefix, name: metaTitlePrefix, widget: string }
          - { label: Default meta title postfix, name: defaultMetaTitlePostfix, widget: string }
          - { label: Default meta description, name: defaultMetaDescription, widget: string }

  - label: "API"
    name: "api"
    files:
      - label: "API Endpoints"
        name: "api-endpoints"
        file: "static/content/api/api-endpoints.json"
        fields:
          - { label: Auth API Server, name: authApiServer, widget: string }
          - { label: Auth API port, name: authApiPort, widget: string }
          - { label: Auth API protocol, name: authApiProtocol, widget: string }
          - { label: Database Server, name: databaseServer, widget: string }
          - { label: Database port, name: databasePort, widget: string }
          - { label: Database protocol, name: databaseProtocol, widget: string }
          - { label: Socket API Server, name: socketApiServer, widget: string }
          - { label: Socket API port, name: socketApiPort, widget: string }
          - { label: Socket API protocol, name: socketApiProtocol, widget: string }

      - label: "Heartbeat Settings"
        name: "heartbeat-settings"
        file: "static/content/api/heartbeat-settings.json"
        fields:
          - { label: Heartbeat Duration, name: heartbeatDuration, widget: number }
          - { label: Heartbeat Timeout Duration, name: heartbeatTimeoutDuration, widget: number }
      
      - label: "Segment Metadata"
        name: "segment-metadata"
        file: "static/content/api/segment-metadata.json"
        fields:
          - { label: Segment Spread, name: segmentSpread, widget: number }
