From 172d8ccb1263d90a360666a03c425e3a54673d36 Mon Sep 17 00:00:00 2001
From: Shraddha <ShraddhaRaghuram@student.tudelft.nl>
Date: Mon, 30 Sep 2024 12:30:57 +0200
Subject: [PATCH] roadmap

---
 static/homepage-roadmap.js | 32 ++++++++++++--------------------
 1 file changed, 12 insertions(+), 20 deletions(-)

diff --git a/static/homepage-roadmap.js b/static/homepage-roadmap.js
index 8edb6a3..75617be 100644
--- a/static/homepage-roadmap.js
+++ b/static/homepage-roadmap.js
@@ -269,7 +269,8 @@
 // }
 
 let branchesDrawn = [false, false, false, false];  // Track which branches have been drawn
-let branchPositions = [600, 1200, 1800, 2400];  // The vertical positions of each branch
+let branchPositions = [600, 1200, 1800, 2400];  // The vertical positions where branches appear
+let totalHeight = 3000;  // Total height for the vertical line
 
 function verticalLine(x, y1, y2, ctx) {
     ctx.moveTo(x, y1);
@@ -296,10 +297,10 @@ function horizontalLine(x1, x2, y, ctx) {
     ctx.lineTo(x2, y);
 }
 
-function drawBranch(ctx, canvas_h, index) {
+function drawBranch(ctx, index) {
     var centerX = ctx.canvas.width / 2;
 
-    // Draw branches based on the index (ensuring they remain independent)
+    // Draw branches based on the index
     if (index === 0) {
         circularArc(centerX - 30, 600, ctx, 3);
         horizontalLine(centerX - 30, centerX - 400, 630, ctx);
@@ -323,23 +324,13 @@ function drawBranch(ctx, canvas_h, index) {
 function draw() {
     let canvas = document.getElementById("roadmap");
     canvas.width = 1300;
-    canvas.height = 3000;
+    canvas.height = totalHeight;
 
     if (!canvas.getContext) return;
     var ctx = canvas.getContext("2d");
-    var gradient = ctx.createLinearGradient(0, 0, 0, 13370);
+    var gradient = ctx.createLinearGradient(0, 0, 0, totalHeight);
     gradient.addColorStop(0, "#185A4F");
-    gradient.addColorStop(0.36, "#185A4F");
-    gradient.addColorStop(0.373, "#05BE85");
-    gradient.addColorStop(0.381, "#05BE85");
-    gradient.addColorStop(0.387, "#05BE85");
-    gradient.addColorStop(0.38, "#05BE85");
-    gradient.addColorStop(0.41, "#185A4F");
-    gradient.addColorStop(0.53534, "#185A4F");
-    gradient.addColorStop(0.57648, "#62D881");
-    gradient.addColorStop(0.63287, "#62D881");
-    gradient.addColorStop(0.68127, "#185A4F");
-    gradient.addColorStop(1,"#185A4F");
+    gradient.addColorStop(1, "#185A4F");
     ctx.strokeStyle = gradient;
     ctx.lineWidth = 17;
     ctx.lineCap = 'round';
@@ -348,15 +339,16 @@ function draw() {
 
     var scrTop = document.documentElement.scrollTop;  // Get the scroll position
     var canvas_h = ctx.canvas.height;
+    var maxLineHeight = Math.min(scrTop + window.innerHeight * 0.8, totalHeight);  // Limit vertical line growth to the total height
 
-    // Draw the main vertical line
+    // Draw the vertical line as it grows with scrolling
     var centerX = canvas.width / 2;
-    verticalLine(centerX, 200, 3000, ctx);
+    verticalLine(centerX, 200, maxLineHeight, ctx);
 
-    // Draw branches as the user scrolls down
+    // Draw branches as the user scrolls past their designated positions
     branchPositions.forEach((pos, index) => {
         if (scrTop > pos - window.innerHeight * 0.8 && !branchesDrawn[index]) {
-            drawBranch(ctx, canvas_h, index);
+            drawBranch(ctx, index);
         }
     });
 
-- 
GitLab