Center text instead of doing weird calculation
[brackets.git] / frontend / index.js
index d49372f..423a641 100644 (file)
@@ -76,7 +76,7 @@ const drawBranchFrom = (ctx, x, y, xDist, yDist, left, up) => {
 }
 
 const drawArtistOnCtx = (ctx, artistName, x, y) => {
-    ctx.font = "1em sans serif";
+    ctx.font = "20px sans serif";
     ctx.strokeText(artistName, x, y);
 }
 
@@ -124,17 +124,23 @@ const drawMatchup = (canvas, x, y, iter, maxIter, left, artists, baseCallback) =
     );
 }
 
-const drawBracket = (canvas, artists) => {
+const drawBracket = (canvas, artists, genre) => {
+    const context = canvas.getContext("2d");
+    context.clearRect(0, 0, canvas.width, canvas.height);
     drawWinner(canvas);
     const [mid_x, mid_y] = getCenter(canvas);
+    context.font = '28px sans serif'
+    context.textAlign = "center";
+    context.strokeText(genre.toUpperCase(), mid_x, 40);
+    context.textAlign = "start";
     const [rect_width, rect_height] = getRectangleDimensions(canvas);
     const groups = 4;
     const rounds = Math.floor(Math.log2(artists.length / groups));
     for (let group = 1; group <= groups; group++) {
             drawMatchup(
                 canvas,
-                mid_x + (Math.pow(-1, group) * (rect_width / 4)),
-                mid_y + (Math.pow(-1, Math.floor(group / 2)) * (rect_height * 2)),
+                mid_x + (Math.pow(-1, group) * (rect_width / 6)),
+                mid_y + (Math.pow(-1, Math.floor(group / 2)) * (rect_height * 2.5)),
                 0,
                 rounds,
                 Math.pow(-1, group),
@@ -152,9 +158,9 @@ window.onload = () => {
     const canvas = document.getElementById("bracket");
 
     const formSubmitAction = () => {
-        fetch(encodeURI(`http://localhost:8080/artist/genre?genre_name=${genreInput.value}`))
+        fetch(encodeURI(`http://api.brackets.jacobcasper.com/artist/genre?genre_name=${genreInput.value}`))
         .then((response) => response.json())
-        .then((data) => drawBracket(canvas, data.slice(0, 33)));
+        .then((data) => drawBracket(canvas, data.slice(0, 33), genreInput.value));
     }
 
     const createGenreList = (genreList, genres) => {
@@ -165,7 +171,7 @@ window.onload = () => {
     }
     let genres = JSON.parse(lStorage.getItem("genres"))
     if (genres === null) {
-        fetch("http://localhost:8080/genre")
+        fetch("http://api.brackets.jacobcasper.com/genre")
             .then((response) => response.text())
             .then((text) => {
                 window.localStorage.setItem("genres", text);
@@ -195,7 +201,7 @@ window.onload = () => {
 
     canvas.width = window.innerWidth;
     canvas.height = window.innerHeight;
-    drawBracket(canvas, ['dummy', 'dummy', 'dum' ,'dumhy']);
+    drawBracket(canvas, ['dummy', 'dummy', 'dum' ,'dumhy'], "");
 
     const bgImg = new Image();
     bgImg.onload = () => {