mirror of
https://github.com/xtr-dev/rondevu-demo.git
synced 2025-12-10 10:53:22 +00:00
Update demo to use integrated RondevuAPI
- Removed separate RondevuClient instantiation - Updated to use rdv.api for all API calls (getVersion, listTopics, listSessions) - Updated README example to show integrated API usage 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -128,9 +128,12 @@ This demo connects to: `https://rondevu.xtrdev.workers.dev`
|
|||||||
To use a different server, modify the `baseUrl` in `src/main.js`:
|
To use a different server, modify the `baseUrl` in `src/main.js`:
|
||||||
|
|
||||||
```javascript
|
```javascript
|
||||||
const client = new RondevuClient({
|
const rdv = new Rondevu({
|
||||||
baseUrl: 'https://your-server.com'
|
baseUrl: 'https://your-server.com'
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Access the API for low-level operations
|
||||||
|
rdv.api.listTopics();
|
||||||
```
|
```
|
||||||
|
|
||||||
### Technologies
|
### Technologies
|
||||||
|
|||||||
12
src/App.jsx
12
src/App.jsx
@@ -1,5 +1,5 @@
|
|||||||
import { useState, useEffect, useRef } from 'react';
|
import { useState, useEffect, useRef } from 'react';
|
||||||
import { Rondevu, RondevuClient } from '@xtr-dev/rondevu-client';
|
import { Rondevu } from '@xtr-dev/rondevu-client';
|
||||||
import QRCode from 'qrcode';
|
import QRCode from 'qrcode';
|
||||||
import Header from './components/Header';
|
import Header from './components/Header';
|
||||||
import ActionSelector from './components/ActionSelector';
|
import ActionSelector from './components/ActionSelector';
|
||||||
@@ -22,10 +22,6 @@ const rdv = new Rondevu({
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
const client = new RondevuClient({
|
|
||||||
baseUrl: 'https://rondevu.xtrdev.workers.dev'
|
|
||||||
});
|
|
||||||
|
|
||||||
// Generate a random 6-digit string
|
// Generate a random 6-digit string
|
||||||
function generateConnectionId() {
|
function generateConnectionId() {
|
||||||
const chars = '23456789abcdefghjkmnopqrstuvwxyzABCDEFGHJKMNPQRSTUVWXYZ';
|
const chars = '23456789abcdefghjkmnopqrstuvwxyzABCDEFGHJKMNPQRSTUVWXYZ';
|
||||||
@@ -86,7 +82,7 @@ function App() {
|
|||||||
|
|
||||||
// Get server version from API
|
// Get server version from API
|
||||||
try {
|
try {
|
||||||
const { version } = await client.getVersion();
|
const { version } = await rdv.api.getVersion();
|
||||||
setServerVersion(version);
|
setServerVersion(version);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
log(`Error loading server version: ${error.message}`, 'error');
|
log(`Error loading server version: ${error.message}`, 'error');
|
||||||
@@ -95,7 +91,7 @@ function App() {
|
|||||||
|
|
||||||
const loadTopics = async () => {
|
const loadTopics = async () => {
|
||||||
try {
|
try {
|
||||||
const { topics } = await client.listTopics();
|
const { topics } = await rdv.api.listTopics();
|
||||||
setTopics(topics);
|
setTopics(topics);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
log(`Error loading topics: ${error.message}`, 'error');
|
log(`Error loading topics: ${error.message}`, 'error');
|
||||||
@@ -104,7 +100,7 @@ function App() {
|
|||||||
|
|
||||||
const discoverPeers = async (topicName) => {
|
const discoverPeers = async (topicName) => {
|
||||||
try {
|
try {
|
||||||
const { sessions: foundSessions } = await client.listSessions(topicName);
|
const { sessions: foundSessions } = await rdv.api.listSessions(topicName);
|
||||||
const otherSessions = foundSessions.filter(s => s.peerId !== rdv.peerId);
|
const otherSessions = foundSessions.filter(s => s.peerId !== rdv.peerId);
|
||||||
setSessions(otherSessions);
|
setSessions(otherSessions);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
|
|||||||
Reference in New Issue
Block a user