/**
 * Sample React Native App
 * https://github.com/facebook/react-native
 *
 * @format
 * @flow
 */

import React, { Component } from "react";
import {
  Platform,
  StyleSheet,
  Text,
  View,
  Image,
  TouchableOpacity,
  ImageBackground,
  Button,
  StatusBar,
  Modal,
  TouchableHighlight,
  DeviceEventEmitter
} from "react-native";
import AndroidUtil from "../../util/AndroidUtil";
import BasePage from "../BasePage";
import CourseTitle from "./CourseTitle";
import Header from "./Header";
import PersonalInfoDialog from "./PersonalInfoDialog";

type Props = {};
export default class PersonalInfo extends BasePage {
  state = {
    nickName: "初始昵称",
    schoolName: "未设置"
  };
  updateState(data) {
    this.setState(data);
  }
  render() {
    return (
      <View style={{ flex: 1 }}>
        <PersonalInfoDialog
          ref={view => (this.dialog = view)}
          updateParentState={this.updateState.bind(this)}
        />
        <StatusBar
          backgroundColor={"transparent"}
          barStyle={"dark-content"}
          backgroundColor={"white"}
          translucent={false}
        />

        <View
          style={{
            flex: 1,
            flexDirection: "column"
          }}
        >
          <ImageBackground
            source={require("../images/userInfo/top.png")}
            style={{
              flex: 5,
              width: "100%",
              backgroundColor: "#F0F1F5",
              height: "73%"
            }}
            imageStyle={{ resizeMode: "contain" }}
          >
            <View
              style={{
                flex: 1,
                alignItems: "center",
                justifyContent: "center",
                flexDirection: "column"
              }}
            >
              <CourseTitle
                style={{ flex: 1 }}
                width={this.getWindowWidth()}
                title="个人信息"
                backPress={() => this.goBack()}
                lefttype={2}
                textcolor={"white"}
                backPress={() => this.goBack()}
              />
              <View
                style={{
                  flex: 1.5,
                  backgroundColor: "white",
                  width: "90%",
                  alignItems: "center",
                  justifyContent: "center",
                  borderRadius: 20,
                  overflow: "hidden"
                }}
              >
                <Header
                  uri="https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=1295208965,3056573814&amp;fm=26&amp;gp=0.jpg"
                  username="卡通笨笨熊"
                  flowerNumber="123234"
                  onPress={() => this.toNextPage("MainActivity")}
                />
              </View>
            </View>
          </ImageBackground>

          <View style={{ flex: 0.1, backgroundColor: "#F0F1F5" }} />
          <View
            style={{
              width: "100%",
              flex: 4.1,
              alignItems: "center",
              justifyContent: "center",
              backgroundColor: "#F0F1F5"
            }}
          >
            <View
              style={{
                backgroundColor: "#F3F3F3",
                width: "90%",
                alignItems: "center",
                justifyContent: "center",
                height: "90%",
                overflow: "hidden",
                borderRadius: 20
              }}
            >
              {this.userInfo123()}
            </View>
          </View>
          <View style={{ flex: 0.1, backgroundColor: "#F0F1F5" }} />
          <View
            style={{
              width: "100%",
              alignItems: "center",
              justifyContent: "center",
              flex: 4.1,
              backgroundColor: "#F0F1F5"
            }}
          >
            <View
              style={{
                backgroundColor: "#F3F3F3",
                width: "90%",
                height: "90%",
                overflow: "hidden",
                borderRadius: 20
              }}
            >
              {this.userInfo456()}
            </View>
          </View>
          <View
            style={{
              width: "100%",
              flex: 4,
              backgroundColor: "#F0F1F5",
              flexDirection: "column"
            }}
          >
            <View style={{ flex: 0.5 }} />
            <View style={{ flex: 1, flexDirection: "row" }}>
              <View style={{ flex: 1 }} />
              <View
                style={{
                  flex: 7,
                  width: "100%",
                  height: "100%"
                }}
              >
                <TouchableOpacity
                  activeOpacity={1}
                  style={{
                    flex: 1,
                    width: "100%",
                    alignItems: "center",
                    justifyContent: "center",
                    height: "100%"
                  }}
                  onPress={() => this.logout()}
                >
                  <ImageBackground
                    source={require("../images/userInfo/logoutbg1.png")}
                    style={{
                      flex: 1,
                      width: "100%",
                      resizeMode: "repeat",
                      alignItems: "center",
                      justifyContent: "center",
                      height: "100%"
                    }}
                    imageStyle={{ resizeMode: "contain" }}
                  >
                    <Text
                      style={{
                        fontSize: 30,
                        color: "white",
                        width: "100%",
                        textAlign: "center"
                      }}
                    >
                      退出登录
                    </Text>
                  </ImageBackground>
                </TouchableOpacity>
                <View style={{ flex: 1 }} />
              </View>
              <View style={{ flex: 1 }} />
            </View>
          </View>
        </View>
      </View>
    );
  }

