<template>
    <div class="navbar">
        <span class="title" v-show="sidebar.opened">万达数字化运维平台</span>
        <hamburger id="hamburger-container" :is-active="sidebar.opened" class="hamburger-container" @toggle-click="toggleSideBar" />

        <div class="right-menu">
            <el-dropdown class="avatar-container right-menu-item hover-effect">
                <div class="avatar-wrapper">
                    <span> yanruolan </span>
                    <i class="el-icon-user-solid" />
                </div>
                <el-dropdown-menu slot="dropdown">
                    <router-link to="/">
                        <el-dropdown-item> 退出 </el-dropdown-item>
                    </router-link>
                </el-dropdown-menu>
            </el-dropdown>
        </div>
    </div>
</template>

<script lang="ts">
import { Component, Vue } from "vue-property-decorator";
import { AppModule } from "@/store/modules/app";
import { UserModule } from "@/store/modules/user";
import Breadcrumb from "@/components/Breadcrumb/index.vue";
import Hamburger from "@/components/Hamburger/index.vue";

@Component({
    name: "Navbar",
    components: {
        Breadcrumb,
        Hamburger,
    },
})
export default class extends Vue {
    get sidebar() {
        return AppModule.sidebar;
    }

    get device() {
        return AppModule.device.toString();
    }

    get avatar() {
        return UserModule.avatar;
    }

    private toggleSideBar() {
        AppModule.ToggleSideBar(false);
    }

    private async logout() {
        await UserModule.LogOut();
        // this.$router.push(`/login?redirect=${this.$route.fullPath}`)
    }
}
</script>

<style lang="scss" scoped>
.navbar {
    height: 50px;
    overflow: hidden;
    position: relative;
    background-color: #2b3643;
    box-shadow: 0 1px 4px rgba(0, 21, 41, 0.08);
    z-index: 1002;

    .title {
        float: left;
        padding: 0 20px;
        margin: 0 auto;
        line-height: 46px;
        height: 100%;
        color: #fff;
    }

    .hamburger-container {
        color: #fff;
        line-height: 46px;
        height: 100%;
        float: left;
        width: 60px;
        //padding: 0 15px;
        cursor: pointer;
        transition: background 0.3s;
        -webkit-tap-highlight-color: transparent;

        &:hover {
            background: rgba(0, 0, 0, 0.025);
        }
    }

    .right-menu {
        float: right;
        height: 100%;
        line-height: 50px;

        &:focus {
            outline: none;
        }

        .right-menu-item {
            display: inline-block;
            padding: 0 8px;
            height: 100%;
            font-size: 18px;
            color: #5a5e66;
            vertical-align: text-bottom;

            &.hover-effect {
                cursor: pointer;
                transition: background 0.3s;

                &:hover {
                    background: rgba(0, 0, 0, 0.025);
                }
            }
        }

        .avatar-container {
            margin-right: 30px;

            .avatar-wrapper {
                position: relative;
                color: #409eff;
                font-size: 18px;
                .user-avatar {
                    cursor: pointer;
                    width: 40px;
                    height: 40px;
                    border-radius: 10px;
                }

                .el-icon-caret-bottom {
                    cursor: pointer;
                    position: absolute;
                    right: -20px;
                    top: 25px;
                    font-size: 12px;
                }
            }
        }
    }
}
</style>
