Skip to content

Commit 706962c

Browse files
committed
2 parents f3ea648 + d4df19a commit 706962c

22 files changed

+1941
-134
lines changed

TarkovMonitor/Blazor/AppLayout.razor

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
@layout MainLayout
44

55
@inject IJSRuntime JSRuntime;
6+
@inject LocalizationService LocalizationService
67

78
<div style="width: 100%; height: 100%" class="tarkov-dev-bg">
89
<MudLayout>
@@ -15,17 +16,17 @@
1516
<MudDrawerHeader LinkToIndex="true">
1617
<div>
1718
<img src="tarkov-dev-logo.svg" width="100%" style="vertical-align: middle;"/>
18-
<MudText Align="Align.Center" Typo="Typo.h6">Tarkov Monitor</MudText>
19+
<MudText Align="Align.Center" Typo="Typo.h6">@LocalizationService.GetString("TarkovMonitor")</MudText>
1920
</div>
2021
</MudDrawerHeader>
2122
<MudNavMenu Color="Color.Secondary" Bordered="true">
22-
<MudNavLink Href="/" Match="NavLinkMatch.All" Icon="@Icons.Material.Filled.Message">Messages</MudNavLink>
23-
<MudNavLink Href="/group" Match="NavLinkMatch.All" Icon="@Icons.Material.Filled.Group">Group</MudNavLink>
24-
<MudNavLink Href="/settings" Match="NavLinkMatch.All" Icon="@Icons.Material.Filled.Settings">Settings</MudNavLink>
25-
<MudNavLink Href="/sounds" Match="NavLinkMatch.All" Icon="@Icons.Material.Filled.Speaker">Sounds</MudNavLink>
26-
<MudNavLink Href="/stats" Match="NavLinkMatch.All" Icon="@Icons.Material.Filled.BarChart">Stats</MudNavLink>
27-
<MudNavLink Href="/raw" Match="NavLinkMatch.All" Icon="@Icons.Material.Filled.RawOn">Raw Logs</MudNavLink>
28-
<MudNavLink Href="/timers" Match="NavLinkMatch.All" Icon="@Icons.Material.Filled.Timer">Timers</MudNavLink>
23+
<MudNavLink Href="/" Match="NavLinkMatch.All" Icon="@Icons.Material.Filled.Message">@LocalizationService.GetString("Messages")</MudNavLink>
24+
<MudNavLink Href="/group" Match="NavLinkMatch.All" Icon="@Icons.Material.Filled.Group">@LocalizationService.GetString("Group")</MudNavLink>
25+
<MudNavLink Href="/settings" Match="NavLinkMatch.All" Icon="@Icons.Material.Filled.Settings">@LocalizationService.GetString("Settings")</MudNavLink>
26+
<MudNavLink Href="/sounds" Match="NavLinkMatch.All" Icon="@Icons.Material.Filled.Speaker">@LocalizationService.GetString("Sounds")</MudNavLink>
27+
<MudNavLink Href="/stats" Match="NavLinkMatch.All" Icon="@Icons.Material.Filled.BarChart">@LocalizationService.GetString("Stats")</MudNavLink>
28+
<MudNavLink Href="/raw" Match="NavLinkMatch.All" Icon="@Icons.Material.Filled.RawOn">@LocalizationService.GetString("RawLogs")</MudNavLink>
29+
<MudNavLink Href="/timers" Match="NavLinkMatch.All" Icon="@Icons.Material.Filled.Timer">@LocalizationService.GetString("Timers")</MudNavLink>
2930
</MudNavMenu>
3031
</MudDrawer>
3132
<MudMainContent Class="mt-2">
@@ -42,6 +43,11 @@
4243

4344
public string CurrentPageTitle = "TarkovMonitor";
4445

