Add side panels, task selection, graph animation, and project docs

- Foldable left panel (user profile) and right panel (task details)
- Clicking a task in the list or graph node selects it and shows details
- Both views (task list + graph) always mounted via absolute inset-0 for
  correct canvas dimensions; tabs toggle visibility with opacity
- Graph node selection animation: other nodes repel outward (charge -600),
  then selected node smoothly slides to center (500ms cubic ease-out),
  then charge restores to -120 and graph stabilizes
- Graph re-fits on tab switch and panel resize via ResizeObserver
- Fix UUID string IDs throughout (backend returns UUIDs, not integers)
- Add TaskDetailPanel, UserPanel components
- Add CLAUDE.md project documentation

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Alvis
2026-04-08 11:23:06 +00:00
parent 5c7edd4bbc
commit f1d51b8cc8
23998 changed files with 3242708 additions and 0 deletions

31
frontend/node_modules/bs-logger/dist/index.js generated vendored Normal file
View File

@@ -0,0 +1,31 @@
"use strict";
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
result["default"] = mod;
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
var logger_1 = require("./logger");
exports.createLogger = logger_1.createLogger;
exports.lastSequenceNumber = logger_1.lastSequenceNumber;
exports.resetSequence = logger_1.resetSequence;
var context_1 = require("./logger/context");
exports.LogContexts = context_1.LogContexts;
var level_1 = require("./logger/level");
exports.LogLevels = level_1.LogLevels;
exports.logLevelNameFor = level_1.logLevelNameFor;
exports.parseLogLevel = level_1.parseLogLevel;
var message_1 = require("./logger/message");
exports.registerLogFormatter = message_1.registerLogFormatter;
exports.resetLogFormatters = message_1.resetLogFormatters;
var root_1 = require("./logger/root");
exports.default = root_1.rootLogger;
exports.logger = root_1.rootLogger;
exports.setup = root_1.setup;
var target_1 = require("./logger/target");
exports.DEFAULT_LOG_TARGET = target_1.DEFAULT_LOG_TARGET;
exports.parseLogTargets = target_1.parseLogTargets;
var testing = __importStar(require("./testing"));
exports.testing = testing;