3 Commits

Author SHA1 Message Date
BOHA
6b9f1dee87 1.3.1 2026-03-27 10:33:15 +01:00
BOHA
687dcb9371 fix: OfferDetail uses default currency from system settings
The useEffect checked prev.currency === "EUR" but initial default was
changed to "CZK", so the settings default was never applied.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-27 10:33:15 +01:00
BOHA
9c49015968 1.3.0 2026-03-27 10:25:40 +01:00
4 changed files with 17 additions and 13 deletions

4
package-lock.json generated
View File

@@ -1,12 +1,12 @@
{
"name": "app-ts",
"version": "1.2.0",
"version": "1.3.1",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "app-ts",
"version": "1.2.0",
"version": "1.3.1",
"license": "ISC",
"dependencies": {
"@dnd-kit/core": "^6.3.1",

View File

@@ -1,6 +1,6 @@
{
"name": "app-ts",
"version": "1.2.0",
"version": "1.3.1",
"description": "",
"main": "dist/server.js",
"scripts": {

View File

@@ -356,7 +356,7 @@ export default function OfferDetail() {
setForm((prev) => ({
...prev,
currency:
prev.currency === "EUR"
prev.currency === "CZK"
? companySettings.default_currency || "CZK"
: prev.currency,
vat_rate:

View File

@@ -68,7 +68,7 @@ export default async function companySettingsRoutes(
const settings = await prisma.company_settings.findFirst({
select: { [column]: true },
});
const buf = settings?.[column] as Buffer | null;
const buf = settings?.[column] as unknown as Buffer | null;
if (!buf) return error(reply, "Logo nenalezeno", 404);
let mime = "image/png";
@@ -203,9 +203,15 @@ export default async function companySettingsRoutes(
max_requests_per_minute: true,
available_vat_rates: true,
available_currencies: true,
smtp_from: true,
smtp_from_name: true,
offer_number_pattern: true,
order_number_pattern: true,
invoice_number_pattern: true,
},
});
}
if (!settings) return error(reply, "Nastavení nenalezeno", 500);
// Check if logo exists
const logoCheck = await prisma.company_settings.findFirst({
@@ -219,9 +225,8 @@ export default async function companySettingsRoutes(
settings.custom_fields as string | null,
);
const pkg = await import("../../../package.json", {
assert: { type: "json" },
});
// eslint-disable-next-line @typescript-eslint/no-var-requires
const pkg = require("../../../package.json") as { version: string };
let available_vat_rates: number[] = [0, 10, 12, 15, 21];
try {
@@ -255,7 +260,7 @@ export default async function companySettingsRoutes(
available_currencies,
has_logo,
has_logo_dark,
app_version: pkg.default.version,
app_version: pkg.version,
});
});
@@ -264,9 +269,8 @@ export default async function companySettingsRoutes(
"/system-info",
{ preHandler: requirePermission("settings.manage") },
async (request, reply) => {
const pkg = await import("../../../package.json", {
assert: { type: "json" },
});
// eslint-disable-next-line @typescript-eslint/no-var-requires
const pkg = require("../../../package.json") as { version: string };
const uptimeSec = process.uptime();
const days = Math.floor(uptimeSec / 86400);
const hours = Math.floor((uptimeSec % 86400) / 3600);
@@ -299,7 +303,7 @@ export default async function companySettingsRoutes(
const projectNas = new NasFileManager();
return success(reply, {
app_version: pkg.default.version,
app_version: pkg.version,
node_version: process.version,
platform: `${os.type()} ${os.release()}`,
uptime: uptimeStr,