feat: native social media icons (replaces mod_rssocial) #130

Merged
jmiller merged 3 commits from feature/social-icons into dev 2026-06-18 15:35:28 +00:00
Owner

Summary

  • Native social media icons built into MokoOnyx, replacing the third-party mod_rssocial module
  • Supports all 22 platforms using Font Awesome 7 brand icons (already bundled)
  • Independent topbar and footer display toggles with shared style/size config
  • Three icon styles (plain, circle, rounded) and three sizes (sm, md, lg)
  • Fully theme-aware via CSS custom properties, accessible with aria-labels

Changes

  • New: src/html/layouts/mokoonyx/social-icons.php -- single data-driven layout for all platforms
  • Modified: src/templateDetails.xml -- new Social Icons fieldset with 23 URL fields + display/style options
  • Modified: src/index.php -- renders social icons in topbar and/or footer via LayoutHelper
  • Modified: src/media/css/template.css -- social icon styles + replaced hardcoded #rssocial-133 in print CSS
  • Modified: src/language/en-GB/tpl_mokoonyx.ini -- 48 new language strings
  • Modified: src/language/en-US/tpl_mokoonyx.ini -- 48 new language strings

Test plan

  • Enable social_topbar, add a few platform URLs, verify icons appear right-aligned in topbar
  • Enable social_footer, verify icons appear centred above footer content
  • Toggle both on simultaneously, confirm independent rendering
  • Test all three icon styles (plain, circle, rounded) render correctly
  • Test all three sizes (sm, md, lg)
  • Verify dark mode theming applies correctly
  • Check mobile responsive layout (topbar centres on small screens)
  • Verify print stylesheet hides social icons
  • Confirm empty URLs hide platforms (no broken/empty icons)
  • Test accessibility: screen reader announces aria-labels, links have rel=noopener noreferrer

Resolves #129

## Summary - Native social media icons built into MokoOnyx, replacing the third-party mod_rssocial module - Supports all 22 platforms using Font Awesome 7 brand icons (already bundled) - Independent topbar and footer display toggles with shared style/size config - Three icon styles (plain, circle, rounded) and three sizes (sm, md, lg) - Fully theme-aware via CSS custom properties, accessible with aria-labels ## Changes - **New:** `src/html/layouts/mokoonyx/social-icons.php` -- single data-driven layout for all platforms - **Modified:** `src/templateDetails.xml` -- new Social Icons fieldset with 23 URL fields + display/style options - **Modified:** `src/index.php` -- renders social icons in topbar and/or footer via LayoutHelper - **Modified:** `src/media/css/template.css` -- social icon styles + replaced hardcoded #rssocial-133 in print CSS - **Modified:** `src/language/en-GB/tpl_mokoonyx.ini` -- 48 new language strings - **Modified:** `src/language/en-US/tpl_mokoonyx.ini` -- 48 new language strings ## Test plan - [ ] Enable social_topbar, add a few platform URLs, verify icons appear right-aligned in topbar - [ ] Enable social_footer, verify icons appear centred above footer content - [ ] Toggle both on simultaneously, confirm independent rendering - [ ] Test all three icon styles (plain, circle, rounded) render correctly - [ ] Test all three sizes (sm, md, lg) - [ ] Verify dark mode theming applies correctly - [ ] Check mobile responsive layout (topbar centres on small screens) - [ ] Verify print stylesheet hides social icons - [ ] Confirm empty URLs hide platforms (no broken/empty icons) - [ ] Test accessibility: screen reader announces aria-labels, links have rel=noopener noreferrer Resolves #129
jmiller added 2 commits 2026-06-18 15:25:39 +00:00
feat: native social media icons (replaces mod_rssocial dependency)
Generic: Repo Health / Scripts governance (push) Blocked by required conditions
Generic: Repo Health / Repository health (push) Blocked by required conditions
Generic: Repo Health / Report Issues (push) Blocked by required conditions
Generic: Repo Health / Site Health (push) Has been skipped
Generic: Repo Health / Access control (push) Successful in 2s
Universal: PR Check / Build RC Package (pull_request) Blocked by required conditions
Universal: PR Check / Report Issues (pull_request) Blocked by required conditions
Generic: Repo Health / Scripts governance (pull_request) Blocked by required conditions
Generic: Repo Health / Repository health (pull_request) Blocked by required conditions
Generic: Repo Health / Report Issues (pull_request) Blocked by required conditions
Universal: PR Check / Branch Policy (pull_request) Successful in 2s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Generic: Repo Health / Access control (pull_request) Successful in 1s
Universal: Auto Version Bump / Version Bump (push) Successful in 3s
Universal: PR Check / Validate PR (pull_request) Failing after 6s
da66a969d2
Add template-native social icons supporting 22 platforms via Font Awesome 7
brand icons. Configurable in the admin panel with independent topbar/footer
display toggles, three icon styles (plain/circle/rounded), and three sizes.

Resolves #129
jmiller added 1 commit 2026-06-18 15:35:06 +00:00
fix: harden social icons against XSS and invalid params
Universal: PR Check / Build RC Package (pull_request) Blocked by required conditions
Universal: PR Check / Report Issues (pull_request) Blocked by required conditions
Generic: Repo Health / Scripts governance (push) Blocked by required conditions
Generic: Repo Health / Repository health (push) Blocked by required conditions
Generic: Repo Health / Report Issues (push) Blocked by required conditions
Generic: Repo Health / Scripts governance (pull_request) Blocked by required conditions
Generic: Repo Health / Repository health (pull_request) Blocked by required conditions
Generic: Repo Health / Report Issues (pull_request) Blocked by required conditions
Universal: PR Check / Branch Policy (pull_request) Successful in 2s
Generic: Repo Health / Site Health (push) Has been skipped
Generic: Repo Health / Access control (push) Successful in 2s
Generic: Repo Health / Access control (pull_request) Successful in 2s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Universal: PR Check / Validate PR (pull_request) Failing after 12s
Branch Cleanup / Delete merged branch (pull_request) Successful in 2s
Universal: Auto Version Bump / Version Bump (push) Successful in 3s
6645fdf041
- Validate URL schemes (only https://, mailto:, / allowed)
- Allowlist style and size params against known values
- Escape icon class output for defense-in-depth
jmiller merged commit 40c36f7f7c into dev 2026-06-18 15:35:28 +00:00
jmiller deleted branch feature/social-icons 2026-06-18 15:35:28 +00:00
Sign in to join this conversation.
No Reviewers
No labels
Priority -
Type -
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: MokoConsulting/MokoOnyx#130