{"version":3,"sources":["webpack:///src/app/modules/home/pages/home.component.ts","webpack:///src/app/modules/home/pages/home.component.html","webpack:///src/app/modules/home/pages/home.component.scss","webpack:///src/app/modules/home/home.guard.ts","webpack:///src/app/modules/home/home-routing.module.ts","webpack:///src/app/modules/home/home.module.ts"],"names":["HomeComponent","router","authService","notification","prescriptionService","this","user","userType","window","location","href","articleIsOnView","articleEl","nativeElement","scrollIntoView","behavior","block","target","visible","localStorage","getItem","query","document","getElementById","value","length","getPrescription","toPromise","then","res","navigate","notify","getPrescriptionsPatient","static","a","nativeAsync","selector","template","HomeGuard","themeService","next","state","getActiveTheme","name","providedIn","routes","path","component","canActivate","HomeRoutingModule","imports","forChild","exports","HomeModule","declarations"],"mappings":"0OAaaA,EAAa,MAIxB,YACUC,EACAC,EACAC,EACAC,GAHA,KAAAH,SACA,KAAAC,cACA,KAAAC,eACA,KAAAC,sBAIV,iBACMC,KAAKC,OACoB,UAAvBD,KAAKC,KAAKC,SACZC,OAAOC,SAASC,KAAO,SAEvBF,OAAOC,SAASC,KAAO,cAK7B,WACE,OAAOL,KAAKH,YAAYI,OAG1B,yBACE,OAAOD,KAAKM,gBAGd,WACGN,KAAKO,UAAUC,cAA8BC,eAAe,CAAEC,SAAU,SAAUC,MAAO,QAG5F,gBAAe,OAAEC,EAAM,QAAEC,IACvBb,KAAKM,gBAAkBO,EAGzB,uBACE,GAAyC,aAArCC,aAAaC,QAAQ,YAA4B,CACnD,MAAMC,EAA2BC,SAASC,eAAe,SAAUC,MAC9C,KAAjBH,EAAMI,OACRpB,KAAKD,oBACFsB,gBAAgBL,GAChBM,YACAC,KAAKC,IACQ,OAARA,EACFxB,KAAKJ,OAAO6B,SAAS,CAAC,8BAA8BT,MAEpDhB,KAAKF,aAAa4B,OAChB,UACA,gBACA,mEAKR1B,KAAKD,oBACF4B,wBAAwBX,GACxBM,YACAC,KAAKC,IAEyB,IADFA,EACTJ,OAChBpB,KAAKJ,OAAO6B,SAAS,CAAC,uCAAuCT,MAE7DhB,KAAKF,aAAa4B,OAChB,UACA,gBACA,8DAMV1B,KAAKF,aAAa4B,OAAO,UAAW,mBAAiB,wD,4BAtFlD,K,MACA,K,MAIA,K,MAHA,M,mCAWN,KAAS,MAAC,UAAW,CAAEE,QAAQ,OAWhC,SAAAC,EAAA,EADCC,EAAA,E,+IAXUnC,EAAa,aALzB,YAAU,CACToC,SAAU,WACVC,SCVa,y4K,QCAA,q8F,iCFkBK,IACK,IACC,IACO,OARpBrC,G,oBGCAsC,EAAS,MACpB,YAAoBrC,EAAwBsC,GAAxB,KAAAtC,SAAwB,KAAAsC,eAE5C,YACEC,EACAC,GAEA,MAAgD,0BAA5CpC,KAAKkC,aAAaG,iBAAiBC,OACrCtC,KAAKJ,OAAO6B,SAAS,CAAC,iBACf,K,4BAnBX,K,MAIO,MAMIQ,EAAS,aAHrB,YAAW,CACVM,WAAY,S,iCAGgB,IAA8B,OAD/CN,GCTb,MAAMO,EAAiB,CAAC,CAAEC,KAAM,GAAIC,UAAW/C,EAAegD,YAAa,CAACV,K,IAM/DW,EAAiB,QAAjBA,EAAiB,aAJ7B,YAAS,CACRC,QAAS,CAAC,IAAaC,SAASN,IAChCO,QAAS,CAAC,QAECH,G,oBCDAI,EAAU,QAAVA,EAAU,aAJtB,YAAS,CACRH,QAAS,CAAC,IAAcD,GACxBK,aAAc,CAACtD,MAEJqD","file":"x","sourcesContent":["import { Component, ElementRef, OnInit, ViewChild } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { AuthService } from '@app/core/services/auth.service';\r\nimport { PrescriptionService } from '@app/modules/document/services/prescription.service';\r\nimport { nativeAsync } from '@app/shared/decorators/nativeAsync';\r\nimport { User } from '@app/shared/models/decodedLoginToken';\r\nimport { AppToastService } from '@app/shared/services/app-toast.service';\r\n\r\n@Component({\r\n  selector: 'app-home',\r\n  templateUrl: './home.component.html',\r\n  styleUrls: ['./home.component.scss']\r\n})\r\nexport class HomeComponent implements OnInit {\r\n  @ViewChild('article', { static: true })\r\n  articleEl: ElementRef;\r\n  private articleIsOnView: boolean;\r\n  constructor(\r\n    private router: Router,\r\n    private authService: AuthService,\r\n    private notification: AppToastService,\r\n    private prescriptionService: PrescriptionService\r\n  ) {}\r\n\r\n  @nativeAsync\r\n  async ngOnInit() {\r\n    if (this.user) {\r\n      if (this.user.userType === 'admin') {\r\n        window.location.href = '/admin';\r\n      } else {\r\n        window.location.href = '/dashboard';\r\n      }\r\n    }\r\n  }\r\n\r\n  get user(): User {\r\n    return this.authService.user();\r\n  }\r\n\r\n  get articleElIsVisible(): boolean {\r\n    return this.articleIsOnView;\r\n  }\r\n\r\n  scrollTo(): void {\r\n    (this.articleEl.nativeElement as HTMLElement).scrollIntoView({ behavior: 'smooth', block: 'end' });\r\n  }\r\n\r\n  onIntersection({ target, visible }: { target: Element; visible: boolean }) {\r\n    this.articleIsOnView = visible;\r\n  }\r\n\r\n  validatePrescription() {\r\n    if (localStorage.getItem('userType') === 'pharmacy') {\r\n      const query = (<HTMLInputElement>document.getElementById('query')).value;\r\n      if (query.length === 16) {\r\n        this.prescriptionService\r\n          .getPrescription(query)\r\n          .toPromise()\r\n          .then(res => {\r\n            if (res !== null) {\r\n              this.router.navigate([`/prescription/confirmation/${query}`]);\r\n            } else {\r\n              this.notification.notify(\r\n                'warning',\r\n                'Atenção',\r\n                'Esse código não está associado à nenhuma receita!'\r\n              );\r\n            }\r\n          });\r\n      } else {\r\n        this.prescriptionService\r\n          .getPrescriptionsPatient(query)\r\n          .toPromise()\r\n          .then(res => {\r\n            const prescriptions: any = res;\r\n            if (prescriptions.length !== 0) {\r\n              this.router.navigate([`/prescription/listing-prescriptions/${query}`]);\r\n            } else {\r\n              this.notification.notify(\r\n                'warning',\r\n                'Atenção',\r\n                'Não há receitas prescritas para este paciente'\r\n              );\r\n            }\r\n          });\r\n      }\r\n    } else {\r\n      this.notification.notify('warning', 'Não permitido', 'Função diponível apenas para farmácias');\r\n    }\r\n  }\r\n}\r\n","export default \"<section class=\\\"tiles full-height\\\">\\n  <div class=\\\"row\\\">\\n    <div class=\\\"col-sm-4 bg-primary d-flex pt-50\\\">\\n      <div class=\\\"disclaimer container-fluid\\\">\\n        <h1>Para Médicos e Dentistas</h1>\\n        <p>\\n          Prescreva já e teste nossa plataforma! Mais segurança, menos trabalho. Use seu e-CRM na Receita\\n          Digital! Traga suas prescrições para o futuro! Venha para a Receita Digital!\\n          <br />\\n          <a class=\\\"see-more\\\" href=\\\"#\\\"\\n            >Saiba <sup><i class=\\\"fa fa-plus\\\"></i></sup\\n          ></a>\\n        </p>\\n        <a [routerLink]=\\\"user ? '/dashboard' : '/entry/login'\\\" class=\\\"btn btn-default mt-50\\\">\\n          Prescreva agora!\\n        </a>\\n      </div>\\n    </div>\\n    <div class=\\\"col-sm-4 bg-success d-flex pt-50\\\">\\n      <div class=\\\"disclaimer container-fluid\\\">\\n        <h1>Para Farmácias</h1>\\n        <p>\\n          Venda sem papel, integração com o SNGPC, gestão automatizada, consulta por CPF! Deixe a Receita\\n          Digital fazer mais por você. Com a Receita Digital você otimiza tempo e dinheiro.\\n          <br />\\n          <a class=\\\"see-more\\\" href=\\\"#\\\"\\n            >Saiba <sup><i class=\\\"fa fa-plus\\\"></i></sup\\n          ></a>\\n        </p>\\n        <a [routerLink]=\\\"user ? '/dashboard' : '/entry/login'\\\" class=\\\"btn btn-default mt-50\\\">\\n          Começar Agora\\n        </a>\\n      </div>\\n      <br />\\n    </div>\\n    <div class=\\\"col-sm-4 bg-white d-flex pt-50\\\">\\n      <div class=\\\"disclaimer container-fluid\\\">\\n        <h1 class=\\\"text-primary\\\">Para Pacientes</h1>\\n        <p class=\\\"text-primary\\\">\\n          Tenha todas as suas prescrições ao seu alcance, onde você estiver. Com a Receita Digital o seu\\n          tratamento está a um clique. Com a Receita Digital você otimiza tempo e dinheiro.\\n          <br />\\n          <a class=\\\"see-more text-primary\\\" href=\\\"#\\\"\\n            >Saiba <sup><i class=\\\"fa fa-plus\\\"></i></sup\\n          ></a>\\n        </p>\\n        <a [routerLink]=\\\"user ? '/dashboard' : '/entry/login'\\\" class=\\\"btn btn-primary text-white mt-50\\\">\\n          Começar Agora\\n        </a>\\n      </div>\\n    </div>\\n    <!-- </div> -->\\n  </div>\\n</section>\\n<section class=\\\"secondary-section\\\">\\n  <div class=\\\"more\\\">\\n    <div class=\\\"heading\\\">\\n      <div [class.animate]=\\\"!articleElIsVisible\\\" class=\\\"scroll-to-wrapper\\\">\\n        <button (click)=\\\"scrollTo()\\\" class=\\\"btn btn-success\\\" type=\\\"button\\\" theme>\\n          <i class=\\\"fa fa-arrow-down\\\"></i>\\n        </button>\\n      </div>\\n      <div class=\\\"row\\\">\\n        <div class=\\\"heading-text pl-2x w-100\\\">\\n          <h1 class=\\\"title-extra-light font-xl-50 text-primary\\\">\\n            Saiba mais sobre a Receita Digital!\\n          </h1>\\n        </div>\\n      </div>\\n    </div>\\n    <article\\n      #article\\n      (inViewportAction)=\\\"onIntersection($event)\\\"\\n      [inViewportOptions]=\\\"{ threshold: [0] }\\\"\\n      class=\\\"stacks p-3\\\"\\n      inViewport\\n    >\\n      <div class=\\\"row\\\">\\n        <div class=\\\"col-sm-6\\\">\\n          <div class=\\\"w-75\\\">\\n            <p>\\n              Você já se perguntou porquê toda a sua vida é digital e as receitas médicas ainda são em\\n              papel? <br />\\n              A Receita Digital faz parte de um grupo de empresas inovadoras que está trabalhando pra\\n              trazer mais segurança e praticidade através das prescrições médicas digitais no Brasil.\\n              <br />\\n              Sempre consulte seu médico!\\n            </p>\\n            <div class=\\\"article-footer\\\">\\n              <h6 class=\\\"title text-primary\\\">\\n                O documento é digital, mas a atenção é pessoal!\\n                <!-- <span class=\\\"float-right text-primary d-flex align-items-center\\\">\\n                  <i class=\\\"fa fa-globe-americas\\\"></i>\\n                  <small class=\\\"font-sm-12 text-lowercase\\\">webpage</small>\\n                </span> -->\\n              </h6>\\n            </div>\\n          </div>\\n        </div>\\n        <div class=\\\"col-sm-6\\\">\\n          <div class=\\\"card w-85\\\">\\n            <img alt=\\\"Card image cap\\\" class=\\\"card-img-top\\\" src=\\\"assets/img/pharmacist.jpg\\\" />\\n            <div class=\\\"card-body d-flex flex-column align-items-center pl-5 bg-primary\\\">\\n              <div class=\\\"media\\\">\\n                <!-- <div class=\\\"media-icon text-primary mr-5\\\">\\n                  <i class=\\\"fa fa-user-solid\\\"></i>\\n                </div> -->\\n                <div class=\\\"media-body text-white\\\">\\n                  <h5 class=\\\"mt-0 mb-0 title text-white text-capitalize\\\">MAIS SEGURANÇA</h5>\\n                  <p class=\\\"w-75\\\">\\n                    Escrever um monte de informações cada vez que fizer uma prescrição? Tentar entender o\\n                    que está escrito em uma receita em papel? Precisar da sua receita médica e não estar\\n                    com ela à mão? Não ter certeza se a prescrição foi fraudada ou adulterada? Se você já\\n                    se viveu alguma dessas situações, você precisa conhecer a Receita Digital.\\n                  </p>\\n                </div>\\n              </div>\\n            </div>\\n          </div>\\n        </div>\\n      </div>\\n      <div class=\\\"row\\\">\\n        <div class=\\\"col-sm-6\\\">\\n          <picture>\\n            <img alt=\\\"\\\" class=\\\"img-fluid\\\" src=\\\"assets/img/doctor-with-patient.jpg\\\" />\\n          </picture>\\n        </div>\\n      </div>\\n    </article>\\n  </div>\\n</section>\\n\";","export default \".tiles .disclaimer {\\n  display: flex;\\n  flex-direction: column;\\n  justify-content: space-between;\\n}\\n.tiles .disclaimer a {\\n  width: 173px;\\n  margin: 20px 0px;\\n}\\n.tiles .disclaimer h1,\\n.tiles .disclaimer p {\\n  color: white;\\n}\\n.tiles .disclaimer p {\\n  font-size: 20px;\\n  text-align: justify;\\n}\\n.tiles .disclaimer h1 {\\n  font-family: \\\"problack\\\", sans-serif;\\n  font-size: 51px;\\n  margin-bottom: 0;\\n  line-height: normal;\\n}\\n.tiles .disclaimer .btn {\\n  font-family: \\\"problack\\\", sans-serif;\\n  color: #0b6054;\\n}\\n.other-options {\\n  max-height: 200px;\\n}\\n.other-options *:not(.text-white):not(.form-control) {\\n  color: #000;\\n}\\n.other-options p {\\n  line-height: normal;\\n}\\n.other-options input {\\n  font-size: 10px;\\n}\\n.other-options input::-moz-placeholder {\\n  color: #1b403a;\\n}\\n.other-options input::placeholder, .other-options input {\\n  color: #1b403a;\\n}\\n.other-options input::-moz-placeholder {\\n  text-transform: uppercase;\\n}\\n.other-options input::placeholder {\\n  text-transform: uppercase;\\n}\\n.other-options .input-group-append i {\\n  color: white;\\n}\\n.other-options .text-underline {\\n  font-family: \\\"prosemibold\\\", sans-serif;\\n}\\n.other-options .text-underline:hover {\\n  text-decoration: underline;\\n}\\n.secondary-section {\\n  position: relative;\\n  padding-bottom: 6%;\\n}\\n.secondary-section .scroll-to-wrapper {\\n  position: absolute;\\n  right: 0;\\n  display: flex;\\n  height: 80px;\\n  top: 15.6%;\\n}\\n.secondary-section .scroll-to-wrapper.animate {\\n  animation: action 1s infinite alternate;\\n}\\n.secondary-section .scroll-to-wrapper.animate:hover {\\n  animation-play-state: paused;\\n}\\n.secondary-section .scroll-to-wrapper .btn {\\n  width: 40px;\\n  border-radius: 0;\\n  padding-top: 0;\\n  display: flex;\\n  justify-content: center;\\n}\\n.secondary-section .scroll-to-wrapper .btn i {\\n  position: absolute;\\n  top: 0;\\n  font-size: 1.263rem;\\n  color: #3c3c3c;\\n}\\n@keyframes action {\\n  0% {\\n    transform: translateY(0);\\n  }\\n  100% {\\n    transform: translateY(-10px);\\n  }\\n}\\n.secondary-section .more .heading {\\n  display: flex;\\n  text-transform: none;\\n  flex-direction: column;\\n  letter-spacing: normal;\\n}\\n.secondary-section .more .heading .heading-text {\\n  height: 150px;\\n  display: flex;\\n  align-items: flex-end;\\n  background-color: #c7c7c7;\\n}\\n.secondary-section .more .stacks {\\n  position: relative;\\n}\\n.secondary-section .more .stacks .card {\\n  position: absolute;\\n  transform: translateY(-16%);\\n  border-radius: 0;\\n}\\n.secondary-section .more .stacks .card img {\\n  border-radius: 0;\\n}\\n.media-icon {\\n  width: 73px;\\n  height: 73px;\\n  border-radius: 50%;\\n  background-color: white;\\n  display: flex;\\n  align-items: center;\\n  justify-content: center;\\n}\\n.see-more {\\n  color: white;\\n  font-size: 16px;\\n  border-bottom: 3px solid white;\\n  font-family: \\\"prolight\\\";\\n  padding: 2px;\\n}\\n.see-more.text-primary {\\n  border-bottom-color: #0b6054;\\n}\\n.see-more sup {\\n  top: -0.2em;\\n}\\n.see-more i {\\n  font-size: 11px;\\n}\";","import { Injectable } from '@angular/core';\nimport {\n  ActivatedRouteSnapshot,\n  CanActivate,\n  Router,\n  RouterStateSnapshot,\n  UrlTree\n} from '@angular/router';\nimport { ThemeService } from '@app/theme';\nimport { Observable } from 'rxjs';\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class HomeGuard implements CanActivate {\n  constructor(private router: Router, private themeService: ThemeService) {}\n\n  canActivate(\n    next: ActivatedRouteSnapshot,\n    state: RouterStateSnapshot\n  ): Observable<boolean | UrlTree> | Promise<boolean | UrlTree> | boolean | UrlTree {\n    if (this.themeService.getActiveTheme().name !== 'theme-receita-digital') {\n      this.router.navigate(['entry/login']);\n      return false;\n    }\n    return true;\n  }\n}\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { HomeComponent } from './pages/home.component';\r\nimport { HomeGuard } from './home.guard';\r\n\r\nconst routes: Routes = [{ path: '', component: HomeComponent, canActivate: [HomeGuard] }];\r\n\r\n@NgModule({\r\n  imports: [RouterModule.forChild(routes)],\r\n  exports: [RouterModule]\r\n})\r\nexport class HomeRoutingModule {}\r\n","import { NgModule } from '@angular/core';\r\n\r\nimport { HomeRoutingModule } from './home-routing.module';\r\nimport { HomeComponent } from './pages/home.component';\r\nimport { SharedModule } from '@app/shared';\r\n\r\n@NgModule({\r\n  imports: [SharedModule, HomeRoutingModule],\r\n  declarations: [HomeComponent]\r\n})\r\nexport class HomeModule {}\r\n"]}