<commit_before><div class="login-title">
  <canvas class="login-canvas"></canvas>
</div>

<div class="login-box">
  <div class="login-logo-container" [style.opacity]="isStarted ? 1 : 0">
    <img src="/assets/imgs/console.svg" class="ci-login-logo">
  </div>

  <ci-card>
    <ci-card-title>
      {{ isRegister ? "注册" : "登陆" }}
    </ci-card-title>
    <div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label" ci-mdl>
      <input class="mdl-textfield__input" type="text" id="ci-login-email" [(ngModel)]="data.email" (keyup.enter)="commit()">
      <label class="mdl-textfield__label" for="ci-login-email">邮箱</label>
    </div>
    <div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label" ci-mdl *ngIf="!isRegister">
      <input class="mdl-textfield__input" type="password" id="ci-login-passwd" [(ngModel)]="data.passwd" (keyup.enter)="commit()">
      <label class="mdl-textfield__label" for="ci-login-passwd">密码</label>
    </div>
    <div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label" ci-mdl *ngIf="isRegister">
      <input class="mdl-textfield__input" type="text" id="ci-login-realname" [(ngModel)]="data.realname" (keyup.enter)="commit()">
      <label class="mdl-textfield__label" for="ci-login-realname">真实姓名</label>
    </div>
    <ci-card-actions>
      <button class="mdl-button mdl-button--raised mdl-button--colored mdl-js-button mdl-js-ripple-effect" (click) = "commit()" ci-mdl>
        {{ isRegister ? "注册" : "登陆" }}
      </button>
      <button class="mdl-button mdl-js-button mdl-js-ripple-effect state-button" (click)="switchState()" ci-mdl>
        {{ isRegister ? "登陆" : "注册" }}
      </button>
    </ci-card-actions>
  </ci-card>

  <div class="login-extra" [style.opacity]="isStarted ? 1 : 0">
    <a (click)="requestReset()">重置密码</a>
    <br><br>
    在新用户注册时，初始密码会发至您的注册邮箱
  </div>
</div>

<div class="init-overlap" *ngIf = "needInit" [ngStyle] = "{ opacity: showInit ? 1 : 0 }">
  <ci-card class="init-card">
    <ci-card-title>
      还差一步...
    </ci-card-title>
    <div class="mdl-card__supporting-text">
      在您能第一次登陆前，我们需要您初始化您的账户。请填写如下信息:
    </div>

    <div class="mdl-card__supporting-text ci-annotation-normal">
      若下拉栏中没有您的学校，请您手动填写。
    </div>

    <div class="ci-radios ci-radios-flex" ci-mdl>
      <div class="ci-radios-title">您目前在读</div>
      <label class="mdl-radio mdl-js-radio mdl-js-ripple-effect" for="ci-login-school-type-junior" [ngClass]="{'is-checked': data.schoolType == 1}" ci-mdl>
        <input type="radio"
          id="ci-login-school-type-junior"
          class="mdl-radio__button"
          (click)="data.schoolType = 1"
          [checked]="data.schoolType == 1">
        <span class="mdl-radio__label">初中</span>
      </label>

      <label class="mdl-radio mdl-js-radio mdl-js-ripple-effect" for="ci-login-school-type-senior" [ngClass]="{'is-checked': data.schoolType == 2}" ci-mdl>
        <input type="radio"
          id="ci-login-school-type-senior"
          class="mdl-radio__button"
          (click)="data.schoolType = 2"
          [checked]="data.schoolType == 2">
        <span class="mdl-radio__label">高中</span>
      </label>

      <label class="mdl-radio mdl-js-radio mdl-js-ripple-effect" for="ci-login-school-type-university" [ngClass]="{'is-checked': data.schoolType == 3}" ci-mdl>
        <input type="radio"
          id="ci-login-school-type-university"
          class="mdl-radio__button"
          (click)="data.schoolType = 3"
          [checked]="data.schoolType == 3">
        <span class="mdl-radio__label">大学</span>
      </label>

      <label class="mdl-radio mdl-js-radio mdl-js-ripple-effect" for="ci-login-school-type-other" [ngClass]="{'is-checked': data.schoolType == 4}" ci-mdl>
        <input type="radio"
          id="ci-login-school-type-other"
          class="mdl-radio__button"
          (click)="data.schoolType = 4"
          [checked]="data.schoolType == 4">
        <span class="mdl-radio__label">其他</span>
      </label>
    </div>

    <div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label" *ngIf = "data.schoolType != 4" ci-mdl [ngClass]="{'is-dirty': data.schoolName}">
      <input class="mdl-textfield__input" type="text" list="ci-login-school-list" id="ci-profile-school-name" [(ngModel)]="data.schoolName">
      <label class="mdl-textfield__label" for="ci-login-school-name">您在读的学校名</label>
    </div>

    <div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label" *ngIf = "data.schoolType != 4" ci-mdl [ngClass]="{'is-dirty': data.graduationYear != undefined}">
      <input class="mdl-textfield__input" type="number" id="ci-profile-graduation-year" [(ngModel)]="data.graduationYear">
      <label class="mdl-textfield__label" for="ci-login-graduation-year">您的毕业年份</label>
    </div>

    <datalist id="ci-login-school-list">
      <option *ngFor="let school of schoolList" [value]="school"></option>
    </datalist>

    <ci-card-actions>
      <button class="mdl-button mdl-button--raised mdl-button--colored mdl-js-button mdl-js-ripple-effect" (click) = "init()" ci-mdl>
        提交
      </button>
    </ci-card-actions>
  </ci-card><commit_msg>Fixed: school name incorrectly hidden during initialization<commit_after><div class="login-title">
  <canvas class="login-canvas"></canvas>
</div>

