Skip to content
This repository was archived by the owner on Jul 6, 2025. It is now read-only.

Commit d0c190a

Browse files
committed
Update react-app example
1 parent 085b9b7 commit d0c190a

File tree

2 files changed

+18
-17
lines changed

2 files changed

+18
-17
lines changed

examples/react-app/routes/index.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,11 @@ export default function Index() {
44
return (
55
<div className="page y-center">
66
<Head>
7-
<title>About Aleph.js</title>
7+
<title>Aleph.js</title>
8+
<meta name="description" content="The Fullstack Framework in Deno." />
89
</Head>
910
<p className="logo">
10-
<img src="/assets/logo.svg" height="75" title="Aleph.js" />
11+
<img src="/assets/logo.svg" width="75" height="75" title="Aleph.js" />
1112
</p>
1213
<h1>
1314
The Fullstack Framework in Deno.

examples/react-app/routes/todos.tsx

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -10,43 +10,43 @@ type DataProps = {
1010
todos: TodoItem[];
1111
};
1212

13-
const storage: DataProps = {
14-
todos: JSON.parse(window.localStorage?.getItem("todos") || "[]"),
15-
};
16-
17-
export const data: Data<DataProps> = {
13+
export const data: Data<DataProps, DataProps> = {
14+
cacheTtl: 0,
15+
any: (_req, ctx) => {
16+
ctx.todos = JSON.parse(window.localStorage?.getItem("todos") || "[]");
17+
},
1818
get: (_req, ctx) => {
19-
return ctx.json(storage);
19+
return ctx.json({ todos: ctx.todos });
2020
},
2121
put: async (req, ctx) => {
2222
const { message } = await req.json();
2323
if (typeof message === "string") {
24-
storage.todos.push({ id: Date.now(), message, completed: false });
25-
window.localStorage?.setItem("todos", JSON.stringify(storage.todos));
24+
ctx.todos.push({ id: Date.now(), message, completed: false });
25+
window.localStorage?.setItem("todos", JSON.stringify(ctx.todos));
2626
}
27-
return ctx.json(storage);
27+
return ctx.json({ todos: ctx.todos });
2828
},
2929
patch: async (req, ctx) => {
3030
const { id, message, completed } = await req.json();
31-
const todo = storage.todos.find((todo) => todo.id === id);
31+
const todo = ctx.todos.find((todo) => todo.id === id);
3232
if (todo) {
3333
if (typeof message === "string") {
3434
todo.message = message;
3535
}
3636
if (typeof completed === "boolean") {
3737
todo.completed = completed;
3838
}
39-
window.localStorage?.setItem("todos", JSON.stringify(storage.todos));
39+
window.localStorage?.setItem("todos", JSON.stringify(ctx.todos));
4040
}
41-
return ctx.json(storage);
41+
return ctx.json({ todos: ctx.todos });
4242
},
4343
delete: async (req, ctx) => {
4444
const { id } = await req.json();
4545
if (id) {
46-
storage.todos = storage.todos.filter((todo) => todo.id !== id);
47-
window.localStorage?.setItem("todos", JSON.stringify(storage.todos));
46+
ctx.todos = ctx.todos.filter((todo) => todo.id !== id);
47+
window.localStorage?.setItem("todos", JSON.stringify(ctx.todos));
4848
}
49-
return ctx.json(storage);
49+
return ctx.json({ todos: ctx.todos });
5050
},
5151
};
5252

0 commit comments

Comments
 (0)