@prana-w/btw
Version:
btw_cli (btw: by-the-W) is a simple and powerful Command Line Interface (CLI) designed to help you perform various useful tasks directly from your terminal.
38 lines (32 loc) • 1.22 kB
JavaScript
import chalk from 'chalk';
import sessionStore from '../../config/sessionStore.js';
import timeConversion from '../../utils/timeConversion.js';
export default function endSession() {
if (!sessionStore.get('isSessionActive')) {
console.error(
chalk.red(
'No active session found. Please start a session before attempting to end it.',
),
);
return;
}
const currentTime = Date.now();
const { convertedTime: sessionDuration, unit } = timeConversion(
currentTime - sessionStore.get('startTimestamp'),
);
const sessionHistory = sessionStore.get('sessionHistory');
if (sessionHistory?.length >= 5) {
sessionStore.set('sessionHistory', sessionHistory.pop());
}
sessionStore.set('endTimestamp', currentTime);
sessionStore.set('isSessionActive', false);
if (sessionHistory?.length > 0)
sessionStore.set('sessionHistory', [
`${sessionDuration} ${unit}`,
...sessionHistory,
]);
else sessionStore.set('sessionHistory', [`${sessionDuration} ${unit}`]);
console.log(
`Congrats! You worked for ${chalk.yellow(sessionDuration + ' ' + unit)}!`,
);
}