diff --git a/AudioCuesheetEditor/Pages/Index.razor b/AudioCuesheetEditor/Pages/Index.razor
index 5b897946..148bf727 100644
--- a/AudioCuesheetEditor/Pages/Index.razor
+++ b/AudioCuesheetEditor/Pages/Index.razor
@@ -15,133 +15,20 @@ You should have received a copy of the GNU General Public License
along with Foobar. If not, see
.
-->
-@implements IAsyncDisposable
@page "/"
-@inject IJSRuntime _jsRuntime
-@inject ITextLocalizer _localizer
-@inject NavigationManager _navigationManager
-@inject ILocalStorageOptionsProvider _localStorageOptionsProvider
-@inject ILogger _logger
-@inject HotKeys _hotKeys
-@inject HttpClient _httpClient
-@inject SessionStateContainer _sessionStateContainer
-@inject ITextLocalizerService _localizationService
-@inject TraceChangeManager _traceChangeManager
-
-
- @switch (_sessionStateContainer.CurrentViewMode)
- {
- case ViewMode.ViewModeRecord:
-
- break;
- case ViewMode.ViewModeFull:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- break;
- case ViewMode.ViewModeImport:
-
- break;
- }
-
-
-
-
-@code {
-
- public async ValueTask DisposeAsync()
- {
- _localizationService.LocalizationChanged -= LocalizationService_LocalizationChanged;
- _sessionStateContainer.CurrentViewModeChanged -= CurrentViewModeChanged;
- if (hotKeysContext != null)
- {
- await hotKeysContext.DisposeAsync();
- }
- }
-
- [CascadingParameter]
- public MainLayout? mainLayout { get; set; }
-
- Boolean cuesheetSplitPointsVisible = false;
- Boolean cuesheetDataVisible = true;
- Boolean cuesheetTracksVisible = true;
-
- HotKeysContext? hotKeysContext;
-
- ModalDialog? modalDialog;
- AudioPlayer? audioPlayer;
- protected override void OnInitialized()
- {
- base.OnInitialized();
-
- _logger.LogDebug("OnInitializedAsync");
- _logger.LogInformation("CultureInfo.CurrentCulture = {0}", CultureInfo.CurrentCulture);
-
- _localizationService.LocalizationChanged += LocalizationService_LocalizationChanged;
-
- hotKeysContext = _hotKeys.CreateContext()
- .Add(Key.Enter, OnEnterKeyDown)
- .Add(ModKey.Ctrl, Key.z, () => _traceChangeManager.Undo())
- .Add(ModKey.Ctrl, Key.y, () => _traceChangeManager.Redo());
-
- _sessionStateContainer.CurrentViewModeChanged += CurrentViewModeChanged;
- }
-
- protected override void OnParametersSet()
- {
- base.OnParametersSet();
- mainLayout?.SetDisplayMenuBar(true);
- }
-
- async ValueTask OnEnterKeyDown()
- {
- if ((modalDialog != null) && (modalDialog.Visible))
- {
- await modalDialog.Confirm();
- }
- }
-
- private void CurrentViewModeChanged(object? sender, EventArgs args)
- {
- if (audioPlayer != null)
- {
- Task.Run(async () => await audioPlayer.Reset());
- }
- StateHasChanged();
- }
+@inject SessionStateContainer _sessionStateContainer
- private void LocalizationService_LocalizationChanged(object? sender, EventArgs args)
- {
- StateHasChanged();
- }
+@switch (_sessionStateContainer.CurrentViewMode)
+{
+ case ViewMode.ViewModeRecord:
+
+ break;
+ case ViewMode.ViewModeFull:
+
+ break;
+ case ViewMode.ViewModeImport:
+
+ break;
}
\ No newline at end of file
diff --git a/AudioCuesheetEditor/Shared/ViewModes/ViewModeFull.de.resx b/AudioCuesheetEditor/Shared/ViewModes/ViewModeFull.de.resx
new file mode 100644
index 00000000..75010786
--- /dev/null
+++ b/AudioCuesheetEditor/Shared/ViewModes/ViewModeFull.de.resx
@@ -0,0 +1,129 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ Allgemeine Informationen
+
+
+ Abschnitte
+
+
+ Titel
+
+
\ No newline at end of file
diff --git a/AudioCuesheetEditor/Shared/ViewModes/ViewModeFull.razor b/AudioCuesheetEditor/Shared/ViewModes/ViewModeFull.razor
new file mode 100644
index 00000000..2d2923c3
--- /dev/null
+++ b/AudioCuesheetEditor/Shared/ViewModes/ViewModeFull.razor
@@ -0,0 +1,76 @@
+
+@implements IDisposable
+
+@inject IStringLocalizer _localizer
+@inject LocalizationService _localizationService
+
+
+
+
+ @_localizer["Sections"]
+
+
+
+
+
+
+
+ @_localizer["Common data"]
+
+
+
+
+
+
+
+ @_localizer["Tracks"]
+
+
+
+
+
+
+
+
+
+@code {
+ //TODO: maybe customize a bit more (background color, etc.)
+ //TODO: TrackList AudioPlayer
+
+ Boolean cuesheetSectionsExpanded = false;
+ Boolean cuesheetDataExpanded = false;
+ Boolean cuesheetTracksExpanded = false;
+ AudioPlayer? audioPlayer;
+
+ public void Dispose()
+ {
+ _localizationService.LocalizationChanged -= LocalizationService_LocalizationChanged;
+ }
+
+ protected override void OnInitialized()
+ {
+ base.OnInitialized();
+ _localizationService.LocalizationChanged += LocalizationService_LocalizationChanged;
+ }
+
+ void LocalizationService_LocalizationChanged(object? sender, EventArgs args)
+ {
+ StateHasChanged();
+ }
+}
diff --git a/AudioCuesheetEditor/Shared/ViewModes/ViewModeFull.resx b/AudioCuesheetEditor/Shared/ViewModes/ViewModeFull.resx
new file mode 100644
index 00000000..e9f5681f
--- /dev/null
+++ b/AudioCuesheetEditor/Shared/ViewModes/ViewModeFull.resx
@@ -0,0 +1,129 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ Common data
+
+
+ Sections
+
+
+ Tracks
+
+
\ No newline at end of file
diff --git a/AudioCuesheetEditor/_Imports.razor b/AudioCuesheetEditor/_Imports.razor
index 50036979..611086e4 100644
--- a/AudioCuesheetEditor/_Imports.razor
+++ b/AudioCuesheetEditor/_Imports.razor
@@ -12,6 +12,7 @@
@using AudioCuesheetEditor
@using AudioCuesheetEditor.Pages
@using AudioCuesheetEditor.Shared
+@using AudioCuesheetEditor.Shared.ViewModes
@using AudioCuesheetEditor.Shared.Layouts
@using AudioCuesheetEditor.Shared.TrackList
@using AudioCuesheetEditor.Model.AudioCuesheet