Skip to content

Commit

Permalink
ToDoDynalistApp.html
Browse files Browse the repository at this point in the history
  • Loading branch information
Jesse-Hufstetler committed Sep 17, 2024
1 parent 9e67f4f commit eb6007c
Showing 1 changed file with 26 additions and 7 deletions.
33 changes: 26 additions & 7 deletions ToDoDynalistApp.html
Original file line number Diff line number Diff line change
Expand Up @@ -29,17 +29,18 @@
<body>
<div id="output">
</div>
<script type="text/javascript">
<script>
dayjs.extend(window.dayjs_plugin_relativeTime)
var toDos;
var lastRefresh = dayjs();
var lastRefreshCheck = dayjs();
const queryString = window.location.search;
const dayMs = 1000 * 60 * 60 * 24;
const urlParams = new URLSearchParams(queryString);
const token = urlParams.get("token");
const file_id = urlParams.get("file_id");
const node_id = urlParams.get("node_id");


var topNodeDate = (nodeId) => (async () => {
var self = toDos.filter((item) => item.id === nodeId)[0];
self.dated = new Date().getTime();
Expand Down Expand Up @@ -69,6 +70,22 @@
redrawGrid();
})();


function refreshCheck(params) {
var lastRefreshCheckAgo = lastRefreshCheck.diff(dayjs());
lastRefreshCheck = dayjs();
if (lastRefreshCheckAgo > -1 * 1000 * 10) return;
var lastRefreshAgo = lastRefresh.diff(dayjs());
if (lastRefreshAgo > -1 * 1000 * 2 * 60) return;
(async () => {
toDos = await getData();
sortGrid();
redrawGrid();
})();
}

document.body.addEventListener("mousemove", refreshCheck);

/////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////
Expand All @@ -86,6 +103,7 @@
});
const rObject = await response.json();
const rawNodeText = (rObject).nodes.filter((item) => item.id === node_id)[0].content;
lastRefresh = dayjs();
return rawNodeText.substring(1, rawNodeText.length - 1);
}
async function saveJsonString(jsonString) {
Expand All @@ -105,6 +123,7 @@
}],
}),
});
lastRefresh = dayjs();
}
const getData = async () => JSON.parse(await getJsonString());
const saveData = async (data) => await saveJsonString(JSON.stringify(data));
Expand All @@ -121,16 +140,16 @@
for (const toDo of toDos) {
var fontvw = (3 / (((nowStamp - toDo.dated) / (dayMs)) + 1)) + 0.6;
var styleType = `style="font-size: ${fontvw}vw;vertical-align:middle;" type="button"`
var bgColor = "#"+(Math.floor(toDo.id * 10) % (256*256*256)).toString(16).padStart(6, '0');
var bgColor = "#" + (Math.floor(toDo.id * 10) % (256 * 256 * 256)).toString(16).padStart(6, '0');
newInnerHtml += `<tr style="background: ${bgColor};">`;
newInnerHtml += `<td><button ${styleType} onclick="updateNode(${toDo.id})">${toDo.text}</button>`;
fontvw = (1 / (((nowStamp - toDo.dated) / (dayMs/2)) + 1)) + 0.8;
newInnerHtml += `<span style="opacity:.5;"><span style="background:white;border-radius:${fontvw/5}vw;padding:${fontvw/5}vw;margin:${fontvw/5}vw;font-size: ${fontvw}vw;">${dayjs((toDo.dated)).fromNow()}</span>`;
fontvw = (1 / (((nowStamp - toDo.dated) / (dayMs / 2)) + 1)) + 0.8;
newInnerHtml += `<span style="opacity:.5;"><span style="background:white;border-radius:${fontvw / 5}vw;padding:${fontvw / 5}vw;margin:${fontvw / 5}vw;font-size: ${fontvw}vw;">${dayjs((toDo.dated)).fromNow()}</span>`;
styleType = `style="font-size: ${fontvw}vw;" type="button"`
newInnerHtml += `<button ${styleType} onclick="deleteNode(${toDo.id})">Delete</button>`;
styleType = `style="font-size: ${fontvw}vw;background: #ffcccc" type="button"`
newInnerHtml += `<button ${styleType} onclick="shiftNodeDate(${toDo.id}, -${dayMs/24})">🔽1 hour</button>`;
newInnerHtml += `<button ${styleType} onclick="shiftNodeDate(${toDo.id}, ${dayMs/24})">🔼1 hour</button>`;
newInnerHtml += `<button ${styleType} onclick="shiftNodeDate(${toDo.id}, -${dayMs / 24})">🔽1 hour</button>`;
newInnerHtml += `<button ${styleType} onclick="shiftNodeDate(${toDo.id}, ${dayMs / 24})">🔼1 hour</button>`;
styleType = `style="font-size: ${fontvw}vw;background: #ffffcc" type="button"`
newInnerHtml += `<button ${styleType} onclick="shiftNodeDate(${toDo.id}, -${dayMs})">🔽1 day</button>`;
newInnerHtml += `<button ${styleType} onclick="shiftNodeDate(${toDo.id}, ${dayMs})">🔼1 day</button>`;
Expand Down

0 comments on commit eb6007c

Please sign in to comment.