@@ -3,6 +3,7 @@ package ru.johnspade.taskobot
3
3
import zio .*
4
4
5
5
import cats .syntax .option .*
6
+ import telegramium .bots .InlineKeyboardButton
6
7
import telegramium .bots .InlineKeyboardMarkup
7
8
import telegramium .bots .KeyboardButton
8
9
import telegramium .bots .ReplyKeyboardMarkup
@@ -11,8 +12,8 @@ import telegramium.bots.high.keyboards.InlineKeyboardButtons
11
12
import telegramium .bots .high .keyboards .InlineKeyboardMarkups
12
13
import telegramium .bots .high .keyboards .KeyboardButtons
13
14
14
- import ru .johnspade .taskobot .core .TelegramOps .inlineKeyboardButton
15
15
import ru .johnspade .taskobot .core .*
16
+ import ru .johnspade .taskobot .core .TelegramOps .inlineKeyboardButton
16
17
import ru .johnspade .taskobot .messages .Language
17
18
import ru .johnspade .taskobot .messages .MessageService
18
19
import ru .johnspade .taskobot .messages .MsgId
@@ -38,7 +39,9 @@ trait KeyboardService:
38
39
39
40
def standardReminders (taskId : Long , pageNumber : Int , language : Language ): InlineKeyboardMarkup
40
41
41
- final class KeyboardServiceLive (msgService : MessageService ) extends KeyboardService :
42
+ def taskobotUrlButton : InlineKeyboardButton
43
+
44
+ final class KeyboardServiceLive (msgService : MessageService , botConfig : BotConfig ) extends KeyboardService :
42
45
def chats (page : Page [User ], `for` : User ): InlineKeyboardMarkup = {
43
46
lazy val prevButton = inlineKeyboardButton(msgService.previousPage(`for`.language), Chats (page.number - 1 ))
44
47
lazy val nextButton = inlineKeyboardButton(msgService.nextPage(`for`.language), Chats (page.number + 1 ))
@@ -53,7 +56,7 @@ final class KeyboardServiceLive(msgService: MessageService) extends KeyboardServ
53
56
List (
54
57
InlineKeyboardButtons .url(
55
58
msgService.getMessage(`buy-coffee`, `for`.language) + " ☕" ,
56
- " https://buymeacoff.ee/johnspade "
59
+ DonateUrl
57
60
)
58
61
)
59
62
)
@@ -105,7 +108,7 @@ final class KeyboardServiceLive(msgService: MessageService) extends KeyboardServ
105
108
KeyboardButtons .text(" ⚙️ " + msgService.getMessage(`settings`, language)),
106
109
KeyboardButton (
107
110
text = " 🌍 " + msgService.getMessage(`timezone`, language),
108
- webApp = Some (WebAppInfo (" https://timezones.johnspade.ru " ))
111
+ webApp = Some (WebAppInfo (TimezonesAppUrl ))
109
112
)
110
113
)
111
114
),
@@ -154,8 +157,11 @@ final class KeyboardServiceLive(msgService: MessageService) extends KeyboardServ
154
157
inlineKeyboardButton(msgService.remindersDaysBefore(3 , language), CreateReminder (taskId, 60 * 24 * 3 )),
155
158
inlineKeyboardButton(" 🔙" , Reminders (taskId, pageNumber))
156
159
)
160
+
161
+ override val taskobotUrlButton : InlineKeyboardButton =
162
+ InlineKeyboardButtons .url(" \uD83D\uDE80 Taskobot" , s " https://t.me/ ${botConfig.username}" )
157
163
end KeyboardServiceLive
158
164
159
165
object KeyboardServiceLive :
160
- val layer : URLayer [MessageService , KeyboardService ] =
161
- ZLayer ( ZIO .service[ MessageService ].map (new KeyboardServiceLive (_) ))
166
+ val layer : URLayer [MessageService & BotConfig , KeyboardService ] =
167
+ ZLayer .fromFunction (new KeyboardServiceLive (_, _ ))
0 commit comments