<div #photoContainer class="photo-container" (mouseover)="mouseOver()" (mouseout)="mouseOut()">
  <img #img [src]="thumbnail.Src" *ngIf="thumbnail.Available">

  <app-gallery-grid-photo-loading
    [error]="thumbnail.Error"
    [animate]="thumbnail.loading"
    *ngIf="!thumbnail.Available">
  </app-gallery-grid-photo-loading>

  <!--Info box -->
  <div #info class="info"
       *ngIf="infoBar.visible"
       [style.margin-top.px]="infoBar.marginTop"
       [style.background]="infoBar.background"
       [style.width.px]="container.nativeElement.offsetWidth">
    <div class="photo-name">{{gridPhoto.photo.name}}</div>

    <div class="photo-position" *ngIf="gridPhoto.hasPositionData()">
      <span class="oi oi-map-marker"></span>
      <ng-template [ngIf]="getPositionText()">
        <a [routerLink]="['/search', getPositionText(), {type:SearchTypes[SearchTypes.position]}]"
           *ngIf="searchEnabled">
          {{getPositionText()}}
        </a>
        <span *ngIf="!searchEnabled">{{getPositionText()}}</span>
      </ng-template>
    </div>

    <div class="photo-keywords" *ngIf="gridPhoto.photo.metadata.keywords && gridPhoto.photo.metadata.keywords.length">
      <ng-template ngFor let-keyword [ngForOf]="gridPhoto.photo.metadata.keywords" let-last="last">
        <a *ngIf="searchEnabled"
           [routerLink]="['/search', keyword, {type: SearchTypes[SearchTypes.keyword]}]">#{{keyword}}</a>
        <span *ngIf="!searchEnabled">#{{keyword}}</span>
        <ng-template [ngIf]="!last">, </ng-template>
      </ng-template>

    </div>
  </div>
</div>
