[{"proj": "merchantx/ma-webapp", "file": "src/app/component/change-password/change-password.component.html", "ref": "develop", "q": "password", "data": "<div class=\"container-login\">\n  <!-- Bên trái -->\n  <div class=\"left-section\">\n\n    <!--  Form đổi mật khẩu -->\n    <div class=\"form-container\">\n      <div class=\"logo-pw\">\n        <img [src]=\" assetPath + '/assets/images/logo_login.svg'\" alt=\"MerchantX Logo\" />\n      </div>\n\n      <div class=\"back-text mb-3 cursor-pointer\" (click)=\"onChangePassword()\">\n        <img alt=\"icon\" [src]=\"'/assets/imag"}, {"proj": "merchantx/ma-webapp", "file": "src/app/component/change-password/change-password.component.scss", "ref": "develop", "q": "password", "data": "@import \"../../../scss/mixins\";\n@import \"../../../scss/variables\";\n\n.container-login {\n  display: flex;\n  flex-wrap: wrap;\n  width: 100%;\n  height: 100vh;\n  justify-content: center;\n\n  @media (max-width: 992px) {\n    flex-direction: column;\n    height: auto;\n  }\n}\n\n.left-section {\n  display: flex;\n  flex-direction: column;\n  position: relative;\n  width: 50%;\n  min-width: 320px;\n  min-height: 100vh"}, {"proj": "merchantx/ma-webapp", "file": "src/app/component/change-password/change-password.component.ts", "ref": "develop", "q": "password", "data": "import {NgIf} from '@angular/common';\nimport {Component, OnInit} from '@angular/core';\nimport {AbstractControl, FormBuilder, FormGroup, FormsModule, Validators} from '@angular/forms';\nimport {ActivatedRoute, Router} from '@angular/router';\nimport {ButtonModule} from 'primeng/button';\nimport {InputTextModule} from 'primeng/inputtext';\nimport {MaterialModule} from '../../base/shared/material.module'"}, {"proj": "merchantx/ma-webapp", "file": "src/app/component/change-password/dialog-change-pw/dialog-change-pw.component.html", "ref": "develop", "q": "password", "data": "<div class=\"d-flex justify-content-between modal-header\">\n  <h4 class=\"modal-title title-m-bold color-040d1f\" [innerHTML]=\"data?.title\"></h4>\n  <span class=\"icon-close_large cursor-pointer\" (click)=\"onClose()\"></span>\n</div>\n<div class=\"modal-body\">\n  <form [formGroup]=\"formChangePw\">\n    <div class=\"row m-b-32\">\n      <label class=\"form-label title-s-semibold color-040d1f\" for=\"current-password\">"}, {"proj": "merchantx/ma-webapp", "file": "src/app/component/change-password/dialog-change-pw/dialog-change-pw.component.scss", "ref": "develop", "q": "password", "data": "@import \"../../../../scss/mixins\";\n@import \"../../../../scss/variables\";\n@import \"../../../../scss/mbutton\";\n\n::ng-deep .dialog-change-pw .mdc-dialog__surface {\n  border-radius: 4px !important;\n}\n\n.modal-header {\n  background-color: $color-surface-highlight-main;\n  color: $color-text-neutral-main;\n  padding: $spacing-l;\n}\n\n.modal-footer {\n  gap: $spacing-m;\n  padding: $spacing-l;\n}\n\n.modal-body {\n"}, {"proj": "merchantx/ma-webapp", "file": "src/app/component/change-password/dialog-change-pw/dialog-change-pw.component.ts", "ref": "develop", "q": "password", "data": "import {Component, Inject, OnInit} from '@angular/core';\nimport {MAT_DIALOG_DATA, MatDialog, MatDialogRef} from '@angular/material/dialog';\nimport {Button} from 'primeng/button';\nimport {AbstractControl, FormBuilder, FormGroup, FormsModule, Validators} from '@angular/forms';\nimport {MaterialModule} from '../../../base/shared/material.module';\nimport {InputCommon} from '../../../common/directives/i"}, {"proj": "merchantx/ma-webapp", "file": "src/app/app.component.ts", "ref": "develop", "q": "password", "data": "    this.router.events.subscribe(() => {\n      const currentPath = this.router.url.split('?')[0]; // Lấy đường dẫn chính, bỏ query params\n      this.showLayout = !['/login', '/change-password'].includes(currentPath);\n    });\n  }\n"}, {"proj": "merchantx/ma-webapp", "file": "src/app/app.routes.ts", "ref": "develop", "q": "password", "data": "import { UserProfileComponent } from './component/user-profile/user-profile.component';\nimport { authGuard } from './common/guards/auth.guard';\nimport { ChangePasswordComponent } from './component/change-password/change-password.component';\nimport { RoleManagementComponent } from './component/role-management/role-management.component';\nimport { CreateRoleComponent } from './component/role-manageme"}, {"proj": "merchantx/ma-webapp", "file": "src/app/base/layout/header/header.component.html", "ref": "develop", "q": "password", "data": "          <span class=\"title-m-regular\">Hồ sơ người dùng</span>\n        </button>\n        <button mat-menu-item (click)=\"doChangePassword()\">\n          <mat-icon class=\"icon-change_password\"></mat-icon>\n          <span class=\"title-m-regular\">Đổi mật khẩu</span>\n        </button>\n"}, {"proj": "merchantx/ma-webapp", "file": "src/app/base/layout/header/header.component.ts", "ref": "develop", "q": "password", "data": "import {MatDialog} from '@angular/material/dialog';\nimport {environment} from '../../../../environments/environment';\nimport {DialogChangePwComponent} from '../../../component/change-password/dialog-change-pw/dialog-change-pw.component';\n\n@Component({\n"}, {"proj": "merchantx/ma-webapp", "file": "src/app/common/enum/EApiUrl.ts", "ref": "develop", "q": "password", "data": "  UPDATE_AVATAR = 'user/update-avatar',\n  SEND_VERIFY_MAIL = 'user/verification/',\n  CHANGE_PASSWORD = \"user/change-pass\",\n  FORGET_PASSWORD=\"forget-password/send-mail\",\n  RESET_PASSWORD=\"forget-password/reset-password\",\n  LOGOUT = \"auth/logout\",\n  AUTO_LOGOUT = \"auth/auto-logout\",\n  VERIFY_MAIL = 'user/verify-email',\n  CHANGE_NEW_PW = 'user/change-new-password',\n}\n\n"}, {"proj": "merchantx/ma-webapp", "file": "src/app/common/service/auth/authentication.service.ts", "ref": "develop", "q": "password", "data": "\n    let userInfor = JSON.parse(decoded.sub);\n    if (userInfor[\"firstChangePassword\"] === 0)\n      this.router.navigate(['/change-password']);\n    else\n      this.router.navigate(['/dashboard']);\n"}, {"proj": "merchantx/ma-webapp", "file": ".gitlab-ci.yml", "ref": "develop", "q": "secret", "data": "# You can override the included template(s) by including variable overrides\n# SAST customization: https://docs.gitlab.com/ee/user/application_security/sast/#customizing-the-sast-settings\n# Secret Detection customization: https://docs.gitlab.com/ee/user/application_security/secret_detection/pipeline/#customization\n# Dependency Scanning customization: https://docs.gitlab.com/ee/user/application_secu"}, {"proj": "merchantx/ma-webapp", "file": "src/app/component/login/login.component.ts", "ref": "develop", "q": "secret", "data": "  titleTextMail !: string;\n  isFormMail: boolean = false;\n  secretKey = 'merchantX@2025@#';\n  constructor(\n    private fb: FormBuilder,\n"}]