Skip to content

Commit

Permalink
🔀 Merge ##457 into deploy/rinkeby
Browse files Browse the repository at this point in the history
  • Loading branch information
AuroraHuang22 committed Mar 18, 2024
2 parents 4e48ddd + 290c47d commit 3a68bf7
Show file tree
Hide file tree
Showing 2 changed files with 79 additions and 4 deletions.
8 changes: 4 additions & 4 deletions components/IscnRegisterForm.vue
Original file line number Diff line number Diff line change
Expand Up @@ -1067,12 +1067,12 @@ export default class IscnRegisterForm extends Vue {
this.uploadStatus = 'loading'
if (this.epubMetadata) {
this.name = this.epubMetadata.title
this.name = this.epubMetadata.title || ''
this.description = this.extractText(this.epubMetadata.description)
this.author.name = this.epubMetadata.author
this.author.name = this.epubMetadata.author || ''
this.author.authorDescription = 'Author'
this.language = this.epubMetadata.language
this.tags = this.epubMetadata.tags
this.language = this.epubMetadata.language || ''
this.tags = this.epubMetadata.tags || []
this.thumbnailUrl = this.formatArweave(
this.epubMetadata.thumbnailArweaveId,
) as string
Expand Down
75 changes: 75 additions & 0 deletions components/IscnUploadForm.vue
Original file line number Diff line number Diff line change
Expand Up @@ -266,6 +266,13 @@ const MODE = {
EDIT: 'edit',
}
const IMAGE_MIME_TYPES = [
'image/jpeg',
'image/png',
'image/gif',
'image/webp',
]
@Component
export default class IscnUploadForm extends Vue {
@Prop(Number) readonly step: number | undefined
Expand Down Expand Up @@ -813,8 +820,76 @@ export default class IscnUploadForm extends Vue {
}
}
checkUploadFileTypeIsPDF() {
let hasPDF = false;
// eslint-disable-next-line no-restricted-syntax
for (const file of this.fileRecords) {
if (file.fileType === 'application/epub+zip') {
return false;
}
if (file.fileType === 'application/pdf') {
hasPDF = true;
}
}
return hasPDF;
}
addToEpubMetadataList(ipfsHash: string, arweaveId: string) {
this.epubMetadataList.push({
thumbnailIpfsHash: ipfsHash,
thumbnailArweaveId: arweaveId,
})
}
// eslint-disable-next-line class-methods-use-this
async uploadFileAndGetArweaveId(file: any, txHash: string) {
const arrayBuffer = await file.fileBlob.arrayBuffer()
const buffer = Buffer.from(arrayBuffer)
return uploadSingleFileToBundlr(buffer, {
fileSize: file.fileBlob?.size || 0,
ipfsHash: file.ipfsHash,
fileType: file.fileType,
txHash,
})
}
async setEbookCoverFromImages() {
if (
this.epubMetadataList[0] &&
this.epubMetadataList[0].thumbnailArweaveId
) {
return
}
// eslint-disable-next-line no-restricted-syntax
for (const file of this.fileRecords) {
if (IMAGE_MIME_TYPES.includes(file.fileType)) {
const existingData =
this.sentArweaveTransactionInfo.get(file.ipfsHash) || {}
const { transactionHash, arweaveId: uploadArweaveId } = existingData
if (uploadArweaveId) {
this.addToEpubMetadataList(transactionHash as string, uploadArweaveId)
return
}
// eslint-disable-next-line no-await-in-loop
const arweaveId = await this.uploadFileAndGetArweaveId(
file,
transactionHash as string,
)
if (arweaveId) {
this.addToEpubMetadataList(file.ipfsHash, arweaveId)
return
}
return
}
}
}
async onSubmit() {
if (IS_CHAIN_UPGRADING) return
if (this.checkUploadFileTypeIsPDF()) {
await this.setEbookCoverFromImages()
}
logTrackerEvent(this, 'ISCNCreate', 'ClickUpload', '', 1);
this.uploadStatus = 'uploading'
this.error = ''
Expand Down

0 comments on commit 3a68bf7

Please sign in to comment.