66
77import { BaseDAOService } from './base-dao.service' ;
88import { SlackCommandContext , SlackActionContext } from '../../interfaces/slack-context.interface' ;
9- import { getDaoWithEmoji } from '@notification-system/messages' ;
9+ import { getDaoWithEmoji , slackMessages , replacePlaceholders } from '@notification-system/messages' ;
1010
1111export 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' ,
0 commit comments