diff --git a/Makefile b/Makefile index d3fa259..6657f87 100644 --- a/Makefile +++ b/Makefile @@ -21,25 +21,3 @@ test: # Docker Shell shell: docker compose run --rm dev-shell - -# Task Tracker Integration -PYTHON=python3 -TASK_CLI=tasks/cli.py - -task-list: - $(PYTHON) $(TASK_CLI) list - -task-add: - $(PYTHON) $(TASK_CLI) add "$(title)" - -task-done: - $(PYTHON) $(TASK_CLI) done $(id) - -task-update: - $(PYTHON) $(TASK_CLI) update $(id) $(status) - -task-delete: - $(PYTHON) $(TASK_CLI) delete $(id) - -task-filter: - $(PYTHON) $(TASK_CLI) list --status $(status) diff --git a/client/src/components/MessageList.vue b/client/src/components/MessageList.vue index 24da011..0ff1e6f 100644 --- a/client/src/components/MessageList.vue +++ b/client/src/components/MessageList.vue @@ -98,39 +98,37 @@ const emit = defineEmits(['view-profile']); msg.status === 'failed' ? 'bg-red-500/5 border border-red-500/20' : 'hover:bg-white/[0.02]' ]" > - +
- {{ msg.username?.substring(0, 2).toUpperCase() }} -
-
- {{ formatTime(msg.timestamp) }} + {{ msg.username?.substring(0, 2).toUpperCase() || '??' }}
-
+
- {{ msg.username }} + {{ msg.username || 'Anonymous' }} + +
{{ formatTime(msg.timestamp) }} - -
@@ -139,7 +137,7 @@ const emit = defineEmits(['view-profile']); {{ msg.content }}
- +
- -
diff --git a/tasks/cli.py b/tasks/cli.py deleted file mode 100644 index 2af4802..0000000 --- a/tasks/cli.py +++ /dev/null @@ -1,62 +0,0 @@ -import argparse - -from db import add_task, delete_task, init_db, list_tasks, update_task - - -def main(): - init_db() - - parser = argparse.ArgumentParser(description="Plexus Task Tracker") - subparsers = parser.add_subparsers(dest="command") - - # Add task - add_parser = subparsers.add_parser("add", help="Add a new task") - add_parser.add_argument("title", help="Task title") - - # List tasks - list_parser = subparsers.add_parser("list", help="List tasks") - list_parser.add_argument("--status", help="Filter by status") - - # Update task - update_parser = subparsers.add_parser("update", help="Update task status") - update_parser.add_argument("id", type=int, help="Task ID") - update_parser.add_argument("status", help="New status") - - # Done task - done_parser = subparsers.add_parser("done", help="Mark task as done") - done_parser.add_argument("id", type=int, help="Task ID") - - # Delete task - delete_parser = subparsers.add_parser("delete", help="Delete a task") - delete_parser.add_argument("id", type=int, help="Task ID") - - args = parser.parse_args() - - if args.command == "add": - add_task(args.title) - print(f"Task added: {args.title}") - - elif args.command == "list": - tasks = list_tasks(args.status) - print(f"{'ID':<5} {'Status':<15} {'Title'}") - print("-" * 40) - for t in tasks: - print(f"{t[0]:<5} {t[2]:<15} {t[1]}") - - elif args.command == "update": - update_task(args.id, args.status) - print(f"Task {args.id} updated to {args.status}") - - elif args.command == "done": - update_task(args.id, "done") - print(f"Task {args.id} marked as done") - - elif args.command == "delete": - delete_task(args.id) - print(f"Task {args.id} deleted") - - else: - parser.print_help() - -if __name__ == "__main__": - main() diff --git a/tasks/db.py b/tasks/db.py deleted file mode 100644 index 1501df9..0000000 --- a/tasks/db.py +++ /dev/null @@ -1,46 +0,0 @@ - -import duckdb - -DB_PATH = "tasks/tasks.duckdb" - -def init_db(): - - con = duckdb.connect(DB_PATH) - con.execute(""" - CREATE TABLE IF NOT EXISTS tasks ( - id INTEGER PRIMARY KEY, - title VARCHAR, - status VARCHAR DEFAULT 'todo', - created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP - ) - """) - con.execute("CREATE SEQUENCE IF NOT EXISTS seq_task_id START 1") - con.close() - -def get_connection(): - return duckdb.connect(DB_PATH) - -def add_task(title): - con = get_connection() - con.execute("INSERT INTO tasks (id, title) VALUES (nextval('seq_task_id'), ?)", [title]) - con.close() - -def list_tasks(status=None): - con = get_connection() - if status: - res = con.execute("SELECT * FROM tasks WHERE status = ? ORDER BY id", [status]).fetchall() - else: - res = con.execute("SELECT * FROM tasks ORDER BY id").fetchall() - con.close() - return res - -def update_task(task_id, status): - con = get_connection() - con.execute("UPDATE tasks SET status = ?, updated_at = CURRENT_TIMESTAMP WHERE id = ?", [status, task_id]) - con.close() - -def delete_task(task_id): - con = get_connection() - con.execute("DELETE FROM tasks WHERE id = ?", [task_id]) - con.close() diff --git a/tasks/tasks.duckdb b/tasks/tasks.duckdb deleted file mode 100644 index 5d1bf0f..0000000 Binary files a/tasks/tasks.duckdb and /dev/null differ