From 71c20233ff79e696d0eeca2ce1462d3083fbcfed Mon Sep 17 00:00:00 2001 From: polwex Date: Sun, 15 Jun 2025 04:59:49 +0700 Subject: and were done, just like that --- bs5/server/pages/NoteItem.re | 66 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 bs5/server/pages/NoteItem.re (limited to 'bs5/server/pages/NoteItem.re') diff --git a/bs5/server/pages/NoteItem.re b/bs5/server/pages/NoteItem.re new file mode 100644 index 0000000..f241cc1 --- /dev/null +++ b/bs5/server/pages/NoteItem.re @@ -0,0 +1,66 @@ +open Rsc; +open Lwt.Syntax; + +module NoteView = { + [@react.component] + let make = (~note: Note.t) => { +
+
+
+

+ {React.string(note.title)} +

+ + {"Last updated on " ++ Date.format_date(note.updated_at)} + +
+ + +
+ +
; + }; +}; + +[@react.async.component] +let make = (~selectedId: option(int), ~isEditing: bool) => { + switch (selectedId) { + | None when isEditing => + Lwt.return( + , + ) + | None => + Lwt.return( +
+ "🥺" + "Click a note on the left to view something!" +
, + ) + | Some(id) => + let+ note: result(Note.t, string) = DB.fetch_note(id); + + switch (note) { + | Ok(note) when !isEditing => + | Ok(note) => + + | Error(error) => +
+
+ "❌" + "There's an error while loading a single note" + error +
+
+ }; + }; +}; -- cgit v1.2.3