diff --git a/html/src/app.js b/html/src/app.js index 79e2205a..22d38485 100644 --- a/html/src/app.js +++ b/html/src/app.js @@ -6329,6 +6329,21 @@ speechSynthesis.getVoices(); } }; + $app.methods.getAllMemos = async function () { + var memeos = await database.getAllMemos(); + memeos.forEach((memo) => { + var ref = $app.friends.get(memo.userId); + if (typeof ref !== 'undefined') { + ref.memo = memo.memo; + ref.$nickName = ''; + if (memo.memo) { + var array = memo.memo.split('\n'); + ref.$nickName = array[0]; + } + } + }); + }; + // App: Friends $app.data.friends = new Map(); @@ -6530,14 +6545,16 @@ speechSynthesis.getVoices(); memo: '', $nickName: '' }; - this.getMemo(id).then((memo) => { - ctx.memo = memo; - ctx.$nickName = ''; + if (this.friendLogInitStatus) { + this.getMemo(id).then((memo) => { + ctx.memo = memo; + ctx.$nickName = ''; if (memo) { var array = memo.split('\n'); - ctx.$nickName = array[0]; - } - }); + ctx.$nickName = array[0]; + } + }); + } if (typeof ref === 'undefined') { ref = this.friendLog.get(id); if (typeof ref !== 'undefined' && ref.displayName) { @@ -7394,6 +7411,7 @@ speechSynthesis.getVoices(); } else { await $app.initFriendLog(args.json.id); } + $app.getAllMemos(); if ($app.randomUserColours) { $app.getNameColour(this.currentUser.id).then((colour) => { this.currentUser.$userColour = colour; diff --git a/html/src/repository/database.js b/html/src/repository/database.js index 3f706111..f03007e3 100644 --- a/html/src/repository/database.js +++ b/html/src/repository/database.js @@ -158,6 +158,21 @@ class Database { return row; } + async getAllMemos() { + var memos = []; + await sqliteService.execute( + (dbRow) => { + var row = { + userId: dbRow[0], + memo: dbRow[1] + }; + memos.push(row); + }, + 'SELECT user_id, memo FROM memos' + ); + return memos; + } + setMemo(entry) { sqliteService.executeNonQuery( `INSERT OR REPLACE INTO memos (user_id, edited_at, memo) VALUES (@user_id, @edited_at, @memo)`,