Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 19 additions & 8 deletions TarkovMonitor/Blazor/AppLayout.razor
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
@layout MainLayout

@inject IJSRuntime JSRuntime;
@inject LocalizationService LocalizationService

<div style="width: 100%; height: 100%" class="tarkov-dev-bg">
<MudLayout>
Expand All @@ -15,17 +16,17 @@
<MudDrawerHeader LinkToIndex="true">
<div>
<img src="tarkov-dev-logo.svg" width="100%" style="vertical-align: middle;"/>
<MudText Align="Align.Center" Typo="Typo.h6">Tarkov Monitor</MudText>
<MudText Align="Align.Center" Typo="Typo.h6">@LocalizationService.GetString("TarkovMonitor")</MudText>
</div>
</MudDrawerHeader>
<MudNavMenu Color="Color.Secondary" Bordered="true">
<MudNavLink Href="/" Match="NavLinkMatch.All" Icon="@Icons.Material.Filled.Message">Messages</MudNavLink>
<MudNavLink Href="/group" Match="NavLinkMatch.All" Icon="@Icons.Material.Filled.Group">Group</MudNavLink>
<MudNavLink Href="/settings" Match="NavLinkMatch.All" Icon="@Icons.Material.Filled.Settings">Settings</MudNavLink>
<MudNavLink Href="/sounds" Match="NavLinkMatch.All" Icon="@Icons.Material.Filled.Speaker">Sounds</MudNavLink>
<MudNavLink Href="/stats" Match="NavLinkMatch.All" Icon="@Icons.Material.Filled.BarChart">Stats</MudNavLink>
<MudNavLink Href="/raw" Match="NavLinkMatch.All" Icon="@Icons.Material.Filled.RawOn">Raw Logs</MudNavLink>
<MudNavLink Href="/timers" Match="NavLinkMatch.All" Icon="@Icons.Material.Filled.Timer">Timers</MudNavLink>
<MudNavLink Href="/" Match="NavLinkMatch.All" Icon="@Icons.Material.Filled.Message">@LocalizationService.GetString("Messages")</MudNavLink>
<MudNavLink Href="/group" Match="NavLinkMatch.All" Icon="@Icons.Material.Filled.Group">@LocalizationService.GetString("Group")</MudNavLink>
<MudNavLink Href="/settings" Match="NavLinkMatch.All" Icon="@Icons.Material.Filled.Settings">@LocalizationService.GetString("Settings")</MudNavLink>
<MudNavLink Href="/sounds" Match="NavLinkMatch.All" Icon="@Icons.Material.Filled.Speaker">@LocalizationService.GetString("Sounds")</MudNavLink>
<MudNavLink Href="/stats" Match="NavLinkMatch.All" Icon="@Icons.Material.Filled.BarChart">@LocalizationService.GetString("Stats")</MudNavLink>
<MudNavLink Href="/raw" Match="NavLinkMatch.All" Icon="@Icons.Material.Filled.RawOn">@LocalizationService.GetString("RawLogs")</MudNavLink>
<MudNavLink Href="/timers" Match="NavLinkMatch.All" Icon="@Icons.Material.Filled.Timer">@LocalizationService.GetString("Timers")</MudNavLink>
</MudNavMenu>
</MudDrawer>
<MudMainContent Class="mt-2">
Expand All @@ -42,6 +43,11 @@

public string CurrentPageTitle = "TarkovMonitor";

protected override void OnInitialized()
{
LocalizationService.LanguageChanged += OnLanguageChanged;
}

