Spaces:
Running
Running
File size: 1,374 Bytes
8f72634 f6d34ff 8f72634 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | @rendermode @(new InteractiveServerRenderMode(prerender: false))
@implements IDisposable
@inject TaskTrackingSystem.WebApp.Localization.UiLanguageService Language
<button type="button"
@onclick="ToggleLanguage"
class="control-button px-3"
title="@ButtonTitle"
aria-label="@ButtonTitle">
<span class="text-xs font-semibold tracking-wide">@ButtonLabel</span>
</button>
@code {
private string ButtonTitle => Language.CurrentLanguage == TaskTrackingSystem.WebApp.Localization.AppLanguage.Burmese
? Language.Texts.LanguageTitle + ": " + Language.Texts.LanguageEnglish
: Language.Texts.LanguageTitle + ": " + Language.Texts.LanguageBurmese;
private string ButtonLabel => Language.CurrentLanguage == TaskTrackingSystem.WebApp.Localization.AppLanguage.Burmese
? "MY"
: "EN";
protected override async Task OnAfterRenderAsync(bool firstRender)
{
if (firstRender)
{
Language.Changed += OnLanguageChanged;
await Language.InitializeAsync();
StateHasChanged();
}
}
private async Task ToggleLanguage()
{
await Language.ToggleAsync();
}
private void OnLanguageChanged()
{
_ = InvokeAsync(StateHasChanged);
}
public void Dispose()
{
Language.Changed -= OnLanguageChanged;
}
}
|