HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux ip-172-31-42-149 5.15.0-1084-aws #91~20.04.1-Ubuntu SMP Fri May 2 07:00:04 UTC 2025 aarch64
User: ubuntu (1000)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/vhost/disk-apps/pwa.sports-crowd.com/src/app/pages/card-add/card-add.html
<ion-header class="ion-no-border">
  <ion-toolbar class="ion-text-center">
    <ion-back-button defaultHref="/app/tabs/settings/cards" slot="start"></ion-back-button>
    <ion-title>{{ 'BUTTON_NEW_CARD' | translate }}</ion-title>
  </ion-toolbar>
</ion-header>

<ion-content class="ion-padding">
  <form #formAddCard="ngForm" (ngSubmit)="saveCard(formAddCard)">
    <ion-list>
      <ion-grid>
        <ion-row>
          <ion-col size="2">
            <img src="../../assets/img/creditCardLogo/{{typeImage}}" class="marginTop20" />
          </ion-col>
          <ion-col size="10">
            <ion-label class="textTittle marginLeft55">{{ 'NUMBER_CARD' | translate }}</ion-label>
            <ion-item class="inputBorderRadius marginTop0" lines="none">
              <ion-input
                type="tel"
                maxlength="19"
                placeholder="{{ 'NUMBER_CARD_PLACEHOLDER' | translate }}"
                [(ngModel)]="numberCardAdd"
                name="numberCard"
                #numberCard="ngModel"
                required
                (ngModelChange)="formatCardNumber($event)"
              ></ion-input>
              <ion-button type="submit" color="primary" expand="block" fill="clear" (click)="cardScanning()"
                ><ion-icon name="camera-outline"> </ion-icon>
              </ion-button>
            </ion-item>

            <div
              *ngIf="numberCard.invalid && (numberCard.dirty || numberCard.touched) || statusInvalidNumberCard"
              class="inputRequired ion-text-center"
            >
              <div *ngIf="statusInvalidNumberCard || numberCard.errors.required">{{ 'NUMBER_CARD_REQUIRED' | translate}}</div>
            </div>
          </ion-col>
        </ion-row>
      </ion-grid>

      <ion-grid>
        <ion-row>
          <ion-col col-6>
            <ion-label class="textTittle">{{ 'DATE_CARD' | translate }}</ion-label>
            <ion-item class="inputBorderRadius marginTop0" lines="none">
              <ion-input
                type="tel"
                maxlength="5"
                placeholder="{{ 'DATE_CARD_PLACEHOLDER' | translate }}"
                [(ngModel)]="dateAdd"
                #date="ngModel"
                required
                name="date"
                (keyup)="formatCardDate($event);"
              ></ion-input>
            </ion-item>

            <div *ngIf="date.invalid && (date.dirty || date.touched) || statusInvalidDate" class="inputRequired ion-text-center">
              <div *ngIf="statusInvalidDate || date.errors.required">{{ 'DATE_CARD_REQUIRED' | translate}}</div>
            </div>
          </ion-col>

          <ion-col col-6>
            <ion-label class="textTittle">{{ 'CVC_CARD' | translate }}</ion-label>
            <ion-item class="inputBorderRadius marginTop0" lines="none">
              <ion-input
                type="tel"
                maxlength="4"
                placeholder="{{ 'CVC_CARD_PLACEHOLDER' | translate }}"
                [(ngModel)]="cvcAdd"
                #cvc="ngModel"
                required
                name="cvc"
                (keyup)="formatCardCvv($event);"
              ></ion-input>
            </ion-item>

            <div *ngIf="cvc.invalid && (cvc.dirty || cvc.touched) || statusInvalidCVC" class="inputRequired ion-text-center">
              <div *ngIf="statusInvalidCVC || cvc.errors.required">{{ 'CVC_CARD_REQUIRED' | translate}}</div>
            </div>
          </ion-col>
        </ion-row>
      </ion-grid>

      <ion-grid>
        <ion-row>
          <ion-col col-12>
            <ion-label class="textTittle">{{ 'NAME_CARD' | translate }}</ion-label>
            <ion-item class="inputBorderRadius marginTop0" lines="none">
              <ion-input
                type="text"
                placeholder="{{ 'NAME_CARD_PLACEHOLDER' | translate }}"
                [(ngModel)]="nameAdd"
                #name="ngModel"
                required
                name="name"
              ></ion-input>
            </ion-item>

            <div *ngIf="name.invalid && (name.dirty || name.touched) || statusInvalidName && name.invalid" class="inputRequired ion-text-center">
              <div *ngIf="statusInvalidName || name.errors.required">{{ 'NAME_CARD_REQUIRED' | translate}}</div>
            </div>
          </ion-col>
        </ion-row>
      </ion-grid>

      <ion-label>
        <p class="text1Verify ion-text-center">{{ 'TEXT1_VERIFY_CARD' | translate }}</p>
        <p class="ion-text-center">{{ 'TEXT2_VERIFY_CARD' | translate }}</p>
        <p class="textTittle ion-text-center">{{ 'TEXT3_VERIFY_CARD' | translate }}</p>
      </ion-label>

      <ion-button type="submit" color="primary" shape="round" expand="block" fill="solid" class="marginTop10"
        >{{ 'ADD_CARD_BUTTON' | translate }}</ion-button
      >
    </ion-list>
  </form>
</ion-content>