Skip to content

Commit 7bbef25

Browse files
authored
Merge pull request #106 from the-hideout/tracker-select
Tracker select
2 parents a6495d2 + 69086b6 commit 7bbef25

File tree

5 files changed

+64
-13
lines changed

5 files changed

+64
-13
lines changed

TarkovMonitor/App.config

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@
1010
<setting name="tarkovTrackerToken" serializeAs="String">
1111
<value />
1212
</setting>
13+
<setting name="tarkovTrackerDomain" serializeAs="String">
14+
<value>tarkovtracker.io</value>
15+
</setting>
1316
<setting name="submitQueueTime" serializeAs="String">
1417
<value>False</value>
1518
</setting>

TarkovMonitor/Blazor/Pages/Settings/Settings.razor

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -91,8 +91,15 @@
9191
<MudItem xs="12">
9292
<MudPaper Class="pa-2 ma-2 mx-4" Elevation="3">
9393
<MudText Typo="Typo.h6" Class="d-flex align-center"><MudIcon Icon="@trackerIcon" Class="mr-2"/>TarkovTracker</MudText>
94-
<MudButton @onclick="OpenTrackerSettings" Variant="Variant.Text" Color="Color.Info">Get A Token</MudButton><MudButton @onclick="TestToken" @bind-Disabled="@TestTokenButtonDisabled" Variant="Variant.Text" Color="Color.Info">Test Token</MudButton>
94+
<MudButton @onclick="OpenTrackerSettings" Variant="Variant.Text" Color="Color.Info">Get A Token</MudButton>
95+
<MudButton @onclick="TestToken" @bind-Disabled="@TestTokenButtonDisabled" Variant="Variant.Text" Color="Color.Info">Test Token</MudButton>
9596
<MudTextField @bind-Value="@TarkovTrackerToken" Immediate="true" Label="API Token" InputType="@PasswordInput" Variant="Variant.Outlined" Margin="Margin.Dense" Adornment="Adornment.End" AdornmentIcon="@PasswordInputIcon" OnAdornmentClick="TokenShowClick"></MudTextField>
97+
<MudSelect @bind-Value="@TarkovTrackerDomain" T="string" Label="Tarkov Tracker Service" ShrinkLabel="true" HelperText="Tarkov Tracker service to use" AnchorOrigin="Origin.BottomCenter" xs="3">
98+
@foreach (var pair in TarkovTracker.Domains)
99+
{
100+
<MudSelectItem T="string" Value="@pair.Key">@pair.Value</MudSelectItem>
101+
}
102+
</MudSelect>
96103
</MudPaper>
97104
</MudItem>
98105

@@ -457,6 +464,24 @@
457464
TarkovTracker.SetToken(eft.CurrentProfile.Id, value);
458465
}
459466
}
467+
public string TarkovTrackerDomain
468+
{
469+
get
470+
{
471+
return Properties.Settings.Default.tarkovTrackerDomain;
472+
}
473+
set
474+
{
475+
if (Properties.Settings.Default.tarkovTrackerDomain == value)
476+
{
477+
return;
478+
}
479+
Properties.Settings.Default.tarkovTrackerDomain = value;
480+
TarkovTrackerToken = "";
481+
TarkovTracker.InitAPI();
482+
Properties.Settings.Default.Save();
483+
}
484+
}
460485

461486
void TokenShowClick()
462487
{
@@ -500,7 +525,7 @@
500525
}
501526

502527
private void OpenTrackerSettings() {
503-
OpenURL("https://tarkovtracker.io/settings/");
528+
OpenURL($"https://{Properties.Settings.Default.tarkovTrackerDomain}/settings/");
504529
}
505530

506531
private void OpenURL(string url)

TarkovMonitor/Properties/Settings.Designer.cs

Lines changed: 13 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

TarkovMonitor/Properties/Settings.settings

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@
55
<Setting Name="tarkovTrackerToken" Type="System.String" Scope="User">
66
<Value Profile="(Default)" />
77
</Setting>
8+
<Setting Name="tarkovTrackerDomain" Type="System.String" Scope="User">
9+
<Value Profile="(Default)">tarkovtracker.io</Value>
10+
</Setting>
811
<Setting Name="submitQueueTime" Type="System.Boolean" Scope="User">
912
<Value Profile="(Default)">False</Value>
1013
</Setting>

TarkovMonitor/TarkovTracker.cs

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -30,16 +30,7 @@ internal interface ITarkovTrackerAPI
3030
Task<string> SetTaskStatuses([Body] List<TaskStatusBody> body);
3131
}
3232

33-
private static ITarkovTrackerAPI api = RestService.For<ITarkovTrackerAPI>("https://tarkovtracker.io/api/v2",
34-
new RefitSettings
35-
{
36-
AuthorizationHeaderValueGetter = (rq, cr) => {
37-
return Task.Run<string>(() => {
38-
return GetToken(currentProfile ?? "");
39-
});
40-
},
41-
}
42-
);
33+
private static ITarkovTrackerAPI api = InitAPI();
4334

4435
public static ProgressResponse Progress { get; private set; } = new();
4536
public static bool ValidToken { get; private set; } = false;
@@ -50,11 +41,28 @@ internal interface ITarkovTrackerAPI
5041
public static event EventHandler<EventArgs>? TokenValidated;
5142
public static event EventHandler<EventArgs>? TokenInvalid;
5243
public static event EventHandler<EventArgs>? ProgressRetrieved;
44+
public static Dictionary<string, string> Domains = new() {
45+
{ "tarkovtracker.io", "TarkovTracker.io" },
46+
{ "tarkovtracker.org", "TarkovTracker.org" },
47+
};
5348

5449
static TarkovTracker() {
5550
tokens = JsonSerializer.Deserialize<Dictionary<string, string>>(Properties.Settings.Default.tarkovTrackerTokens) ?? tokens;
5651
}
5752

53+
public static ITarkovTrackerAPI InitAPI()
54+
{
55+
return api = RestService.For<ITarkovTrackerAPI>($"https://{Properties.Settings.Default.tarkovTrackerDomain}/api/v2",
56+
new RefitSettings {
57+
AuthorizationHeaderValueGetter = (rq, cr) => {
58+
return Task.Run<string>(() => {
59+
return GetToken(currentProfile ?? "");
60+
});
61+
},
62+
}
63+
);
64+
}
65+
5866
public static string GetToken(string profileId)
5967
{
6068
if (!tokens.ContainsKey(profileId))

0 commit comments

Comments
 (0)