package eu.dnetlib.client;

import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.user.client.Cookies;
import com.google.gwt.user.client.History;
import com.google.gwt.user.client.ui.*;

/**
 * Created by stefania on 3/8/15.
 */
public class UserInfoElement implements IsWidget {

    private FlowPanel registerLoginToolbar = new FlowPanel();

    private Anchor userName = new Anchor();
    private Anchor logout = new Anchor();

    public UserInfoElement() {

        userName.setText("Hello, " + GoldOAPortal.currentUser.getFirstname() + " " + GoldOAPortal.currentUser.getInitials()
                + " " + GoldOAPortal.currentUser.getLastname());
        userName.addClickHandler(new ClickHandler() {
            @Override
            public void onClick(ClickEvent clickEvent) {
                History.newItem("myAccount");
            }
        });

        logout.setText("LOGOUT");
        logout.addStyleName("secondToolbarButton");
        logout.addClickHandler(new ClickHandler() {
            @Override
            public void onClick(ClickEvent event) {

                Cookies.removeCookie("currentUser");
                GoldOAPortal.currentUser = null;

                RootPanel.get("loginRegister").clear();
                RootPanel.get("loginRegister").add(RegisterLoginElement.getInstance().asWidget());

                NavigationManager.getInstance().update();
                if(GoldOAPortal.currentToken.equals("home"))
                    NavigationManager.getInstance().navigate("home");
                else
                    History.newItem("home");
            }
        });

        registerLoginToolbar.add(userName);
        registerLoginToolbar.add(logout);
    }

    @Override
    public Widget asWidget() {
        return registerLoginToolbar;
    }
}
