mirror of
				https://github.com/TeamPiped/Piped.git
				synced 2024-08-14 23:57:27 +00:00 
			
		
		
		
	add logout and delete account option
This commit is contained in:
		
							parent
							
								
									7daccb5e52
								
							
						
					
					
						commit
						0b7bf21865
					
				
					 2 changed files with 48 additions and 1 deletions
				
			
		| 
						 | 
					@ -196,6 +196,29 @@
 | 
				
			||||||
    <select id="ddlInstanceSelection" v-model="selectedInstance" class="select w-auto" @change="onChange($event)">
 | 
					    <select id="ddlInstanceSelection" v-model="selectedInstance" class="select w-auto" @change="onChange($event)">
 | 
				
			||||||
        <option v-for="instance in instances" :key="instance.name" :value="instance.api_url" v-text="instance.name" />
 | 
					        <option v-for="instance in instances" :key="instance.name" :value="instance.api_url" v-text="instance.name" />
 | 
				
			||||||
    </select>
 | 
					    </select>
 | 
				
			||||||
 | 
					    <br />
 | 
				
			||||||
 | 
					    <!-- options that are visible only when logged in -->
 | 
				
			||||||
 | 
					    <div v-if="this.authenticated">
 | 
				
			||||||
 | 
					        <label for="txtDeleteAccountPassword"><strong v-t="'actions.delete_account'" /></label>
 | 
				
			||||||
 | 
					        <br />
 | 
				
			||||||
 | 
					        <div>
 | 
				
			||||||
 | 
					            <input
 | 
				
			||||||
 | 
					                id="txtDeleteAccountPassword"
 | 
				
			||||||
 | 
					                ref="txtDeleteAccountPassword"
 | 
				
			||||||
 | 
					                v-model="password"
 | 
				
			||||||
 | 
					                v-on:keyup.enter="deleteAccount"
 | 
				
			||||||
 | 
					                :placeholder="$t('login.password')"
 | 
				
			||||||
 | 
					                :aria-label="$t('login.password')"
 | 
				
			||||||
 | 
					                class="input w-auto"
 | 
				
			||||||
 | 
					                type="password"
 | 
				
			||||||
 | 
					            />
 | 
				
			||||||
 | 
					            <a class="btn w-auto" style="margin-left: 0.5em" @click="deleteAccount" v-t="'actions.delete_account'" />
 | 
				
			||||||
 | 
					            <br />
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					        <br />
 | 
				
			||||||
 | 
					        <a class="btn w-auto" @click="logout" v-t="'actions.logout'" />
 | 
				
			||||||
 | 
					        <br />
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
</template>
 | 
					</template>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<script>
 | 
					<script>
 | 
				
			||||||
| 
						 | 
					@ -275,6 +298,7 @@ export default {
 | 
				
			||||||
            enabledCodecs: ["vp9", "avc"],
 | 
					            enabledCodecs: ["vp9", "avc"],
 | 
				
			||||||
            disableLBRY: false,
 | 
					            disableLBRY: false,
 | 
				
			||||||
            proxyLBRY: false,
 | 
					            proxyLBRY: false,
 | 
				
			||||||
 | 
					            password: null,
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    activated() {
 | 
					    activated() {
 | 
				
			||||||
| 
						 | 
					@ -422,6 +446,27 @@ export default {
 | 
				
			||||||
        sslScore(url) {
 | 
					        sslScore(url) {
 | 
				
			||||||
            return "https://www.ssllabs.com/ssltest/analyze.html?d=" + new URL(url).host + "&latest";
 | 
					            return "https://www.ssllabs.com/ssltest/analyze.html?d=" + new URL(url).host + "&latest";
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
 | 
					        async deleteAccount() {
 | 
				
			||||||
 | 
					            this.fetchJson(this.apiUrl() + "/user/delete", null, {
 | 
				
			||||||
 | 
					                method: "POST",
 | 
				
			||||||
 | 
					                headers: {
 | 
				
			||||||
 | 
					                    Authorization: this.getAuthToken(),
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					                body: JSON.stringify({
 | 
				
			||||||
 | 
					                    password: this.password,
 | 
				
			||||||
 | 
					                }),
 | 
				
			||||||
 | 
					            }).then(resp => {
 | 
				
			||||||
 | 
					                if (!resp.error) {
 | 
				
			||||||
 | 
					                    this.logout();
 | 
				
			||||||
 | 
					                } else alert(resp.error);
 | 
				
			||||||
 | 
					            });
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        logout() {
 | 
				
			||||||
 | 
					            // reset the auth token
 | 
				
			||||||
 | 
					            localStorage.removeItem("authToken" + this.hashCode(this.apiUrl()), this.getAuthToken());
 | 
				
			||||||
 | 
					            // redirect to trending page
 | 
				
			||||||
 | 
					            window.location = "/";
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
</script>
 | 
					</script>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -80,7 +80,9 @@
 | 
				
			||||||
        "delete_playlist": "Delete Playlist",
 | 
					        "delete_playlist": "Delete Playlist",
 | 
				
			||||||
        "select_playlist": "Select a Playlist",
 | 
					        "select_playlist": "Select a Playlist",
 | 
				
			||||||
        "delete_playlist_confirm": "Are you sure you want to delete this playlist?",
 | 
					        "delete_playlist_confirm": "Are you sure you want to delete this playlist?",
 | 
				
			||||||
        "please_select_playlist": "Please select a playlist"
 | 
					        "please_select_playlist": "Please select a playlist",
 | 
				
			||||||
 | 
					        "delete_account": "Delete Account",
 | 
				
			||||||
 | 
					        "logout": "Logout"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "comment": {
 | 
					    "comment": {
 | 
				
			||||||
        "pinned_by": "Pinned by"
 | 
					        "pinned_by": "Pinned by"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue