forked from trent_larson/crowd-funder-for-time-pwa
Fix JavaScript runtime errors for undefined name property access
- Add null checks to prevent "Cannot read properties of undefined (reading 'name')" errors
- Fix ProjectCard, MembersList, ProjectsView, DiscoverView, ProjectViewView components
- Add null validation in DIDView.claimDescription() and ClaimReportCertificateView.drawCanvas()
- Add missing databaseUtil import in MembersList component
- Use meaningful fallback text for undefined names ("Unnamed Project", "Unnamed Member")
- Resolves template rendering crashes when entities lack name properties
This commit is contained in:
@@ -406,11 +406,17 @@ export default class DIDView extends Vue {
|
||||
"SELECT * FROM contacts WHERE did = ?",
|
||||
[this.viewingDid],
|
||||
);
|
||||
this.contactFromDid = databaseUtil.mapQueryResultToValues(
|
||||
const contacts = databaseUtil.mapQueryResultToValues(
|
||||
dbContacts,
|
||||
)[0] as unknown as Contact;
|
||||
if (this.contactFromDid) {
|
||||
) as unknown as Contact[];
|
||||
|
||||
// Safely check if contact exists before assigning
|
||||
if (contacts && contacts.length > 0) {
|
||||
this.contactFromDid = contacts[0];
|
||||
this.contactYaml = yaml.dump(this.contactFromDid);
|
||||
} else {
|
||||
this.contactFromDid = undefined;
|
||||
this.contactYaml = "";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -705,6 +711,9 @@ export default class DIDView extends Vue {
|
||||
* @returns Description string or empty string
|
||||
*/
|
||||
claimDescription(claim: GenericVerifiableCredential) {
|
||||
if (!claim || !claim.claim) {
|
||||
return "";
|
||||
}
|
||||
const claimData = claim.claim as { name?: string; description?: string };
|
||||
return claimData.name || claimData.description || "";
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user