feat(web): settings to keep the search open and hide home pickers; collapsible menu sections
ci / contract / contract (сгенерированный код совпадает с openapi.yaml) (push) Successful in 2m44s
ci / mobile / mobile (Metro-бандл Android) (push) Successful in 1m43s
ci / ts / ts (packages + web) (push) Successful in 1m16s
ci / api / api (push) Successful in 2m27s
ci / db / db (push) Successful in 2m23s

- appearance settings get "collapse search" (off keeps the field always open)
  and separate switches for the activity and mood pickers on the home page;
  stored in ui_prefs (search_collapse, home_activities, home_moods)
- Collection and Admin headers in the sidebar fold their items; the state is
  remembered in the browser, a folded Admin shows the review queue badge;
  icon-only and phone layouts always show every item

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
mrleo1nidandClaude Opus 5.5 committed 2026-10-21 08:26:48 +03:00
1 parent 73e642c1ec
commit b27b915b63
13 files changed
+445 -259

No files matched your search

+9
View File
@@ -2018,6 +2018,15 @@ components:
type: string
enum: [center, left, right]
description: Где в топбаре веба поиск (по умолчанию center)
search_collapse:
type: boolean
description: Сворачивать поиск в кнопку с лупой без фокуса (по умолчанию true)
home_activities:
type: boolean
description: Показывать на главной веба выбор занятия (по умолчанию true)
home_moods:
type: boolean
description: Показывать на главной веба выбор настроения (по умолчанию true)
mobile_player:
type: string
enum: [cover, wave]
+7 -1
View File
@@ -84,6 +84,8 @@ function WaveHome() {
staleTime: Infinity,
});
const showActivities = user.ui_prefs.home_activities !== false;
const showMoods = user.ui_prefs.home_moods !== false;
const waveOn = st.wave !== null;
const playing = waveOn && st.playing;
const track = waveOn ? st.track : null;
@@ -133,8 +135,9 @@ function WaveHome() {
{st.error === 'wave.empty' && <p className={s.note}>{t('wave.empty')}</p>}
<FormError>{error ? errorText(error) : null}</FormError>
{options.data && (
{options.data && (showActivities || showMoods) && (
<div className={s.picker}>
{showActivities && (
<Chips
title={t('wave.activity_label')}
options={options.data.activities}
@@ -142,6 +145,8 @@ function WaveHome() {
label={(k) => tr(`wave.activities.${k}`)}
onPick={(k) => choose('activity', k)}
/>
)}
{showMoods && (
<Chips
title={t('wave.mood_label')}
options={options.data.moods}
@@ -149,6 +154,7 @@ function WaveHome() {
label={(k) => tr(`wave.moods.${k}`)}
onPick={(k) => choose('mood', k)}
/>
)}
</div>
)}
</div>
+36
View File
@@ -139,6 +139,42 @@ function AppearanceSection() {
]}
/>
</div>
<div className={s.settingRow}>
<span>{t('settings.search_collapse')}</span>
<Segmented<'on' | 'off'>
label={t('settings.search_collapse')}
value={user.ui_prefs.search_collapse === false ? 'off' : 'on'}
onChange={(v) => void setPrefs({ search_collapse: v === 'on' })}
options={[
{ value: 'on', label: t('settings.on') },
{ value: 'off', label: t('settings.off') },
]}
/>
</div>
<div className={s.settingRow}>
<span>{t('settings.home_activities')}</span>
<Segmented<'on' | 'off'>
label={t('settings.home_activities')}
value={user.ui_prefs.home_activities === false ? 'off' : 'on'}
onChange={(v) => void setPrefs({ home_activities: v === 'on' })}
options={[
{ value: 'on', label: t('settings.on') },
{ value: 'off', label: t('settings.off') },
]}
/>
</div>
<div className={s.settingRow}>
<span>{t('settings.home_moods')}</span>
<Segmented<'on' | 'off'>
label={t('settings.home_moods')}
value={user.ui_prefs.home_moods === false ? 'off' : 'on'}
onChange={(v) => void setPrefs({ home_moods: v === 'on' })}
options={[
{ value: 'on', label: t('settings.on') },
{ value: 'off', label: t('settings.off') },
]}
/>
</div>
<div className={s.settingRow}>
<span>{t('settings.ambient')}</span>
<Segmented<'on' | 'off'>
+53 -3
View File
@@ -118,12 +118,52 @@
}
.navSection {
margin: 18px 12px 6px;
display: flex;
align-items: center;
gap: 8px;
margin: 12px 0 2px;
padding: 6px 12px;
border: 0;
border-radius: 8px;
background: none;
font: inherit;
font-size: 11px;
font-weight: 700;
letter-spacing: 0.08em;
text-transform: uppercase;
color: var(--text3);
text-align: left;
cursor: pointer;
}
.navSection:hover {
color: var(--text2);
}
.navSection:focus-visible {
outline: 2px solid var(--accent);
outline-offset: -2px;
}
.navSectionTitle {
flex: 1;
}
.navChevron {
transition: transform 0.2s;
}
.navChevronOpen {
transform: rotate(90deg);
}
/* Обёртка не мешает раскладке: пункты остаются детьми .side (на телефоне это нижняя панель). */
.navGroup {
display: contents;
}
.navGroupFolded {
display: none;
}
.navItem {
@@ -209,9 +249,19 @@
.navSection {
margin: 14px 0 6px;
text-align: center;
font-size: 0;
padding: 0;
border-radius: 0;
border-top: 1px solid var(--line);
pointer-events: none;
}
.navSection > * {
display: none;
}
/* Без подписей свернуть раздел нельзя — пункты видны всегда. */
.navGroupFolded {
display: contents;
}
}
+43 -5
View File
@@ -1,6 +1,7 @@
import { unwrap } from '@pipu/core';
import { useQuery } from '@tanstack/react-query';
import { Link, Outlet, useNavigate } from '@tanstack/react-router';
import { useState, type ReactNode } from 'react';
import { useTranslation } from 'react-i18next';
import { useAuthState, useSession, useUser } from '../app/session';
@@ -23,6 +24,7 @@ import {
dislikeIcon,
settingsIcon,
androidIcon,
chevronRightIcon,
storageFillIcon,
storageIcon, inboxFillIcon, inboxIcon, myUploadsFillIcon, myUploadsIcon, uploadFillIcon, uploadIcon, tuneFillIcon, tuneIcon} from '../shared/ui/icons';
import { Avatar, cx, Icon, Logo, Menu } from '../shared/ui/ui';
@@ -76,6 +78,42 @@ function NavLink({
);
}
const FOLDED_KEY = 'pipu.nav.folded';
function readFolded(): string[] {
try {
const v: unknown = JSON.parse(localStorage.getItem(FOLDED_KEY) ?? '[]');
return Array.isArray(v) ? v.filter((x): x is string => typeof x === 'string') : [];
} catch {
return [];
}
}
/** Раздел меню: заголовок сворачивает пункты; состояние помнит браузер. Свёрнутый раздел показывает сумму бейджей. */
function NavSection({ id, title, badge, children }: { id: string; title: string; badge?: number; children: ReactNode }) {
const [folded, setFolded] = useState(() => readFolded().includes(id));
const toggle = () => {
const next = !folded;
setFolded(next);
try {
const rest = readFolded().filter((x) => x !== id);
localStorage.setItem(FOLDED_KEY, JSON.stringify(next ? [...rest, id] : rest));
} catch {
// Без хранилища раздел просто не запомнит состояние.
}
};
return (
<>
<button type="button" className={s.navSection} aria-expanded={!folded} onClick={toggle}>
<span className={s.navSectionTitle}>{title}</span>
{folded && badge ? <span className={s.navBadge}>{badge > 99 ? '99+' : badge}</span> : null}
<Icon src={chevronRightIcon} size={16} className={cx(s.navChevron, !folded && s.navChevronOpen)} />
</button>
<div className={cx(s.navGroup, folded && s.navGroupFolded)}>{children}</div>
</>
);
}
/** Между выходом и редиректом на /login каркас не рисуется: пользователя уже нет. */
export function AppShell() {
return useAuthState().status === 'signed_in' ? (
@@ -94,7 +132,7 @@ function Shell() {
const staff = user.role !== 'user';
const island = user.ui_prefs.web_player === 'island';
const searchAt = user.ui_prefs.search_position ?? 'center';
const search = <SearchBox align={searchAt} />;
const search = <SearchBox align={searchAt} collapsible={user.ui_prefs.search_collapse !== false} />;
const counts = useCollectionCounts();
const pending = usePendingUploads(user.role === 'admin');
@@ -138,7 +176,7 @@ function Shell() {
<nav className={s.side} aria-label={t('nav.main')}>
<NavLink to="/" label={t('nav.home')} icon={homeIcon} activeIcon={homeFillIcon} />
<div className={s.navSection}>{t('nav.collection')}</div>
<NavSection id="collection" title={t('nav.collection')}>
<NavLink to="/collection/history" label={t('nav.history')} icon={historyIcon} activeIcon={historyFillIcon} />
<NavLink to="/collection/likes" label={t('nav.likes')} icon={likeIcon} activeIcon={likeFillIcon} count={counts.likes} />
<NavLink
@@ -148,9 +186,9 @@ function Shell() {
activeIcon={dislikeFillIcon}
count={counts.dislikes}
/>
</NavSection>
{staff && (
<>
<div className={s.navSection}>{t('nav.admin')}</div>
<NavSection id="admin" title={t('nav.admin')} badge={pending}>
<NavLink to="/admin/users" label={t('nav.users')} icon={groupIcon} activeIcon={groupFillIcon} />
{user.role === 'admin' && (
<NavLink to="/admin/sources" label={t('nav.sources')} icon={storageIcon} activeIcon={storageFillIcon} />
@@ -171,7 +209,7 @@ function Shell() {
<NavLink to="/admin/audit" label={t('nav.audit')} icon={auditIcon} activeIcon={auditFillIcon} />
</>
)}
</>
</NavSection>
)}
</nav>
+9 -3
View File
@@ -25,9 +25,15 @@ type Item = {
/**
* Поиск в топбаре: подсказки по мере ввода, Enter — страница поиска или выбранный элемент.
* Без фокуса и текста свёрнут в кнопку с лупой; поле раскрывается влево с анимацией.
* Без фокуса и текста свёрнут в кнопку с лупой (если collapsible); поле раскрывается с анимацией.
*/
export function SearchBox({ align = 'center' }: { align?: 'left' | 'center' | 'right' }) {
export function SearchBox({
align = 'center',
collapsible = true,
}: {
align?: 'left' | 'center' | 'right';
collapsible?: boolean;
}) {
const { t } = useTranslation();
const session = useSession();
const navigate = useNavigate();
@@ -40,7 +46,7 @@ export function SearchBox({ align = 'center' }: { align?: 'left' | 'center' | 'r
const [focused, setFocused] = useState(false);
const blurTimer = useRef<ReturnType<typeof setTimeout>>(undefined);
// Свёрнут в круглую кнопку, пока не нужен: раскрывается по клику, «/» или Ctrl+K.
const expanded = focused || q !== '';
const expanded = !collapsible || focused || q !== '';
useEffect(() => {
const id = setTimeout(() => setDebounced(q.trim()), DEBOUNCE_MS);
@@ -1514,6 +1514,12 @@ export interface components {
* @enum {string}
*/
search_position?: "center" | "left" | "right";
/** @description Сворачивать поиск в кнопку с лупой без фокуса (по умолчанию true) */
search_collapse?: boolean;
/** @description Показывать на главной веба выбор занятия (по умолчанию true) */
home_activities?: boolean;
/** @description Показывать на главной веба выбор настроения (по умолчанию true) */
home_moods?: boolean;
/** @enum {string} */
mobile_player?: "cover" | "wave";
ambient?: boolean;
+4 -1
View File
@@ -119,7 +119,10 @@
"search_position": "Search position",
"search_left": "Left",
"search_center": "Center",
"search_right": "Right"
"search_right": "Right",
"search_collapse": "Collapse search",
"home_activities": "Activity picker on home",
"home_moods": "Mood picker on home"
},
"form": {
"show_password": "Show password",
+4 -1
View File
@@ -119,7 +119,10 @@
"search_position": "Расположение поиска",
"search_left": "Слева",
"search_center": "По центру",
"search_right": "Справа"
"search_right": "Справа",
"search_collapse": "Сворачивать поиск",
"home_activities": "Выбор занятия на главной",
"home_moods": "Выбор настроения на главной"
},
"form": {
"show_password": "Показать пароль",
+256 -245
View File
@@ -915,9 +915,18 @@ type TrackMeta struct {
type UiPrefs struct {
Ambient *bool `json:"ambient,omitempty"`
CrossfadeS *int `json:"crossfade_s,omitempty"`
// HomeActivities Показывать на главной веба выбор занятия (по умолчанию true)
HomeActivities *bool `json:"home_activities,omitempty"`
// HomeMoods Показывать на главной веба выбор настроения (по умолчанию true)
HomeMoods *bool `json:"home_moods,omitempty"`
MobilePlayer *UiPrefsMobilePlayer `json:"mobile_player,omitempty"`
Normalize *bool `json:"normalize,omitempty"`
// SearchCollapse Сворачивать поиск в кнопку с лупой без фокуса (по умолчанию true)
SearchCollapse *bool `json:"search_collapse,omitempty"`
// SearchPosition Где в топбаре веба поиск (по умолчанию center)
SearchPosition *UiPrefsSearchPosition `json:"search_position,omitempty"`
Theme *UiPrefsTheme `json:"theme,omitempty"`
@@ -9223,251 +9232,253 @@ func (sh *strictHandler) GetReadyz(w http.ResponseWriter, r *http.Request) {
// Base64 encoded, gzipped, json marshaled Swagger object
var swaggerSpec = []string{
"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",
}
// GetSwagger returns the content of the embedded swagger specification file
+6
View File
@@ -245,6 +245,9 @@ func uiPrefsDTO(p UIPrefs) gen.UiPrefs {
WaveVariant: (*gen.UiPrefsWaveVariant)(p.WaveVariant),
WebPlayer: (*gen.UiPrefsWebPlayer)(p.WebPlayer),
SearchPosition: (*gen.UiPrefsSearchPosition)(p.SearchPos),
SearchCollapse: p.SearchFold,
HomeActivities: p.HomeActs,
HomeMoods: p.HomeMoods,
MobilePlayer: (*gen.UiPrefsMobilePlayer)(p.MobilePlayer),
Ambient: p.Ambient,
CrossfadeS: p.CrossfadeS,
@@ -258,6 +261,9 @@ func uiPrefsFromDTO(p gen.UiPrefs) UIPrefs {
WaveVariant: (*string)(p.WaveVariant),
WebPlayer: (*string)(p.WebPlayer),
SearchPos: (*string)(p.SearchPosition),
SearchFold: p.SearchCollapse,
HomeActs: p.HomeActivities,
HomeMoods: p.HomeMoods,
MobilePlayer: (*string)(p.MobilePlayer),
Ambient: p.Ambient,
CrossfadeS: p.CrossfadeS,
+3
View File
@@ -38,6 +38,9 @@ type UIPrefs struct {
WaveVariant *string `json:"wave_variant,omitempty"`
WebPlayer *string `json:"web_player,omitempty"`
SearchPos *string `json:"search_position,omitempty"`
SearchFold *bool `json:"search_collapse,omitempty"`
HomeActs *bool `json:"home_activities,omitempty"`
HomeMoods *bool `json:"home_moods,omitempty"`
MobilePlayer *string `json:"mobile_player,omitempty"`
Ambient *bool `json:"ambient,omitempty"`
CrossfadeS *int `json:"crossfade_s,omitempty"`
+9
View File
@@ -135,6 +135,15 @@ func MergeUIPrefs(base, patch UIPrefs) UIPrefs {
if patch.SearchPos != nil {
base.SearchPos = patch.SearchPos
}
if patch.SearchFold != nil {
base.SearchFold = patch.SearchFold
}
if patch.HomeActs != nil {
base.HomeActs = patch.HomeActs
}
if patch.HomeMoods != nil {
base.HomeMoods = patch.HomeMoods
}
if patch.MobilePlayer != nil {
base.MobilePlayer = patch.MobilePlayer
}