1
-
1
+ // profile.js
2
2
const fname = document . getElementById ( 'fname' ) ;
3
3
const lname = document . getElementById ( 'lname' ) ;
4
4
const email = document . getElementById ( 'email' ) ;
5
5
const city = document . getElementById ( 'city' ) ;
6
6
const logoutBtn = document . getElementById ( 'btn1' ) ;
7
7
const deleteUserBtn = document . getElementById ( 'btn2' ) ;
8
+ const eventsList = document . getElementById ( 'events-list' ) ;
8
9
9
10
const baseUrl = 'http://localhost:8000/api/user' ;
11
+ const eventbriteUrl = 'https://www.eventbriteapi.com/v3' ;
10
12
11
13
if ( ! localStorage . getItem ( 'userToken' ) ) {
12
14
window . location . href = 'http://127.0.0.1:5500/Frontend/index.html' ;
@@ -19,12 +21,15 @@ const config = {
19
21
} ,
20
22
} ;
21
23
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
+ } ;
28
33
29
34
const logout = ( ) => {
30
35
localStorage . removeItem ( 'userToken' ) ;
@@ -53,41 +58,45 @@ deleteUserBtn.addEventListener('click', (e) => {
53
58
deleteUser ( ) ;
54
59
} ) ;
55
60
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>' ;
64
83
}
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
-
90
84
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
+ } ;
92
101
93
102
fetchUser ( ) ;
0 commit comments