diff --git a/src/splitter.html b/src/splitter.html index fd10898..2bb9e31 100644 --- a/src/splitter.html +++ b/src/splitter.html @@ -110,20 +110,22 @@ const hashArray = Array.from(new Uint8Array(hashBuffer)); const hashHex = hashArray.map(byte => byte.toString(16).padStart(2, '0')).join(''); - // Split the text into chunks - for (let i = 0; i < text.length; i += maxChunkSize) { + // Prepare the prefix for the first chunk + const firstChunkPrefix = `Hash: ${hashHex}\nMessage 1/`; + const firstChunkContentSize = maxChunkSize - firstChunkPrefix.length - (String(text.length).length + 2); + const firstChunk = firstChunkPrefix + text.substring(0, firstChunkContentSize); + + // Add the first chunk to the list + chunks.push(firstChunk); + + // Split the remaining text into chunks + for (let i = firstChunkContentSize; i < text.length; i += maxChunkSize) { let chunk = text.substring(i, i + maxChunkSize); - let chunkNumber = Math.floor(i / maxChunkSize) + 1; - let totalChunks = Math.ceil(text.length / maxChunkSize); + let chunkNumber = Math.floor(i / maxChunkSize) + 2; // Start from the second chunk + let totalChunks = Math.ceil(text.length / maxChunkSize) + 1; let prefix = `Message ${chunkNumber}/${totalChunks}`; - // Add the hash only to the first chunk - if (chunkNumber === 1) { - chunk = `Hash: ${hashHex}\n${prefix}\n\n${chunk}`; - } else { - chunk = `${prefix}\n\n${chunk}`; - } - + chunk = `${prefix}\n\n${chunk}`; chunks.push(chunk); }