Hi there,
I’ve executed this:
https://www.wix.com/velo/forum/community-discussion/building-your-own-members-area/p-1/dl-6054cf472af6e9005e878d83-60549f90c013da002b01e28b-1?postId=5cbf52d8c98432006fbb4874&origin=notification&replyId=6054cf472af6e9005e878d83&commentId=60549f90c013da002b01e28b
I’m familiar with:
-
Database collections
-
Collection permissions
-
Page permissions
-
Dynamic item pages
-
Dataset Modes
-
Data Binding
This is the code I used on the login page:
import wixUsers from ‘wix-users’ ;
import wixData from ‘wix-data’ ;
import wixLocation from ‘wix-location’ ;
$w.onReady( () => {
if (wixUsers.currentUser.loggedIn) {
$w( “#loginButton” ).label = “Logout” ;
$w( “#profileButton” ).show();
} else {
$w( “#loginButton” ).label = “Login” ;
$w( “#profileButton” ).hide();
}
} );
export function loginButton_click(event) {
// user is logged in
if (wixUsers.currentUser.loggedIn) {
// log the user out
wixUsers.logout()
.then( () => {
// update buttons accordingly
$w( “#loginButton” ).label = “Login” ;
$w( “#profileButton” ).hide();
} );
}
// user is logged out
else {
let userId;
let userEmail;
// prompt the user to log in
wixUsers.promptLogin( { “mode” : “login” } )
.then( (user) => {
userId = user.id;
return user.getEmail();
} )
.then( (email) => {
// check if there is an item for the user in the collection
userEmail = email;
return wixData.query( “Members” )
.eq( “_id” , userId)
.find();
} )
.then( (results) => {
// if an item for the user is not found
if (results.items.length === 0 ) {
// create an item
const toInsert = {
“_id” : userId,
“email” : userEmail
};
// add the item to the collection
wixData.insert( “Members” , toInsert)
. catch ( (err) => {
console.log(err);
} );
}
// update buttons accordingly
$w( “#loginButton” ).label = “Logout” ;
$w( “#profileButton” ).show();
} )
. catch ( (err) => {
console.log(err);
} );
}
}
export function profileButton_click(event) {
wixLocation.to(/Members/${wixUsers.currentUser.id}
);
}
Any ideas why when I click on “My profile” it doesn’t load?
And why the update my profile doesn’t load the data?
I have done all the data binding.
I have also tried:
and bind this collection to each member collecting it from a dataset…
Any pointers will be really appreciated…
Thanks