@@ -2,6 +2,7 @@ import React, { useState, useEffect } from 'react';
22import * as Ably from 'ably' ;
33import { AblyProvider , useConnectionStateListener } from 'ably/react' ;
44import './styles/styles.css' ;
5+ import { config } from './config' ;
56
67interface StatusMessage {
78 id : number ;
@@ -53,10 +54,28 @@ export default function App() {
5354 ] ) ;
5455
5556 const handleConnect = async ( ) => {
56- // Navigate to authenticated page
57- window . location . href = '/authenticated' ;
57+ // Update first message
58+ setMessages ( ( prevMessages ) => prevMessages . map ( ( msg ) => ( msg . id === 1 ? { ...msg , success : true } : msg ) ) ) ;
59+
60+ // Initialize Ably client with JWT auth
61+ const realtimeClient = new Ably . Realtime ( {
62+ authUrl : config . AUTH_URL || 'http://localhost:3001/generate-jwt' ,
63+ } ) ;
64+
65+ // Update second message
66+ setMessages ( ( prevMessages ) => prevMessages . map ( ( msg ) => ( msg . id === 2 ? { ...msg , success : true } : msg ) ) ) ;
67+
68+ setClient ( realtimeClient ) ;
5869 } ;
5970
71+ if ( client ) {
72+ return (
73+ < AblyProvider client = { client } >
74+ < StatusMessages messages = { messages } setMessages = { setMessages } />
75+ </ AblyProvider >
76+ ) ;
77+ }
78+
6079 return (
6180 < div className = "flex items-center justify-center min-h-screen bg-gray-100" >
6281 < div className = "bg-white shadow-md rounded-md p-8 w-[50%] flex flex-col" >
0 commit comments