|
1 | 1 | import { Component, DestroyRef, Input, OnDestroy, OnInit } from '@angular/core'; |
| 2 | +import { MatIconButton } from '@angular/material/button'; |
| 3 | +import { MatIcon } from '@angular/material/icon'; |
| 4 | +import { TranslocoModule } from '@ngneat/transloco'; |
2 | 5 | import { Operation } from 'realtime-server/lib/esm/common/models/project-rights'; |
3 | 6 | import { SF_PROJECT_RIGHTS, SFProjectDomain } from 'realtime-server/lib/esm/scriptureforge/models/sf-project-rights'; |
4 | 7 | import { BehaviorSubject, Subscription, timer } from 'rxjs'; |
5 | 8 | import { filter, repeat, retry, tap } from 'rxjs/operators'; |
6 | 9 | import { DataLoadingComponent } from 'xforge-common/data-loading-component'; |
| 10 | +import { DonutChartComponent } from 'xforge-common/donut-chart/donut-chart.component'; |
| 11 | +import { I18nService } from 'xforge-common/i18n.service'; |
7 | 12 | import { NoticeService } from 'xforge-common/notice.service'; |
8 | 13 | import { UserService } from 'xforge-common/user.service'; |
9 | 14 | import { quietTakeUntilDestroyed } from 'xforge-common/util/rxjs-util'; |
10 | | - |
11 | | -import { MatIconButton } from '@angular/material/button'; |
12 | | -import { MatIcon } from '@angular/material/icon'; |
13 | | -import { TranslocoModule } from '@ngneat/transloco'; |
14 | | -import { DonutChartComponent } from 'xforge-common/donut-chart/donut-chart.component'; |
15 | | -import { I18nService } from 'xforge-common/i18n.service'; |
16 | 15 | import { SFProjectProfileDoc } from '../../core/models/sf-project-profile-doc'; |
17 | 16 | import { SFProjectService } from '../../core/sf-project.service'; |
18 | 17 | import { TranslationEngineService } from '../../core/translation-engine.service'; |
19 | 18 | import { RemoteTranslationEngine } from '../../machine-api/remote-translation-engine'; |
| 19 | + |
20 | 20 | @Component({ |
21 | 21 | selector: 'app-training-progress', |
22 | 22 | templateUrl: './training-progress.component.html', |
|
0 commit comments