Files
PriceUpdaterAppv2/src/tui-entry.js
2025-08-10 14:54:47 -05:00

45 lines
923 B
JavaScript

#!/usr/bin/env node
/**
* TUI Entry Point
* Initializes the Ink-based Terminal User Interface
* Requirements: 2.2, 2.5
*/
const React = require("react");
const { render } = require("ink");
const TuiApplication = require("./tui/TuiApplication.jsx");
// Initialize the TUI application
const main = () => {
try {
// Render the main TUI application
const { waitUntilExit } = render(React.createElement(TuiApplication));
// Wait for the application to exit
return waitUntilExit();
} catch (error) {
console.error("Failed to start TUI application:", error);
process.exit(1);
}
};
// Handle process signals gracefully
process.on("SIGINT", () => {
process.exit(0);
});
process.on("SIGTERM", () => {
process.exit(0);
});
// Start the application
if (require.main === module) {
main().catch((error) => {
console.error("TUI application error:", error);
process.exit(1);
});
}
module.exports = main;