This commit is contained in:
seb
2026-06-24 09:50:08 +02:00
parent 185b68fe52
commit 9b11a8a24c
18 changed files with 716 additions and 34 deletions

52
scripts/getSteuer.js Normal file
View File

@@ -0,0 +1,52 @@
import React from 'react';
import { render, Box, Text, useApp, useInput } from 'ink';
import chalk from 'chalk';
import { getSteuer } from '../src/services/misc/getSteuer.js';
import { closePool } from '../src/db/mssqlClient.js';
import '../src/config/env.js';
const e = React.createElement;
function SteuerTable({ steuerklassen }) {
return e(Box, { flexDirection: 'column' },
e(Text, null, chalk.cyan.bold('=== Steuerklassen ===')),
e(Box, { marginTop: 1, flexDirection: 'column' },
e(Text, { dimColor: true }, ' ID Rate Name'),
...steuerklassen.map((row) =>
e(Text, { key: row.kSteuerklasse },
' ',
chalk.white(String(row.kSteuerklasse).padEnd(4)),
chalk.yellow(`${String(row.fSteuersatz).padStart(3)}%`.padEnd(8)),
row.cName ?? '—',
row.nStandard === 1 ? chalk.gray(' (standard)') : ''
)
)
),
e(Box, { marginTop: 1 }, e(Text, null, chalk.gray('Press any key to exit')))
);
}
const App = ({ steuerklassen }) => {
const { exit } = useApp();
useInput(() => {
closePool()
.catch(() => {})
.finally(() => {
exit();
process.exit(0);
});
});
return e(SteuerTable, { steuerklassen });
};
try {
const { steuerklassen } = await getSteuer();
render(e(App, { steuerklassen }));
} catch (error) {
console.error(chalk.red(`Error: ${error.message}`));
await closePool().catch(() => {});
process.exit(1);
}