diff --git a/beeper.go b/beeper.go index 483aa8f..3ba4656 100644 --- a/beeper.go +++ b/beeper.go @@ -113,7 +113,11 @@ func NewConsumer(jsAddr string, ns *NotificationSystem) *Consumer { func (c *Consumer) Consume(ctx context.Context) error { scheduler := sequential.NewScheduler("jetstream_localdev", slog.Default(), c.handler.HandleEvent) defer scheduler.Shutdown() - client, err := client.NewClient(c.cfg, slog.Default(), scheduler) + opts := slog.HandlerOptions{ + Level: slog.LevelError, + } + handler := slog.NewJSONHandler(os.Stdout, &opts) + client, err := client.NewClient(c.cfg, slog.New(handler), scheduler) if err != nil { return errors.New("failed to create client: " + err.Error()) } @@ -173,6 +177,8 @@ func (ns *NotificationSystem) Notify(text string, handle syntax.Handle) { type model struct { records []*record + width int + height int } type record struct { @@ -205,6 +211,9 @@ func (m model) Update(msg tea.Msg) (tea.Model, tea.Cmd) { return m, tea.Quit } + case tea.WindowSizeMsg: + m.width = msg.Width + m.height = msg.Height case ChatMsg: record := record{ text: msg.text, @@ -216,7 +225,7 @@ func (m model) Update(msg tea.Msg) (tea.Model, tea.Cmd) { } func (m model) View() string { - s := "\n" + s := "" for _, record := range m.records { str := "invalid handle" if record.handle != nil { @@ -227,7 +236,8 @@ func (m model) View() string { if record.text != nil { bdy = fmt.Sprintf("%s", *record.text) } - s = s + bold.Render(str) + bdy + "\n" + style := lipgloss.NewStyle().Width(m.width) + s = s + "\n" + bold.Render(str) + "\n" + style.Render(bdy) + "\n" } return s } diff --git a/thread_notification.qt b/thread_notification.qt deleted file mode 100644 index 4d9ec39a52c8e14708248bb1643e0bc4caba6625..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2595 zcmZQzU=T?wsVpcgQBYuDU|@jI%zC-``DF|Y3^}=F87Uy~C-UOPAk4t9#)W}Fsf>Y< z0fazO5X=an;3OK~0WN`+!NkD8w5y~jF`I#bA*Li7Y$rd+J`iSrTcreY6Wjo>6<`7` z1Xl?YL9;huR}|&vfSe1GWBmUg6jQ}X=>;HFP#KUS zZm1_Dic7$;36h42gB>kXTvD725`?OQ%7Nq8p}3^D3MvPpKxTn7-C6H2DY2I zDTyTv7aZ6b9?U&rFP^2uo@FUnxJc1q{^o~X#;^ast+Dy|bh*v@&2QPfo?4Kq9ICIK)aJAFs@gSgQKRXh z95dNJAK9xpKkou(y_o;!EdsyqzYnTEbpEe?OWndh-IwzG52lIzzLqpEa?`v8OLBg% zTsPlL;^D4YFF%(jx0dWqjx}v&W@eeHW%c#JggFgNehlw!tevn#QH7&J(Ei`HY`fL{ z>03{J)miD&G@;+&>B*v10gMkBJ_>%)KNw^mwV%aYf6eWUofcsR+e{)?o4QVGlhw7( zId2#%Z7}26nJDk>%_0vuv{Q7hymR?>bKR@ex3X?^RG5_OJX$ep$);JW1U=SH%5pl@ zGhvpnyFktTSqsbhw(JNv^ptPQhlLYw+)lh2S#c&|>JkQ?4K6kYN!2T!n0`NU?InB5 z4I8`f=PW%hhyP!e{eHWy{OQZ;XO2ZJD=!c7&guQy@H=gJ<=c$LCX;-*y;16WZ#7G} zFFNsKiQlvO>puMAYis6(xob)*Y?fv(nZ>0<$VF`}%rpO3Jo8w|TZX^W1dH zYiegx=gpm$bt0f=Ro1E9s?teEuFs3q?AvsbOF&gpVv<6VM`Ndkv^iV46!S)%^?Qqc z-pO1x`E}j>(0w0%=M}zmvfjVwer*8%^H~gx4%(_r1*(j~?9dCs{lZa|xbPWGP z_q&IiQvY3e#8Yx6+rzB)*!T4|VU|m#{$yZoU=)&AQ*y;X!HY$Cfs6n4H{V`&)~{Rl zE8XZA&zathyJA)xmXN=exh65vUN&QQ%g)N8t*0(co8sv*b1(E^=hMRmgSB5{o-lKG%`&3TAtlv+4wd=Dt+ArC1yt8zP z$iegsqt@q4%FAxv`n1z5!<^l^-~5_LY0y%GdAgPdeQh)yGaZGl6zi~LBx~6Ek)V3CSr%GlNXs z0))NFOO7s<@Rc~!zW?YX=Boh>e%4VNci#G>Ixm3f#uAl>bG9wDD>;3qK6C5eCPv<^ zdoJz0QDUxV`OEBQ+Wa5i7tRX`J`uKj@1?jS%~=;qsgFZZcM^SB$&ZJsmD?QH7i$ee3YU*2;!A3C|@w9l5aYEh}noKS#E zOUo9aDJug_&as>=@eA@hGVA%JAipr>13B)8n?t;qPWS*S1q2+ORjk0{{GnOGs}HtB~PA?;Q84VW-+H|Pr?e> zp9M!{-fP|1Shcap@)++f1_ld;KN4%UT(J;vYZ7E=QBhHt`15=1<1>4`n~fX}eYlgB z@?3;dgC)pcO-XH1?4;1?s}}5?yD~e-@WQs0(xz!wr6--r3)vJFbyerIKeY~?uuyskv1Qmx_{o0+)4^A&ya9w4lkECtLowUuj{d5ldJbMva zd9&;AnX8+R$z}D`L}qN=vRu=Xv3B)d?L)^-U2b5IVPue4>l0AW)4?RD;BiRdb(j}l zK-h6ppBuWL^LV(P#Mex1Z)m=|p`hY^1PEIZc#)>6>IWJvpWqN$nbIv&8y#A@(&Yf-0ftW!%}Wv#T3K8L zwL~|Yow^a07H