diff --git a/cwd-admin/src/views/CommentsView.vue b/cwd-admin/src/views/CommentsView.vue
index 06bb538..dfd97fb 100644
--- a/cwd-admin/src/views/CommentsView.vue
+++ b/cwd-admin/src/views/CommentsView.vue
@@ -35,7 +35,10 @@
:alt="item.name"
/>
-
{{ item.name }}
+
) => {
const page = parseInt(c.req.query('page') || '1');
@@ -35,10 +36,16 @@ export const listComments = async (c: Context<{ Bindings: Bindings }>) => {
await c.env.CWD_DB.prepare(
'CREATE TABLE IF NOT EXISTS Settings (key TEXT PRIMARY KEY, value TEXT NOT NULL)'
).run();
- const avatarRow = await c.env.CWD_DB.prepare('SELECT value FROM Settings WHERE key = ?')
- .bind(COMMENT_AVATAR_PREFIX_KEY)
- .first<{ value: string }>();
+ const [avatarRow, adminEmailRow] = await Promise.all([
+ c.env.CWD_DB.prepare('SELECT value FROM Settings WHERE key = ?')
+ .bind(COMMENT_AVATAR_PREFIX_KEY)
+ .first<{ value: string }>(),
+ c.env.CWD_DB.prepare('SELECT value FROM Settings WHERE key = ?')
+ .bind(COMMENT_ADMIN_EMAIL_KEY)
+ .first<{ value: string }>()
+ ]);
const avatarPrefix = avatarRow?.value || null;
+ const adminEmail = adminEmailRow?.value || null;
const data = await Promise.all(
results.map(async (row: any) => ({
@@ -53,9 +60,13 @@ export const listComments = async (c: Context<{ Bindings: Bindings }>) => {
contentHtml: row.content_html,
status: row.status,
priority: row.priority,
- likes: typeof row.likes === 'number' && Number.isFinite(row.likes) && row.likes >= 0 ? row.likes : 0,
+ likes:
+ typeof row.likes === 'number' && Number.isFinite(row.likes) && row.likes >= 0
+ ? row.likes
+ : 0,
ua: row.ua,
- avatar: await getCravatar(row.email, avatarPrefix || undefined)
+ avatar: await getCravatar(row.email, avatarPrefix || undefined),
+ isAdmin: adminEmail && row.email === adminEmail
}))
);