aboutsummaryrefslogtreecommitdiff
path: root/src/js/arching-kaos-modules-news.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/js/arching-kaos-modules-news.js')
-rw-r--r--src/js/arching-kaos-modules-news.js91
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