+3
-2
manifest.dev.yaml
+3
-2
manifest.dev.yaml
···
+3
-2
manifest.prod.yaml
+3
-2
manifest.prod.yaml
+1
-1
package.json
+1
-1
package.json
+1
src/features/api/index.ts
+1
src/features/api/index.ts
···
-9
src/features/example.ts
-9
src/features/example.ts
-1
src/features/index.ts
-1
src/features/index.ts
-1405
src/features/takes.ts
-1405
src/features/takes.ts
···-text: `โ ๏ธ Reminder: Your paused takes session will automatically complete in about ${timeRemaining} minutes if not resumed.`,-text: `โฐ Your paused takes session has been automatically completed because it was paused for more than ${TakesConfig.MAX_PAUSE_DURATION} minutes.\n\nPlease upload your takes video in this thread within the next 24 hours!`,-text: `โฑ๏ธ Your takes session has less than ${TakesConfig.NOTIFICATIONS.LOW_TIME_WARNING} minutes remaining.`,-text: "โฐ Your takes session has automatically completed because the time is up. Please upload your takes video in this thread within the next 24 hours!",-text: `๐ฌ Takes session started! You have ${prettyPrintTime(newTake.durationMinutes * 60000)} until ${generateSlackDate(endTime)}.${descriptionText}`,-text: `You have ${prettyPrintTime(newTake.durationMinutes * 60000)} left until ${generateSlackDate(endTime)}.`,-const pauseExpiresStr = `<!date^${Math.floor(pauseExpires.getTime() / 1000)}^{date_short_pretty} at {time}|${pauseExpires.toLocaleString()}>`;-text: `โธ๏ธ Session paused! You have ${prettyPrintTime(takeToUpdate.durationMinutes * 60000)} remaining. It will automatically finish in ${TakesConfig.MAX_PAUSE_DURATION} minutes (by ${pauseExpiresStr}) if not resumed.`,-text: `โธ๏ธ Session paused! You have ${prettyPrintTime(takeToUpdate.durationMinutes * 60000)} remaining.`,-text: `It will automatically finish in ${TakesConfig.MAX_PAUSE_DURATION} minutes (by ${pauseExpiresStr}) if not resumed.`,-text: `โถ๏ธ Takes session resumed! You have ${prettyPrintTime(timeRemaining)} remaining in your session.`,-text: `You have ${prettyPrintTime(timeRemaining)} remaining until ${generateSlackDate(endTime)}.`,-text: "๐ฌ Your paused takes session has been completed. Please upload your takes video in this thread within the next 24 hours!",-text: "๐ฌ Your takes session has been completed. Please upload your takes video in this thread within the next 24 hours!",-text: `๐ฌ You have an active takes session with ${prettyPrintTime(remainingMs)} remaining.${descriptionText}`,-text: `You have ${prettyPrintTime(remainingMs)} remaining until ${generateSlackDate(endTime)}.`,-const pauseExpiresStr = `<!date^${Math.floor(pauseExpires.getTime() / 1000)}^{date_short_pretty} at {time}|${pauseExpires.toLocaleString()}>`;-text: `โธ๏ธ You have a paused takes session. It will auto-complete in ${remainingPauseTime.toFixed(1)} minutes if not resumed.`,-text: `โธ๏ธ Session paused! You have ${prettyPrintTime(pausedTake.durationMinutes * 60000)} remaining.`,-text: `It will automatically finish in ${TakesConfig.MAX_PAUSE_DURATION} minutes (by ${pauseExpiresStr}) if not resumed.`,-text: `You have no active takes sessions. You've completed ${completedSessions.length} sessions in the last ${takeTime}.`,-text: `You have no active takes sessions. You've completed ${completedSessions.length} sessions in the last ${takeTime}.`,-const startDate = `<!date^${Math.floor(startTime.getTime() / 1000)}^{date_short_pretty} at {time}|${startTime.toLocaleString()}>`;-const endDate = `<!date^${Math.floor(endTime.getTime() / 1000)}^{date_short_pretty} at {time}|${endTime.toLocaleString()}>`;-text: `*Takes Commands*\n\nโข \`/takes start [minutes]\` - Start a new takes session, optionally specifying duration\nโข \`/takes pause\` - Pause your current session (max ${TakesConfig.MAX_PAUSE_DURATION} min)\nโข \`/takes resume\` - Resume your paused session\nโข \`/takes stop [notes]\` - End your current session with optional notes\nโข \`/takes status\` - Check the status of your session\nโข \`/takes history\` - View your past takes sessions`,-text: `โข \`/takes start [minutes]\` - Start a new session (default: ${TakesConfig.DEFAULT_SESSION_LENGTH} min)\nโข \`/takes pause\` - Pause your session (max ${TakesConfig.MAX_PAUSE_DURATION} min)\nโข \`/takes resume\` - Resume your paused session\nโข \`/takes stop [notes]\` - End session with optional notes\nโข \`/takes status\` - Check status\nโข \`/takes history\` - View past sessions`,
+50
src/features/takes/handlers/help.ts
+50
src/features/takes/handlers/help.ts
···+text: `*Takes Commands*\n\nโข \`/takes start [minutes]\` - Start a new takes session, optionally specifying duration\nโข \`/takes pause\` - Pause your current session (max ${TakesConfig.MAX_PAUSE_DURATION} min)\nโข \`/takes resume\` - Resume your paused session\nโข \`/takes stop [notes]\` - End your current session with optional notes\nโข \`/takes status\` - Check the status of your session\nโข \`/takes history\` - View your past takes sessions`,+text: `โข \`/takes start [minutes]\` - Start a new session (default: ${TakesConfig.DEFAULT_SESSION_LENGTH} min)\nโข \`/takes pause\` - Pause your session (max ${TakesConfig.MAX_PAUSE_DURATION} min)\nโข \`/takes resume\` - Resume your paused session\nโข \`/takes stop [notes]\` - End session with optional notes\nโข \`/takes status\` - Check status\nโข \`/takes history\` - View past sessions`,
+114
src/features/takes/handlers/history.ts
+114
src/features/takes/handlers/history.ts
···+const startDate = `<!date^${Math.floor(startTime.getTime() / 1000)}^{date_short_pretty} at {time}|${startTime.toLocaleString()}>`;+const endDate = `<!date^${Math.floor(endTime.getTime() / 1000)}^{date_short_pretty} at {time}|${endTime.toLocaleString()}>`;
+113
src/features/takes/handlers/pause.ts
+113
src/features/takes/handlers/pause.ts
···+const pauseExpiresStr = `<!date^${Math.floor(pauseExpires.getTime() / 1000)}^{date_short_pretty} at {time}|${pauseExpires.toLocaleString()}>`;+text: `โธ๏ธ Session paused! You have ${prettyPrintTime(takeToUpdate.durationMinutes * 60000)} remaining. It will automatically finish in ${TakesConfig.MAX_PAUSE_DURATION} minutes (by ${pauseExpiresStr}) if not resumed.`,+text: `โธ๏ธ Session paused! You have ${prettyPrintTime(takeToUpdate.durationMinutes * 60000)} remaining.`,+text: `It will automatically finish in ${TakesConfig.MAX_PAUSE_DURATION} minutes (by ${pauseExpiresStr}) if not resumed.`,
+123
src/features/takes/handlers/resume.ts
+123
src/features/takes/handlers/resume.ts
···+text: `โถ๏ธ Takes session resumed! You have ${prettyPrintTime(timeRemaining)} remaining in your session.`,+text: `You have ${prettyPrintTime(timeRemaining)} remaining until ${generateSlackDate(endTime)}.`,
+116
src/features/takes/handlers/start.ts
+116
src/features/takes/handlers/start.ts
···+text: `๐ฌ Takes session started! You have ${prettyPrintTime(newTake.durationMinutes * 60000)} until ${generateSlackDate(endTime)}.${descriptionText}`,+text: `You have ${prettyPrintTime(newTake.durationMinutes * 60000)} left until ${generateSlackDate(endTime)}.`,
+270
src/features/takes/handlers/status.ts
+270
src/features/takes/handlers/status.ts
···+text: `๐ฌ You have an active takes session with ${prettyPrintTime(remainingMs)} remaining.${descriptionText}`,+text: `You have ${prettyPrintTime(remainingMs)} remaining until ${generateSlackDate(endTime)}.`,+const pauseExpiresStr = `<!date^${Math.floor(pauseExpires.getTime() / 1000)}^{date_short_pretty} at {time}|${pauseExpires.toLocaleString()}>`;+text: `โธ๏ธ You have a paused takes session. It will auto-complete in ${remainingPauseTime.toFixed(1)} minutes if not resumed.`,+text: `โธ๏ธ Session paused! You have ${prettyPrintTime(pausedTake.durationMinutes * 60000)} remaining.`,+text: `It will automatically finish in ${TakesConfig.MAX_PAUSE_DURATION} minutes (by ${pauseExpiresStr}) if not resumed.`,+text: `You have no active takes sessions. You've completed ${completedSessions.length} sessions in the last ${takeTime}.`,+text: `You have no active takes sessions. You've completed ${completedSessions.length} sessions in the last ${takeTime}.`,
+117
src/features/takes/handlers/stop.ts
+117
src/features/takes/handlers/stop.ts
···+text: "๐ฌ Your paused takes session has been completed. Please upload your takes video in this thread within the next 24 hours!",+text: "๐ฌ Your takes session has been completed. Please upload your takes video in this thread within the next 24 hours!",
+11
src/features/takes/index.ts
+11
src/features/takes/index.ts
···
+37
src/features/takes/services/database.ts
+37
src/features/takes/services/database.ts
···
+154
src/features/takes/services/notifications.ts
+154
src/features/takes/services/notifications.ts
···+text: `โ ๏ธ Reminder: Your paused takes session will automatically complete in about ${timeRemaining} minutes if not resumed.`,+text: `โฐ Your paused takes session has been automatically completed because it was paused for more than ${TakesConfig.MAX_PAUSE_DURATION} minutes.\n\nPlease upload your takes video in this thread within the next 24 hours!`,+text: `โฑ๏ธ Your takes session has less than ${TakesConfig.NOTIFICATIONS.LOW_TIME_WARNING} minutes remaining.`,+text: "โฐ Your takes session has automatically completed because the time is up. Please upload your takes video in this thread within the next 24 hours!",
+111
src/features/takes/setup/actions.ts
+111
src/features/takes/setup/actions.ts
···
+98
src/features/takes/setup/commands.ts
+98
src/features/takes/setup/commands.ts
···
+13
src/features/takes/setup/notifications.ts
+13
src/features/takes/setup/notifications.ts
···
+7
src/features/takes/types.ts
+7
src/features/takes/types.ts
+148
src/features/takes/ui/blocks.ts
+148
src/features/takes/ui/blocks.ts
···
+6
-8
src/features/upload.ts
src/features/takes/services/upload.ts
+6
-8
src/features/upload.ts
src/features/takes/services/upload.ts
······
+3
-3
src/features/video.ts
src/features/api/routes/video.ts
+3
-3
src/features/video.ts
src/features/api/routes/video.ts
···
+4
-4
src/index.ts
+4
-4
src/index.ts
············