diff --git a/src/components/GiftedPhotoDialog.vue b/src/components/GiftedPhotoDialog.vue
index 20600bf89..93c358213 100644
--- a/src/components/GiftedPhotoDialog.vue
+++ b/src/components/GiftedPhotoDialog.vue
@@ -330,7 +330,7 @@ export default class GiftedPhotoDialog extends Vue {
this.uploading = false;
return;
}
- formData.append("image", this.blob, "snapshot.png"); // png is set in snapshot()
+ formData.append("image", this.blob, "snapshot.png");
formData.append("claimType", this.claimType);
try {
const response = await axios.post(
diff --git a/src/constants/app.ts b/src/constants/app.ts
index 4f51f6bbc..161644e1f 100644
--- a/src/constants/app.ts
+++ b/src/constants/app.ts
@@ -30,6 +30,8 @@ export const DEFAULT_IMAGE_API_SERVER =
export const DEFAULT_PUSH_SERVER =
window.location.protocol + "//" + window.location.host;
+export const IMAGE_TYPE_PROFILE = "profile";
+
/**
* The possible values for "group" and "type" are in App.vue.
* From the notiwind package
diff --git a/src/db/index.ts b/src/db/index.ts
index 290a0012c..6bb59f235 100644
--- a/src/db/index.ts
+++ b/src/db/index.ts
@@ -8,6 +8,7 @@ import {
Settings,
SettingsSchema,
} from "./tables/settings";
+import { Temp, TempSchema } from "./tables/temp";
import { DEFAULT_ENDORSER_API_SERVER } from "@/constants/app";
// Define types for tables that hold sensitive and non-sensitive data
@@ -16,6 +17,7 @@ type NonsensitiveTables = {
contacts: Table
- There are two sets of data to backup: the identifier secrets and the
- other data that isn't quite a secret such as settings, contacts, etc.
+ There are three sets of data to backup: the identifier secrets;
+ the non-public textual data that isn't quite a secret such as settings and contacts;
+ the non-public image for yourself; and the data that you have sent to the public.
- Before doing this, note the two kinds of data to backup: identity data,
- and other data for contacts and settings (see instructions above).
+ Before doing this, you may want to back up your data with the instructions above.
There is a even more functionality in a mobile app (and more
documentation) at
-
+
EndorserSearch.com
-
-
Your Identity
@@ -631,6 +621,7 @@ import {
AppString,
DEFAULT_IMAGE_API_SERVER,
DEFAULT_PUSH_SERVER,
+ IMAGE_TYPE_PROFILE,
NotificationIface,
} from "@/constants/app";
import { db, accountsDB } from "@/db/index";
@@ -1129,8 +1120,7 @@ export default class AccountViewView extends Vue {
console.error("Export Error:", error);
}
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
- async uploadFile(event: any) {
+ async uploadFile(event: Event) {
inputFileNameRef.value = event.target.files[0];
}
@@ -1163,7 +1153,7 @@ export default class AccountViewView extends Vue {
async submitFile() {
if (inputFileNameRef.value != null) {
await db.delete();
- await Dexie.import(inputFileNameRef.value, {
+ await Dexie.import(inputFileNameRef.value as Blob, {
progressCallback: this.progressCallback,
});
}
@@ -1387,7 +1377,7 @@ export default class AccountViewView extends Vue {
//console.log("Got image URL:", imgUrl);
},
true,
- "profile",
+ IMAGE_TYPE_PROFILE,
);
}
diff --git a/src/views/GiftedDetails.vue b/src/views/GiftedDetails.vue
index 0f9f085b2..a37c2e341 100644
--- a/src/views/GiftedDetails.vue
+++ b/src/views/GiftedDetails.vue
@@ -180,7 +180,24 @@ export default class GiftedDetails extends Vue {
}
this.unitCode = this.$route.query.unitCode as string;
- this.imageUrl = localStorage.getItem("imageUrl") || "";
+ this.imageUrl =
+ (this.$route.query.imageUrl as string) ||
+ localStorage.getItem("imageUrl") ||
+ "";
+
+ // this is an endpoint for sharing project info to highlight something given
+ // https://developer.mozilla.org/en-US/docs/Web/Manifest/share_target
+ if (this.$route.query.shareTitle) {
+ this.description = this.$route.query.shareTitle as string;
+ }
+ if (this.$route.query.shareText) {
+ this.description =
+ (this.description ? this.description + " " : "") +
+ (this.$route.query.shareText as string);
+ }
+ if (this.$route.query.shareUrl) {
+ this.imageUrl = this.$route.query.shareUrl as string;
+ }
try {
await db.open();
diff --git a/src/views/HelpView.vue b/src/views/HelpView.vue
index 2217011f1..d8ab1c342 100644
--- a/src/views/HelpView.vue
+++ b/src/views/HelpView.vue
@@ -100,8 +100,9 @@
How do I backup all my data?
- How do I backup my other (non-identifier-secret) data?
+ How do I backup my non-secret, non-public text data?
+
+
+ How do I backup my non-secret, non-public image?
+
+
+
+
+
+ How do I backup my public data?
+
+
+
How do I restore my data?
@@ -178,8 +200,7 @@
How do I erase my data?
Then reload Time Safari.
@@ -344,7 +365,7 @@
by disabling notifications on the Account
For all other claim data,
-
+
the Endorser Service has this Privacy Policy.
This is part of the - + Lives of Giving initiative. @@ -362,7 +383,7 @@
{{ package.version }} ({{ commitHash }})
Contact us at
diff --git a/src/views/NewEditProjectView.vue b/src/views/NewEditProjectView.vue
index 6293290ea..d1abe2cec 100644
--- a/src/views/NewEditProjectView.vue
+++ b/src/views/NewEditProjectView.vue
@@ -227,7 +227,7 @@ export default class NewEditProjectView extends Vue {
return headers;
}
- async created() {
+ async mounted() {
await db.open();
const settings = await db.settings.get(MASTER_SETTINGS_KEY);
this.activeDid = (settings?.activeDid as string) || "";
diff --git a/src/views/ProjectViewView.vue b/src/views/ProjectViewView.vue
index 962522c7a..707bf511e 100644
--- a/src/views/ProjectViewView.vue
+++ b/src/views/ProjectViewView.vue
@@ -505,7 +505,7 @@ export default class ProjectViewView extends Vue {
title: "Error",
text: "There was a problem getting that project. See logs for more info.",
},
- -1,
+ 5000,
);
}
} catch (error: unknown) {
@@ -519,7 +519,7 @@ export default class ProjectViewView extends Vue {
title: "Error",
text: "That project does not exist.",
},
- -1,
+ 5000,
);
} else {
this.$notify(
@@ -529,7 +529,7 @@ export default class ProjectViewView extends Vue {
title: "Error",
text: "Something went wrong retrieving that project. See logs for more info.",
},
- -1,
+ 5000,
);
}
}
@@ -561,7 +561,7 @@ export default class ProjectViewView extends Vue {
title: "Error",
text: "Failed to retrieve plans fulfilled by this project.",
},
- -1,
+ 5000,
);
}
} catch (error: unknown) {
@@ -573,7 +573,7 @@ export default class ProjectViewView extends Vue {
title: "Error",
text: "Something went wrong retrieving plans fulfilled by this project.",
},
- -1,
+ 5000,
);
console.error(
"Error retrieving plans fulfilled by this project:",
@@ -616,7 +616,7 @@ export default class ProjectViewView extends Vue {
title: "Error",
text: "Failed to retrieve more gives to this project.",
},
- -1,
+ 5000,
);
}
} catch (error: unknown) {
@@ -628,7 +628,7 @@ export default class ProjectViewView extends Vue {
title: "Error",
text: "Something went wrong retrieving more gives to this project.",
},
- -1,
+ 5000,
);
console.error(
"Something went wrong retrieving more gives to this project:",
@@ -671,7 +671,7 @@ export default class ProjectViewView extends Vue {
title: "Error",
text: "Failed to retrieve more offers to this project.",
},
- -1,
+ 5000,
);
}
} catch (error: unknown) {
@@ -683,7 +683,7 @@ export default class ProjectViewView extends Vue {
title: "Error",
text: "Something went wrong retrieving more offers to this project.",
},
- -1,
+ 5000,
);
console.error(
"Something went wrong retrieving more offers to this project:",
@@ -727,7 +727,7 @@ export default class ProjectViewView extends Vue {
title: "Error",
text: "Failed to retrieve more plans that fullfill this project.",
},
- -1,
+ 5000,
);
}
} catch (error: unknown) {
@@ -739,7 +739,7 @@ export default class ProjectViewView extends Vue {
title: "Error",
text: "Something went wrong retrieving more plans that fulfull this project.",
},
- -1,
+ 5000,
);
console.error(
"Something went wrong retrieving more plans that fulfill this project:",
@@ -928,7 +928,7 @@ export default class ProjectViewView extends Vue {
title: "Error",
text: message,
},
- -1,
+ 5000,
);
}
}
diff --git a/src/views/SeedBackupView.vue b/src/views/SeedBackupView.vue
index b2bd7113e..0176b81a7 100644
--- a/src/views/SeedBackupView.vue
+++ b/src/views/SeedBackupView.vue
@@ -70,12 +70,9 @@ import * as R from "ramda";
import QuickNav from "@/components/QuickNav.vue";
import { NotificationIface } from "@/constants/app";
import { accountsDB, db } from "@/db/index";
+import { Account } from "@/db/tables/accounts";
import { MASTER_SETTINGS_KEY } from "@/db/tables/settings";
-interface Account {
- mnemonic: string;
-}
-
@Component({ components: { QuickNav } })
export default class SeedBackupView extends Vue {
$notify!: (notification: NotificationIface, timeout?: number) => void;
diff --git a/src/views/SharedPhotoView.vue b/src/views/SharedPhotoView.vue
new file mode 100644
index 000000000..48510ab9f
--- /dev/null
+++ b/src/views/SharedPhotoView.vue
@@ -0,0 +1,164 @@
+
+ No image found.
+ Image
+
+
+
+
+
+
+
+