make a confirmation for contact visibility
This commit is contained in:
@@ -118,7 +118,7 @@
|
|||||||
<div v-if="activeDid">
|
<div v-if="activeDid">
|
||||||
<button
|
<button
|
||||||
v-if="contact.seesMe"
|
v-if="contact.seesMe"
|
||||||
class="text-sm uppercase bg-slate-500 text-white px-2 py-1.5 rounded-md"
|
class="text-sm uppercase bg-slate-500 text-white mx-0.5 my-0.5 px-2 py-1.5 rounded-md"
|
||||||
@click="setVisibility(contact, false, true)"
|
@click="setVisibility(contact, false, true)"
|
||||||
title="They can see you"
|
title="They can see you"
|
||||||
>
|
>
|
||||||
@@ -126,14 +126,14 @@
|
|||||||
</button>
|
</button>
|
||||||
<button
|
<button
|
||||||
v-else
|
v-else
|
||||||
class="text-sm uppercase bg-slate-500 text-white px-2 py-1.5 rounded-md"
|
class="text-sm uppercase bg-slate-500 text-white mx-0.5 my-0.5 px-2 py-1.5 rounded-md"
|
||||||
@click="setVisibility(contact, true, true)"
|
@click="setVisibility(contact, true, true)"
|
||||||
title="They cannot see you"
|
title="They cannot see you"
|
||||||
>
|
>
|
||||||
<fa icon="eye-slash" class="fa-fw" />
|
<fa icon="eye-slash" class="fa-fw" />
|
||||||
</button>
|
</button>
|
||||||
<button
|
<button
|
||||||
class="text-sm uppercase bg-slate-500 text-white px-2 py-1.5 rounded-md"
|
class="text-sm uppercase bg-slate-500 text-white mx-0.5 my-0.5 px-2 py-1.5 rounded-md"
|
||||||
@click="checkVisibility(contact)"
|
@click="checkVisibility(contact)"
|
||||||
title="Check Visibility"
|
title="Check Visibility"
|
||||||
v-if="activeDid"
|
v-if="activeDid"
|
||||||
@@ -571,17 +571,7 @@ export default class ContactsView extends Vue {
|
|||||||
} else {
|
} else {
|
||||||
addedMessage = newContact.name + " was added.";
|
addedMessage = newContact.name + " was added.";
|
||||||
}
|
}
|
||||||
this.$notify(
|
|
||||||
{
|
|
||||||
group: "alert",
|
|
||||||
type: "success",
|
|
||||||
title: "Contact Added",
|
|
||||||
text: addedMessage,
|
|
||||||
},
|
|
||||||
5000,
|
|
||||||
);
|
|
||||||
if (this.isRegistered) {
|
if (this.isRegistered) {
|
||||||
// putting this last so that it shows on the top
|
|
||||||
this.$notify(
|
this.$notify(
|
||||||
{
|
{
|
||||||
group: "alert",
|
group: "alert",
|
||||||
@@ -595,6 +585,15 @@ export default class ContactsView extends Vue {
|
|||||||
-1,
|
-1,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
this.$notify(
|
||||||
|
{
|
||||||
|
group: "alert",
|
||||||
|
type: "success",
|
||||||
|
title: "Contact Added",
|
||||||
|
text: addedMessage,
|
||||||
|
},
|
||||||
|
5000,
|
||||||
|
);
|
||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
console.error("Error when adding contact to storage:", err);
|
console.error("Error when adding contact to storage:", err);
|
||||||
@@ -754,63 +753,70 @@ export default class ContactsView extends Vue {
|
|||||||
visibility: boolean,
|
visibility: boolean,
|
||||||
showSuccessAlert: boolean,
|
showSuccessAlert: boolean,
|
||||||
) {
|
) {
|
||||||
const url =
|
const visibilityPrompt =
|
||||||
this.apiServer +
|
showSuccessAlert &&
|
||||||
"/api/report/" +
|
(visibility
|
||||||
(visibility ? "canSeeMe" : "cannotSeeMe");
|
? "Are you sure you want to make your activity visible to them?"
|
||||||
const identity = await this.getIdentity(this.activeDid);
|
: "Are you sure you want to hide all your activity from them?");
|
||||||
const headers = await this.getHeaders(identity);
|
if (visibilityPrompt && confirm(visibilityPrompt)) {
|
||||||
const payload = JSON.stringify({ did: contact.did });
|
const url =
|
||||||
|
this.apiServer +
|
||||||
|
"/api/report/" +
|
||||||
|
(visibility ? "canSeeMe" : "cannotSeeMe");
|
||||||
|
const identity = await this.getIdentity(this.activeDid);
|
||||||
|
const headers = await this.getHeaders(identity);
|
||||||
|
const payload = JSON.stringify({ did: contact.did });
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const resp = await this.axios.post(url, payload, { headers });
|
const resp = await this.axios.post(url, payload, { headers });
|
||||||
if (resp.status === 200) {
|
if (resp.status === 200) {
|
||||||
if (showSuccessAlert) {
|
if (showSuccessAlert) {
|
||||||
|
this.$notify(
|
||||||
|
{
|
||||||
|
group: "alert",
|
||||||
|
type: "success",
|
||||||
|
title: "Visibility Set",
|
||||||
|
text:
|
||||||
|
this.nameForDid(this.contacts, contact.did) +
|
||||||
|
" can " +
|
||||||
|
(visibility ? "" : "not ") +
|
||||||
|
"see your activity.",
|
||||||
|
},
|
||||||
|
-1,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
contact.seesMe = visibility;
|
||||||
|
db.contacts.update(contact.did, { seesMe: visibility });
|
||||||
|
} else {
|
||||||
|
console.error(
|
||||||
|
"Got some bad server response when setting visibility: ",
|
||||||
|
resp.status,
|
||||||
|
resp,
|
||||||
|
);
|
||||||
|
const message =
|
||||||
|
resp.data.error?.message || "Got some error setting visibility.";
|
||||||
this.$notify(
|
this.$notify(
|
||||||
{
|
{
|
||||||
group: "alert",
|
group: "alert",
|
||||||
type: "success",
|
type: "danger",
|
||||||
title: "Visibility Set",
|
title: "Error Setting Visibility",
|
||||||
text:
|
text: message,
|
||||||
this.nameForDid(this.contacts, contact.did) +
|
|
||||||
" can " +
|
|
||||||
(visibility ? "" : "not ") +
|
|
||||||
"see your activity.",
|
|
||||||
},
|
},
|
||||||
-1,
|
-1,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
contact.seesMe = visibility;
|
} catch (err) {
|
||||||
db.contacts.update(contact.did, { seesMe: visibility });
|
console.error("Got some error when setting visibility:", err);
|
||||||
} else {
|
|
||||||
console.error(
|
|
||||||
"Got some bad server response when setting visibility: ",
|
|
||||||
resp.status,
|
|
||||||
resp,
|
|
||||||
);
|
|
||||||
const message =
|
|
||||||
resp.data.error?.message || "Got some error setting visibility.";
|
|
||||||
this.$notify(
|
this.$notify(
|
||||||
{
|
{
|
||||||
group: "alert",
|
group: "alert",
|
||||||
type: "danger",
|
type: "danger",
|
||||||
title: "Error Setting Visibility",
|
title: "Error Setting Visibility",
|
||||||
text: message,
|
text: "Check connectivity and try again.",
|
||||||
},
|
},
|
||||||
-1,
|
-1,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
} catch (err) {
|
|
||||||
console.error("Got some error when setting visibility:", err);
|
|
||||||
this.$notify(
|
|
||||||
{
|
|
||||||
group: "alert",
|
|
||||||
type: "danger",
|
|
||||||
title: "Error Setting Visibility",
|
|
||||||
text: "Check connectivity and try again.",
|
|
||||||
},
|
|
||||||
-1,
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user