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()}
}