Журнал изменений

Журнал изменений

Фильтр и поиск

Всего: 1173 Доступных коммитов | Отфильтровано: 1173 Коммиты | Страница: 18 из 118
09.07.2026
Refactor: drop sl-thide and .selected legacy vocabularies in lite
Автор: Eduard Laas | Дата: 22:14 09.07.2026

The lite theme carried two redundant state vocabularies: .sl-thide as an exact duplicate of .sl-none (display: none) and a third .selected tab-state class toggled by the shared tab script alongside .sl-is-active and aria-selected. Nothing in templates emits .selected.

Core changes:

  1. Visibility utility (templates/lite):
  2. Replace sl-thide with sl-none in menu.html, layouts/bare.html, layouts/admin.html and the is_top_hidden branch of fragments/link.html

  3. Drop the .sl-thide rule from theme.css

    • Admin theme untouched: its .sl-thide is a different component
(collapsed block + footer icon buttons), verified before scoping
  1. Tab state (plugins/system/slaed.js, templates/lite/assets/css/theme.css):
  2. Stop toggling the legacy selected class in the shared tab script and drop it from the initial-tab detection

  3. Remove the .sl-tabs-link.selected selector; .sl-is-active and aria-selected remain the canonical pair

    • Safe for the admin theme: its CSS styles only .sl-is-active

Benefits:

  • One visibility utility and one tab-state vocabulary across the lite theme
  • Shared tab script writes only state that stylesheets actually consume

Technical notes:

  • Verified with computed-style probes (only the two intended diffs: the removed .sl-thide rule and the orphaned .selected styling) and a live admin tab-switching run (activation, aria, panel display, clean console)

  • No PHP involved; markup contract (is_top_hidden flag) unchanged
Refactor: merge duplicate CSS blocks in lite theme
Автор: Eduard Laas | Дата: 22:09 09.07.2026

Several components had their declarations split across distant blocks or duplicated outright, hiding the effective values from readers. This change consolidates each component into a single block with zero visual diff.

Core changes:

  1. Buttons (templates/lite/assets/css/theme.css):
  2. Merge the .sl-but colour block into the base pill block in the Buttons section

    • hover/active/disabled and htmx-request loader rules moved along with it
    • background shorthand kept before background-clip to preserve the cascade
  3. Radio groups (templates/lite/assets/css/theme.css):
  4. Fold the stray .sl-radio-group override (misplaced under the Associations comment) into the primary block

    • Keeps the effective computed values: flex, wrap, centered, gap md
  5. Progress bars (templates/lite/assets/css/theme.css):
  6. Move the fill width transition from the voting section into the main .sl-progress-line div block

  7. Popover arrows (templates/lite/assets/css/theme.css):
  8. Move --sl-float-arrow-color into the source .sl-tip and .sl-menu panel blocks and drop the late micro-blocks

  9. Misc duplicates (templates/lite/assets/css/theme.css):
  10. position: relative moved into the main .sl-block block (vote tools anchor)
  11. Early .sl-login-avatar block removed (fully subsumed by the login block)
  12. Duplicate flex declarations dropped from .sl-fp-nickname

Benefits:

  • One source of truth per component; no conflicting same-specificity overrides
  • Readers see the real effective values where the component is defined

Technical notes:

  • CSS-only change, verified with computed-style probes (167 probes identical) and full-page screenshot diffs on catalog, home, news and forum pages

  • No markup, PHP or JS involved; no behavior change
Fix: native button reset for sl-but-mini
Автор: Eduard Laas | Дата: 21:57 09.07.2026

Mini chip buttons rendered as native <button> elements picked up the UA border and appearance, breaking the flat 26px pill look shared with anchor-based mini buttons.

Core changes:

  1. Mini chip button base (templates/lite/assets/css/theme.css):
  2. Add border: 0 and appearance: none to .sl-but-mini

    • -webkit-appearance included for older WebKit builds
    • Anchor and span variants are unaffected (no UA chrome to reset)

Benefits:

  • Identical rendering for <button>, <a> and <span> mini chip controls

Technical notes:

  • CSS-only change, no markup or PHP involved
  • No backward compatibility impact
Feature: live voting widget with status indicators and count-up
Автор: Eduard Laas | Дата: 18:43 09.07.2026

Ports the approved demo designs into the system: the voting widget gains animated results, live auto-refresh driven by the global live_u config, and unified play/stop status glyphs across every context.

