Introduced a Language Selector component (`LanguageSelector.razor`) to enable users to switch between German, English, and French. The component includes a dropdown UI with flag icons and language labels, along with logic for toggling the dropdown and changing the app's culture. Injected `IJSRuntime`, `NavigationManager`, and `CultureService` into the component to handle culture changes and navigation updates. Updated `MainLayout.razor` to include the Language Selector in the footer. Refactored footer layout in `MainLayout.razor.css` to use flexbox for better alignment and spacing. Added styles for the Language Selector in `app.css` to ensure a clean and responsive design. Integrated the `flag-icons` library in `index.html` to display flag icons for language representation.
30 lines
925 B
Plaintext
30 lines
925 B
Plaintext
@using EnvelopeGenerator.ReceiverUI.Services;
|
|
@inherits LayoutComponentBase
|
|
|
|
<div class="page">
|
|
<main>
|
|
<article class="content">
|
|
@Body
|
|
</article>
|
|
</main>
|
|
<footer class="receiver-footer">
|
|
<div class="receiver-footer__content">
|
|
<span>© SignFlow 2023-2024 <a href="https://digitaldata.works" target="_blank" rel="noopener">Digital Data GmbH</a></span>
|
|
<span class="receiver-footer__sep">|</span>
|
|
<a href="docs/privacy-policy.de-DE.html" target="_blank" rel="noopener">Datenschutz</a>
|
|
</div>
|
|
<LanguageSelector />
|
|
</footer>
|
|
</div>
|
|
|
|
@code {
|
|
[Inject] HttpClient Http { get; set; }
|
|
List<string> RequiredFonts = new() {
|
|
"opensans.ttf"
|
|
};
|
|
|
|
protected async override Task OnInitializedAsync() {
|
|
await FontLoader.LoadFonts(Http, RequiredFonts);
|
|
await base.OnInitializedAsync();
|
|
}
|
|
} |