diff options
Diffstat (limited to 'src/js/arching-kaos-modules-news.js')
-rw-r--r-- | src/js/arching-kaos-modules-news.js | 91 |
1 files changed, 52 insertions, 39 deletions
diff --git a/src/js/arching-kaos-modules-news.js b/src/js/arching-kaos-modules-news.js index 0a1652a..d6580ae 100644 --- a/src/js/arching-kaos-modules-news.js +++ b/src/js/arching-kaos-modules-news.js @@ -1,54 +1,67 @@ -/* Arching Kaos Module News - * - * Kaotisk Hund - 2024 - * - * @license magnet:?xt=urn:btih:0b31508aeb0634b347b8270c7bee4d411b5d4109&dn=agpl-3.0.txt AGPL v3.0 - * - */ +// Arching Kaos Module News +// +// Kaotisk Hund - 2024 +// +// @license magnet:?xt=urn:btih:0b31508aeb0634b347b8270c7bee4d411b5d4109&dn=agpl-3.0.txt AGPL v3.0 +// -function akModuleNews(zblockIPFSHash, zblockObject, blockObject, json){ +import { makeElement } from "./arching-kaos-generator.js"; +import { archingKaosFetchText } from "./arching-kaos-fetch.js"; +import { + getNicknameAssossiatedWithGPG, + getFullText, + getPreviewText +} from "./arching-kaos-tools.js"; +import { getIPFSURL } from "./url-generators.js"; + +export function akModuleNews(zblockIPFSHash, zblockObject, blockObject, json){ if (!document.querySelector('#news-'+zblockIPFSHash)){ var newsSectionDivElement = document.querySelector('#news-section'); var articleContainerElement = { element:"article", - id:'news-'+zblockIPFSHash + id:`news-${zblockIPFSHash}`, + innerHTML: [ + { element:"a", innerText : json.title, href : '#news-'+zblockIPFSHash }, + { element:"span", innerText : ' '}, + { element:"a", innerText:'[permalink]', target: '_blank', href:'https://news.arching-kaos.net/?from_zblock='+zblockIPFSHash }, + { element:"p", innerText:`zblock: ${zblockIPFSHash}` }, + { element:"p", innerText:"Published: " + new Date(blockObject.timestamp*1000) }, + { element:"p", innerText:"Contributor: " + getNicknameAssossiatedWithGPG(blockObject.gpg) }, + { element:"hr" } + ] }; makeElement(articleContainerElement, newsSectionDivElement); - articleContainerElement = document.querySelector(`#news-${zblockIPFSHash}`); - if(json.title){ - var ubs = { - element:"a", - innerText : json.title, - href : '#news-'+zblockIPFSHash - }; - makeElement(ubs, articleContainerElement); - var ahref = { - element:"a", - innerText:'[permalink]', - target: '_blank', - href:'https://news.arching-kaos.net/?from_zblock='+zblockIPFSHash - }; - makeElement(ahref, articleContainerElement); + if(json.ipfs){ + archingKaosFetchText(getIPFSURL(json.ipfs), getFullText,[`#news-${zblockIPFSHash}`]); } - if(json.datetime){ - var small = { - element:"p", - innerText:"Published: " + new Date(blockObject.timestamp*1000) - }; - makeElement(small, articleContainerElement); + if (document.querySelector("#news-sec-not-found")) document.querySelector("#news-sec-not-found").hidden=true; + makeElement({ element:"hr"}, newsSectionDivElement); + } + if (!document.querySelector('#news-preview-'+zblockIPFSHash)){ + var newsSectionDivElement = document.querySelector('.preview'); + var button = { + element:'button', + className:'read-more-button', + innerText:`Read more`, + onclick: `showResult("${blockObject.action.split('/')[0]}-${zblockIPFSHash}")` } - var small = { - element:"p", - innerText:"Contributor: " + getNicknameAssossiatedWithGPG(blockObject.gpg) + var articleContainerElement = { + element:"article", + id:`news-preview-${zblockIPFSHash}`, + innerHTML: [ + { element:"a", innerText : json.title, href : '#news-'+zblockIPFSHash }, + { element:"span", innerText : ' '}, + { element:"a", innerText:'[permalink]', target: '_blank', href:'https://news.arching-kaos.net/?from_zblock='+zblockIPFSHash }, + { element:"p", innerText:"Published: " + new Date(blockObject.timestamp*1000) }, + { element:"p", innerText:"Contributor: " + getNicknameAssossiatedWithGPG(blockObject.gpg) }, + { element:"hr" } + ] }; - makeElement(small, articleContainerElement); - var hr = { element:"hr" }; - makeElement(hr, articleContainerElement); + makeElement(articleContainerElement, newsSectionDivElement); if(json.ipfs){ - getipfstext(json.ipfs,articleContainerElement.id); + archingKaosFetchText(getIPFSURL(json.ipfs), getPreviewText, [`#news-preview-${zblockIPFSHash}`, button]); } - if (document.querySelector("#news-sec-not-found")) document.querySelector("#news-sec-not-found").hidden=true; - makeElement(hr, newsSectionDivElement); + makeElement({ element:"hr"}, newsSectionDivElement); } } // @license-end |