forked from jsnbuchanan/crowd-funder-for-time-pwa
add page for one-on-one invites (incomplete)
This commit is contained in:
@@ -23,12 +23,20 @@
|
||||
|
||||
<!-- New Contact -->
|
||||
<div id="formAddNewContact" class="mt-4 mb-4 flex items-stretch">
|
||||
<router-link
|
||||
:to="{ name: 'invite-one' }"
|
||||
class="flex items-center bg-gradient-to-b from-green-400 to-green-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-1.5 py-1 mr-1 rounded-md"
|
||||
>
|
||||
<fa icon="envelope-open-text" class="fa-fw text-2xl" />
|
||||
</router-link>
|
||||
|
||||
<router-link
|
||||
:to="{ name: 'contact-qr' }"
|
||||
class="flex items-center bg-gradient-to-b from-slate-400 to-slate-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-1.5 py-1 mr-1 rounded-md"
|
||||
class="flex items-center bg-gradient-to-b from-green-400 to-green-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-1.5 py-1 mr-1 rounded-md"
|
||||
>
|
||||
<fa icon="qrcode" class="fa-fw text-2xl" />
|
||||
</router-link>
|
||||
|
||||
<textarea
|
||||
type="text"
|
||||
placeholder="URL or DID, Name, Public Key, Next Public Key Hash"
|
||||
@@ -79,7 +87,9 @@
|
||||
class="text-md bg-gradient-to-b from-slate-400 to-slate-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-1 py-1 rounded-md"
|
||||
@click="toggleShowContactAmounts()"
|
||||
>
|
||||
{{ showGiveNumbers ? "Hide Given Hours" : "Show Given Hours" }}
|
||||
{{
|
||||
showGiveNumbers ? "Hide Given Hours etc" : "Show Given Hours etc"
|
||||
}}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
@@ -288,7 +298,7 @@ import { Buffer } from "buffer/";
|
||||
import { IndexableType } from "dexie";
|
||||
import * as R from "ramda";
|
||||
import { Component, Vue } from "vue-facing-decorator";
|
||||
import { Router } from "vue-router";
|
||||
import { RouteLocationNormalizedLoaded, Router } from "vue-router";
|
||||
import { useClipboard } from "@vueuse/core";
|
||||
|
||||
import { AppString, NotificationIface } from "@/constants/app";
|
||||
@@ -377,7 +387,7 @@ export default class ContactsView extends Vue {
|
||||
(a.name || "").localeCompare(b.name || ""),
|
||||
);
|
||||
|
||||
const importedContactJwt = (this.$route as Router).query[
|
||||
const importedContactJwt = (this.$route as RouteLocationNormalizedLoaded).query[
|
||||
"contactJwt"
|
||||
] as string;
|
||||
if (importedContactJwt) {
|
||||
@@ -736,7 +746,7 @@ export default class ContactsView extends Vue {
|
||||
type: "confirm",
|
||||
title: "Register",
|
||||
text: "Do you want to register them?",
|
||||
onCancel: async (stopAsking: boolean) => {
|
||||
onCancel: async (stopAsking?: boolean) => {
|
||||
if (stopAsking) {
|
||||
await updateDefaultSettings({
|
||||
hideRegisterPromptOnNewContact: stopAsking,
|
||||
@@ -744,7 +754,7 @@ export default class ContactsView extends Vue {
|
||||
this.hideRegisterPromptOnNewContact = stopAsking;
|
||||
}
|
||||
},
|
||||
onNo: async (stopAsking: boolean) => {
|
||||
onNo: async (stopAsking?: boolean) => {
|
||||
if (stopAsking) {
|
||||
await updateDefaultSettings({
|
||||
hideRegisterPromptOnNewContact: stopAsking,
|
||||
@@ -853,9 +863,14 @@ export default class ContactsView extends Vue {
|
||||
console.error("Error when registering:", error);
|
||||
let userMessage = "There was an error. See logs for more info.";
|
||||
const serverError = error as AxiosError;
|
||||
if (serverError) {
|
||||
if (serverError.response?.data?.error?.message) {
|
||||
userMessage = serverError.response.data.error.message;
|
||||
if (serverError.isAxiosError) {
|
||||
if (serverError.response?.data
|
||||
&& typeof serverError.response.data === 'object'
|
||||
&& 'error' in serverError.response.data
|
||||
&& typeof serverError.response.data.error === 'object'
|
||||
&& serverError.response.data.error !== null
|
||||
&& 'message' in serverError.response.data.error){
|
||||
userMessage = serverError.response.data.error.message as string;
|
||||
} else if (serverError.message) {
|
||||
userMessage = serverError.message; // Info for the user
|
||||
} else {
|
||||
@@ -971,8 +986,8 @@ export default class ContactsView extends Vue {
|
||||
}
|
||||
|
||||
private showGiftedDialog(giverDid: string, recipientDid: string) {
|
||||
let giver: libsUtil.GiverReceiverInputInfo;
|
||||
let receiver: libsUtil.GiverReceiverInputInfo;
|
||||
let giver: libsUtil.GiverReceiverInputInfo | undefined;
|
||||
let receiver: libsUtil.GiverReceiverInputInfo | undefined;
|
||||
if (giverDid) {
|
||||
giver = {
|
||||
did: giverDid,
|
||||
@@ -995,7 +1010,7 @@ export default class ContactsView extends Vue {
|
||||
newList[recipientDid] = (newList[recipientDid] || 0) + amount;
|
||||
this.givenByMeUnconfirmed = newList;
|
||||
};
|
||||
customTitle = "Given to " + receiver.name;
|
||||
customTitle = "Given to " + (receiver?.name || "Someone Unnamed");
|
||||
} else {
|
||||
// must be (recipientDid == this.activeDid)
|
||||
callback = (amount: number) => {
|
||||
@@ -1003,14 +1018,14 @@ export default class ContactsView extends Vue {
|
||||
newList[giverDid] = (newList[giverDid] || 0) + amount;
|
||||
this.givenToMeUnconfirmed = newList;
|
||||
};
|
||||
customTitle = "Received from " + giver.name;
|
||||
customTitle = "Received from " + (giver?.name || "Someone Unnamed");
|
||||
}
|
||||
(this.$refs.customGivenDialog as GiftedDialog).open(
|
||||
giver,
|
||||
receiver,
|
||||
undefined as string,
|
||||
undefined as unknown as string,
|
||||
customTitle,
|
||||
undefined as string,
|
||||
undefined as unknown as string,
|
||||
callback,
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user