suggest new user going to the front page
This commit is contained in:
@@ -58,7 +58,7 @@ export default class InviteDialog extends Vue {
|
|||||||
inviteIdentifier = "";
|
inviteIdentifier = "";
|
||||||
text = "";
|
text = "";
|
||||||
visible = false;
|
visible = false;
|
||||||
expiresAt = new Date(Date.now() + 1000 * 60 * 60 * 24 * 30 * 3)
|
expiresAt = new Date(Date.now() + 1000 * 60 * 60 * 24 * 7)
|
||||||
.toISOString()
|
.toISOString()
|
||||||
.substring(0, 10);
|
.substring(0, 10);
|
||||||
|
|
||||||
|
|||||||
@@ -454,21 +454,25 @@ export default class ContactsView extends Vue {
|
|||||||
decodeEndorserJwt(importedInviteJwt).payload;
|
decodeEndorserJwt(importedInviteJwt).payload;
|
||||||
const registration = payload as VerifiableCredential;
|
const registration = payload as VerifiableCredential;
|
||||||
(this.$refs.contactNameDialog as ContactNameDialog).open(
|
(this.$refs.contactNameDialog as ContactNameDialog).open(
|
||||||
"Contact Name",
|
"Who Invited You?",
|
||||||
"",
|
"",
|
||||||
(name) => {
|
(name) => {
|
||||||
|
// not doing await on purpose, so that they always see the onboarding
|
||||||
this.addContact({
|
this.addContact({
|
||||||
did: registration.vc.credentialSubject.agent.identifier,
|
did: registration.vc.credentialSubject.agent.identifier,
|
||||||
name: name,
|
name: name,
|
||||||
registered: true,
|
registered: true,
|
||||||
});
|
});
|
||||||
|
this.showOnboardingInfo();
|
||||||
},
|
},
|
||||||
() => {
|
() => {
|
||||||
|
// not doing await on purpose, so that they always see the onboarding
|
||||||
this.addContact({
|
this.addContact({
|
||||||
did: registration.vc.credentialSubject.agent.identifier,
|
did: registration.vc.credentialSubject.agent.identifier,
|
||||||
name: "(person who invited you)",
|
name: "(person who invited you)",
|
||||||
registered: true,
|
registered: true,
|
||||||
});
|
});
|
||||||
|
this.showOnboardingInfo();
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||||
@@ -513,6 +517,21 @@ export default class ContactsView extends Vue {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private showOnboardingInfo() {
|
||||||
|
this.$notify(
|
||||||
|
{
|
||||||
|
group: "modal",
|
||||||
|
type: "confirm",
|
||||||
|
title: "They're Added To Your List",
|
||||||
|
text: "Would you like to go to the main page now?",
|
||||||
|
onYes: async () => {
|
||||||
|
(this.$router as Router).push({ name: "home" });
|
||||||
|
},
|
||||||
|
},
|
||||||
|
-1,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
private filteredContacts() {
|
private filteredContacts() {
|
||||||
return this.showGiveNumbers
|
return this.showGiveNumbers
|
||||||
? this.contactsSelected.length === 0
|
? this.contactsSelected.length === 0
|
||||||
|
|||||||
@@ -46,7 +46,10 @@
|
|||||||
>
|
>
|
||||||
<td>
|
<td>
|
||||||
<span
|
<span
|
||||||
v-if="!invite.redeemedAt"
|
v-if="
|
||||||
|
!invite.redeemedAt &&
|
||||||
|
invite.expiresAt > new Date().toISOString()
|
||||||
|
"
|
||||||
@click="
|
@click="
|
||||||
copyInviteAndNotify(invite.inviteIdentifier, invite.jwt)
|
copyInviteAndNotify(invite.inviteIdentifier, invite.jwt)
|
||||||
"
|
"
|
||||||
@@ -57,7 +60,13 @@
|
|||||||
</span>
|
</span>
|
||||||
<span
|
<span
|
||||||
v-else
|
v-else
|
||||||
@click="showInvite(invite.inviteIdentifier)"
|
@click="
|
||||||
|
showInvite(
|
||||||
|
invite.inviteIdentifier,
|
||||||
|
!!invite.redeemedAt,
|
||||||
|
invite.expiresAt < new Date().toISOString(),
|
||||||
|
)
|
||||||
|
"
|
||||||
class="text-center text-slate-500 cursor-pointer"
|
class="text-center text-slate-500 cursor-pointer"
|
||||||
:title="inviteLink(invite.jwt)"
|
:title="inviteLink(invite.jwt)"
|
||||||
>
|
>
|
||||||
@@ -201,20 +210,26 @@ export default class InviteOneView extends Vue {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
showInvite(inviteId: string) {
|
showInvite(inviteId: string, redeemed: boolean, expired: boolean) {
|
||||||
|
let message = `Your clipboard now contains the invite ID ${inviteId}`;
|
||||||
|
if (redeemed) {
|
||||||
|
message += " (This invite has been used.)";
|
||||||
|
} else if (expired) {
|
||||||
|
message += " (This invite has expired.)";
|
||||||
|
}
|
||||||
useClipboard().copy(inviteId);
|
useClipboard().copy(inviteId);
|
||||||
this.$notify(
|
this.$notify(
|
||||||
{
|
{
|
||||||
group: "alert",
|
group: "alert",
|
||||||
type: "success",
|
type: "success",
|
||||||
title: "Copied",
|
title: "Copied",
|
||||||
text: `The link has been used, but your clipboard now contains the invite ID ${inviteId}`,
|
text: message,
|
||||||
},
|
},
|
||||||
5000,
|
5000,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
lookForErrorAndNotify(error, title, defaultMessage) {
|
lookForErrorAndNotify(error, title: string, defaultMessage: string) {
|
||||||
console.error(title, "-", error);
|
console.error(title, "-", error);
|
||||||
let message = defaultMessage;
|
let message = defaultMessage;
|
||||||
if (error.response && error.response.data && error.response.data.error) {
|
if (error.response && error.response.data && error.response.data.error) {
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import { test, expect } from '@playwright/test';
|
import { test, expect } from '@playwright/test';
|
||||||
import { deleteContact, generateAndRegisterEthrUser, importUser } from './testUtils';
|
import { deleteContact, generateAndRegisterEthrUser, importUser } from './testUtils';
|
||||||
|
|
||||||
test('Check activity feed', async ({ page }) => {
|
test('Check activity feed - check that server is running', async ({ page }) => {
|
||||||
// Load app homepage
|
// Load app homepage
|
||||||
await page.goto('./');
|
await page.goto('./');
|
||||||
await page.getByTestId('closeOnboardingAndFinish').click();
|
await page.getByTestId('closeOnboardingAndFinish').click();
|
||||||
|
|||||||
Reference in New Issue
Block a user