<commit_before><template>
  <v-container
          class="fill-height"
          fluid
  >
    <v-row
            align="center"
            justify="center"
    >
      <v-col
              cols="12"
              sm="8"
              md="6"
      >
        <v-form
          v-model="valid"
          @submit.prevent="login"
        >
          <v-card class="elevation-12 pb-4">
            <v-toolbar
                    color="primary"
                    dark
                    flat
            >
              <v-toolbar-title>Log In</v-toolbar-title>
            </v-toolbar>
            <v-card-text>
              <v-alert
                :value="!!errors && !!errors.length"
                type="error"
              >
                <div v-if="errors.length > 1">
                  <li
                    v-for="error of errors"
                    :key="error.message"
                  >
                    <b>{{ error.message }}</b>
                    {{ error }}
                  </li>
                </div>
                <div v-else>
                  {{ errors[0] }}
                </div>
              </v-alert>
              <v-text-field
                v-model="email"
                label="Email"
                outline
                required
                :disabled="working"
                :rules="email_rules"
                :error-messages="email_errors"
                @change="email_errors=[]"
              />
              <v-text-field
                v-model="password"
                label="Password"
                :append-icon="hide_password ? 'mdi-eye' : 'mdi-eye-off'"
                :type="hide_password ? 'password' : 'text'"
                outline
                required
                :disabled="working"
                :rules="password_rules"
                @click:append="() => (hide_password = !hide_password)"
              />
              <v-layout class="justify-center">
                <v-checkbox
                  v-model="useSessionStorage"
                  label="Keep credentials for entire browser session (session storage)"
                />
              </v-layout>
            </v-card-text>
            <v-card-actions class="justify-center">
              <v-btn
                type="submit"
                color="primary"
                :disabled="!valid || working"
                :loading="working"
              >
                Log In
              </v-btn>
              <v-btn
                id="forgotPassword"
                text
                color="primary"
                :to="{name: 'reset-password', params: email ? {email: email} : {}}"
              >
                Forgot password
              </v-btn>
            </v-card-actions>
          </v-card>
        </v-form>
      </v-col>
    </v-row><commit_msg>fix(webapp): fix tab order on login form<commit_after><template>
  <v-container
          class="fill-height"
          fluid
  >
    <v-row
            align="center"
            justify="center"
    >
      <v-col
              cols="12"
              sm="8"
              md="6"
      >
        <v-form
          v-model="valid"
          @submit.prevent="login"
        >
          <v-card class="elevation-12 pb-4">
            <v-toolbar
                    color="primary"
                    dark
                    flat
            >
              <v-toolbar-title>Log In</v-toolbar-title>
            </v-toolbar>
            <v-card-text>
              <v-alert
                :value="!!errors && !!errors.length"
                type="error"
              >
                <div v-if="errors.length > 1">
                  <li
                    v-for="error of errors"
                    :key="error.message"
                  >
                    <b>{{ error.message }}</b>
                    {{ error }}
                  </li>
                </div>
                <div v-else>
                  {{ errors[0] }}
                </div>
              </v-alert>
              <v-text-field
                v-model="email"
                label="Email"
                outline
                required
                :disabled="working"
                :rules="email_rules"
                :error-messages="email_errors"
                tabindex="1"
                @change="email_errors=[]"
              />
              <v-text-field
                v-model="password"
                label="Password"
                :append-icon="hide_password ? 'mdi-eye' : 'mdi-eye-off'"
                :type="hide_password ? 'password' : 'text'"
                outline
                required
                :disabled="working"
                :rules="password_rules"
                tabindex="2"
                @click:append="() => (hide_password = !hide_password)"
              />
              <v-layout class="justify-center">
                <v-checkbox
                  v-model="useSessionStorage"
                  label="Keep credentials for entire browser session (session storage)"
                  tabindex="3"
                />
              </v-layout>
            </v-card-text>
            <v-card-actions class="justify-center">
              <v-btn
                type="submit"
                color="primary"
                depressed
                :disabled="!valid || working"
                :loading="working"
                tabindex="4"
              >
                Log In
              </v-btn>
              <v-btn
                id="forgotPassword"
                text
                color="primary"
                :to="{name: 'reset-password', params: email ? {email: email} : {}}"
                tabindex="5"
              >
                Forgot password
              </v-btn>
            </v-card-actions>
          </v-card>
        </v-form>
      </v-col>
    </v-row>
{'fraction_non_alphanumeric': 0.1226158038147139, 'fraction_numerical': 0.003916893732970027, 'mean_word_length': 0.8626704725658103, 'pattern_counts': {'":': 0, '<': 77, '<?xml version=': 0, '>': 81, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2614898', 'n_tokens_mistral': 1570, 'n_tokens_neox': 1458, 'n_words': 243}