<div class="login-box">
  <div class="login-logo-container" [style.opacity]="isStarted ? 1 : 0">
    <img src="/assets/imgs/console.svg" class="ci-login-logo">
  </div>

  <ci-card>
    <ci-card-title>
      {{ isRegister ? "注册" : "登陆" }}
    </ci-card-title>
    <div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label" ci-mdl>
      <input class="mdl-textfield__input" type="text" id="ci-login-email" [(ngModel)]="data.email" (keyup.enter)="commit()">
      <label class="mdl-textfield__label" for="ci-login-email">邮箱</label>
    </div>
    <div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label" ci-mdl *ngIf="!isRegister">
      <input class="mdl-textfield__input" type="password" id="ci-login-passwd" [(ngModel)]="data.passwd" (keyup.enter)="commit()">
      <label class="mdl-textfield__label" for="ci-login-passwd">密码</label>
    </div>
    <div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label" ci-mdl *ngIf="isRegister">
      <input class="mdl-textfield__input" type="text" id="ci-login-realname" [(ngModel)]="data.realname" (keyup.enter)="commit()">
      <label class="mdl-textfield__label" for="ci-login-realname">真实姓名</label>
    </div>
    <ci-card-actions>
      <button class="mdl-button mdl-button--raised mdl-button--colored mdl-js-button mdl-js-ripple-effect" (click) = "commit()" ci-mdl>
        {{ isRegister ? "注册" : "登陆" }}
      </button>
      <button class="mdl-button mdl-js-button mdl-js-ripple-effect state-button" (click)="switchState()" ci-mdl>
        {{ isRegister ? "登陆" : "注册" }}
      </button>
    </ci-card-actions>
  </ci-card>

  <div class="login-extra" [style.opacity]="isStarted ? 1 : 0">
    <a (click)="requestReset()">重置密码</a>
    <br><br>
    在新用户注册时，初始密码会发至您的注册邮箱
  </div>
</div>

<div class="init-overlap" *ngIf = "needInit" [ngStyle] = "{ opacity: showInit ? 1 : 0 }">
  <ci-card class="init-card">
    <ci-card-title>
      还差一步...
    </ci-card-title>
    <div class="mdl-card__supporting-text">
      在您能第一次登陆前，我们需要您初始化您的账户。请填写如下信息:
    </div>

    <div class="mdl-card__supporting-text ci-annotation-normal">
      若下拉栏中没有您的学校，请您手动填写。
    </div>

    <div class="ci-radios ci-radios-flex" ci-mdl>
      <div class="ci-radios-title">您目前在读</div>
      <label class="mdl-radio mdl-js-radio mdl-js-ripple-effect" for="ci-login-school-type-junior" [ngClass]="{'is-checked': data.schoolType == 1}" ci-mdl>
        <input type="radio"
          id="ci-login-school-type-junior"
          class="mdl-radio__button"
          (click)="data.schoolType = 1"
          [checked]="data.schoolType == 1">
        <span class="mdl-radio__label">初中</span>
      </label>

      <label class="mdl-radio mdl-js-radio mdl-js-ripple-effect" for="ci-login-school-type-senior" [ngClass]="{'is-checked': data.schoolType == 2}" ci-mdl>
        <input type="radio"
          id="ci-login-school-type-senior"
          class="mdl-radio__button"
          (click)="data.schoolType = 2"
          [checked]="data.schoolType == 2">
        <span class="mdl-radio__label">高中</span>
      </label>

      <label class="mdl-radio mdl-js-radio mdl-js-ripple-effect" for="ci-login-school-type-university" [ngClass]="{'is-checked': data.schoolType == 3}" ci-mdl>
        <input type="radio"
          id="ci-login-school-type-university"
          class="mdl-radio__button"
          (click)="data.schoolType = 3"
          [checked]="data.schoolType == 3">
        <span class="mdl-radio__label">大学</span>
      </label>

      <label class="mdl-radio mdl-js-radio mdl-js-ripple-effect" for="ci-login-school-type-other" [ngClass]="{'is-checked': data.schoolType == 4}" ci-mdl>
        <input type="radio"
          id="ci-login-school-type-other"
          class="mdl-radio__button"
          (click)="data.schoolType = 4"
          [checked]="data.schoolType == 4">
        <span class="mdl-radio__label">其他</span>
      </label>
    </div>

    <div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label" ci-mdl [ngClass]="{'is-dirty': data.schoolName}">
      <input class="mdl-textfield__input" type="text" list="ci-login-school-list" id="ci-profile-school-name" [(ngModel)]="data.schoolName">
      <label class="mdl-textfield__label" for="ci-login-school-name">您在读的学校名</label>
    </div>

    <div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label" *ngIf = "data.schoolType != 4" ci-mdl [ngClass]="{'is-dirty': data.graduationYear != undefined}">
      <input class="mdl-textfield__input" type="number" id="ci-profile-graduation-year" [(ngModel)]="data.graduationYear">
      <label class="mdl-textfield__label" for="ci-login-graduation-year">您的毕业年份</label>
    </div>

    <datalist id="ci-login-school-list">
      <option *ngFor="let school of schoolList" [value]="school"></option>
    </datalist>

    <ci-card-actions>
      <button class="mdl-button mdl-button--raised mdl-button--colored mdl-js-button mdl-js-ripple-effect" (click) = "init()" ci-mdl>
        提交
      </button>
    </ci-card-actions>
  </ci-card>
{'fraction_non_alphanumeric': 0.19325538699391245, 'fraction_numerical': 0.0037684800463812927, 'mean_word_length': 3.3071161048689137, 'pattern_counts': {'":': 0, '<': 185, '<?xml version=': 0, '>': 185, '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': '2056246', 'n_tokens_mistral': 3995, 'n_tokens_neox': 3974, 'n_words': 562}