@@ -15,8 +15,16 @@ type MsgShared struct {
1515 viewHeader types.ViewHeader
1616 viewBeginning types.ViewBeginning
1717 viewEnd types.ViewEnd
18+ viewType viewType
1819}
1920
21+ type viewType int
22+
23+ const (
24+ MsgAlert viewType = iota
25+ MsgTable
26+ )
27+
2028func NewTableMsg (
2129 viewID types.ViewID ,
2230 viewHeader types.ViewHeader ,
@@ -28,14 +36,16 @@ func NewTableMsg(
2836 viewHeader : viewHeader ,
2937 viewBeginning : viewBeginning ,
3038 viewEnd : viewEnd ,
39+ viewType : MsgTable ,
3140 }
3241}
3342
3443func NewAlertMsg (
3544 viewID types.ViewID ,
3645) * MsgShared {
3746 return & MsgShared {
38- viewID : viewID ,
47+ viewID : viewID ,
48+ viewType : MsgAlert ,
3949 }
4050}
4151
@@ -78,7 +88,7 @@ func (m *Msg) HasRecords() bool { return len(m.records) > 0 }
7888
7989func (m * Msg ) SetMessageID (messagID types.DiscordMessageID ) { m .messageID = messagID }
8090
81- func (m * Msg ) AppendRecord (record * types.ViewRecord ) { m .records = append (m .records , record ) }
91+ func (m * Msg ) AppendRecordToMsg (record * types.ViewRecord ) { m .records = append (m .records , record ) }
8292
8393func (m * Msg ) Len () int {
8494 size := m .LenShared ()
@@ -90,13 +100,22 @@ func (m *Msg) Len() int {
90100
91101func (v * Msg ) Render () string {
92102 var content strings.Builder
93- content .WriteString (string (v .viewEnumeratedID ) + string (v .GetTimestamp ()) + "\n " )
94- content .WriteString (string (v .viewHeader ))
95- content .WriteString (string (v .viewBeginning ))
96- for _ , record := range v .records {
97- content .WriteString (string (* record ))
103+
104+ if v .viewType == MsgTable {
105+ content .WriteString (string (v .viewEnumeratedID ) + string (v .GetTimestamp ()) + "\n " )
106+ content .WriteString (string (v .viewHeader ))
107+ content .WriteString (string (v .viewBeginning ))
108+ for _ , record := range v .records {
109+ content .WriteString (string (* record ))
110+ }
111+ content .WriteString (string (v .viewEnd ))
112+ } else {
113+ // Mobile friendly way to render alert
114+ for _ , record := range v .records {
115+ content .WriteString (string (* record ))
116+ }
117+ content .WriteString ("\n " + string (v .viewEnumeratedID ) + string (v .GetTimestamp ()))
98118 }
99- content .WriteString (string (v .viewEnd ))
100119 return content .String ()
101120}
102121
0 commit comments