summaryrefslogtreecommitdiffstats
path: root/ui/src/utils.ts
diff options
context:
space:
mode:
Diffstat (limited to 'ui/src/utils.ts')
-rw-r--r--ui/src/utils.ts15
1 files changed, 14 insertions, 1 deletions
diff --git a/ui/src/utils.ts b/ui/src/utils.ts
index 02c1afbf..1d490a30 100644
--- a/ui/src/utils.ts
+++ b/ui/src/utils.ts
@@ -1,4 +1,4 @@
-import { UserOperation } from './interfaces';
+import { UserOperation, Comment } from './interfaces';
export let repoUrl = 'https://github.com/dessalines/rust-reddit-fediverse';
export let wsUri = (window.location.protocol=='https:'&&'wss://'||'ws://')+window.location.host + '/service/ws/';
@@ -8,3 +8,16 @@ export function msgOp(msg: any): UserOperation {
return UserOperation[opStr];
}
+export function hotRank(comment: Comment): number {
+ // Rank = ScaleFactor * sign(Score) * log(1 + abs(Score)) / (Time + 2)^Gravity
+
+ let date: Date = new Date(comment.published + 'Z'); // Add Z to convert from UTC date
+ let now: Date = new Date();
+ let hoursElapsed: number = (now.getTime() - date.getTime()) / 36e5;
+
+ let rank = (10000 * Math.sign(comment.score) * Math.log10(1 + Math.abs(comment.score))) / Math.pow(hoursElapsed + 2, 1.8);
+
+ // console.log(`Comment: ${comment.content}\nRank: ${rank}\nScore: ${comment.score}\nHours: ${hoursElapsed}`);
+
+ return rank;
+}