diff --git a/apps/events/src/components/create-properties-and-types.tsx b/apps/events/src/components/create-properties-and-types.tsx index efcbe7bc..e697c6bb 100644 --- a/apps/events/src/components/create-properties-and-types.tsx +++ b/apps/events/src/components/create-properties-and-types.tsx @@ -28,9 +28,40 @@ const createPropertiesAndTypes = async ({ }); ops.push(...createAssigneesRelationTypeOps); + const { id: duePropertyId, ops: createDuePropertyOps } = Graph.createProperty({ + type: 'TIME', + name: 'Due', + }); + ops.push(...createDuePropertyOps); + + const { id: pointPropertyId, ops: createPointPropertyOps } = Graph.createProperty({ + type: 'POINT', + name: 'Point', + }); + ops.push(...createPointPropertyOps); + + const { id: amountPropertyId, ops: createAmountPropertyOps } = Graph.createProperty({ + type: 'NUMBER', + name: 'Amount', + }); + ops.push(...createAmountPropertyOps); + + const { id: websitePropertyId, ops: createWebsitePropertyOps } = Graph.createProperty({ + type: 'URL', + name: 'Website', + }); + ops.push(...createWebsitePropertyOps); + const { id: todoTypeId, ops: createTodoTypeOps } = Graph.createType({ name: 'Todo', - properties: [checkedPropertyId, assigneesRelationTypeId], + properties: [ + checkedPropertyId, + assigneesRelationTypeId, + duePropertyId, + pointPropertyId, + websitePropertyId, + amountPropertyId, + ], }); ops.push(...createTodoTypeOps); @@ -40,7 +71,17 @@ const createPropertiesAndTypes = async ({ space, name: 'Create properties and types', }); - return { result, todoTypeId, checkedPropertyId, userId, assigneesRelationTypeId }; + return { + result, + todoTypeId, + checkedPropertyId, + userId, + assigneesRelationTypeId, + duePropertyId, + pointPropertyId, + websitePropertyId, + amountPropertyId, + }; }; export const CreatePropertiesAndTypes = () => { @@ -62,7 +103,16 @@ export const CreatePropertiesAndTypes = () => { if (!smartAccountWalletClient) { throw new Error('Missing smartAccountWalletClient'); } - const { todoTypeId, checkedPropertyId, userId, assigneesRelationTypeId } = await createPropertiesAndTypes({ + const { + todoTypeId, + checkedPropertyId, + userId, + assigneesRelationTypeId, + duePropertyId, + pointPropertyId, + websitePropertyId, + amountPropertyId, + } = await createPropertiesAndTypes({ smartAccountWalletClient, space, }); @@ -72,6 +122,10 @@ export const CreatePropertiesAndTypes = () => { properties: { name: Id.Id('LuBWqZAu6pz54eiJS5mLv8'), checked: Id.Id('${checkedPropertyId}'), + due: Id.Id('${duePropertyId}'), + point: Id.Id('${pointPropertyId}'), + website: Id.Id('${websitePropertyId}'), + amount: Id.Id('${amountPropertyId}'), }, relations: { assignees: Id.Id('${assigneesRelationTypeId}'), diff --git a/apps/events/src/components/todo/todos-local.tsx b/apps/events/src/components/todo/todos-local.tsx index e6d926bf..c640663e 100644 --- a/apps/events/src/components/todo/todos-local.tsx +++ b/apps/events/src/components/todo/todos-local.tsx @@ -14,6 +14,10 @@ export const TodosLocal = () => {

{todo.name}

{todo.id}
+
{todo.due.toLocaleDateString()}
+
{todo.amount}
+ {todo.point &&
{todo.point.join(', ')}
} + {todo.website &&
{todo.website.toString()}
} {todo.assignees.map((assignee) => ( {assignee.name} diff --git a/apps/events/src/components/todo/todos-public-geo.tsx b/apps/events/src/components/todo/todos-public-geo.tsx index 3922a7fc..91dbd846 100644 --- a/apps/events/src/components/todo/todos-public-geo.tsx +++ b/apps/events/src/components/todo/todos-public-geo.tsx @@ -37,6 +37,10 @@ export const TodosPublicGeo = () => {

{todo.name}

{todo.id}
+
{todo.due.toLocaleDateString()}
+
{todo.amount}
+ {todo.point &&
{todo.point.join(', ')}
} + {todo.website &&
{todo.website.toString()}
} {todo.assignees.map((assignee) => ( @@ -71,7 +75,15 @@ export const TodosPublicGeo = () => { throw new Error('Missing smartAccountWalletClient'); } const userId = Id.Id('8zPJjTGLBDPtUcj6q2tghg'); - const todo = createTodo({ name: 'New Todo 22', checked: false, assignees: [userId] }); + const todo = createTodo({ + name: 'New Todo 22', + checked: false, + assignees: [userId], + due: new Date('2025-08-20'), + amount: 200, + point: [12.34, 56.78], + website: new URL('https://example.com'), + }); console.log('todo', todo); const { ops } = generateCreateOps(todo); console.log('ops', ops); diff --git a/apps/events/src/components/todo/todos-public-kg.tsx b/apps/events/src/components/todo/todos-public-kg.tsx index 2f37e67f..bd926ef0 100644 --- a/apps/events/src/components/todo/todos-public-kg.tsx +++ b/apps/events/src/components/todo/todos-public-kg.tsx @@ -24,6 +24,10 @@ export const TodosPublicKg = () => {

{todo.name}

{todo.id}
+
{todo.due.toLocaleDateString()}
+
{todo.amount}
+ {todo.point &&
{todo.point.join(', ')}
} + {todo.website &&
{todo.website.toString()}
}