メールのステータスごとに背景色をつけたい

個人メール、グループメールの受信ボックス内のメールについて、処理済や未処理といったステータスごとに背景色を設定するために何か良い方法はありますか?
javascriptやCSSから設定できればと思っています。

以下、chatgptで作成したコードになります。稼働はできておりません。

grn.API.mail.getMail(mailId).then(function(mail) {
var status = mail.status;
var mailBody = document.querySelector(‘.mailBody’); // メール本文部分の要素を取得

// ステータスによって背景色を変更
switch(status) {
    case "UNPROCESSED":
        mailBody.style.backgroundColor = "yellow"; // 未処理の場合は背景色を黄色に
        break;
    case "PROCESSED":
        mailBody.style.backgroundColor = "green"; // 処理済の場合は背景色を緑に
        break;
    // 必要に応じて他のステータスについても色を設定
    default:
        break;
}

});

ChatGPTで書いたコードとのことですが、

「JavaScriptやCSSが分かる、かつ、ドキュメントに書いてあることを理解できる」

という方でないとChatGPTでGaroonのカスタマイズ用JS書いてもらうのは厳しいかもですね:sweat_drops:
どこを直せばいいかわからないという場合は、JavaScriptやGaroonカスタマイズの勉強をおすすめしたいです。

・・・という私も、Garoon詳しくないのですが、知ってる範囲やドキュメント見て分かる範囲でお答えできればとおもいます:eyes:

@kino さんがやりたいことはできないかもですが^^;
参考になればとおもいます。

イベントについて

↓こちらのドキュメントによると、

メールアプリのJavaScriptのイベント(JavaScriptが動き始めるトリガー)となるのは

  • メールの詳細画面を表示したとき
  • メールの作成画面を表示したとき
  • メールの返信画面を表示したとき

のようですね。

メールの値の取得について

また、メールの値を取得するJavaScript API は
↓こちらのドキュメントによると。。。

  • メールの作成画面
  • メールの再送信画面
  • メールの返信画面
  • メールを全員に返信する画面
  • メールの転送画面
  • 下書きの編集/送信画面

でしか使えないみたいです。

取得したメールの値の内容

メールの値を取得したとして、ステータスはわからないみたい。

直接クラス名指定?

なので、
ディベロッパーツールで色を変えたい要素を探して、
JavaScriptやCSSでクラス名指定で色を変えたらいいのかなと思います。

例えばこんな感じのCSSファイル描いたとしたら、

.read_grn{
  background-color: #ff66ff !important;
}

↓こんなこんな感じになります。

どこの色を変えたいのかはわからないですが、
ディベロッパーツールで色を変えたい要素を探して「read_grn」というクラス名だったらその色を指定するようにするという感じです。
image

でもこのやり方は、Garoonのアップデートなどで動かなくなる可能性ありなので、
もしこれで上手く行ったとしても
今後定期的にメンテし続けることができる
じゃないと使えないしおすすめはできないかなぁと思います。

勉強頑張ってください:muscle:

ともかく、
ChatGPTは上手く誘導したり、間違いをしてあげないと正しいコードを書いてくれないので
プログラミングはもちろん、GaroonのAPIの知識がある上で使うことをおすすめしたいです。

ぜひ勉強頑張ってみられてください:muscle:

「いいね!」 1

このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。