File size: 2,729 Bytes
34097e9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
waitForElementToDisplay(
    "#feed-profile-tab",
    function(){
        const userModel = {
            data() {
                return {
                    userId: '',
                    nickname: '',
                    likeCount: 0,
                    editMode: false,
                    loading: false,
                }
            },
            methods: {
                close() {},
                mounted(){},
                beforeDestroy(){},
                setEditMode(){
                    this.editMode = !this.editMode;
                },
                saveNickname(){
                    const userId = localStorage.getItem("userId");
                    const token = localStorage.getItem("token");
                    const headers={"Authorization":"Token " + token};
                    axios.post(
                        `https://newtypev3-server-vjiloyvjvq-an.a.run.app/user/profile`,
                        {
                            userId,
                            nickname: this.nickname,
                        }, 
                        {
                            headers
                        }
                      )
                      .then(response => {
                        this.editMode = false;        
                      })
                      .catch(error => {
                        this.loading = false;
                        alert(error.response.data.detail);
                      })
                },
               
            },
            created() {
                const userId = localStorage.getItem("userId");
                const token = localStorage.getItem("token");
                const headers={"Authorization":"Token " + token};
                axios.get(
                    `https://newtypev3-server-vjiloyvjvq-an.a.run.app/user/profile/${userId}`,
                    {
                        headers
                    }
                    )
                .then(response => {
                    const dataObject = response.data;;
                    this.likeCount = dataObject.likecount; 
                    this.nickname = dataObject.nickname; 
                    this.userId = userId;
                }).catch(error => {
                    this.loading = false;
                    console.log(error)
                })
            },
        };
        const fetchApp =  Vue.createApp(userModel);
        if (document.querySelector("#feed-profile-tab") != null) {
          fetchApp.mount('#feed-profile-tab');
        }else{
          fetchApp.mount(document.getElementsByTagName("gradio-app")[0].shadowRoot.getElementById("feed-profile-tab"));
        }

        console.log("mount success");
    },1000,9000);