Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 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("profile")
- .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("profile", 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() {
- wixLocation.to(`/profile/${wixUsers.currentUser.id}`);
- }
Add Comment
Please, Sign In to add comment