mirror of
https://git.srhtnin.garden/sarah/srhtnin.github.io.git
synced 2026-10-13 18:38:11 +02:00
690 lines
22 KiB
PHP
690 lines
22 KiB
PHP
<?php
|
|
|
|
$PageTitle = "Profile";
|
|
|
|
|
|
?>
|
|
|
|
<!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>Profile</h1>
|
|
|
|
<p>
|
|
Manage your Garden profile and display settings,
|
|
view your statistics, move your account between
|
|
devices, and find the Garden contact addresses.
|
|
</p>
|
|
|
|
|
|
<section
|
|
id="Player"
|
|
class="Panel ProfileSection InteractivePanel"
|
|
>
|
|
<h2 class="PanelHeader PanelHeaderInset">Player</h2>
|
|
|
|
<form id="ProfileUsernameForm">
|
|
<label
|
|
for="ProfileUsernameInput"
|
|
>
|
|
Username
|
|
</label>
|
|
|
|
<div class="ProfileFormRow">
|
|
<input
|
|
id="ProfileUsernameInput"
|
|
type="text"
|
|
minlength="3"
|
|
maxlength="24"
|
|
autocomplete="username"
|
|
placeholder="Username"
|
|
required
|
|
>
|
|
|
|
<button type="submit">
|
|
Save username
|
|
</button>
|
|
</div>
|
|
|
|
<p
|
|
id="ProfileUsernameMessage"
|
|
class="ProfileMessage"
|
|
></p>
|
|
</form>
|
|
|
|
<form id="ProfileColourForm">
|
|
<label
|
|
for="ProfileColourInput"
|
|
>
|
|
Colour
|
|
</label>
|
|
|
|
<div class="ProfileFormRow">
|
|
<input
|
|
id="ProfileColourInput"
|
|
class="ProfileColourInput"
|
|
type="color"
|
|
value="#000000"
|
|
>
|
|
|
|
<strong
|
|
id="ProfileColourPreview"
|
|
class="ProfileColourPreview"
|
|
>
|
|
Preview
|
|
</strong>
|
|
|
|
<button type="submit">
|
|
Save colour
|
|
</button>
|
|
|
|
<button
|
|
id="ResetProfileColourButton"
|
|
type="button"
|
|
>
|
|
Reset
|
|
</button>
|
|
</div>
|
|
|
|
<p
|
|
id="ProfileColourMessage"
|
|
class="ProfileMessage"
|
|
></p>
|
|
</form>
|
|
</section>
|
|
|
|
<section
|
|
id="GardenerProfile"
|
|
class="Panel ProfileSection InteractivePanel"
|
|
>
|
|
<h2 class="PanelHeader PanelHeaderInset">Gardener profile</h2>
|
|
|
|
<form id="ProfileDescriptionForm">
|
|
<label
|
|
for="ProfileDescriptionInput"
|
|
>
|
|
Description
|
|
</label>
|
|
|
|
<textarea
|
|
id="ProfileDescriptionInput"
|
|
rows="4"
|
|
maxlength="500"
|
|
placeholder="Write a short description..."
|
|
></textarea>
|
|
|
|
<div class="ProfileButtonRow">
|
|
<button type="submit">
|
|
Save description
|
|
</button>
|
|
</div>
|
|
|
|
<p
|
|
id="ProfileDescriptionMessage"
|
|
class="ProfileMessage"
|
|
></p>
|
|
</form>
|
|
|
|
<h3>Profile picture</h3>
|
|
|
|
<p>
|
|
Choose any plant you have discovered.
|
|
The selected growth stage is used anywhere
|
|
your Gardener profile picture is shown.
|
|
</p>
|
|
|
|
<div class="ProfilePictureSelectionRow">
|
|
<div>
|
|
<span class="ProfilePictureSelectionLabel">
|
|
Selected
|
|
</span>
|
|
|
|
<strong id="ProfilePictureSelectedName">
|
|
None
|
|
</strong>
|
|
</div>
|
|
|
|
<label
|
|
class="ProfilePictureGrowthStageLabel"
|
|
for="ProfilePictureGrowthStageSelect"
|
|
>
|
|
Growth stage
|
|
|
|
<select
|
|
id="ProfilePictureGrowthStageSelect"
|
|
disabled
|
|
>
|
|
<option value="">None</option>
|
|
</select>
|
|
</label>
|
|
|
|
<button
|
|
id="SaveProfilePictureButton"
|
|
type="button"
|
|
disabled
|
|
>
|
|
Save
|
|
</button>
|
|
</div>
|
|
|
|
<div
|
|
class="CatalogueControls"
|
|
aria-label="Profile picture plant search and sorting"
|
|
>
|
|
<input
|
|
id="ProfilePictureSearchInput"
|
|
type="search"
|
|
placeholder="Search plants..."
|
|
aria-label="Search profile picture plants"
|
|
autocomplete="off"
|
|
>
|
|
|
|
<select
|
|
id="ProfilePictureSortSelect"
|
|
aria-label="Sort profile picture plants"
|
|
>
|
|
<option value="IdAsc">ID</option>
|
|
<option value="NameAsc">Name A-Z</option>
|
|
<option value="GrowthAsc">Growth short-long</option>
|
|
<option value="GrowthDesc">Growth long-short</option>
|
|
<option value="CostAsc">Cost low-high</option>
|
|
<option value="CostDesc">Cost high-low</option>
|
|
<option value="RewardAsc">Reward low-high</option>
|
|
<option value="RewardDesc">Reward high-low</option>
|
|
<option value="DphDesc">DPH high-low</option>
|
|
<option value="DphAsc">DPH low-high</option>
|
|
</select>
|
|
</div>
|
|
|
|
<div
|
|
id="ProfilePictureGrid"
|
|
class="ProfilePictureGrid"
|
|
></div>
|
|
|
|
<p
|
|
id="ProfilePictureCatalogueMessage"
|
|
class="ProfileMessage"
|
|
aria-live="polite"
|
|
>
|
|
Loading discovered plants...
|
|
</p>
|
|
|
|
<p
|
|
id="ProfilePictureMessage"
|
|
class="ProfileMessage"
|
|
aria-live="polite"
|
|
></p>
|
|
|
|
<h3>Privacy</h3>
|
|
|
|
<p>
|
|
Choose which parts of your Gardener profile
|
|
other players will be able to use or view.
|
|
Hiding statistics also removes you from the
|
|
public Dew leaderboard.
|
|
</p>
|
|
|
|
<div class="ProfileButtonRow">
|
|
<button
|
|
id="ToggleGardenPreviewsButton"
|
|
type="button"
|
|
>
|
|
Garden previews: On
|
|
</button>
|
|
|
|
<button
|
|
id="ToggleCommentsButton"
|
|
type="button"
|
|
>
|
|
Comments: On
|
|
</button>
|
|
|
|
<button
|
|
id="ToggleDewDonationsButton"
|
|
type="button"
|
|
>
|
|
Dew donations: On
|
|
</button>
|
|
|
|
<button
|
|
id="ToggleProfileStatsButton"
|
|
type="button"
|
|
>
|
|
Statistics: On
|
|
</button>
|
|
</div>
|
|
|
|
<p
|
|
id="ProfilePrivacyMessage"
|
|
class="ProfileMessage"
|
|
aria-live="polite"
|
|
></p>
|
|
</section>
|
|
|
|
<section
|
|
id="GardenDisplay"
|
|
class="Panel ProfileSection InteractivePanel"
|
|
>
|
|
<h2 class="PanelHeader PanelHeaderInset">Garden display</h2>
|
|
|
|
<h3>Tool selection</h3>
|
|
|
|
<p>
|
|
Choose which Garden actions automatically change
|
|
your selected seed or tool.
|
|
</p>
|
|
|
|
<div class="ProfileButtonRow">
|
|
<button
|
|
id="ToggleSelectQuickBoughtPlantButton"
|
|
type="button"
|
|
>
|
|
Select bought plant when you quick-buy one: On
|
|
</button>
|
|
|
|
<button
|
|
id="ToggleSelectTrowelWithInventoryPlantButton"
|
|
type="button"
|
|
>
|
|
Select trowel when you select an inventory plant: On
|
|
</button>
|
|
</div>
|
|
|
|
<h3>Plant information</h3>
|
|
|
|
<p>
|
|
Choose which Plant information details are
|
|
shown on Garden plots.
|
|
</p>
|
|
|
|
<div class="ProfileButtonRow">
|
|
<button
|
|
id="TogglePlantNamesButton"
|
|
type="button"
|
|
>
|
|
Plant names: Locked
|
|
</button>
|
|
|
|
<button
|
|
id="ToggleGrowthTimersButton"
|
|
type="button"
|
|
>
|
|
Growth timers: Locked
|
|
</button>
|
|
</div>
|
|
|
|
<p
|
|
id="GardenDisplayMessage"
|
|
class="ProfileMessage"
|
|
>
|
|
Unlock Plant information in the Shop
|
|
to use these settings.
|
|
</p>
|
|
|
|
<h3>Plot rotation</h3>
|
|
|
|
<p>
|
|
Choose whether plot directions are shown
|
|
beside plot timers.
|
|
</p>
|
|
|
|
<div class="ProfileButtonRow">
|
|
<button
|
|
id="TogglePlotRotationButton"
|
|
type="button"
|
|
>
|
|
Plot rotation: Locked
|
|
</button>
|
|
</div>
|
|
|
|
<p
|
|
id="PlotRotationDisplayMessage"
|
|
class="ProfileMessage"
|
|
>
|
|
Unlock Plot rotation in the Shop
|
|
to use this setting.
|
|
</p>
|
|
|
|
<h3>Garden overview</h3>
|
|
|
|
<p>
|
|
Choose which Garden overview lines are
|
|
shown in the Garden status box.
|
|
</p>
|
|
|
|
<div class="ProfileButtonRow">
|
|
<button
|
|
id="ToggleNextHarvestButton"
|
|
type="button"
|
|
>
|
|
Next harvest: Locked
|
|
</button>
|
|
|
|
<button
|
|
id="ToggleGardenSizeButton"
|
|
type="button"
|
|
>
|
|
Garden size: Locked
|
|
</button>
|
|
|
|
<button
|
|
id="ToggleEmptyPlotsButton"
|
|
type="button"
|
|
>
|
|
Empty plots: Locked
|
|
</button>
|
|
|
|
<button
|
|
id="TogglePlantedPlotsButton"
|
|
type="button"
|
|
>
|
|
Planted plots: Locked
|
|
</button>
|
|
|
|
<button
|
|
id="ToggleGrowingPlotsButton"
|
|
type="button"
|
|
>
|
|
Growing: Locked
|
|
</button>
|
|
|
|
<button
|
|
id="ToggleReadyPlotsButton"
|
|
type="button"
|
|
>
|
|
Ready to harvest: Locked
|
|
</button>
|
|
</div>
|
|
|
|
<p
|
|
id="GardenOverviewDisplayMessage"
|
|
class="ProfileMessage"
|
|
>
|
|
Unlock Garden overview in the Shop
|
|
to use these settings.
|
|
</p>
|
|
</section>
|
|
|
|
<section
|
|
id="Statistics"
|
|
class="Panel ProfileSection InteractivePanel"
|
|
>
|
|
<h3 class="PanelHeader PanelHeaderInset">Statistics</h3>
|
|
|
|
<div class="ProfileStatistics">
|
|
<div class="ProfileStatistic">
|
|
<span class="ProfileStatisticName">
|
|
Current Dew
|
|
</span>
|
|
|
|
<strong id="ProfileCurrentDew">
|
|
...
|
|
</strong>
|
|
</div>
|
|
|
|
<div class="ProfileStatistic">
|
|
<span class="ProfileStatisticName">
|
|
Lifetime Dew
|
|
</span>
|
|
|
|
<strong id="ProfileLifetimeDew">
|
|
...
|
|
</strong>
|
|
</div>
|
|
|
|
<div class="ProfileStatistic">
|
|
<span class="ProfileStatisticName">
|
|
Plants discovered
|
|
</span>
|
|
|
|
<strong id="ProfilePlantsDiscovered">
|
|
...
|
|
</strong>
|
|
</div>
|
|
|
|
<div class="ProfileStatistic">
|
|
<span class="ProfileStatisticName">
|
|
Mutations discovered
|
|
</span>
|
|
|
|
<strong id="ProfileMutationsDiscovered">
|
|
...
|
|
</strong>
|
|
</div>
|
|
|
|
<div class="ProfileStatistic">
|
|
<span class="ProfileStatisticName">
|
|
Gardens owned
|
|
</span>
|
|
|
|
<strong id="ProfileGardensOwned">
|
|
...
|
|
</strong>
|
|
</div>
|
|
|
|
<div class="ProfileStatistic">
|
|
<span class="ProfileStatisticName">
|
|
Active Garden size
|
|
</span>
|
|
|
|
<strong id="ProfileGardenSize">
|
|
...
|
|
</strong>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
|
|
<section
|
|
id="Contact"
|
|
class="Panel ProfileSection InteractivePanel"
|
|
>
|
|
<h2 class="PanelHeader PanelHeaderInset">Contact</h2>
|
|
|
|
<p>
|
|
For general Garden questions, email
|
|
<a href="mailto:[email protected]">[email protected]</a>.
|
|
</p>
|
|
|
|
<p>
|
|
Bug reports can be sent to
|
|
<a href="mailto:[email protected]">[email protected]</a>,
|
|
while ideas and suggestions can be sent to
|
|
<a href="mailto:[email protected]">[email protected]</a>.
|
|
</p>
|
|
</section>
|
|
|
|
|
|
<section
|
|
id="Account"
|
|
class="Panel ProfileSection InteractivePanel"
|
|
>
|
|
<h2 class="PanelHeader PanelHeaderInset">Account</h2>
|
|
|
|
<p>
|
|
Your Account Key is the secret key used
|
|
to identify your Garden account.
|
|
</p>
|
|
|
|
<p>
|
|
You can use the same Account Key on
|
|
another device to access the same
|
|
username, save, and leaderboard entry.
|
|
</p>
|
|
|
|
<p>
|
|
<strong>
|
|
Anyone with your Account Key can
|
|
access your Garden account.
|
|
</strong>
|
|
Keep it private and treat it like a
|
|
password.
|
|
</p>
|
|
|
|
|
|
<details class="AccountKeySpoiler">
|
|
<summary>
|
|
Show Account Key
|
|
</summary>
|
|
|
|
<div class="AccountKeyContent">
|
|
<p>
|
|
Do not share this key with
|
|
anyone you do not trust.
|
|
</p>
|
|
|
|
<code id="AccountKeyDisplay">
|
|
Loading...
|
|
</code>
|
|
|
|
<div class="ProfileButtonRow">
|
|
<button
|
|
id="CopyAccountKeyButton"
|
|
type="button"
|
|
>
|
|
Copy Account Key
|
|
</button>
|
|
|
|
<button
|
|
id="ExportAccountKeyButton"
|
|
type="button"
|
|
>
|
|
Export Account Key
|
|
</button>
|
|
</div>
|
|
|
|
<p
|
|
id="AccountKeyMessage"
|
|
class="ProfileMessage"
|
|
></p>
|
|
</div>
|
|
</details>
|
|
|
|
|
|
<h3>Account data</h3>
|
|
|
|
<p>
|
|
Download a JSON copy of the Garden account
|
|
data currently stored on the server. The
|
|
Account Key is not included in this export.
|
|
</p>
|
|
|
|
<div class="ProfileButtonRow">
|
|
<button
|
|
id="ExportAccountDataButton"
|
|
type="button"
|
|
>
|
|
Export account data
|
|
</button>
|
|
</div>
|
|
|
|
|
|
<h3>Delete account</h3>
|
|
|
|
<p class="ProfileDangerText">
|
|
Permanently delete this Garden account from
|
|
the server and clear its Account Key and save
|
|
from this browser. This cannot be undone.
|
|
</p>
|
|
|
|
<div class="ProfileButtonRow">
|
|
<button
|
|
id="DeleteAccountButton"
|
|
class="ProfileDangerButton"
|
|
type="button"
|
|
>
|
|
Delete account
|
|
</button>
|
|
</div>
|
|
|
|
<p
|
|
id="AccountDataMessage"
|
|
class="ProfileMessage"
|
|
></p>
|
|
</section>
|
|
|
|
|
|
<section
|
|
id="Import"
|
|
class="Panel ProfileSection InteractivePanel"
|
|
>
|
|
<h3 class="PanelHeader PanelHeaderInset">Import Account</h3>
|
|
|
|
<p>
|
|
To use an existing Garden account on
|
|
this device, paste its Account Key
|
|
below.
|
|
</p>
|
|
|
|
<p>
|
|
Importing an Account Key will replace
|
|
the account currently used by this
|
|
browser. It will not delete the old
|
|
account or its server save.
|
|
</p>
|
|
|
|
<form id="ImportAccountForm">
|
|
<label
|
|
for="ImportAccountKeyInput"
|
|
>
|
|
Account Key
|
|
</label>
|
|
|
|
<textarea
|
|
id="ImportAccountKeyInput"
|
|
rows="3"
|
|
spellcheck="false"
|
|
autocomplete="off"
|
|
placeholder="Paste Account Key here"
|
|
required
|
|
></textarea>
|
|
|
|
<div class="ProfileButtonRow">
|
|
<button type="submit">
|
|
Import Account
|
|
</button>
|
|
|
|
<button
|
|
id="ImportAccountKeyFileButton"
|
|
type="button"
|
|
>
|
|
Import From File
|
|
</button>
|
|
</div>
|
|
|
|
<input
|
|
id="ImportAccountKeyFile"
|
|
type="file"
|
|
accept=".txt,text/plain"
|
|
hidden
|
|
>
|
|
|
|
<p
|
|
id="ImportAccountMessage"
|
|
class="ProfileMessage"
|
|
></p>
|
|
</form>
|
|
</section>
|
|
</main>
|
|
|
|
|
|
<script src="/Scripts/Garden/PlantImages.js"></script>
|
|
<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/Content.js"></script>
|
|
<script src="/Scripts/Garden/Upgrades.js"></script>
|
|
<script src="/Scripts/Garden/Users.js"></script>
|
|
<script src="/Scripts/Garden/Economy.js"></script>
|
|
<script src="/Scripts/Garden/PlantCatalogue.js"></script>
|
|
<script src="/Scripts/Garden/Profile.js"></script>
|
|
<script src="/Scripts/Garden/Account.js"></script>
|
|
</body>
|
|
</html>
|