<div [class]="widget === false ? 'full-container' : ''">

  <div *ngIf="!tableOnly" class="card-header mb-0 mb-md-4" [style]="widget ? 'display:none' : ''">
    <form [formGroup]="radioGroupForm" class="formRadioGroup" *ngIf="(hashrateObservable$ | async) as hashrates">
      <div class="btn-group btn-group-toggle" ngbRadioGroup name="radioBasic" formControlName="dateSpan">
        <label ngbButtonLabel class="btn-primary btn-sm" *ngIf="hashrates.availableTimespanDay >= 90">
          <input ngbButton type="radio" [value]="'3m'"> 3M
        </label>
        <label ngbButtonLabel class="btn-primary btn-sm" *ngIf="hashrates.availableTimespanDay >= 180">
          <input ngbButton type="radio" [value]="'6m'"> 6M
        </label>
        <label ngbButtonLabel class="btn-primary btn-sm" *ngIf="hashrates.availableTimespanDay >= 365">
          <input ngbButton type="radio" [value]="'1y'"> 1Y
        </label>
        <label ngbButtonLabel class="btn-primary btn-sm" *ngIf="hashrates.availableTimespanDay >= 730">
          <input ngbButton type="radio" [value]="'2y'"> 2Y
        </label>
        <label ngbButtonLabel class="btn-primary btn-sm" *ngIf="hashrates.availableTimespanDay >= 1095">
          <input ngbButton type="radio" [value]="'3y'"> 3Y
        </label>
        <label ngbButtonLabel class="btn-primary btn-sm">
          <input ngbButton type="radio" [value]="'all'"> ALL
        </label>
      </div>
    </form>
  </div>

  <div *ngIf="!tableOnly" [class]="!widget ? 'chart' : 'chart-widget'"
    echarts [initOpts]="chartInitOptions" [options]="chartOptions"></div>
  <div class="text-center loadingGraphs" *ngIf="isLoading">
    <div class="spinner-border text-light"></div>
  </div>
  
  <table *ngIf="tableOnly" class="table latest-transactions" style="min-height: 295px">
    <thead>
      <tr>
        <th class="d-none d-md-block" i18n="block.height">Height</th>
        <th i18n="mining.adjusted" class="text-left">Adjusted</th>
        <th i18n="mining.difficulty" class="text-right">Difficulty</th>
        <th i18n="mining.change" class="text-right">Change</th>
      </tr>
    </thead>
    <tbody *ngIf="(hashrateObservable$ | async) as data">
      <tr *ngFor="let diffChange of data.difficulty">
        <td class="d-none d-md-block"><a [routerLink]="['/block' | relativeUrl, diffChange.height]">{{ diffChange.height }}</a></td>
        <td class="text-left"><app-time-since [time]="diffChange.timestamp" [fastRender]="true"></app-time-since></td>
        <td class="text-right">{{ diffChange.difficultyShorten }}</td>
        <td class="text-right" [style]="diffChange.change >= 0 ? 'color: #42B747' : 'color: #B74242'">{{ formatNumber(diffChange.change, locale, '1.2-2') }}%</td>
      </tr>
    </tbody>
  </table>

</div>