  userInfo123() {
    return (
      <View
        style={{
          width: "100%",
          alignItems: "center",
          justifyContent: "center",
          height: "100%"
        }}
      >
        <View style={styles.item}>
          <View
            style={{
              flex: 2,
              alignItems: "center",
              justifyContent: "center"
            }}
          >
            {this.choseheadericon(0)}
          </View>

          <Text style={styles.item_text}>头像</Text>
          <View
            style={{
              flex: 2,
              alignItems: "center",
              justifyContent: "center"
            }}
          >
            {this.getArraowImg(0)}
          </View>
        </View>
        <View style={{ flex: 0.05 }} />
        <View style={styles.item}>
          <View
            style={{
              flex: 2,
              alignItems: "center",
              justifyContent: "center"
            }}
          >
            {this.choseheadericon(1)}
          </View>

          <Text style={styles.item_text}>{this.state.nickName}</Text>
          <View
            style={{
              flex: 2,
              alignItems: "center",
              justifyContent: "center"
            }}
          >
            {this.getArraowImg(1)}
          </View>
        </View>
        <View style={{ flex: 0.05 }} />

        <View style={styles.item}>
          <View
            style={{
              flex: 2,
              alignItems: "center",
              justifyContent: "center"
            }}
          >
            {this.choseheadericon(2)}
          </View>

          <Text style={styles.item_text}>生日</Text>
          <View
            style={{
              flex: 2,
              alignItems: "center",
              justifyContent: "center"
            }}
          >
            {this.getArraowImg(2)}
          </View>
        </View>
      </View>
    );
  }

  userInfo456() {
    return (
      <View
        style={{
          width: "100%",
          alignItems: "center",
          justifyContent: "center",
          height: "100%"
        }}
      >
        <View style={styles.item}>
          <View
            style={{
              flex: 2,
              alignItems: "center",
              justifyContent: "center"
            }}
          >
            {this.choseheadericon(3)}
          </View>

          <Text style={styles.item_text}>所在地区</Text>
          <View
            style={{
              flex: 2,
              alignItems: "center",
              justifyContent: "center"
            }}
          >
            {this.getArraowImg(3)}
          </View>
        </View>
        <View style={{ flex: 0.05 }} />
        <View style={styles.item}>
          <View
            style={{
              flex: 2,
              alignItems: "center",
              justifyContent: "center"
            }}
          >
            {this.choseheadericon(4)}
          </View>

          <Text style={styles.item_text}>{this.state.schoolName}</Text>
          <View
            style={{
              flex: 2,
              alignItems: "center",
              justifyContent: "center"
            }}
          >
            {this.getArraowImg(4)}
          </View>
        </View>
        <View style={{ flex: 0.05 }} />
        <View style={styles.item}>
          <View
            style={{
              flex: 2,
              alignItems: "center",
              justifyContent: "center"
            }}
          >
            {this.choseheadericon(5)}
          </View>

          <Text style={styles.item_text}>我的年级</Text>
          <View
            style={{
              flex: 2,
              alignItems: "center",
              justifyContent: "center"
            }}
          >
            {this.getArraowImg(5)}
          </View>
        </View>
      </View>
    );
  }
  getArraowImg(type) {
    return (
      <TouchableOpacity
        style={{
          width: "100%",
          height: "100%",
          alignItems: "center",
          justifyContent: "center"
        }}
        onPress={() => this.arrowpress(type)}
      >
        <Image
          source={require("../images/userInfo/arrow.png")}
          style={{
            width: "20%",
            height: "30%"
          }}
        />
      </TouchableOpacity>
    );
  }

  choseheadericon(type) {
    let headerpath;
    switch (type) {
      case 0:
        headerpath = require("../images/userInfo/headportrait.png");

        break;
      case 1:
        headerpath = require("../images/userInfo/nickname.png");
        break;
      case 2:
        headerpath = require("../images/userInfo/birthday.png");
        break;
      case 3:
        headerpath = require("../images/userInfo/location.png");
        break;
      case 4:
        headerpath = require("../images/userInfo/school.png");
        break;
      case 5:
        headerpath = require("../images/userInfo/grade.png");
        break;
    }
    // alert(headerpath);
    return (
      <Image
        source={headerpath}
        style={{
          width: "60%",
          height: "60%",
          resizeMode: "contain"
        }}
      />
    );
  }

  arrowpress(type) {
    switch (type) {
      case 0:
        alert("点击头像");
        break;
      case 1:
        this.dialog.setInfo("修改昵称", "昵称");
        this.dialog.setModalVisible(true, 1);
        break;
      case 2:
        alert("生日");
        break;
      case 3:
        alert("所在地区");
        break;
      case 4:
        this.dialog.setInfo("我的学校", "学校名称");
        this.dialog.setModalVisible(true, 2);
        break;
      case 5:
        alert("我的年级");
        break;
    }
  }

  logout() {
    alert("点击退出了");
  }
}

const styles = StyleSheet.create({
  item: {
    flex: 1,
    width: "100%",
    flexDirection: "row",
    backgroundColor: "white"
  },
  item_text: {
    flex: 10,
    marginLeft: 10,
    textAlignVertical: "center",
    color: "black",
    fontSize: 20
  }
});