+7
-1
internal/server/views/views.go
+7
-1
internal/server/views/views.go
···
+376
api/yoten/cbor_gen.go
+376
api/yoten/cbor_gen.go
···+if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("app.yoten.feed.comment"))); err != nil {
+35
api/yoten/feedcomment.go
+35
api/yoten/feedcomment.go
···+LexiconTypeID string `json:"$type,const=app.yoten.feed.comment" cborgen:"$type,const=app.yoten.feed.comment"`
+2
cmd/gen.go
+2
cmd/gen.go
+1
internal/server/views/new-study-session.templ
+1
internal/server/views/new-study-session.templ
+50
lexicons/feed/comment.json
+50
lexicons/feed/comment.json
···
+4
internal/clients/posthog/posthog.go
+4
internal/clients/posthog/posthog.go
···
+3
-1
internal/server/app.go
+3
-1
internal/server/app.go
···
+1
-1
internal/server/views/partials/activity.templ
+1
-1
internal/server/views/partials/activity.templ
···
+1
-1
internal/server/views/partials/resource.templ
+1
-1
internal/server/views/partials/resource.templ
···
+3
-3
internal/server/oauth/handler/handler.go
+3
-3
internal/server/oauth/handler/handler.go
···
+2
internal/server/handlers/router.go
+2
internal/server/handlers/router.go
···
+128
internal/db/comment.go
+128
internal/db/comment.go
·········+func GetCommentsForSession(e Execer, studySessionUri string, limit, offset int) ([]CommentWithLocalProfile, error) {+where c.study_session_uri = ? and c.parent_comment_uri in (` + GetPlaceholders(len(topLevelCommentUris)) + `);+return CommentWithLocalProfile{}, fmt.Errorf("failed to parse created at string '%s': %w", createdAtStr, err)
+10
internal/db/utils.go
+10
internal/db/utils.go
······
+31
internal/server/views/partials/comment-feed.templ
+31
internal/server/views/partials/comment-feed.templ
···
+36
-35
internal/server/views/partials/comment.templ
+36
-35
internal/server/views/partials/comment.templ
···+<div class="absolute flex flex-col right-0 mt-2 p-1 gap-1 rounded w-32 bg-bg-light border border-bg-dark">+<i class="w-4 h-4 animate-spin hidden group-[.htmx-request]:inline" data-lucide="loader-circle"></i>+<i class="w-4 h-4 animate-spin hidden group-[.htmx-request]:inline" data-lucide="loader-circle"></i>-<div class="absolute flex flex-col right-0 mt-2 p-1 gap-1 rounded w-32 bg-bg-light border border-bg-dark">-<i class="w-4 h-4 animate-spin hidden group-[.htmx-request]:inline" data-lucide="loader-circle"></i>-class="text-base text-red-600 cursor-pointer flex items-center px-4 py-2 text-sm hover:bg-bg gap-2 group"-<i class="w-4 h-4 animate-spin hidden group-[.htmx-request]:inline" data-lucide="loader-circle"></i>
+1
-1
internal/server/views/partials/reactions.templ
+1
-1
internal/server/views/partials/reactions.templ
···<button @click="open = !open" id="reaction-button" type="button" class="btn rounded-full hover:bg-bg py-1 px-2">
+1
-1
internal/server/views/partials/study-session.templ
+1
-1
internal/server/views/partials/study-session.templ
+3
-1
internal/server/views/study-session.templ
+3
-1
internal/server/views/study-session.templ
···
+11
-1
internal/consumer/ingester.go
+11
-1
internal/consumer/ingester.go
······+err = db.CreateNotification(tx, subjectDid.String(), did, subjectUri.String(), db.NotificationTypeComment)
+7
internal/db/notification.go
+7
internal/db/notification.go
·········
+1
-1
internal/server/handlers/comment.go
+1
-1
internal/server/handlers/comment.go
···
+2
-2
internal/server/views/friends.templ
+2
-2
internal/server/views/friends.templ
···
+17
-2
internal/server/views/partials/notification.templ
+17
-2
internal/server/views/partials/notification.templ
······+<a class="hover:underline" href={ templ.SafeURL("/" + params.Notification.SubjectDid + "/session/" + params.Notification.SubjectRkey) }>+<a class="hover:underline" href={ templ.SafeURL("/" + params.Notification.SubjectDid + "/session/" + params.Notification.SubjectRkey) }>