Skip to content

Conversation

alltheseas
Copy link
Contributor

@alltheseas alltheseas commented Oct 15, 2025

-read public calendar UI
-month view
-week view
-day view
-UI to navigate
-choose your own time zone
-calendar icon in sidebar

not yet done

-rsvp capability
-display, beautify who is attending via PFP
-beautified event view
-creat event

@alltheseas alltheseas requested review from jb55 and kernelkind October 15, 2025 19:58
@alltheseas alltheseas linked an issue Oct 15, 2025 that may be closed by this pull request
@alltheseas alltheseas self-assigned this Oct 15, 2025
@alltheseas
Copy link
Contributor Author

PFP + name displays now in event view of event creator
image

@alltheseas
Copy link
Contributor Author

image


let mut events = Vec::new();
for result in results {
if let Some(event) = parse_calendar_event(result) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this doesn't need to be rebuilt on an interval. ideally you would fully build it like this when first opened and then insert the items from ndb::poll_for_notes in self.events when they appear

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should be fixed in 7d6d63f

}
}

events.sort_by_key(|ev| (ev.start_naive(), ev.created_at));
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i believe ndb::query already sorts by creation time

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

does the following response pass your laugh test:

I checked the feedback about removing the events.sort_by_key(|ev| (ev.start_naive(), ev.created_at)). ndb::query returns rows ordered by creation time,
but for the UI we need them ordered by the event’s start date first (all views assume that). The current sort key deliberately uses start_naive() so all-
day events and timed events fall into their correct calendar slot, with created_at only acting as a tie-breaker. If we dropped the sort and relied on the
database ordering, the list would be creation-time–sorted and events could show up on the wrong day order in the grids. So we should keep the explicit sort;
it’s serving a different purpose than ndb’s default.

Copy link
Member

@kernelkind kernelkind left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Critical:

  • on android, month view
    has incredibly poor (single digit fps) performance. Also, the UI is broken
    • on desktop it's noticible but definitely not as bad in my experience
    • the other views seem fine performance wise
  • on first open on android nothing loaded. after force closing the app and reopening it, I saw events

Necessary:

  • lib is massive, should be broken up. it's hard to review
  • should include the drag ids of the scroll areas in the AppResponse so dragging the nav drawer will work in all scroll areas

Nit picks (in my opinion):

  • doesn't use translation macros
  • would be cool to use Nav for clicking into events, instead of the buttons at the top
  • many UI elements shift position when dragging the nav drawer
  • the nav drawer icon looks strange, and it's sized differently than the others
Screenshot_20251015-214753 Screenshot_20251015-214832

@alltheseas
Copy link
Contributor Author

alltheseas commented Oct 16, 2025

commit addressing part I of @kernelkind feedback - e619ea1

part II - 6f73a78

part III (updated with CI fix) - 8e4e454

@alltheseas
Copy link
Contributor Author

alltheseas commented Oct 17, 2025

@kernelkind

  • Create calendar event
  • Allow private events creation (@kernelkind suggested gift wrap NIP-59. Gift wrap should be in nostrdb)
  • Create calendar
  • Add WOT filter by default
  • Allow toggle off/on of WOT
  • Shows calendars that are active on your view
  • Filter out calendars by checkbox thing (do any third party nostr apps implement this?)

@alltheseas
Copy link
Contributor Author

alltheseas commented Oct 19, 2025

@kernelkind added create public calendar event in 5a7c23f. You can create either time-based, or day-based events. I confirmed these publish to nostr using lumilumi.app.

image image image image image image image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

calendar app

2 participants