public void SetTitle(string value) {
CurrentPageTitle = value;
StateHasChanged();
Expand All @@ -51,4 +57,9 @@
{
drawerOpen = !drawerOpen;
}

private void OnLanguageChanged(object? sender, EventArgs e)
{
InvokeAsync(StateHasChanged);
}
}
21 changes: 13 additions & 8 deletions TarkovMonitor/Blazor/Components/MessageBoard.razor
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,11 @@
@inject ISnackbar Snackbar
@inject IDialogService DialogService
@inject NavigationManager NavManager
@inject LocalizationService LocalizationService
<MudStack Reverse="true" Justify="Justify.FlexStart" AlignItems="AlignItems.Center" Class="ma-3">
@if (messageLog.Messages.Count == 0)
{
<MudAlert Severity="Severity.Info">There aren't any messages yet.</MudAlert>
<MudAlert Severity="Severity.Info">@LocalizationService.GetString("ThereArentAnyMessagesYet")</MudAlert>
}else{
@foreach (MonitorMessage message in messageLog.Messages.ToList())
{
Expand Down Expand Up @@ -48,8 +49,8 @@

</MudStack>

@code {
// Force refresh every minute to update timestamps
@code {
// Force refresh every minute to update timestamps
Timer? timer;

protected override void OnInitialized()
Expand Down Expand Up @@ -84,15 +85,15 @@
switch (type)
{
case "flea":
return "Flea Market Sale";
return LocalizationService.GetString("FleaMarketSale");
case "debug":
return "Debug";
return LocalizationService.GetString("Debug");
case "exception":
return "Error";
return LocalizationService.GetString("Error");
case "update":
return "Update";
return LocalizationService.GetString("Update");
case "quest":
return "Quest";
return LocalizationService.GetString("Quest");
default:
return "Info";
}
Expand Down Expand Up @@ -124,6 +125,10 @@
{
InvokeAsync(() => StateHasChanged());
var severity = Severity.Info;
if (e.Message.Type == "quest" && GameWatcher.ReadingPastLogs)
{
return;
}
if (e.Message.Type == "exception")
{
severity = Severity.Error;
Expand Down
3 changes: 2 additions & 1 deletion TarkovMonitor/Blazor/Pages/Dashboard/Dashboard.razor
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
@using System.Diagnostics
@inject GameWatcher eft
@inject MessageLog messageLog
@inject LocalizationService LocalizationService
@layout AppLayout
@implements IDisposable

Expand Down Expand Up @@ -32,7 +33,7 @@
base.OnAfterRender(firstRender);
if (firstRender)
{
AppLayout.SetTitle("Dashboard");
AppLayout.SetTitle(LocalizationService.GetString("Dashboard"));
}
}

Expand Down
5 changes: 3 additions & 2 deletions TarkovMonitor/Blazor/Pages/Group/Group.razor
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,15 @@
@using TarkovMonitor.GroupLoadout
@inject GameWatcher eft
@inject GroupManager groupManager
@inject LocalizationService LocalizationService
@layout AppLayout
@implements IDisposable

<MudGrid Class="pa-3" Spacing="0">
<MudItem xs="12">
@if (groupManager.GroupMembers.Count == 0)
{
<MudAlert Severity="Severity.Info">You aren't in a group or have party members yet.</MudAlert>
<MudAlert Severity="Severity.Info">@LocalizationService.GetString("YouArentInAGroupOrHavePartyMembersYet")</MudAlert>
}else{
<MudTabs Elevation="3" Rounded="true" Centered="true" PanelClass="pa-3">
@foreach (KeyValuePair<string, GroupMember> member in groupManager.GroupMembers)
Expand Down Expand Up @@ -54,7 +55,7 @@
base.OnAfterRender(firstRender);
if (firstRender)
{
AppLayout.SetTitle("Group");
AppLayout.SetTitle(LocalizationService.GetString("Group"));
groupManager.GroupMemberChanged += OnGroupMemberChanged;
}
}
Expand Down
5 changes: 3 additions & 2 deletions TarkovMonitor/Blazor/Pages/RawLogs/CustomLogDialog.razor
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
@inject GameWatcher eft
@inject LocalizationService LocalizationService

<MudDialog>
<DialogContent>
Expand All @@ -11,8 +12,8 @@
<MudTextField Immediate="true" @bind-Value="@sampleText" T="string" Label="Log Data" Variant="Variant.Outlined" Lines="5" Class="mt-4"/>
</DialogContent>
<DialogActions>
<MudButton OnClick="Cancel">Cancel</MudButton>
<MudButton Color="Color.Primary" OnClick="Submit">Submit</MudButton>
<MudButton OnClick="Cancel">@LocalizationService.GetString("Cancel")</MudButton>
<MudButton Color="Color.Primary" OnClick="Submit">@LocalizationService.GetString("Submit")</MudButton>
</DialogActions>
</MudDialog>
@code {
Expand Down
40 changes: 29 additions & 11 deletions TarkovMonitor/Blazor/Pages/RawLogs/ForceReadDialog.razor
Original file line number Diff line number Diff line change
@@ -1,28 +1,28 @@
@using System.ComponentModel
@using Humanizer
@inject MessageLog messageLog
@inject GameWatcher eft
@inject LocalizationService LocalizationService

<MudDialog>
<DialogContent>
<MudText>
Current profile: @GameWatcher.CurrentProfile.Id (@GameWatcher.CurrentProfile.Type)
@LocalizationService.GetString("CurrentProfile"): @GameWatcher.CurrentProfile.Id (@GameWatcher.CurrentProfile.Type)
</MudText>
<MudText>
If you want to update progress for a different profile, activate that profile in the game.
@LocalizationService.GetString("IfYouWantToUpdateProgressForDifferentProfile")
</MudText>
@if (customWatcher.LogsPath != "")
{
if (breakpoints != null)
{
<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">
<MudSelect @bind-Value="selectedBreakpoint" Label="@LocalizationService.GetString("ReadPreviousLogsLabel")" HelperText="@LocalizationService.GetString("ChooseStartingPointHelperText")" OpenIcon="@Icons.Material.Filled.TextSnippet" AdornmentColor="Color.Secondary">
@foreach (LogDetails breakpoint in breakpoints)
{
<MudSelectItem Value="@breakpoint">@breakpoint.Version | @breakpoint.Date.ToLongDateString() - @breakpoint.Date.Humanize()</MudSelectItem>
}
</MudSelect>
<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>
<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>
<p>@LocalizationService.GetString("SelectStartingPointDescription")</p>
<p><strong>@LocalizationService.GetString("WarningMessage")</strong></p>
}
else
{
Expand All @@ -32,21 +32,33 @@
}
else
{
<span>Could not find the Escape From Tarkov installation location, or no logs exist.</span>
<span>@LocalizationService.GetString("CouldNotFindEFTInstallation")</span>
}
</DialogContent>
<DialogActions>
<MudButton OnClick="Cancel">Cancel</MudButton>
<MudButton Color="Color.Primary" OnClick="Submit">Ok</MudButton>
<MudButton OnClick="Cancel">@LocalizationService.GetString("Cancel")</MudButton>
<MudButton Color="Color.Primary" OnClick="Submit" Disabled="@SubmitDisabled">@LocalizationService.GetString("Ok")</MudButton>
</DialogActions>
</MudDialog>
@code {
[CascadingParameter] MudDialogInstance MudDialog { get; set; }

internal GameWatcher customWatcher = new();
LogDetails? selectedBreakpoint;
LogDetails? _selectedBreakpoint;
LogDetails? selectedBreakpoint {
get
{
return _selectedBreakpoint;
}
set
{
SubmitDisabled = value == null;
_selectedBreakpoint = value;
}
}
List<LogDetails>? breakpoints;
Dictionary<string, TarkovMonitor.TaskStatus> TaskStatuses = new();
bool SubmitDisabled { get; set; } = true;

protected override void OnInitialized()
{
Expand Down Expand Up @@ -82,6 +94,8 @@
{
messageLog.AddMessage("You must have a valid Tarkov Tracker API token to read past logs.", "exception");
}
SubmitDisabled = true;
GameWatcher.ReadingPastLogs = true;
TaskStatuses.Clear();
Dictionary<string, TarkovMonitor.TaskStatus> updateTasks = new();
try
Expand Down Expand Up @@ -128,9 +142,13 @@
}
catch (Exception ex)
{
messageLog.AddMessage($"Error finding task updates: {ex.Message}", "exception");
messageLog.AddMessage($"Error compiling task updates: {ex.Message}", "exception");
return;
}
finally
{
GameWatcher.ReadingPastLogs = false;
}
try
{
if (updateTasks.Count > 0)
Expand Down
9 changes: 5 additions & 4 deletions TarkovMonitor/Blazor/Pages/RawLogs/RawLogs.razor
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
@using System.Diagnostics
@inject GameWatcher eft
@inject IDialogService DialogService
@inject LocalizationService LocalizationService
@layout AppLayout
@implements IDisposable

Expand All @@ -21,12 +22,12 @@
<ChildContent>
@if(DebugMode())
{
<MudMenuItem @onclick="OpenCustomDialog">Custom Log Data</MudMenuItem>
<MudMenuItem @onclick="OpenForceReadDialog">Read Previous Logs</MudMenuItem>
<MudMenuItem @onclick="OpenCustomDialog">@LocalizationService.GetString("CustomLogData")</MudMenuItem>
<MudMenuItem @onclick="OpenForceReadDialog">@LocalizationService.GetString("ReadPreviousLogs")</MudMenuItem>
}
@if(LogsFolderSet())
{
<MudMenuItem @onclick="OpenLogsFolder">Open Logs Folder</MudMenuItem>
<MudMenuItem @onclick="OpenLogsFolder">@LocalizationService.GetString("OpenLogsFolder")</MudMenuItem>
}
</ChildContent>
</MudMenu>
Expand Down Expand Up @@ -72,7 +73,7 @@
base.OnAfterRender(firstRender);
if (firstRender)
{
AppLayout.SetTitle("Raw Logs");
AppLayout.SetTitle(LocalizationService.GetString("RawLogs"));
}
}

Expand Down
Loading
Loading