Files
taskpile/frontend/node_modules/next/dist/esm/shared/lib/app-dynamic.js
Alvis f1d51b8cc8 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>
2026-04-08 11:23:06 +00:00

41 lines
1.4 KiB
JavaScript

import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
import React from "react";
import Loadable from "./lazy-dynamic/loadable";
export default function dynamic(dynamicOptions, options) {
var _mergedOptions_loadableGenerated;
let loadableOptions = {
// A loading component is not required, so we default it
loading: (param)=>{
let { error, isLoading, pastDelay } = param;
if (!pastDelay) return null;
if (process.env.NODE_ENV !== "production") {
if (isLoading) {
return null;
}
if (error) {
return /*#__PURE__*/ _jsxs("p", {
children: [
error.message,
/*#__PURE__*/ _jsx("br", {}),
error.stack
]
});
}
}
return null;
}
};
if (typeof dynamicOptions === "function") {
loadableOptions.loader = dynamicOptions;
}
const mergedOptions = {
...loadableOptions,
...options
};
return Loadable({
...mergedOptions,
modules: (_mergedOptions_loadableGenerated = mergedOptions.loadableGenerated) == null ? void 0 : _mergedOptions_loadableGenerated.modules
});
}
//# sourceMappingURL=app-dynamic.js.map