1-
1+ // profile.js
22const fname = document . getElementById ( 'fname' ) ;
33const lname = document . getElementById ( 'lname' ) ;
44const email = document . getElementById ( 'email' ) ;
55const city = document . getElementById ( 'city' ) ;
66const logoutBtn = document . getElementById ( 'btn1' ) ;
77const deleteUserBtn = document . getElementById ( 'btn2' ) ;
8+ const eventsList = document . getElementById ( 'events-list' ) ;
89
910const baseUrl = 'http://localhost:8000/api/user' ;
11+ const eventbriteUrl = 'https://www.eventbriteapi.com/v3' ;
1012
1113if ( ! localStorage . getItem ( 'userToken' ) ) {
1214 window . location . href = 'http://127.0.0.1:5500/Frontend/index.html' ;
@@ -19,12 +21,15 @@ const config = {
1921 } ,
2022} ;
2123
22-
23-
24- const eventsList = document . getElementById ( 'events-list' ) ;
25-
26-
27-
24+ const fetchEventName = async ( eventId ) => {
25+ try {
26+ const { data } = await axios . get ( `${ eventbriteUrl } /events/${ eventId } ` , config ) ;
27+ return data . event . name . text ;
28+ } catch ( error ) {
29+ console . log ( error ) ;
30+ return "Event Not Found" ;
31+ }
32+ } ;
2833
2934const logout = ( ) => {
3035 localStorage . removeItem ( 'userToken' ) ;
@@ -53,41 +58,45 @@ deleteUserBtn.addEventListener('click', (e) => {
5358 deleteUser ( ) ;
5459} ) ;
5560
56-
57- const fetchEventName = async ( eventId ) => {
58- try {
59- const { data } = await axios . get ( `${ baseUrl } /event/${ eventId } ` , config ) ;
60- return data . event . name . text ;
61- } catch ( error ) {
62- console . log ( error ) ;
63- return "Event Not Found" ;
61+ const fetchUser = async ( ) => {
62+ try {
63+ const { data } = await axios . get ( baseUrl , config ) ;
64+ const user = data . User ;
65+
66+ // Update profile information
67+ document . getElementById ( 'username' ) . innerText = user . firstName + ' ' + user . lastName ;
68+ fname . innerText = user . firstName ;
69+ lname . innerText = user . lastName ;
70+ email . innerText = user . email ;
71+ city . innerText = user . city ;
72+
73+ // Update events list
74+ eventsList . innerHTML = '' ;
75+ if ( user . events && user . events . length > 0 ) {
76+ const eventsHTML = await Promise . all ( user . events . map ( async ( eventId ) => {
77+ const eventName = await fetchEventName ( eventId ) ;
78+ return `<li>${ eventId } - ${ eventName } </li>` ;
79+ } ) ) ;
80+ eventsList . innerHTML = eventsHTML . join ( '' ) ;
81+ } else {
82+ eventsList . innerHTML = '<li>No events found.</li>' ;
6483 }
65- } ;
66-
67- const fetchUser = async ( ) => {
68- try {
69- const { data } = await axios . get ( baseUrl , config ) ;
70- const user = data . User ;
71- fname . innerText = user . firstName ;
72- lname . innerText = user . lastName ;
73- email . innerText = user . email ;
74- city . innerText = user . city ;
75-
76- if ( user . events && user . events . length > 0 ) {
77- const eventsHTML = await Promise . all ( user . events . map ( async ( eventId ) => {
78- const eventName = await fetchEventName ( eventId ) ;
79- return `<li>${ eventId } - ${ eventName } </li>` ;
80- } ) ) ;
81- eventsList . innerHTML = eventsHTML . join ( '' ) ;
82- } else {
83- eventsList . innerHTML = '<li>No events found.</li>' ;
84- }
85- } catch ( error ) {
86- console . log ( error ) ;
87- }
88- } ;
89-
9084
91-
85+ // Update interests list
86+ const interestsList = document . getElementById ( 'interests-list' ) ;
87+ interestsList . innerHTML = '' ;
88+ if ( user . interests && user . interests . length > 0 ) {
89+ user . interests . forEach ( interest => {
90+ const li = document . createElement ( 'li' ) ;
91+ li . textContent = interest ;
92+ interestsList . appendChild ( li ) ;
93+ } ) ;
94+ } else {
95+ interestsList . innerHTML = '<li>No interests found.</li>' ;
96+ }
97+ } catch ( error ) {
98+ console . log ( error ) ;
99+ }
100+ } ;
92101
93102fetchUser ( ) ;
0 commit comments