Files
personalsite/lib/activity.ts
2026-04-03 16:20:51 +03:00

31 lines
863 B
TypeScript

import fs from 'fs';
import path from 'path';
export interface ActivityEntry {
id: string;
timestamp: string;
type: 'post' | 'notebook' | 'infosec' | 'project' | 'link' | 'update' | 'system';
message: string;
link?: string;
}
const activityFile = path.join(process.cwd(), 'content', 'activity.json');
export function getActivity(): ActivityEntry[] {
if (!fs.existsSync(activityFile)) return [];
const raw = fs.readFileSync(activityFile, 'utf-8');
return JSON.parse(raw);
}
export function addActivity(entry: Omit<ActivityEntry, 'id' | 'timestamp'>) {
const entries = getActivity();
const newEntry: ActivityEntry = {
id: Date.now().toString(),
timestamp: new Date().toISOString(),
...entry,
};
entries.unshift(newEntry);
fs.writeFileSync(activityFile, JSON.stringify(entries.slice(0, 500), null, 2));
return newEntry;
}