Skip to content

Commit 263c9e4

Browse files
committed
Add hint for shockosc module manager
1 parent 67059e5 commit 263c9e4

File tree

6 files changed

+37
-3
lines changed

6 files changed

+37
-3
lines changed

Desktop/Config/AppConfig.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ public sealed class AppConfig
1313
public SemVersion? LastIgnoredVersion { get; set; } = null;
1414

1515
public Theme Theme { get; set; } = Theme.Dark;
16+
17+
public bool ShockOscNoticeDismissed { get; set; } = false;
1618
}
1719

1820
public enum UpdateChannel

Desktop/Ui/Pages/Dash/Tabs/DashboardTab.razor

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,24 @@
1515
@inject OpenShockHubClient ApiHubClient
1616
@inject ISnackbar Snackbar
1717
@inject ConfigManager ConfigManager
18+
@inject NavigationManager NavigationManager
1819
@implements IAsyncDisposable
1920

2021
@page "/dash/dashboard"
2122

23+
@* ShockOSC download notice (dismissible) *@
24+
@if (!ConfigManager.Config.App.ShockOscNoticeDismissed)
25+
{
26+
<div style="padding-bottom: 20px;">
27+
<MudAlert Severity="Severity.Info" Variant="Variant.Filled" Elevation="0" ShowCloseIcon="true" CloseIconClicked="DismissShockOscNotice" Class="alert-center-icon">
28+
<div class="d-flex" style="align-items: center; gap: 12px; flex-wrap: wrap;">
29+
<MudText Typo="Typo.body2">New here? For VRChat integration download and install ShockOSC.</MudText>
30+
<MudButton Variant="Variant.Filled" Color="Color.Primary" Size="Size.Small" StartIcon="@Icons.Material.Filled.Download" OnClick="GoToModuleManager">Go to Moudle Manager</MudButton>
31+
</div>
32+
</MudAlert>
33+
</div>
34+
}
35+
2236
<div class="dashboard-box">
2337
<MudPaper Outlined="true" Elevation="1" Class="rounded-lg mud-paper-padding item" Style="text-align: center">
2438
<MudText Typo="Typo.h6">Welcome to OpenShock Desktop</MudText>
@@ -108,6 +122,7 @@
108122

109123
private void OpenOpenShock() => UiUtils.OpenUrl("https://openshock.org", Snackbar);
110124
private void OpenGithub() => UiUtils.OpenUrl("https://github.com/OpenShock/Desktop", Snackbar);
125+
private void GoToModuleManager() => NavigationManager.NavigateTo("/dash/modules?OpenAvailableModules=true");
111126
private IAsyncDisposable _statusSubscription = null!;
112127

113128
protected override async Task OnInitializedAsync()
@@ -126,6 +141,13 @@
126141
_ => Color.Error
127142
};
128143

144+
private async Task DismissShockOscNotice()
145+
{
146+
ConfigManager.Config.App.ShockOscNoticeDismissed = true;
147+
ConfigManager.Save();
148+
await InvokeAsync(StateHasChanged);
149+
}
150+
129151
private bool _disposed = false;
130152

131153
public async ValueTask DisposeAsync()

Desktop/Ui/Pages/Dash/Tabs/ModuleManagerTab.razor

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@
4747
</ChildContent>
4848
</MudExpansionPanel>
4949
}
50-
<MudExpansionPanel>
50+
<MudExpansionPanel @bind-Expanded="OpenAvailableModules">
5151
<TitleContent>
5252
Available
5353
<MudChip T="int">@_installableModules.Count</MudChip>
@@ -65,6 +65,10 @@
6565

6666
@code {
6767

68+
[Parameter]
69+
[SupplyParameterFromQuery]
70+
public bool OpenAvailableModules { get; set; } = false;
71+
6872
private ImmutableDictionary<string, LoadedModule> _unknownModules = null!;
6973
private ImmutableDictionary<string, Module> _installableModules = null!;
7074
private ImmutableDictionary<string, LoadedModule> _installedModules = null!;
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
.alert-center-icon {
2+
.mud-alert-icon {
3+
align-self: center;
4+
}
5+
}

Desktop/Ui/Styles/OpenShock.scss

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
1-
@use 'Components/ModuleManagerItem';
1+
@use 'Components/ModuleManagerItem';
2+
@use 'Components/GlobalUtils';

Desktop/wwwroot/OpenShock.min.css

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

0 commit comments

Comments
 (0)