좋아요 {likeUsers.length}
diff --git a/src/components/posts/PostForm.jsx b/src/components/posts/PostForm.jsx
index 36a2513..b879aed 100644
--- a/src/components/posts/PostForm.jsx
+++ b/src/components/posts/PostForm.jsx
@@ -1,7 +1,29 @@
/** @jsx createVNode */
import { createVNode } from "../../lib";
+import { globalStore } from "../../stores";
export const PostForm = () => {
+ const handleSubmit = () => {
+ const $textarea = document.querySelector("#post-content");
+ const value = $textarea.value;
+
+ globalStore.setState((prev) => {
+ const { username } = prev.currentUser;
+ const postIds = prev.posts.map((post) => post.id);
+ const id = Math.max(...postIds) + 1;
+
+ const newPost = {
+ id,
+ author: username,
+ time: Date.now(),
+ content: value,
+ likeUsers: [],
+ };
+
+ return { ...prev, posts: [...prev.posts, newPost] };
+ });
+ };
+
return (
diff --git a/src/pages/LoginPage.jsx b/src/pages/LoginPage.jsx
index 5b25352..34c13e9 100644
--- a/src/pages/LoginPage.jsx
+++ b/src/pages/LoginPage.jsx
@@ -2,6 +2,7 @@
import { createVNode } from "../lib";
import { globalStore } from "../stores";
import { userStorage } from "../storages";
+import { router } from "../router";
function login(username) {
const user = { username, email: "", bio: "" };
@@ -10,6 +11,7 @@ function login(username) {
loggedIn: true,
});
userStorage.set(user);
+ router.get().push("/");
}
export const LoginPage = () => {
diff --git a/src/render.jsx b/src/render.jsx
index 5b67aea..0cf485e 100644
--- a/src/render.jsx
+++ b/src/render.jsx
@@ -12,6 +12,8 @@ export function render() {
try {
renderElement(
, $root);
} catch (error) {
+ console.log(error);
+
if (error instanceof ForbiddenError) {
router.get().push("/");
return;