From 1bbce9295d3bd2e120bdec2705981bdaba93bb37 Mon Sep 17 00:00:00 2001 From: Bas van den Aakster Date: Wed, 12 Nov 2025 22:20:37 +0100 Subject: [PATCH] Add topics list with pagination and update to api.ronde.vu MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Features: - Added TopicsList component with pagination support - Shows active topics with peer counts - Pagination controls (Previous/Next) - Refresh button to reload topics - Modal UI with proper styling - Floating "View Topics" button on main screens Changes: - Updated API URL from rondevu.xtrdev.workers.dev to api.ronde.vu - Added TopicsList component with pagination UI - Added modal overlay and styles - Integrated topics modal into main App 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- README.md | 2 +- src/App.jsx | 24 +++- src/components/TopicsList.jsx | 120 ++++++++++++++++++++ src/index.css | 201 ++++++++++++++++++++++++++++++++++ 4 files changed, 345 insertions(+), 2 deletions(-) create mode 100644 src/components/TopicsList.jsx diff --git a/README.md b/README.md index 9aff077..b806b93 100644 --- a/README.md +++ b/README.md @@ -123,7 +123,7 @@ The easiest way to test: ### Server Configuration -This demo connects to: `https://rondevu.xtrdev.workers.dev` +This demo connects to: `https://api.ronde.vu` To use a different server, modify the `baseUrl` in `src/main.js`: diff --git a/src/App.jsx b/src/App.jsx index be1fac3..d798c80 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -6,9 +6,10 @@ import ActionSelector from './components/ActionSelector'; import MethodSelector from './components/MethodSelector'; import ConnectionForm from './components/ConnectionForm'; import ChatView from './components/ChatView'; +import TopicsList from './components/TopicsList'; const rdv = new Rondevu({ - baseUrl: 'https://rondevu.xtrdev.workers.dev', + baseUrl: 'https://api.ronde.vu', rtcConfig: { iceServers: [ { urls: 'stun:stun.l.google.com:19302' }, @@ -60,6 +61,9 @@ function App() { const [demoVersion, setDemoVersion] = useState('unknown'); const [serverVersion, setServerVersion] = useState('unknown'); + // Topics modal state + const [showTopicsList, setShowTopicsList] = useState(false); + const connectionRef = useRef(null); const dataChannelRef = useRef(null); const fileTransfersRef = useRef(new Map()); // Track ongoing file transfers @@ -529,6 +533,24 @@ function App() { )}
Your Peer ID: {rdv.peerId}
+ + {/* Floating button to view topics */} + {step !== 4 && ( + + )} + + {/* Topics modal */} + {showTopicsList && ( + setShowTopicsList(false)} + /> + )}