retoor f76c44a7e6 feat: add scroll state persistence to RantFeed with per-page state keys
Implement saveScrollState, restoreScrollState, and clearScrollState methods in RantFeed component, storing anchor rant ID and scroll offset per page. Wire up initFeed calls in CollabsPage, HomePage, StoriesPage, WeeklyPage, and SearchPage to set unique state keys (feed_state_collabs, feed_state_home, etc.) enabling seamless scroll restoration on navigation back.
2025-12-12 18:26:17 +00:00

Rantii

DevRant client built with vanilla JavaScript, Web Components, and CSS.

Requirements

  • Python 3.8+
  • aiohttp (pip install aiohttp)

Run

python3 proxy.py

Open http://localhost:8101

Features

  • Browse rants, weekly challenges, collabs, stories
  • User profiles and notifications
  • Voting, commenting, posting
  • Search
  • 7 themes: dark, light, black, white, ocean, forest, sunset
  • PWA installable
  • Offline support via service worker

Structure

rantii/
├── index.html
├── proxy.py
├── manifest.json
├── sw.js
├── css/
│   ├── base.css
│   ├── variables.css
│   ├── themes/
│   └── components/
├── js/
│   ├── app.js
│   ├── api/
│   ├── services/
│   ├── components/
│   ├── pages/
│   └── utils/
├── lib/
│   ├── marked.min.js
│   └── highlight.min.js
└── assets/

Author

retoor retoor@molodetz.nl

S
Description
devRant front-end with markdown, syntax highlighting, url previews and youtube / image embedding.
Readme
672 KiB
Languages
JavaScript 73.6%
CSS 19.1%
Python 6.2%
HTML 1%