mirror of
https://git.srhtnin.garden/sarah/srhtnin.github.io.git
synced 2026-10-14 10:48:12 +02:00
Added more Admin QOL stuff. DW.
This commit is contained in:
1 parent
ab0d858fef
commit
24842c65fb
12 files changed
+4236
No files matched your search
@@ -54,8 +54,61 @@ $PageSection = "Admin";
|
||||
Build mutation recipes with a visual grid.
|
||||
</span>
|
||||
</a>
|
||||
|
||||
<a
|
||||
class="ActionButton AdminEditorLink"
|
||||
href="/Pages/AdminMassPlants.html"
|
||||
>
|
||||
<strong>Mass plant editor</strong>
|
||||
<span>
|
||||
Apply selected plant fields to several plants at once.
|
||||
</span>
|
||||
</a>
|
||||
|
||||
<a
|
||||
class="ActionButton AdminEditorLink"
|
||||
href="/Pages/AdminMassMutations.html"
|
||||
>
|
||||
<strong>Mass mutation editor</strong>
|
||||
<span>
|
||||
Apply selected mutation fields to several mutations at once.
|
||||
</span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<section
|
||||
id="AdminOverview"
|
||||
class="Panel AdminOverview"
|
||||
hidden
|
||||
>
|
||||
<div class="PanelHeader">
|
||||
<h2>Quick overview</h2>
|
||||
</div>
|
||||
|
||||
<p
|
||||
id="AdminOverviewMessage"
|
||||
class="PageMessage"
|
||||
aria-live="polite"
|
||||
></p>
|
||||
|
||||
<div class="AdminOverviewGroups">
|
||||
<section>
|
||||
<h2>Plants</h2>
|
||||
<div id="AdminOverviewMissingSprites"></div>
|
||||
<div id="AdminOverviewNoObtain"></div>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2>Mutations</h2>
|
||||
<div id="AdminOverviewNoDescription"></div>
|
||||
<div id="AdminOverviewNoHint"></div>
|
||||
</section>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<script src="/Scripts/Garden/PlantImages.js"></script>
|
||||
<script src="/Scripts/Garden/AdminOverview.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,269 @@
|
||||
<?php
|
||||
|
||||
$PageTitle = "Admin mass mutations";
|
||||
$PageSection = "Admin";
|
||||
|
||||
?>
|
||||
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html lang="en" data-palette="CatppuccinMocha">
|
||||
<?php require __DIR__ . "/Bits/Head.php"; ?>
|
||||
|
||||
<body>
|
||||
<?php require __DIR__ . "/Bits/Navbar.php"; ?>
|
||||
|
||||
<main class="MainContainer AdminMutationMain">
|
||||
<h1>Mass mutation editor</h1>
|
||||
|
||||
<p>
|
||||
Mark the mutations you want to edit, enable the fields to
|
||||
change, then save. Fields left disabled stay untouched.
|
||||
</p>
|
||||
|
||||
<p
|
||||
id="AdminAccessMessage"
|
||||
class="PageMessage"
|
||||
aria-live="polite"
|
||||
>
|
||||
Checking admin access...
|
||||
</p>
|
||||
|
||||
<div id="AdminContent" hidden>
|
||||
<section class="Panel AdminMassSelectionPanel">
|
||||
<div class="PanelHeader">
|
||||
<h2>Mutations</h2>
|
||||
</div>
|
||||
|
||||
<div class="AdminMassSelectionBody">
|
||||
<div
|
||||
id="AdminMassMutationSelection"
|
||||
class="AdminPlantChecklist AdminMassChecklist"
|
||||
></div>
|
||||
|
||||
<div class="AdminEditorActions">
|
||||
<button
|
||||
id="AdminMassMutationSelectAll"
|
||||
class="ActionButton AdminInlineButton"
|
||||
type="button"
|
||||
>
|
||||
Select all
|
||||
</button>
|
||||
|
||||
<button
|
||||
id="AdminMassMutationClear"
|
||||
class="ActionButton AdminInlineButton"
|
||||
type="button"
|
||||
>
|
||||
Clear selection
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<form
|
||||
id="AdminMassMutationForm"
|
||||
class="Panel AdminEditorForm AdminMassEditorForm"
|
||||
>
|
||||
<div class="PanelHeader PanelHeaderInset">
|
||||
<h2>Fields</h2>
|
||||
</div>
|
||||
|
||||
<div class="AdminEditorGrid">
|
||||
<div class="AdminMassField AdminEditorWideField">
|
||||
<label class="AdminEditorCheckField AdminMassApplyField">
|
||||
<input type="checkbox" data-admin-mass-apply="Name">
|
||||
<span>Apply</span>
|
||||
</label>
|
||||
<label class="AdminEditorField">
|
||||
<span>Name</span>
|
||||
<input id="AdminMassMutationName" type="text" maxlength="128">
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="AdminMassField AdminEditorWideField">
|
||||
<label class="AdminEditorCheckField AdminMassApplyField">
|
||||
<input type="checkbox" data-admin-mass-apply="Description">
|
||||
<span>Apply</span>
|
||||
</label>
|
||||
<label class="AdminEditorField">
|
||||
<span>Description</span>
|
||||
<textarea id="AdminMassMutationDescription" rows="4"></textarea>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="AdminMassField AdminEditorWideField">
|
||||
<label class="AdminEditorCheckField AdminMassApplyField">
|
||||
<input type="checkbox" data-admin-mass-apply="Hint">
|
||||
<span>Apply</span>
|
||||
</label>
|
||||
<label class="AdminEditorField">
|
||||
<span>Hint</span>
|
||||
<textarea id="AdminMassMutationHint" rows="3"></textarea>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="AdminMassField">
|
||||
<label class="AdminEditorCheckField AdminMassApplyField">
|
||||
<input type="checkbox" data-admin-mass-apply="Priority">
|
||||
<span>Apply</span>
|
||||
</label>
|
||||
<label class="AdminEditorField">
|
||||
<span>Priority</span>
|
||||
<input id="AdminMassMutationPriority" type="number" step="1" value="0">
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="AdminMassField">
|
||||
<label class="AdminEditorCheckField AdminMassApplyField">
|
||||
<input type="checkbox" data-admin-mass-apply="Chance">
|
||||
<span>Apply</span>
|
||||
</label>
|
||||
<label class="AdminEditorField">
|
||||
<span>Chance (%)</span>
|
||||
<input id="AdminMassMutationChance" type="number" min="0" max="100" step="0.01" value="100">
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="AdminMassField">
|
||||
<label class="AdminEditorCheckField AdminMassApplyField">
|
||||
<input type="checkbox" data-admin-mass-apply="Cooldown">
|
||||
<span>Apply</span>
|
||||
</label>
|
||||
<div class="AdminEditorField">
|
||||
<span>Cooldown</span>
|
||||
<div class="AdminDurationInputs">
|
||||
<label>
|
||||
<span>Hours</span>
|
||||
<input id="AdminMassMutationCooldownHours" type="number" min="0" step="1" value="0">
|
||||
</label>
|
||||
<label>
|
||||
<span>Minutes</span>
|
||||
<input id="AdminMassMutationCooldownMinutes" type="number" min="0" max="59" step="1" value="0">
|
||||
</label>
|
||||
<label>
|
||||
<span>Seconds</span>
|
||||
<input id="AdminMassMutationCooldownSeconds" type="number" min="0" max="59" step="1" value="0">
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="AdminMassField">
|
||||
<label class="AdminEditorCheckField AdminMassApplyField">
|
||||
<input type="checkbox" data-admin-mass-apply="Rotation">
|
||||
<span>Apply</span>
|
||||
</label>
|
||||
<label class="AdminEditorField">
|
||||
<span>Rotation</span>
|
||||
<select id="AdminMassMutationRotation">
|
||||
<option value="None">None</option>
|
||||
<option value="Any">Any</option>
|
||||
</select>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="AdminMassField">
|
||||
<label class="AdminEditorCheckField AdminMassApplyField">
|
||||
<input type="checkbox" data-admin-mass-apply="AllowImmature">
|
||||
<span>Apply</span>
|
||||
</label>
|
||||
<label class="AdminEditorField">
|
||||
<span>Allow immature plants</span>
|
||||
<select id="AdminMassMutationAllowImmature">
|
||||
<option value="true">Yes</option>
|
||||
<option value="false">No</option>
|
||||
</select>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="AdminMassField AdminEditorWideField">
|
||||
<label class="AdminEditorCheckField AdminMassApplyField">
|
||||
<input type="checkbox" data-admin-mass-apply="Pattern">
|
||||
<span>Apply</span>
|
||||
</label>
|
||||
<label class="AdminEditorField">
|
||||
<span>Pattern JSON</span>
|
||||
<textarea id="AdminMassMutationPattern" rows="7" spellcheck="false">[["Any"]]</textarea>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="AdminMassField AdminEditorWideField">
|
||||
<label class="AdminEditorCheckField AdminMassApplyField">
|
||||
<input type="checkbox" data-admin-mass-apply="Success">
|
||||
<span>Apply</span>
|
||||
</label>
|
||||
<label class="AdminEditorField">
|
||||
<span>Success result JSON</span>
|
||||
<textarea id="AdminMassMutationSuccess" rows="7" spellcheck="false">[["Keep"]]</textarea>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="AdminMassField AdminEditorWideField">
|
||||
<label class="AdminEditorCheckField AdminMassApplyField">
|
||||
<input type="checkbox" data-admin-mass-apply="Failure">
|
||||
<span>Apply</span>
|
||||
</label>
|
||||
<label class="AdminEditorField">
|
||||
<span>Failure result JSON</span>
|
||||
<textarea id="AdminMassMutationFailure" rows="7" spellcheck="false">"Keep"</textarea>
|
||||
<small>Use "Keep", "Clear", or a result matrix.</small>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="AdminMassField AdminEditorWideField">
|
||||
<label class="AdminEditorCheckField AdminMassApplyField">
|
||||
<input type="checkbox" data-admin-mass-apply="PlantsUsed">
|
||||
<span>Apply</span>
|
||||
</label>
|
||||
<label class="AdminEditorField">
|
||||
<span>Plants used</span>
|
||||
<input id="AdminMassMutationPlantsUsed" type="text" placeholder="RedRose, BlueRose">
|
||||
<small>Comma-separated Plant Keys.</small>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="AdminMassField AdminEditorWideField">
|
||||
<label class="AdminEditorCheckField AdminMassApplyField">
|
||||
<input type="checkbox" data-admin-mass-apply="PlantsCreated">
|
||||
<span>Apply</span>
|
||||
</label>
|
||||
<label class="AdminEditorField">
|
||||
<span>Plants created</span>
|
||||
<input id="AdminMassMutationPlantsCreated" type="text" placeholder="PurpleRose">
|
||||
<small>Comma-separated Plant Keys.</small>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="AdminEditorActions">
|
||||
<button
|
||||
id="AdminMassMutationSaveButton"
|
||||
class="ActionButton AdminSaveButton"
|
||||
type="submit"
|
||||
>
|
||||
Save marked mutations
|
||||
</button>
|
||||
|
||||
<a
|
||||
class="ActionButton AdminInlineButton AdminEditorBackLink"
|
||||
href="/Pages/Admin.html"
|
||||
>
|
||||
Back to Admin
|
||||
</a>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<p
|
||||
id="AdminMassMutationMessage"
|
||||
class="PageMessage"
|
||||
aria-live="polite"
|
||||
></p>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<script src="/Scripts/Garden/Save.js"></script>
|
||||
<script src="/Scripts/Garden/AdminValidation.js"></script>
|
||||
<script src="/Scripts/Garden/AdminMassMutationEditor.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,218 @@
|
||||
<?php
|
||||
|
||||
$PageTitle = "Admin mass plants";
|
||||
$PageSection = "Admin";
|
||||
|
||||
?>
|
||||
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html lang="en" data-palette="CatppuccinMocha">
|
||||
<?php require __DIR__ . "/Bits/Head.php"; ?>
|
||||
|
||||
<body>
|
||||
<?php require __DIR__ . "/Bits/Navbar.php"; ?>
|
||||
|
||||
<main class="MainContainer">
|
||||
<h1>Mass plant editor</h1>
|
||||
|
||||
<p>
|
||||
Mark the plants you want to edit, enable the fields to
|
||||
change, then save. Fields left disabled stay untouched.
|
||||
</p>
|
||||
|
||||
<p
|
||||
id="AdminAccessMessage"
|
||||
class="PageMessage"
|
||||
aria-live="polite"
|
||||
>
|
||||
Checking admin access...
|
||||
</p>
|
||||
|
||||
<div id="AdminContent" hidden>
|
||||
<section class="Panel AdminMassSelectionPanel">
|
||||
<div class="PanelHeader">
|
||||
<h2>Plants</h2>
|
||||
</div>
|
||||
|
||||
<div class="AdminMassSelectionBody">
|
||||
<div
|
||||
id="AdminMassPlantSelection"
|
||||
class="AdminPlantChecklist AdminMassChecklist"
|
||||
></div>
|
||||
|
||||
<div class="AdminEditorActions">
|
||||
<button
|
||||
id="AdminMassPlantSelectAll"
|
||||
class="ActionButton AdminInlineButton"
|
||||
type="button"
|
||||
>
|
||||
Select all
|
||||
</button>
|
||||
|
||||
<button
|
||||
id="AdminMassPlantClear"
|
||||
class="ActionButton AdminInlineButton"
|
||||
type="button"
|
||||
>
|
||||
Clear selection
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<form
|
||||
id="AdminMassPlantForm"
|
||||
class="Panel AdminEditorForm AdminMassEditorForm"
|
||||
>
|
||||
<div class="PanelHeader PanelHeaderInset">
|
||||
<h2>Fields</h2>
|
||||
</div>
|
||||
|
||||
<div class="AdminEditorGrid">
|
||||
<div class="AdminMassField AdminEditorWideField">
|
||||
<label class="AdminEditorCheckField AdminMassApplyField">
|
||||
<input type="checkbox" data-admin-mass-apply="Name">
|
||||
<span>Apply</span>
|
||||
</label>
|
||||
|
||||
<label class="AdminEditorField">
|
||||
<span>Name</span>
|
||||
<input id="AdminMassPlantName" type="text" maxlength="64">
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="AdminMassField AdminEditorWideField">
|
||||
<label class="AdminEditorCheckField AdminMassApplyField">
|
||||
<input type="checkbox" data-admin-mass-apply="Description">
|
||||
<span>Apply</span>
|
||||
</label>
|
||||
|
||||
<label class="AdminEditorField">
|
||||
<span>Description</span>
|
||||
<textarea id="AdminMassPlantDescription" rows="4"></textarea>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="AdminMassField AdminEditorWideField">
|
||||
<label class="AdminEditorCheckField AdminMassApplyField">
|
||||
<input type="checkbox" data-admin-mass-apply="Tags">
|
||||
<span>Apply</span>
|
||||
</label>
|
||||
|
||||
<label class="AdminEditorField">
|
||||
<span>Tags</span>
|
||||
<input id="AdminMassPlantTags" type="text" placeholder="Rose, Flower, Red">
|
||||
<small>Comma-separated.</small>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="AdminMassField">
|
||||
<label class="AdminEditorCheckField AdminMassApplyField">
|
||||
<input type="checkbox" data-admin-mass-apply="GrowthTime">
|
||||
<span>Apply</span>
|
||||
</label>
|
||||
|
||||
<div class="AdminEditorField">
|
||||
<span>Growth time</span>
|
||||
|
||||
<div class="AdminDurationInputs">
|
||||
<label>
|
||||
<span>Hours</span>
|
||||
<input id="AdminMassPlantGrowthHours" type="number" min="0" step="1" value="1">
|
||||
</label>
|
||||
<label>
|
||||
<span>Minutes</span>
|
||||
<input id="AdminMassPlantGrowthMinutes" type="number" min="0" max="59" step="1" value="0">
|
||||
</label>
|
||||
<label>
|
||||
<span>Seconds</span>
|
||||
<input id="AdminMassPlantGrowthSeconds" type="number" min="0" max="59" step="1" value="0">
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="AdminMassField">
|
||||
<label class="AdminEditorCheckField AdminMassApplyField">
|
||||
<input type="checkbox" data-admin-mass-apply="HarvestMultiplier">
|
||||
<span>Apply</span>
|
||||
</label>
|
||||
|
||||
<label class="AdminEditorField">
|
||||
<span>Harvest multiplier</span>
|
||||
<input id="AdminMassPlantHarvestMultiplier" type="number" min="0" max="9999.9999" step="0.0001" value="1.5">
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="AdminMassField">
|
||||
<label class="AdminEditorCheckField AdminMassApplyField">
|
||||
<input type="checkbox" data-admin-mass-apply="ShopPlant">
|
||||
<span>Apply</span>
|
||||
</label>
|
||||
|
||||
<label class="AdminEditorField">
|
||||
<span>Shop plant</span>
|
||||
<select id="AdminMassPlantShopPlant">
|
||||
<option value="true">Yes</option>
|
||||
<option value="false">No</option>
|
||||
</select>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="AdminMassField">
|
||||
<label class="AdminEditorCheckField AdminMassApplyField">
|
||||
<input type="checkbox" data-admin-mass-apply="BaseCost">
|
||||
<span>Apply</span>
|
||||
</label>
|
||||
|
||||
<label class="AdminEditorField">
|
||||
<span>Base seed cost</span>
|
||||
<input id="AdminMassPlantBaseCost" type="number" min="0" step="1" value="0">
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="AdminMassField AdminEditorWideField">
|
||||
<label class="AdminEditorCheckField AdminMassApplyField">
|
||||
<input type="checkbox" data-admin-mass-apply="Effects">
|
||||
<span>Apply</span>
|
||||
</label>
|
||||
|
||||
<label class="AdminEditorField">
|
||||
<span>Effects JSON</span>
|
||||
<textarea id="AdminMassPlantEffects" rows="8" spellcheck="false">{}</textarea>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="AdminEditorActions">
|
||||
<button
|
||||
id="AdminMassPlantSaveButton"
|
||||
class="ActionButton AdminSaveButton"
|
||||
type="submit"
|
||||
>
|
||||
Save marked plants
|
||||
</button>
|
||||
|
||||
<a
|
||||
class="ActionButton AdminInlineButton AdminEditorBackLink"
|
||||
href="/Pages/Admin.html"
|
||||
>
|
||||
Back to Admin
|
||||
</a>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<p
|
||||
id="AdminMassPlantMessage"
|
||||
class="PageMessage"
|
||||
aria-live="polite"
|
||||
></p>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<script src="/Scripts/Garden/Save.js"></script>
|
||||
<script src="/Scripts/Garden/AdminValidation.js"></script>
|
||||
<script src="/Scripts/Garden/AdminMassPlantEditor.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -64,6 +64,31 @@ $PageSection = "Admin";
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div class="AdminEditorActions AdminEditorTransferActions">
|
||||
<button
|
||||
id="AdminMutationImportButton"
|
||||
class="ActionButton AdminInlineButton"
|
||||
type="button"
|
||||
>
|
||||
Import JSON
|
||||
</button>
|
||||
|
||||
<input
|
||||
id="AdminMutationImportFile"
|
||||
type="file"
|
||||
accept="application/json,.json"
|
||||
hidden
|
||||
>
|
||||
|
||||
<button
|
||||
id="AdminMutationExportButton"
|
||||
class="ActionButton AdminInlineButton"
|
||||
type="button"
|
||||
>
|
||||
Export JSON
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<form
|
||||
id="AdminMutationForm"
|
||||
class="Panel AdminEditorForm"
|
||||
@@ -489,6 +514,7 @@ $PageSection = "Admin";
|
||||
<script src="/Scripts/Garden/Plants.js"></script>
|
||||
<script src="/Scripts/Garden/Mutations.js"></script>
|
||||
<script src="/Scripts/Garden/Save.js"></script>
|
||||
<script src="/Scripts/Garden/AdminValidation.js"></script>
|
||||
<script src="/Scripts/Garden/AdminMutationEditor.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -64,6 +64,31 @@ $PageSection = "Admin";
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div class="AdminEditorActions AdminEditorTransferActions">
|
||||
<button
|
||||
id="AdminPlantImportButton"
|
||||
class="ActionButton AdminInlineButton"
|
||||
type="button"
|
||||
>
|
||||
Import JSON
|
||||
</button>
|
||||
|
||||
<input
|
||||
id="AdminPlantImportFile"
|
||||
type="file"
|
||||
accept="application/json,.json"
|
||||
hidden
|
||||
>
|
||||
|
||||
<button
|
||||
id="AdminPlantExportButton"
|
||||
class="ActionButton AdminInlineButton"
|
||||
type="button"
|
||||
>
|
||||
Export JSON
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<form
|
||||
id="AdminPlantForm"
|
||||
class="Panel AdminEditorForm"
|
||||
@@ -360,6 +385,7 @@ $PageSection = "Admin";
|
||||
<script src="/Scripts/Garden/Mutations.js"></script>
|
||||
<script src="/Scripts/Garden/Save.js"></script>
|
||||
<script src="/Scripts/Garden/Economy.js"></script>
|
||||
<script src="/Scripts/Garden/AdminValidation.js"></script>
|
||||
<script src="/Scripts/Garden/AdminPlantEditor.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
Reference in new issue
Block a user