2026-09-05 10:18:09 -07:00
|
|
|
import fs from "node:fs/promises";
|
|
|
|
|
import path from "node:path";
|
|
|
|
|
import { fileURLToPath } from "node:url";
|
|
|
|
|
import { derived, type RuntimeContext } from "@quixos/camino-package-runtime";
|
|
|
|
|
|
|
|
|
|
const dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
|
|
|
const componentSourcePath = path.join(dirname, "project-component.mjs");
|
|
|
|
|
|
|
|
|
|
export const source = async () => await fs.readFile(componentSourcePath, "utf8");
|
|
|
|
|
|
|
|
|
|
export const createComponent = (context: RuntimeContext) => context.objectId;
|
|
|
|
|
|
|
|
|
|
export const props = derived(async (context: RuntimeContext) => {
|
2026-09-05 18:43:41 -07:00
|
|
|
const named = context.interface("port:project-react:named");
|
|
|
|
|
const tasks = context.interface("port:project-react:tasks");
|
2026-09-05 10:18:09 -07:00
|
|
|
return {
|
2026-09-05 18:43:41 -07:00
|
|
|
project_id: named.objectId,
|
2026-09-05 10:18:09 -07:00
|
|
|
component_id: context.objectId,
|
2026-09-05 18:43:41 -07:00
|
|
|
name: await named.live("operation:named:name:get"),
|
|
|
|
|
tasks: await tasks.invoke("operation:project-tasks:tasks:resolve"),
|
2026-09-05 10:18:09 -07:00
|
|
|
};
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
export const stopWatch = () => null;
|