Core changes:

  1. Voting widget (core/system.php, voting-widget/voting-view):
  2. Widget wrapped in .sl-vote with data-sl-vote-live/url on active results; is_lead marks the leading answer (trophy follows the max)

  3. Result rows expose data-sl-votes/percent; counters wrapped for JS
  4. Corner tool cluster: admin gear menu (now also in the block) before the status glyph, aligned to the block title line

  5. Dormant go=1 getVotingView dispatcher case now echoes and serves as the live endpoint; closed polls never render live attributes

  6. Status glyphs (voting-home.html, theme.css, lang/*):
  7. One 16px glyph everywhere: play-circle (success, pulse) while the poll is active, stop-circle (warning, static) when it has ended

  8. Same inline typography as .sl-tip-icon so both pixel-snap alike; poll list rows show the marker before the info tip

  9. _VOTING_ACT/_VOTING_LIVE/_VOTING_END constants in six locales
  10. Client mechanics (plugins/system/slaed.js, theme.css):
  11. setVoteBlocks: cold-start intro counts bars, percents and vote numbers up from zero; live polling tweens from previous values, moves the lead class and copies the votes/comments chips verbatim

  12. Toggle animations honour data-sl-toggle-display; float panels can right-align to their trigger via data-sl-float-align=end and clamp to the trigger instead of the viewport edge

  13. Any htmx .sl-but shows the system loading dots while its request is in flight; interactive option rows with accent-color controls

  14. Voting block query (blocks/voting.php):
  15. Four display modes collapsed into one prepared query; random mode uses ORDER BY RAND() LIMIT 1 instead of loading every id

Benefits:

  • Polls feel alive without page reloads and respect reduced motion
  • Status is readable at a glance in the block, the module and lists

Technical notes:

  • Live updates re-render fully only when the answer set changes
  • The totals chip updates without digit animation by request
Refactor: user block overhaul, unified state naming, SVG avatar defaults
Автор: Eduard Laas | Дата: 18:41 09.07.2026

Rebuilds the sidebar user block on a universal PHP data contract, fixes four long-standing bugs found along the way and standardises every cookie and frontend session key on the configurable user_c prefix.

Core changes:

  1. User block (blocks/user_info.php, block-user-info.html):
  2. Private message counters via one prepared query, cached in the session for 60s and invalidated by deletePrivatCounts() on every mailbox mutation and on logout (core/user.php)

  3. Group and points meta line with next-group progress data (ngroup_name/points/pct), groups resolved in a single query

  4. Fixes: sidebar login posted user_pass without a CSRF token (never worked), logout pointed at unknown op sl-logout, settings pointed at the account overview, inbox links led to the missing privat module

  5. Unread badge .sl-pm-new replaces the autoplay-blocked audio alert
  6. Session summary (core/system.php, session-summary/session-row):
  7. Counters aggregated in one query; detail rows load lazily through the new getUserSessionRows endpoint (hx-trigger click once)

  8. Table markup replaced with the div grid shared with the admin theme
  9. Optional auto-refresh driven by the new live_u config (admin field plus _LIVE_UPD constant in all six admin locales)

  10. State naming and cookies (core/security.php, core/system.php):
  11. Cookies and frontend $_SESSION keys follow $conf[user_c]-<feature>; legacy stats_id/shop cookies migrated with one-release fallbacks

  12. Cart links carry the CSRF token the go=2 gate demanded (the cart was silently broken); emptying the cart now clears cookie and superglobal

  13. Avatar defaults (core/user.php, uploads/avatars/default):
  14. getUserAvatarUrl() is the single resolver: user.svg, guest.svg and deleted.svg replace the 0/00.gif magic strings across seven call sites; registration stores an empty avatar and the resolver decides

  15. Avatar gallery accepts .svg and excludes system files by name

Benefits:

  • Sidebar login, logout and cart actually work again
  • One config knob (live_u) will drive every live block
  • Distribution-safe: pure PHP, no server-specific rules

Technical notes:

  • getCookies() filters to [a-zA-Z0-9_-]; base64 cookies are read from $_COOKIE directly with the user_c prefix

  • Old default/00.gif rows in the users table fall back gracefully
Demo: interactive design labs for user and voting blocks
Автор: Eduard Laas | Дата: 18:41 09.07.2026

Adds six standalone HTML showcases used to iterate on the sidebar user block and the voting widget before porting the chosen designs into the lite theme.

Core changes:

  1. User block labs (demo/user-block-*.html):
  2. 42 full-block variants: logged-in, guest, geo details and 2026 trends

    • surfaces (glassmorphism, liquid glass, neumorphism), bento, density
    • live session feed, accordions, group-progress ring, drag constructor
  3. All variants reuse real block data and lite theme tokens/classes
  4. Voting block lab (demo/voting-block.html):
  5. 17 variants for form and results states on the real widget anatomy

    • system-markup section with effects layered on sl-* selectors only
    • merged live variant that became the shipped widget behaviour

Benefits:

  • Design decisions reviewed in-browser against real markup before touching templates

  • Serves as a reference gallery for future block redesigns
08.07.2026
Refactor: search module visual redesign
Автор: Eduard Laas | Дата: 16:23 08.07.2026

Query controls move into a single-row .sl-search-panel; results render as a divider list (.sl-search-line) with breadcrumb, title, clamped snippet and meta chips. Adds fragments/search-form.html and a demo/ reference page.

Refactor: single-H1 heading hierarchy and semantic levels
Автор: Eduard Laas | Дата: 16:23 08.07.2026

One H1 per page: page/module titles render H1, de-polluted pager/footer/ sidebar/related/category headings down to their proper level, and view sub-headings normalized. Heading sizes tokenized (--sl-h1..--sl-h4 in base.css) with framework classes wired to them in theme.css; getModuleNavi gains an is_heading flag so view pages do not emit a second H1.

Refactor: extract shared site-header/footer partials
Автор: Eduard Laas | Дата: 16:22 08.07.2026

home.html and app.html were ~98% duplicate; the common chrome moves into partials/site-header.html and partials/site-footer.html, slimming both layouts to include stubs. Footer/admin home links point at "/" instead of "index.php"; app.html marks the content region with a <main> landmark.

SEO: canonical consolidation + optional force-https/force-host redirects
Автор: Eduard Laas | Дата: 16:22 08.07.2026

Portable, PHP-level redirects in core/security.php (proxy-aware via X-Forwarded-Proto, GET-only, default off):

  • bare /index.php -> / (301) to kill the duplicate homepage URL
  • opt-in forcessl (http->https) and forcehost (www->canonical homeurl host)

Admin config SEO tab gains forcessl/forcehost toggles (constants in all 6 languages); getPublicUrl() returns root with trailing slash; help doc admin/info/config/ru.md documents canonical behavior and the new toggles.

Страница 18 из 118. Всего: 1173

1 13 14 15 16 17 18 19 20 21 22 118
Хотите опробовать SLAED CMS в действии?
Идеи и предложения
Обратная связь
Подтверждение

Поделиться
QR-код

Предварительный просмотр