v3: added index default tab selection setting, fixed notification pages not loading, reduced invite token length, global player state survives page reloads, many visual fixes
All checks were successful
Build and Publish Docker Image / build-and-push (push) Successful in 44s

This commit is contained in:
khannurien
2026-06-27 19:44:35 +00:00
parent 88f1eb3d03
commit c29f45fbc8
25 changed files with 733 additions and 278 deletions

View File

@@ -38,6 +38,7 @@ import { PageShell } from "../components/PageShell.tsx";
import { PageError } from "../components/PageError.tsx";
import { useAuth } from "../hooks/useAuth.ts";
import { useTheme } from "../hooks/useTheme.ts";
import { useDefaultFeedTab } from "../hooks/useDefaultFeedTab.ts";
import { useWS } from "../hooks/useWS.ts";
import { useDumpListSync } from "../hooks/useDumpListSync.ts";
import { useFading } from "../hooks/useFading.ts";
@@ -178,6 +179,7 @@ export function UserPublicProfile() {
const navigate = useNavigate();
const { user: me, authFetch, login, logout, token } = useAuth();
const { style, colorScheme, setStyle, setColorScheme } = useTheme();
const [defaultFeedTab, setDefaultFeedTab] = useDefaultFeedTab();
const {
voteCounts,
myVotes,
@@ -1177,6 +1179,48 @@ export function UserPublicProfile() {
</div>
</div>
</section>
<section className="profile-section">
<h2 className="profile-section-title">
<Trans>Feeds</Trans>
</h2>
<div className="profile-appearance-grid">
<div className="profile-appearance-row">
<span className="profile-appearance-label">
<Trans>Default tab</Trans>
</span>
<div className="visibility-toggle">
<button
type="button"
className={defaultFeedTab === "hot" ? "active" : ""}
onClick={() => setDefaultFeedTab("hot")}
>
<Trans>Hot</Trans>
</button>
<button
type="button"
className={defaultFeedTab === "new" ? "active" : ""}
onClick={() => setDefaultFeedTab("new")}
>
<Trans>New</Trans>
</button>
<button
type="button"
className={defaultFeedTab === "journal" ? "active" : ""}
onClick={() => setDefaultFeedTab("journal")}
>
<Trans>Journal</Trans>
</button>
<button
type="button"
className={defaultFeedTab === "followed" ? "active" : ""}
onClick={() => setDefaultFeedTab("followed")}
>
<Trans>Followed</Trans>
</button>
</div>
</div>
</div>
</section>
</>
)}
</PageShell>