Skip to content

Commit f37ed62

Browse files
refactor: slack-dao.service.ts to use message package
1 parent f034e38 commit f37ed62

2 files changed

Lines changed: 30 additions & 23 deletions

File tree

apps/consumers/src/services/dao/slack-dao.service.ts

Lines changed: 23 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
import { BaseDAOService } from './base-dao.service';
88
import { SlackCommandContext, SlackActionContext } from '../../interfaces/slack-context.interface';
9-
import { getDaoWithEmoji } from '@notification-system/messages';
9+
import { getDaoWithEmoji, slackMessages, replacePlaceholders } from '@notification-system/messages';
1010

1111
export class SlackDAOService extends BaseDAOService {
1212

@@ -32,7 +32,7 @@ export class SlackDAOService extends BaseDAOService {
3232
if (daos.length === 0) {
3333
if (context.respond) {
3434
await context.respond({
35-
text: 'No DAOs available at the moment. Please try again later.',
35+
text: slackMessages.dao.noDaosAvailable,
3636
response_type: 'ephemeral'
3737
});
3838
}
@@ -58,8 +58,8 @@ export class SlackDAOService extends BaseDAOService {
5858
if (context.respond) {
5959
await context.respond({
6060
text: action === 'subscribe'
61-
? 'Select the DAOs you want to track:'
62-
: 'Select the DAOs you want to unsubscribe from:',
61+
? slackMessages.dao.subscribeInstructions
62+
: slackMessages.dao.unsubscribeInstructions,
6363
blocks,
6464
response_type: 'ephemeral'
6565
});
@@ -68,7 +68,7 @@ export class SlackDAOService extends BaseDAOService {
6868
console.error('Error loading DAOs:', error);
6969
if (context.respond) {
7070
await context.respond({
71-
text: 'Sorry, there was an error loading the DAOs. Please try again later.',
71+
text: slackMessages.dao.loadError,
7272
response_type: 'ephemeral'
7373
});
7474
}
@@ -91,7 +91,7 @@ export class SlackDAOService extends BaseDAOService {
9191
if (userPreferences.length === 0) {
9292
if (context.respond) {
9393
await context.respond({
94-
text: "You're not subscribed to any DAOs yet. Use `/dao-notify subscribe` to get started!",
94+
text: slackMessages.dao.emptyList,
9595
response_type: 'ephemeral'
9696
});
9797
}
@@ -107,15 +107,15 @@ export class SlackDAOService extends BaseDAOService {
107107
type: 'section',
108108
text: {
109109
type: 'mrkdwn',
110-
text: '*Your DAO Subscriptions:*\n' + daoList
110+
text: slackMessages.dao.listHeader + '\n' + daoList
111111
}
112112
},
113113
{
114114
type: 'context',
115115
elements: [
116116
{
117117
type: 'mrkdwn',
118-
text: 'Use `/dao-notify subscribe` to add more or `/dao-notify unsubscribe` to remove'
118+
text: slackMessages.dao.instructions
119119
}
120120
]
121121
}
@@ -127,7 +127,7 @@ export class SlackDAOService extends BaseDAOService {
127127
console.error('Error listing subscriptions:', error);
128128
if (context.respond) {
129129
await context.respond({
130-
text: 'Sorry, there was an error loading your subscriptions. Please try again later.',
130+
text: slackMessages.dao.listError,
131131
response_type: 'ephemeral'
132132
});
133133
}
@@ -164,8 +164,8 @@ export class SlackDAOService extends BaseDAOService {
164164
await context.respond({
165165
replace_original: true,
166166
text: action === 'subscribe'
167-
? 'Select the DAOs you want to track:'
168-
: 'Select the DAOs you want to unsubscribe from:',
167+
? slackMessages.dao.subscribeInstructions
168+
: slackMessages.dao.unsubscribeInstructions,
169169
blocks
170170
});
171171
}
@@ -192,8 +192,8 @@ export class SlackDAOService extends BaseDAOService {
192192
await context.respond({
193193
replace_original: true,
194194
text: action === 'subscribe'
195-
? '⚠️ Please select at least one DAO to subscribe to.'
196-
: '⚠️ Please select at least one DAO to unsubscribe from.',
195+
? slackMessages.dao.subscribeWarning
196+
: slackMessages.dao.unsubscribeWarning,
197197
response_type: 'ephemeral'
198198
});
199199
}
@@ -205,6 +205,9 @@ export class SlackDAOService extends BaseDAOService {
205205

206206
// Show confirmation message
207207
const daoList = this.formatDAOList(selectedDAOs);
208+
const successMessage = action === 'subscribe'
209+
? replacePlaceholders(slackMessages.dao.subscribeSuccess, { daoList })
210+
: replacePlaceholders(slackMessages.dao.unsubscribeSuccess, { daoList });
208211

209212
if (context.respond) {
210213
await context.respond({
@@ -214,17 +217,15 @@ export class SlackDAOService extends BaseDAOService {
214217
type: 'section',
215218
text: {
216219
type: 'mrkdwn',
217-
text: action === 'subscribe'
218-
? `✅ *Success!* You're now tracking: ${daoList}`
219-
: `✅ *Success!* You've unsubscribed from: ${daoList}`
220+
text: successMessage
220221
}
221222
},
222223
{
223224
type: 'context',
224225
elements: [
225226
{
226227
type: 'mrkdwn',
227-
text: 'You can update your subscriptions anytime with `/dao-notify`'
228+
text: slackMessages.dao.updateInstructions
228229
}
229230
]
230231
}
@@ -240,7 +241,7 @@ export class SlackDAOService extends BaseDAOService {
240241
if (context.respond) {
241242
await context.respond({
242243
replace_original: true,
243-
text: '❌ Sorry, there was an error updating your subscriptions. Please try again later.',
244+
text: slackMessages.dao.updateError,
244245
response_type: 'ephemeral'
245246
});
246247
}
@@ -257,8 +258,8 @@ export class SlackDAOService extends BaseDAOService {
257258
text: {
258259
type: 'mrkdwn',
259260
text: action === 'subscribe'
260-
? '*Select the DAOs you want to track:*'
261-
: '*Select the DAOs you want to unsubscribe from:*'
261+
? slackMessages.dao.subscribeHeader
262+
: slackMessages.dao.unsubscribeHeader
262263
}
263264
},
264265
{
@@ -282,7 +283,7 @@ export class SlackDAOService extends BaseDAOService {
282283
type: 'button',
283284
text: {
284285
type: 'plain_text',
285-
text: isSelected ? 'Selected' : 'Select',
286+
text: isSelected ? slackMessages.dao.buttonSelected : slackMessages.dao.buttonSelect,
286287
emoji: true
287288
},
288289
style: isSelected ? 'primary' : undefined,
@@ -304,7 +305,7 @@ export class SlackDAOService extends BaseDAOService {
304305
type: 'button',
305306
text: {
306307
type: 'plain_text',
307-
text: '✅ Confirm Selection',
308+
text: slackMessages.dao.confirmButton,
308309
emoji: true
309310
},
310311
style: 'primary',

packages/messages/src/ui/slack.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,13 @@ export const slackMessages = {
9090
subscribeSuccess: '✅ *Success!* You\'re now tracking: {{daoList}}',
9191
unsubscribeSuccess: '✅ *Success!* You\'ve unsubscribed from: {{daoList}}',
9292
subscribeWarning: '⚠️ Please select at least one DAO to subscribe to.',
93-
unsubscribeWarning: '⚠️ Please select at least one DAO to unsubscribe from.'
93+
unsubscribeWarning: '⚠️ Please select at least one DAO to unsubscribe from.',
94+
noDaosAvailable: 'No DAOs available at the moment. Please try again later.',
95+
loadError: 'Sorry, there was an error loading the DAOs. Please try again later.',
96+
listError: 'Sorry, there was an error loading your subscriptions. Please try again later.',
97+
updateError: '❌ Sorry, there was an error updating your subscriptions. Please try again later.',
98+
buttonSelected: 'Selected',
99+
buttonSelect: 'Select'
94100
},
95101

96102
// Service availability errors

0 commit comments

Comments
 (0)