Added more social stuff like previewing gardens and stuff! Pretty

awesome.
This commit is contained in:
sarah committed 2026-09-07 18:40:32 +02:00
1 parent d1721517cc
commit 56d70e8c0c
9 files changed
+2623 -43

No files matched your search

+228
View File
@@ -0,0 +1,228 @@
<?php
$PageTitle = "Gardener";
$PageSection = "Social";
?>
<!DOCTYPE html>
<html lang="en" data-palette="CatppuccinMocha">
<?php require __DIR__ . "/Bits/Head.php"; ?>
<body>
<?php require __DIR__ . "/Bits/Navbar.php"; ?>
<main class="MainContainer">
<p class="GardenerBackLink">
<a href="/Pages/Social.html">Back to Social</a>
</p>
<div class="GardenerHero">
<div id="GardenerAvatar"></div>
<div class="GardenerHeroText">
<h1 id="GardenerName">Gardener</h1>
<p id="GardenerDescription">
Loading gardener...
</p>
</div>
</div>
<p
id="GardenerPageMessage"
class="PageMessage"
aria-live="polite"
>
Loading gardener...
</p>
<section
id="GardenerStatsSection"
class="Panel SocialSection"
hidden
>
<h2 class="PanelHeader PanelHeaderInset">Statistics</h2>
<div class="ProfileStatistics">
<div class="ProfileStatistic">
<span class="ProfileStatisticName">Current Dew</span>
<strong id="GardenerCurrentDew">0</strong>
</div>
<div class="ProfileStatistic">
<span class="ProfileStatisticName">Lifetime Dew</span>
<strong id="GardenerLifetimeDew">0</strong>
</div>
<div class="ProfileStatistic">
<span class="ProfileStatisticName">Plants discovered</span>
<strong id="GardenerPlantsDiscovered">0</strong>
</div>
<div class="ProfileStatistic">
<span class="ProfileStatisticName">Mutations discovered</span>
<strong id="GardenerMutationsDiscovered">0</strong>
</div>
<div class="ProfileStatistic">
<span class="ProfileStatisticName">Gardens owned</span>
<strong id="GardenerGardensOwned">0</strong>
</div>
<div class="ProfileStatistic">
<span class="ProfileStatisticName">Active Garden size</span>
<strong id="GardenerActiveGardenSize">0×0</strong>
</div>
</div>
<p
id="GardenerStatsPrivateMessage"
class="ProfileMessage"
hidden
></p>
</section>
<section
id="GardenerGardensSection"
class="Panel SocialSection"
hidden
>
<div class="PanelHeader PanelHeaderInset GardenerSectionHeader">
<h2>Gardens</h2>
<span id="GardenerGardenPosition"></span>
</div>
<div
id="GardenerGardenControls"
class="GardenerGardenControls"
>
<button
id="PreviousGardenerGardenButton"
class="ActionButton"
type="button"
>
Previous
</button>
<div class="GardenerGardenTitle">
<strong id="GardenerGardenName">Garden</strong>
<span id="GardenerGardenSize">0×0</span>
</div>
<button
id="NextGardenerGardenButton"
class="ActionButton"
type="button"
>
Next
</button>
</div>
<div class="GardenGridViewport">
<div
id="GardenerGardenGrid"
class="GardenGrid GardenerGardenGrid"
></div>
</div>
<p
id="GardenerGardensMessage"
class="ProfileMessage"
></p>
</section>
<section
id="GardenerDonationSection"
class="Panel SocialSection InteractivePanel"
hidden
>
<h2 class="PanelHeader PanelHeaderInset">Dew donation</h2>
<p id="GardenerDonationBalance"></p>
<form
id="GardenerDonationForm"
class="FormRow"
>
<input
id="GardenerDonationAmount"
type="number"
min="1"
step="1"
inputmode="numeric"
placeholder="Dew amount"
required
>
<button type="submit">
Donate Dew
</button>
</form>
<p
id="GardenerDonationMessage"
class="ProfileMessage"
aria-live="polite"
></p>
</section>
<section
id="GardenerCommentsSection"
class="Panel SocialSection InteractivePanel"
hidden
>
<h2 class="PanelHeader PanelHeaderInset">Comments</h2>
<form id="GardenerCommentForm">
<label for="GardenerCommentInput">
Leave a comment
</label>
<textarea
id="GardenerCommentInput"
rows="3"
maxlength="1000"
placeholder="Write a comment..."
required
></textarea>
<div class="FormRow">
<button type="submit">
Leave comment
</button>
</div>
</form>
<p
id="GardenerCommentMessage"
class="ProfileMessage"
aria-live="polite"
></p>
<div
id="GardenerCommentList"
class="GardenerCommentList"
></div>
<button
id="LoadMoreGardenerCommentsButton"
class="ActionButton GardenerLoadMoreButton"
type="button"
hidden
>
Load more comments
</button>
</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/Users.js"></script>
<script src="/Scripts/Garden/Gardener.js"></script>
</body>
</html>
+42 -8
View File
@@ -312,11 +312,12 @@ $PageSection = "Guide";
<p>
Your <a href="/Pages/Profile.html">Profile</a>
contains your username, colour, Garden display settings,
statistics, and Account Key. Garden saves can sync through
the API, while the Account Key lets you use the same Garden
in another browser or on another device. It's basically
just like logging into an account.
contains your username, colour, Gardener description,
plant profile picture, privacy settings, Garden display
settings, statistics, and Account Key. Garden saves can
sync through the API, while the Account Key lets you use
the same Garden in another browser or on another device.
It's basically just like logging into an account.
</p>
<p>
@@ -325,6 +326,36 @@ $PageSection = "Guide";
</p>
</section>
<section
id="Social"
class="GuideSection"
>
<h2>Social and Gardener profiles</h2>
<p>
The <a href="/Pages/Social.html">Social</a> page lets
you search for other gardeners by username and open their
public Gardener page. Gardener profile pictures use a plant
and growth stage the player has discovered.
</p>
<p>
Gardener pages can show statistics and read-only previews
of every Garden the player owns. Players can independently
disable Garden previews, comments, Dew donations, and
public statistics from their Profile. Disabling public
statistics also hides the player from the Dew leaderboard.
</p>
<p>
Comments are simple messages left on a Gardener page. A
comment can be deleted by its author or by the owner of the
Gardener page. Dew donations transfer spendable Dew between
accounts, but donated Dew does not increase the recipient's
Lifetime Dew.
</p>
</section>
<section
id="Privacy"
class="GuideSection"
@@ -343,9 +374,12 @@ $PageSection = "Guide";
<p>
This browser stores your Account Key and a local copy
of your Garden save so the same account can keep working
between visits. If you set a username, some profile
information and statistics can also appear on the
public leaderboard.
between visits. If you set a username, your Gardener can
be found through Social. Your username, profile colour,
description, and selected plant profile picture form the
basic public Gardener profile; the separate privacy
settings control Garden previews, comments, Dew donations,
and public statistics.
</p>
<p>
+9 -7
View File
@@ -25,7 +25,7 @@ $PageTitle = "Profile";
<section
id="Player"
class="Panel ProfileSection"
class="Panel ProfileSection InteractivePanel"
>
<h2 class="PanelHeader PanelHeaderInset">Player</h2>
@@ -101,7 +101,7 @@ $PageTitle = "Profile";
<section
id="GardenerProfile"
class="Panel ProfileSection"
class="Panel ProfileSection InteractivePanel"
>
<h2 class="PanelHeader PanelHeaderInset">Gardener profile</h2>
@@ -226,6 +226,8 @@ $PageTitle = "Profile";
<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">
@@ -267,7 +269,7 @@ $PageTitle = "Profile";
<section
id="GardenDisplay"
class="Panel ProfileSection"
class="Panel ProfileSection InteractivePanel"
>
<h2 class="PanelHeader PanelHeaderInset">Garden display</h2>
@@ -411,7 +413,7 @@ $PageTitle = "Profile";
<section
id="Statistics"
class="Panel ProfileSection"
class="Panel ProfileSection InteractivePanel"
>
<h3 class="PanelHeader PanelHeaderInset">Statistics</h3>
@@ -481,7 +483,7 @@ $PageTitle = "Profile";
<section
id="Contact"
class="Panel ProfileSection"
class="Panel ProfileSection InteractivePanel"
>
<h2 class="PanelHeader PanelHeaderInset">Contact</h2>
@@ -501,7 +503,7 @@ $PageTitle = "Profile";
<section
id="Account"
class="Panel ProfileSection"
class="Panel ProfileSection InteractivePanel"
>
<h2 class="PanelHeader PanelHeaderInset">Account</h2>
@@ -610,7 +612,7 @@ $PageTitle = "Profile";
<section
id="Import"
class="Panel ProfileSection"
class="Panel ProfileSection InteractivePanel"
>
<h3 class="PanelHeader PanelHeaderInset">Import Account</h3>
+53 -1
View File
@@ -16,6 +16,54 @@ $PageSection = "Social";
<main class="MainContainer">
<h1>Social</h1>
<p>
Find other gardeners, visit their public profiles,
preview their Gardens, leave comments, and donate Dew
when they allow it.
</p>
<section
id="GardenerSearch"
class="Panel SocialSection"
>
<h2 class="PanelHeader PanelHeaderInset">Find gardeners</h2>
<form
id="GardenerSearchForm"
class="CatalogueControls"
role="search"
>
<input
id="GardenerSearchInput"
type="search"
maxlength="64"
placeholder="Search usernames..."
aria-label="Search gardeners by username"
autocomplete="off"
>
<button
class="ActionButton"
type="submit"
>
Search
</button>
</form>
<div
id="GardenerSearchResults"
class="GardenerSearchResults"
></div>
<p
id="GardenerSearchMessage"
class="PageMessage"
aria-live="polite"
>
Search for a gardener by username.
</p>
</section>
<section
id="Leaderboard"
class="Panel Leaderboard"
@@ -31,7 +79,7 @@ $PageSection = "Social";
</th>
<th>
Username
Gardener
</th>
<th class="LeaderboardDewColumn">
@@ -46,7 +94,11 @@ $PageSection = "Social";
</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/Users.js"></script>
<script src="/Scripts/Garden/Leaderboard.js"></script>
<script src="/Scripts/Garden/Social.js"></script>