feat: add stars field to comments

This commit is contained in:
Riccardo Senica
2025-01-19 21:06:15 +00:00
parent 89a20c214b
commit 7c1e3989a5
6 changed files with 10 additions and 4 deletions

View File

@@ -58,10 +58,10 @@ The `export` flag is optional - when set to true, a JSON file with the raw data
### Day Log ### Day Log
``` ```
daylog -text "text" -date "date" daylog -stars number -text "text" -date "date"
``` ```
Example: `daylog -text "Meeting notes or daily summary" -date "2024-01-18"` Example: `daylog -stars 3 -text "Meeting notes or daily summary" -date "2024-01-18"`
Adds a log entry for a specific day. The date parameter is optional and defaults to the current date. Adds a log entry for a specific day. The date parameter is optional and defaults to the current date.

View File

@@ -6,7 +6,7 @@ export default function Home() {
const commands = [ const commands = [
'expense add -desc "Coffee" -cost 3.50 -cat "Food"', 'expense add -desc "Coffee" -cost 3.50 -cat "Food"',
'expense report -from "2024-01-01" -to "2024-01-31"', 'expense report -from "2024-01-01" -to "2024-01-31"',
'expense daylog -text "Added team lunch" -date "2024-01-18"' 'expense daylog -stars 3 -text "Added team lunch" -date "2024-01-18"'
]; ];
return ( return (

View File

@@ -130,10 +130,11 @@ export async function diaryCommand(
} }
case 'daylog': { case 'daylog': {
const stars = parsedCommand.flags.stars as number;
const text = parsedCommand.flags.text as string; const text = parsedCommand.flags.text as string;
const date = (parsedCommand.flags.date as Date) || new Date(); const date = (parsedCommand.flags.date as Date) || new Date();
return processDayLog(text, date); return processDayLog(stars, text, date);
} }
default: default:

View File

@@ -141,6 +141,7 @@ export const diaryCommands: CommandDefinition[] = [
{ {
name: 'daylog', name: 'daylog',
flags: [ flags: [
{ name: 'stars', type: 'number', required: true },
{ name: 'text', type: 'string', required: true }, { name: 'text', type: 'string', required: true },
{ name: 'date', type: 'date', required: false } { name: 'date', type: 'date', required: false }
] ]

View File

@@ -3,6 +3,7 @@ import prisma from '@prisma/prisma';
import { ShortcutsResponse } from '@utils/types'; import { ShortcutsResponse } from '@utils/types';
export async function processDayLog( export async function processDayLog(
stars: number,
text: string, text: string,
date?: Date date?: Date
): Promise<ShortcutsResponse> { ): Promise<ShortcutsResponse> {
@@ -11,6 +12,7 @@ export async function processDayLog(
normalizedDate.setUTCHours(0, 0, 0, 0); normalizedDate.setUTCHours(0, 0, 0, 0);
const newComment: Prisma.JsonObject = { const newComment: Prisma.JsonObject = {
stars,
text, text,
timestamp: new Date().toISOString() timestamp: new Date().toISOString()
}; };

View File

@@ -200,6 +200,7 @@ export class ExpenseReporter {
<tr> <tr>
<th>ID</th> <th>ID</th>
<th>Date</th> <th>Date</th>
<th>Stars</th>
<th>Log</th> <th>Log</th>
</tr> </tr>
${dayLogs.dayLogs ${dayLogs.dayLogs
@@ -213,6 +214,7 @@ export class ExpenseReporter {
<tr> <tr>
<td>${dl.id}</td> <td>${dl.id}</td>
<td>${formatDate(dl.createdAt)}</td> <td>${formatDate(dl.createdAt)}</td>
<td>${'✪'.repeat(comment.stars)}</td>
<td>${comment.text}</td> <td>${comment.text}</td>
</tr> </tr>
` `