Refactor i18n approach (#2875)

* Refactor i18n approach

* chore: move to shared

* chore: add default

* create DialogService and update LoadingService (#2876)

* complete translation infra for ui project, currently broken

* cleanup and more dictionaries

* chore: fix

---------

Co-authored-by: Matt Hill <MattDHill@users.noreply.github.com>
Co-authored-by: Matt Hill <mattnine@protonmail.com>
This commit is contained in:
Alex Inkin
2025-04-17 22:00:59 +07:00
committed by GitHub
parent 47b6509f70
commit 50755d8ba3
175 changed files with 4141 additions and 1831 deletions

View File

@@ -0,0 +1,41 @@
import {
ChangeDetectionStrategy,
Component,
ElementRef,
HostBinding,
HostListener,
} from '@angular/core'
@Component({
standalone: true,
selector: '[ticker]',
template: '<ng-content />',
styles: `
:host {
max-width: 100%;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
transition: text-indent 1s;
&:hover {
text-indent: var(--indent, 0);
text-overflow: clip;
cursor: default;
}
}
`,
changeDetection: ChangeDetectionStrategy.OnPush,
})
export class TickerComponent {
constructor(private readonly elementRef: ElementRef<HTMLElement>) {}
@HostBinding('style.--indent.px')
indent = 0
@HostListener('mouseenter')
onMouseEnter() {
const { scrollWidth, clientWidth } = this.elementRef.nativeElement
this.indent = Math.ceil(clientWidth - scrollWidth)
}
}