<table class="table is-striped is-narrow is-hoverable is-fullwidth">
<thead>
<tr>
<th>symbol</th>
<th>doji dragon</th>
<th>doji grave</th>
<th>timeframe</th>
</tr>
</thead>
<tbody id="myTable">
</tbody>
var ref12 = collection(db,"doji4h");
const querySnapshot1 = await getDocs(ref12);
querySnapshot1.forEach((doc2) => {
let data2 = doc2.data();
let row = `<tr>
<td>${data2.symbol}</td>
<td bgcolor=greencolor>${data2.doji_dragon}</td>
<td bgcolor=redcolor>${data2.doji_grave}</td>
<td>${data2.timeframe}</td>
</tr>`;
let table = document.getElementById('myTable2')
table.innerHTML += row
});
let dojidragoncolor= data2.doji_dragon;
let dojigravecolor= data2.doji_grave;
if (dojidragoncolor === Bullish){
greencolor="green";}
else{
greencolor="white";
}
if (dojigravecolor === Bearish){
redcolor="red";}
else{
redcolor="white";
}
I want to change color of data2doji_dragon and data2.doji_grave. red and green according to bullish or bearish string come from firebase
all the data is green now . there is a notation problem I have it seems
Try changing two things.
redcolor and greencolor earlierAt the moment you are creating them after the time you want to read them. Move the "if (doji ..." statements before the "let row ..."
Currently you are using
bgcolor = greencolor
If I remember correctly, the browser will read that as a string:
bgcolor = "greencolor"
And it handles that unknown color "greencolor" by ignoring the last part, so that it is behaving as though you had written:
bgcolor = "green"
(As the first attempt was unsuccessful, I have added extra information into the displayed table cell, for diagnostic purposes.)
let data2 = doc2.data();
let dojidragoncolor = data2.doji_dragon;
let dojigravecolor = data2.doji_grave;
if (dojidragoncolor === Bullish) {
greencolor = "green";
} else {
greencolor = "white";
}
if (dojigravecolor === Bearish) {
redcolor = "red";
} else {
redcolor = "white";
}
let row = `
<tr>
<td bgcolor="${greencolor}">${data2.doji_dragon} ${greencolor}</td>
<td bgcolor="${redcolor}">${data2.doji_grave} ${redcolor}</td>
</tr>`;
let data2 = doc2.data();// it have to be after this line
const dojidragoncolor= data2.engulfing_bullish;
const dojigravecolor= data2.engulfing_bearish;
let bullcolor =""
let bearcolor = ""
if (dojidragoncolor == "Bullish"){
bullcolor="green";}
else{
bullcolor="white";
}
if (dojigravecolor == "Bearish"){
bearcolor="red";}
else{
bearcolor="white";
}
console.log(bullcolor);
console.log(bearcolor);
let row = `<tr>
<td>${data2.symbol}</td>
<td bgcolor=${bullcolor}>${data2.engulfing_bullish}</td>
<td bgcolor=${bearcolor}>${data2.engulfing_bearish}</td>
<td>${data2.timeframe}</td>
</tr>`;
let table = document.getElementById('myTable2')