46+
protected override void OnInitialized()
47+
{
48+
LocalizationService.LanguageChanged += OnLanguageChanged;
49+
}
50+
4551
public void SetTitle(string value) {
4652
CurrentPageTitle = value;
4753
StateHasChanged();
@@ -51,4 +57,9 @@
5157
{
5258
drawerOpen = !drawerOpen;
5359
}
60+
61+
private void OnLanguageChanged(object? sender, EventArgs e)
62+
{
63+
InvokeAsync(StateHasChanged);
64+
}
5465
}

TarkovMonitor/Blazor/Components/MessageBoard.razor

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,11 @@
55
@inject ISnackbar Snackbar
66
@inject IDialogService DialogService
77
@inject NavigationManager NavManager
8+
@inject LocalizationService LocalizationService
89
<MudStack Reverse="true" Justify="Justify.FlexStart" AlignItems="AlignItems.Center" Class="ma-3">
910
@if (messageLog.Messages.Count == 0)
1011
{
11-
<MudAlert Severity="Severity.Info">There aren't any messages yet.</MudAlert>
12+
<MudAlert Severity="Severity.Info">@LocalizationService.GetString("ThereArentAnyMessagesYet")</MudAlert>
1213
}else{
1314
@foreach (MonitorMessage message in messageLog.Messages.ToList())
1415
{
@@ -48,8 +49,8 @@
4849

4950
</MudStack>
5051

51-
@code {
52-
// Force refresh every minute to update timestamps
52+
@code {
53+
// Force refresh every minute to update timestamps
5354
Timer? timer;
5455

5556
protected override void OnInitialized()
@@ -84,15 +85,15 @@
8485
switch (type)
8586
{
8687
case "flea":
87-
return "Flea Market Sale";
88+
return LocalizationService.GetString("FleaMarketSale");
8889
case "debug":
89-
return "Debug";
90+
return LocalizationService.GetString("Debug");
9091
case "exception":
91-
return "Error";
92+
return LocalizationService.GetString("Error");
9293
case "update":
93-
return "Update";
94+
return LocalizationService.GetString("Update");
9495
case "quest":
95-
return "Quest";
96+
return LocalizationService.GetString("Quest");
9697
default:
9798
return "Info";
9899
}
@@ -124,6 +125,10 @@
124125
{
125126
InvokeAsync(() => StateHasChanged());
126127
var severity = Severity.Info;
128+
if (e.Message.Type == "quest" && GameWatcher.ReadingPastLogs)
129+
{
130+
return;
131+
}
127132
if (e.Message.Type == "exception")
128133
{
129134
severity = Severity.Error;

TarkovMonitor/Blazor/Pages/Dashboard/Dashboard.razor

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
@using System.Diagnostics
44
@inject GameWatcher eft
55
@inject MessageLog messageLog
6+
@inject LocalizationService LocalizationService
67
@layout AppLayout
78
@implements IDisposable
89

@@ -32,7 +33,7 @@
3233
base.OnAfterRender(firstRender);
3334
if (firstRender)
3435
{
35-
AppLayout.SetTitle("Dashboard");
36+
AppLayout.SetTitle(LocalizationService.GetString("Dashboard"));
3637
}
3738
}
3839

TarkovMonitor/Blazor/Pages/Group/Group.razor

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,15 @@
33
@using TarkovMonitor.GroupLoadout
44
@inject GameWatcher eft
55
@inject GroupManager groupManager
6+
@inject LocalizationService LocalizationService
67
@layout AppLayout
78
@implements IDisposable
89

910
<MudGrid Class="pa-3" Spacing="0">
1011
<MudItem xs="12">
1112
@if (groupManager.GroupMembers.Count == 0)
1213
{
13-
<MudAlert Severity="Severity.Info">You aren't in a group or have party members yet.</MudAlert>
14+
<MudAlert Severity="Severity.Info">@LocalizationService.GetString("YouArentInAGroupOrHavePartyMembersYet")</MudAlert>
1415
}else{
1516
<MudTabs Elevation="3" Rounded="true" Centered="true" PanelClass="pa-3">
1617
@foreach (KeyValuePair<string, GroupMember> member in groupManager.GroupMembers)
@@ -54,7 +55,7 @@
5455
base.OnAfterRender(firstRender);
5556
if (firstRender)
5657
{
57-
AppLayout.SetTitle("Group");
58+
AppLayout.SetTitle(LocalizationService.GetString("Group"));
5859
groupManager.GroupMemberChanged += OnGroupMemberChanged;
5960
}
6061
}

TarkovMonitor/Blazor/Pages/RawLogs/CustomLogDialog.razor

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
@inject GameWatcher eft
2+
@inject LocalizationService LocalizationService
23

34
<MudDialog>
45
<DialogContent>
@@ -11,8 +12,8 @@
1112
<MudTextField Immediate="true" @bind-Value="@sampleText" T="string" Label="Log Data" Variant="Variant.Outlined" Lines="5" Class="mt-4"/>
1213
</DialogContent>
1314
<DialogActions>
14-
<MudButton OnClick="Cancel">Cancel</MudButton>
15-
<MudButton Color="Color.Primary" OnClick="Submit">Submit</MudButton>
15+
<MudButton OnClick="Cancel">@LocalizationService.GetString("Cancel")</MudButton>
16+
<MudButton Color="Color.Primary" OnClick="Submit">@LocalizationService.GetString("Submit")</MudButton>
1617
</DialogActions>
1718
</MudDialog>
1819
@code {

TarkovMonitor/Blazor/Pages/RawLogs/ForceReadDialog.razor

Lines changed: 29 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,28 @@
11
@using System.ComponentModel
22
@using Humanizer
33
@inject MessageLog messageLog
4-
@inject GameWatcher eft
4+
@inject LocalizationService LocalizationService
55

66
<MudDialog>
77
<DialogContent>
88
<MudText>
9-
Current profile: @GameWatcher.CurrentProfile.Id (@GameWatcher.CurrentProfile.Type)
9+
@LocalizationService.GetString("CurrentProfile"): @GameWatcher.CurrentProfile.Id (@GameWatcher.CurrentProfile.Type)
1010
</MudText>
1111
<MudText>
12-
If you want to update progress for a different profile, activate that profile in the game.
12+
@LocalizationService.GetString("IfYouWantToUpdateProgressForDifferentProfile")
1313
</MudText>
1414
@if (customWatcher.LogsPath != "")
1515
{
1616
if (breakpoints != null)
1717
{
18-
<MudSelect @bind-Value="selectedBreakpoint" Label="Read previous logs" HelperText="Choose the starting point from which to read logs" OpenIcon="@Icons.Material.Filled.TextSnippet" AdornmentColor="Color.Secondary">
18+
<MudSelect @bind-Value="selectedBreakpoint" Label="@LocalizationService.GetString("ReadPreviousLogsLabel")" HelperText="@LocalizationService.GetString("ChooseStartingPointHelperText")" OpenIcon="@Icons.Material.Filled.TextSnippet" AdornmentColor="Color.Secondary">
1919
@foreach (LogDetails breakpoint in breakpoints)
2020
{
2121
<MudSelectItem Value="@breakpoint">@breakpoint.Version | @breakpoint.Date.ToLongDateString() - @breakpoint.Date.Humanize()</MudSelectItem>
2222
}
2323
</MudSelect>
24-
<p>Select a starting point to read previous logs and update your quest progress. All logs from that point forward for the same will be read and that cumulative progress will be synced to Tarkov Tracker.</p>
25-
<p><strong>WARNING: </strong>You can mess up your Tarkov Tracker saved quest progress if you pick an invalid starting date, so proceed with caution.</p>
24+
<p>@LocalizationService.GetString("SelectStartingPointDescription")</p>
25+
<p><strong>@LocalizationService.GetString("WarningMessage")</strong></p>
2626
}
2727
else
2828
{
@@ -32,21 +32,33 @@
3232
}
3333
else
3434
{
35-
<span>Could not find the Escape From Tarkov installation location, or no logs exist.</span>
35+
<span>@LocalizationService.GetString("CouldNotFindEFTInstallation")</span>
3636
}
3737
</DialogContent>
3838
<DialogActions>
39-
<MudButton OnClick="Cancel">Cancel</MudButton>
40-
<MudButton Color="Color.Primary" OnClick="Submit">Ok</MudButton>
39+
<MudButton OnClick="Cancel">@LocalizationService.GetString("Cancel")</MudButton>
40+
<MudButton Color="Color.Primary" OnClick="Submit" Disabled="@SubmitDisabled">@LocalizationService.GetString("Ok")</MudButton>
4141
</DialogActions>
4242
</MudDialog>
4343
@code {
4444
[CascadingParameter] MudDialogInstance MudDialog { get; set; }
4545

4646
internal GameWatcher customWatcher = new();
47-
LogDetails? selectedBreakpoint;
47+
LogDetails? _selectedBreakpoint;
48+
LogDetails? selectedBreakpoint {
49+
get
50+
{
51+
return _selectedBreakpoint;
52+
}
53+
set
54+
{
55+
SubmitDisabled = value == null;
56+
_selectedBreakpoint = value;
57+
}
58+
}
4859
List<LogDetails>? breakpoints;
4960
Dictionary<string, TarkovMonitor.TaskStatus> TaskStatuses = new();
61+
bool SubmitDisabled { get; set; } = true;
5062

5163
protected override void OnInitialized()
5264
{
@@ -82,6 +94,8 @@
8294
{
8395
messageLog.AddMessage("You must have a valid Tarkov Tracker API token to read past logs.", "exception");
8496
}
97+
SubmitDisabled = true;
98+
GameWatcher.ReadingPastLogs = true;
8599
TaskStatuses.Clear();
86100
Dictionary<string, TarkovMonitor.TaskStatus> updateTasks = new();
87101
try
@@ -128,9 +142,13 @@
128142
}
129143
catch (Exception ex)
130144
{
131-
messageLog.AddMessage($"Error finding task updates: {ex.Message}", "exception");
145+
messageLog.AddMessage($"Error compiling task updates: {ex.Message}", "exception");
132146
return;
133147
}
148+
finally
149+
{
150+
GameWatcher.ReadingPastLogs = false;
151+
}
134152
try
135153
{
136154
if (updateTasks.Count > 0)

TarkovMonitor/Blazor/Pages/RawLogs/RawLogs.razor

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
@using System.Diagnostics
33
@inject GameWatcher eft
44
@inject IDialogService DialogService
5+
@inject LocalizationService LocalizationService
56
@layout AppLayout
67
@implements IDisposable
78

@@ -21,12 +22,12 @@
2122
<ChildContent>
2223
@if(DebugMode())
2324
{
24-
<MudMenuItem @onclick="OpenCustomDialog">Custom Log Data</MudMenuItem>
25-
<MudMenuItem @onclick="OpenForceReadDialog">Read Previous Logs</MudMenuItem>
25+
<MudMenuItem @onclick="OpenCustomDialog">@LocalizationService.GetString("CustomLogData")</MudMenuItem>
26+
<MudMenuItem @onclick="OpenForceReadDialog">@LocalizationService.GetString("ReadPreviousLogs")</MudMenuItem>
2627
}
2728
@if(LogsFolderSet())
2829
{
29-
<MudMenuItem @onclick="OpenLogsFolder">Open Logs Folder</MudMenuItem>
30+
<MudMenuItem @onclick="OpenLogsFolder">@LocalizationService.GetString("OpenLogsFolder")</MudMenuItem>
3031
}
3132
</ChildContent>
3233
</MudMenu>
@@ -72,7 +73,7 @@
7273
base.OnAfterRender(firstRender);
7374
if (firstRender)
7475
{
75-
AppLayout.SetTitle("Raw Logs");
76+
AppLayout.SetTitle(LocalizationService.GetString("RawLogs"));
7677
}
7778
}
7879

0 commit comments

Comments
 (0)