|
|
@ -60,10 +60,14 @@ |
|
|
|
><fa icon="ellipsis-vertical" class="fa-fw"></fa |
|
|
|
></a> |
|
|
|
|
|
|
|
View Project |
|
|
|
View Plan |
|
|
|
</h1> |
|
|
|
</div> |
|
|
|
|
|
|
|
<div> |
|
|
|
{{ errorMessage }} |
|
|
|
</div> |
|
|
|
|
|
|
|
<!-- Project Details --> |
|
|
|
<div class="bg-slate-100 rounded-md overflow-hidden px-4 py-3 mb-4"> |
|
|
|
<div> |
|
|
@ -158,6 +162,7 @@ export default class ProjectViewView extends Vue { |
|
|
|
truncateLength = 40; |
|
|
|
timeSince = ""; |
|
|
|
projectId = localStorage.getItem("projectId") || ""; |
|
|
|
errorMessage = ""; |
|
|
|
|
|
|
|
onEditClick() { |
|
|
|
localStorage.setItem("projectId", this.projectId as string); |
|
|
@ -178,8 +183,8 @@ export default class ProjectViewView extends Vue { |
|
|
|
|
|
|
|
async LoadProject(identity: IIdentifier) { |
|
|
|
const endorserApiServer = AppString.DEFAULT_ENDORSER_API_SERVER; |
|
|
|
const url = |
|
|
|
endorserApiServer + "/api/plan/" + encodeURIComponent(this.projectId); |
|
|
|
// eslint-disable-next-line prettier/prettier |
|
|
|
const url = endorserApiServer + "/api/claim/byHandle/" + encodeURIComponent(this.projectId); |
|
|
|
const token = await accessToken(identity); |
|
|
|
const headers = { |
|
|
|
"Content-Type": "application/json", |
|
|
@ -191,15 +196,27 @@ export default class ProjectViewView extends Vue { |
|
|
|
console.log(resp.status, resp.data); |
|
|
|
if (resp.status === 200) { |
|
|
|
const startTime = resp.data.startTime; |
|
|
|
const eventDate = new Date(startTime); |
|
|
|
const now = moment.now(); |
|
|
|
this.timeSince = moment.utc(now).to(eventDate); |
|
|
|
this.name = resp.data.name; |
|
|
|
this.description = resp.data.description; |
|
|
|
if (startTime != null) { |
|
|
|
const eventDate = new Date(startTime); |
|
|
|
const now = moment.now(); |
|
|
|
this.timeSince = moment.utc(now).to(eventDate); |
|
|
|
} |
|
|
|
this.name = resp.data.claim?.name || "(no name)"; |
|
|
|
this.description = resp.data.claim?.description || "(no description)"; |
|
|
|
this.truncatedDesc = this.description.slice(0, this.truncateLength); |
|
|
|
} else if (resp.status === 404) { |
|
|
|
// actually, axios throws an error so we never get here |
|
|
|
this.errorMessage = "That project does not exist."; |
|
|
|
} |
|
|
|
} catch (error: any) { |
|
|
|
if (error?.response?.status === 404) { |
|
|
|
this.errorMessage = "That project does not exist."; |
|
|
|
} else { |
|
|
|
this.errorMessage = |
|
|
|
"Something went wrong retrieving that project." + |
|
|
|
" See logs for more info."; |
|
|
|
console.log("Error retrieving project:", error); |
|
|
|
} |
|
|
|
} catch (error) { |
|
|
|
console.log(error); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|