Skip to content

Commit

Permalink
Hold
Browse files Browse the repository at this point in the history
  • Loading branch information
phasephasephase committed Jan 19, 2024
1 parent 5fb5e03 commit 88789e7
Show file tree
Hide file tree
Showing 2 changed files with 43 additions and 155 deletions.
98 changes: 35 additions & 63 deletions JiayiLauncher/Pages/Extra/Shaders.razor
Original file line number Diff line number Diff line change
Expand Up @@ -2,76 +2,43 @@
@using JiayiLauncher.Features.Shaders
@using JiayiLauncher.Shared.Components.Toasts

@inject NavigationManager NavigationManager
@inject IToastService ToastService

@* rider mistaking C# for javascript *@
<!--suppress JSUndeclaredVariable, JSUnresolvedReference -->

<h3>Shaders</h3>

<div class="header-buttons">
<JiayiButton Size="JiayiButton.ButtonSize.Small"
OnClick="async () => await ApplyClicked()">Apply current shader</JiayiButton>
<JiayiButton Size="JiayiButton.ButtonSize.Small"
OnClick="async () => await RestoreClicked()">Restore vanilla shaders</JiayiButton>

<p class="invisible-normalizer">invisible</p>
<div class="page-title">
<h4 @onclick="BackClicked">Version Manager</h4>
<span class="material-symbols-sharp">arrow_right</span>
<h3>Shaders</h3>
</div>

<div class="shader-page">
<div>
<a class="shader-list-toggle" @onclick="() => _appliedExpanded = !_appliedExpanded">
Your current shader pack
<span class="material-symbols-sharp">
@(_appliedExpanded ? "expand_less" : "expand_more")
</span>
</a>
<ul class="shader-list" style="display: @(_appliedExpanded ? "block" : "none")">
@if (ShaderManager.AppliedShader == string.Empty)
{
<li class="no-shaders">
<i>No shader applied</i>
</li>
}
else
{
<li class="shader">
<strong>@ShaderManager.AppliedShader</strong>

<JiayiButton Size="JiayiButton.ButtonSize.Small"
OnClick="() => DisableClicked(ShaderManager.AppliedShader)">Disable</JiayiButton>
</li>
}
</ul>
<div class="shader-list">
<div class="current-shader">
<h4>Current shader</h4>
@if (ShaderManager.AppliedShader == string.Empty)
{
<p>No shader applied</p>
<i>Minecraft's vanilla shaders will be used</i>
}
else
{
<div class="shader">
<p>@ShaderManager.AppliedShader</p>
</div>
}
</div>

<div>
<a class="shader-list-toggle" @onclick="() => _availableExpanded = !_availableExpanded">
Available shaders
<span class="material-symbols-sharp">
@(_availableExpanded ? "expand_less" : "expand_more")
</span>
</a>
<ul class="shader-list" style="display: @(_availableExpanded ? "block" : "none")">
@foreach (var shader in ShaderManager.AvailableShaders)
{
<li class="shader">
<strong>@shader</strong>

<div class="shader-controls">
<span class="material-symbols-sharp" title="Delete shader (irreversible)" style="color: darkred"
@onclick="() => DeleteClicked(shader)">delete</span>
<JiayiButton Size="JiayiButton.ButtonSize.Small" OnClick="() => EnableClicked(shader)">Enable</JiayiButton>
</div>
</li>
}
</ul>
</div>
<div class="separator"></div>

<label class="add-new" title=".zip files only">
Drag or click to add shaders
<InputFile OnChange="FileSelected" />
</label>
<div class="available-shaders">
<h4>Available shaders</h4>

@foreach (var shader in ShaderManager.Shaders)
{
<div class="shader">
<p>@shader</p>
</div>
}
</div>
</div>

@code {
Expand Down Expand Up @@ -204,4 +171,9 @@
StateHasChanged();
}

private void BackClicked()
{
NavigationManager.NavigateTo("/Versions");
}

}
100 changes: 8 additions & 92 deletions JiayiLauncher/Pages/Extra/Shaders.razor.css
Original file line number Diff line number Diff line change
@@ -1,106 +1,22 @@
.shader-page {
.page-title {
display: flex;
flex-direction: column;
gap: 1rem;
}

.header-buttons {
display: flex;
align-items: center;
column-gap: 0.7rem;
margin-bottom: 1rem;
}

.shader-list-toggle {
text-decoration: none;
width: 100%;
padding: 0.5rem;
background-color: var(--background-secondary);
box-shadow: var(--shadow);
cursor: pointer;

display: flex;
justify-content: space-between;
align-items: center;

transition: var(--transition-speed);

border-top-left-radius: var(--rounding);
border-top-right-radius: var(--rounding);
}

.shader-list-toggle:hover {
filter: brightness(1.5);
}

.shader-list-toggle:active {
filter: brightness(0.8);
transform: translate(5px, 5px);
box-shadow: none;
}

.shader-list {
list-style: none;
padding: 0;
margin: 0;
}

.shader {
display: flex;
justify-content: space-between;
gap: 0.5rem;
align-items: center;
padding: 0.5rem;
background-color: var(--background-secondary);
box-shadow: var(--shadow);
z-index: 2;
position: relative;
}

.shader:last-child {
border-bottom-left-radius: var(--rounding);
border-bottom-right-radius: var(--rounding);
}

.shader-controls {
display: flex;
column-gap: 0.5rem;
align-items: center;
}

.shader:hover .shader-controls span {
opacity: 100%;
}

.shader-controls span {
cursor: pointer;
opacity: 0;
transition: var(--transition-speed);
}

.no-shaders i {
.page-title span {
color: var(--text-grayed);
font-size: 14px;
text-align: center;
display: block;
width: 100%;
margin: 1.5rem 0;
}

.add-new {
border: 2px dashed var(--text-grayed);
border-radius: var(--rounding);
text-align: center;
padding: 0.5rem;
.page-title h4 {
color: var(--text-grayed);
cursor: pointer;

transition: var(--transition-speed);
}

.add-new:hover {
filter: brightness(1.5);
.page-title h4:hover {
text-decoration: underline;
}

::deep input[type="file"] {
display: none;
.page-title h3 {
color: var(--text-primary);
}

0 comments on commit 88789e7

Please sign in to comment.