admin_nyelvi_javítas
This commit is contained in:
@@ -2297,197 +2297,106 @@ async function getLocaleMessagesMerged(locale, loaders = []) {
|
||||
return merged;
|
||||
}
|
||||
|
||||
var loading$1 = "Betöltés...";
|
||||
var saving$1 = "Mentés...";
|
||||
var error$1 = "Hiba történt";
|
||||
var retry$1 = "Újra";
|
||||
var save$1 = "Mentés";
|
||||
var saving_data$1 = "Adatok mentése...";
|
||||
var cancel$1 = "Mégsem";
|
||||
var discard$1 = "Elvetés";
|
||||
var delete_confirm$1 = "Biztosan törölni szeretnéd ezt az elemet?";
|
||||
var delete_btn$1 = "Törlés";
|
||||
var delete_title$1 = "Törlés Megerősítése";
|
||||
var deleted$1 = "Sikeresen törölve";
|
||||
var edit$1 = "Szerkesztés";
|
||||
var edit_title$1 = "Elem Szerkesztése";
|
||||
var create$1 = "Létrehozás";
|
||||
var create_btn$1 = "Létrehozás";
|
||||
var create_title$1 = "Új Létrehozása";
|
||||
var create_first$1 = "Hozd létre az első elemet a kezdéshez";
|
||||
var search$1 = "Keresés";
|
||||
var search_placeholder$1 = "Keresés...";
|
||||
var filter$1 = "Szűrés";
|
||||
var no_results$1 = "Nincs találat";
|
||||
var no_results_hint$1 = "Próbáld módosítani a keresési vagy szűrési feltételeket";
|
||||
var no_items$1 = "Nincsenek elemek";
|
||||
var actions$1 = "Műveletek";
|
||||
var status$1 = "Státusz";
|
||||
var active$1 = "Aktív";
|
||||
var inactive$1 = "Inaktív";
|
||||
var activate$1 = "Aktiválás";
|
||||
var deactivate$1 = "Deaktiválás";
|
||||
var name$1 = "Név";
|
||||
var name_placeholder$1 = "Add meg a nevet";
|
||||
var description$1 = "Leírás";
|
||||
var desc_placeholder$1 = "Add meg a leírást";
|
||||
var details$1 = "Részletek";
|
||||
var email$1 = "E-mail";
|
||||
var id$1 = "Azonosító";
|
||||
var type$1 = "Típus";
|
||||
var type_corporate$1 = "Vállalati";
|
||||
var view$1 = "Megtekintés";
|
||||
var updated$1 = "Sikeresen frissítve";
|
||||
var save_error$1 = "Sikertelen mentés";
|
||||
var invalid_json$1 = "Érvénytelen JSON formátum";
|
||||
var prev$1 = "Előző";
|
||||
var next$1 = "Következő";
|
||||
var none$1 = "Nincs";
|
||||
var reset$1 = "Visszaállítás";
|
||||
var confirm$1 = "Megerősítés";
|
||||
var close$1 = "Bezárás";
|
||||
var back$1 = "Vissza";
|
||||
var exit$1 = "Kilépés";
|
||||
var all$1 = "Minden";
|
||||
var select_all$1 = "Összes kiválasztása";
|
||||
var deselect_all$1 = "Összes elrejtése";
|
||||
var expires$1 = "Lejárat";
|
||||
var created$1 = "Létrehozva";
|
||||
var start_date$1 = "Kezdő Dátum";
|
||||
var end_date$1 = "Befejező Dátum";
|
||||
var points$1 = "Pontok";
|
||||
var level$1 = "Szint";
|
||||
var user$1 = "Felhasználó";
|
||||
var user_id$1 = "Felhasználó Azonosító";
|
||||
var services$1 = "Szolgáltatások";
|
||||
var discoveries$1 = "Felfedezések";
|
||||
var restriction$1 = "Korlátozás";
|
||||
var restriction_mild$1 = "Enyhe";
|
||||
var restriction_moderate$1 = "Mérsékelt";
|
||||
var restriction_severe$1 = "Súlyos";
|
||||
var min_xp$1 = "Min XP";
|
||||
var xp$1 = "XP";
|
||||
var penalty$1 = "Büntetés";
|
||||
var feature_flags$1 = "Funkció Kapcsolók";
|
||||
var permission$1 = "Engedély";
|
||||
var role$1 = "Szerepkör";
|
||||
var domain$1 = "Tartomány";
|
||||
var action$1 = "Művelet";
|
||||
var value$1 = "Érték";
|
||||
var key$1 = "Kulcs";
|
||||
var enabled$1 = "Bekapcsolva";
|
||||
var disabled$1 = "Kikapcsolva";
|
||||
var yes$1 = "Igen";
|
||||
var no$1 = "Nem";
|
||||
var on$1 = "Be";
|
||||
var off$1 = "Ki";
|
||||
var service_finder$1 = "Service Finder";
|
||||
var admin$1 = "Admin";
|
||||
var version$1 = "Verzió";
|
||||
var super_administrator$1 = "Szuper Adminisztrátor";
|
||||
var administrator$1 = "Adminisztrátor";
|
||||
var profile_settings$1 = "Profil Beállítások";
|
||||
var sign_out$1 = "Kijelentkezés";
|
||||
var unknown_user$1 = "Ismeretlen felhasználó";
|
||||
var ascending$1 = "Növekvő";
|
||||
var descending$1 = "Csökkenő";
|
||||
const locale_common_46json_68c48c8a = {
|
||||
loading: loading$1,
|
||||
saving: saving$1,
|
||||
error: error$1,
|
||||
retry: retry$1,
|
||||
save: save$1,
|
||||
saving_data: saving_data$1,
|
||||
cancel: cancel$1,
|
||||
discard: discard$1,
|
||||
var common$6 = {
|
||||
loading: "Betöltés...",
|
||||
saving: "Mentés...",
|
||||
error: "Hiba történt",
|
||||
retry: "Újra",
|
||||
save: "Mentés",
|
||||
saving_data: "Adatok mentése...",
|
||||
cancel: "Mégsem",
|
||||
discard: "Elvetés",
|
||||
"delete": "Törlés",
|
||||
delete_confirm: delete_confirm$1,
|
||||
delete_btn: delete_btn$1,
|
||||
delete_title: delete_title$1,
|
||||
deleted: deleted$1,
|
||||
edit: edit$1,
|
||||
edit_title: edit_title$1,
|
||||
create: create$1,
|
||||
create_btn: create_btn$1,
|
||||
create_title: create_title$1,
|
||||
create_first: create_first$1,
|
||||
search: search$1,
|
||||
search_placeholder: search_placeholder$1,
|
||||
filter: filter$1,
|
||||
no_results: no_results$1,
|
||||
no_results_hint: no_results_hint$1,
|
||||
no_items: no_items$1,
|
||||
actions: actions$1,
|
||||
status: status$1,
|
||||
active: active$1,
|
||||
inactive: inactive$1,
|
||||
activate: activate$1,
|
||||
deactivate: deactivate$1,
|
||||
name: name$1,
|
||||
name_placeholder: name_placeholder$1,
|
||||
description: description$1,
|
||||
desc_placeholder: desc_placeholder$1,
|
||||
details: details$1,
|
||||
email: email$1,
|
||||
id: id$1,
|
||||
type: type$1,
|
||||
type_corporate: type_corporate$1,
|
||||
view: view$1,
|
||||
updated: updated$1,
|
||||
save_error: save_error$1,
|
||||
invalid_json: invalid_json$1,
|
||||
prev: prev$1,
|
||||
next: next$1,
|
||||
none: none$1,
|
||||
reset: reset$1,
|
||||
confirm: confirm$1,
|
||||
close: close$1,
|
||||
back: back$1,
|
||||
delete_confirm: "Biztosan törölni szeretnéd ezt az elemet?",
|
||||
delete_btn: "Törlés",
|
||||
delete_title: "Törlés Megerősítése",
|
||||
deleted: "Sikeresen törölve",
|
||||
edit: "Szerkesztés",
|
||||
edit_title: "Elem Szerkesztése",
|
||||
create: "Létrehozás",
|
||||
create_btn: "Létrehozás",
|
||||
create_title: "Új Létrehozása",
|
||||
create_first: "Hozd létre az első elemet a kezdéshez",
|
||||
search: "Keresés",
|
||||
search_placeholder: "Keresés...",
|
||||
filter: "Szűrés",
|
||||
no_results: "Nincs találat",
|
||||
no_results_hint: "Próbáld módosítani a keresési vagy szűrési feltételeket",
|
||||
no_items: "Nincsenek elemek",
|
||||
actions: "Műveletek",
|
||||
status: "Státusz",
|
||||
active: "Aktív",
|
||||
inactive: "Inaktív",
|
||||
activate: "Aktiválás",
|
||||
deactivate: "Deaktiválás",
|
||||
name: "Név",
|
||||
name_placeholder: "Add meg a nevet",
|
||||
description: "Leírás",
|
||||
desc_placeholder: "Add meg a leírást",
|
||||
details: "Részletek",
|
||||
email: "E-mail",
|
||||
id: "Azonosító",
|
||||
type: "Típus",
|
||||
type_corporate: "Vállalati",
|
||||
view: "Megtekintés",
|
||||
updated: "Sikeresen frissítve",
|
||||
save_error: "Sikertelen mentés",
|
||||
invalid_json: "Érvénytelen JSON formátum",
|
||||
prev: "Előző",
|
||||
next: "Következő",
|
||||
none: "Nincs",
|
||||
reset: "Visszaállítás",
|
||||
confirm: "Megerősítés",
|
||||
close: "Bezárás",
|
||||
back: "Vissza",
|
||||
"continue": "Tovább",
|
||||
exit: exit$1,
|
||||
all: all$1,
|
||||
select_all: select_all$1,
|
||||
deselect_all: deselect_all$1,
|
||||
expires: expires$1,
|
||||
created: created$1,
|
||||
start_date: start_date$1,
|
||||
end_date: end_date$1,
|
||||
points: points$1,
|
||||
level: level$1,
|
||||
user: user$1,
|
||||
user_id: user_id$1,
|
||||
services: services$1,
|
||||
discoveries: discoveries$1,
|
||||
restriction: restriction$1,
|
||||
restriction_mild: restriction_mild$1,
|
||||
restriction_moderate: restriction_moderate$1,
|
||||
restriction_severe: restriction_severe$1,
|
||||
min_xp: min_xp$1,
|
||||
xp: xp$1,
|
||||
penalty: penalty$1,
|
||||
feature_flags: feature_flags$1,
|
||||
permission: permission$1,
|
||||
role: role$1,
|
||||
domain: domain$1,
|
||||
action: action$1,
|
||||
value: value$1,
|
||||
key: key$1,
|
||||
enabled: enabled$1,
|
||||
disabled: disabled$1,
|
||||
yes: yes$1,
|
||||
no: no$1,
|
||||
on: on$1,
|
||||
off: off$1,
|
||||
service_finder: service_finder$1,
|
||||
admin: admin$1,
|
||||
version: version$1,
|
||||
super_administrator: super_administrator$1,
|
||||
administrator: administrator$1,
|
||||
profile_settings: profile_settings$1,
|
||||
sign_out: sign_out$1,
|
||||
unknown_user: unknown_user$1,
|
||||
ascending: ascending$1,
|
||||
descending: descending$1
|
||||
exit: "Kilépés",
|
||||
all: "Minden",
|
||||
select_all: "Összes kiválasztása",
|
||||
deselect_all: "Összes elrejtése",
|
||||
expires: "Lejárat",
|
||||
created: "Létrehozva",
|
||||
start_date: "Kezdő Dátum",
|
||||
end_date: "Befejező Dátum",
|
||||
points: "Pontok",
|
||||
level: "Szint",
|
||||
user: "Felhasználó",
|
||||
user_id: "Felhasználó Azonosító",
|
||||
services: "Szolgáltatások",
|
||||
discoveries: "Felfedezések",
|
||||
restriction: "Korlátozás",
|
||||
restriction_mild: "Enyhe",
|
||||
restriction_moderate: "Mérsékelt",
|
||||
restriction_severe: "Súlyos",
|
||||
min_xp: "Min XP",
|
||||
xp: "XP",
|
||||
penalty: "Büntetés",
|
||||
feature_flags: "Funkció Kapcsolók",
|
||||
permission: "Engedély",
|
||||
role: "Szerepkör",
|
||||
domain: "Tartomány",
|
||||
action: "Művelet",
|
||||
value: "Érték",
|
||||
key: "Kulcs",
|
||||
enabled: "Bekapcsolva",
|
||||
disabled: "Kikapcsolva",
|
||||
yes: "Igen",
|
||||
no: "Nem",
|
||||
on: "Be",
|
||||
off: "Ki",
|
||||
service_finder: "Service Finder",
|
||||
admin: "Admin",
|
||||
version: "Verzió",
|
||||
super_administrator: "Szuper Adminisztrátor",
|
||||
administrator: "Adminisztrátor",
|
||||
profile_settings: "Profil Beállítások",
|
||||
sign_out: "Kijelentkezés",
|
||||
unknown_user: "Ismeretlen felhasználó",
|
||||
ascending: "Növekvő",
|
||||
descending: "Csökkenő"
|
||||
};
|
||||
const locale_common_46json_68c48c8a = {
|
||||
common: common$6
|
||||
};
|
||||
|
||||
var menu$1 = {
|
||||
@@ -3667,74 +3576,6 @@ var system$1 = {
|
||||
no_csv_data: "Nincs adat a CSV exportáláshoz.",
|
||||
csv_downloaded: "CSV letöltés elindítva."
|
||||
},
|
||||
packages: {
|
||||
title: "Csomagok Kezelése",
|
||||
subtitle: "Előfizetési csomagok és funkciók kezelése — Free, Premium, Enterprise",
|
||||
loading: "Csomagok betöltése...",
|
||||
retry: "Újra",
|
||||
create_new: "Új Csomag",
|
||||
no_packages: "Még nincsenek csomagok",
|
||||
no_packages_desc: "Hozd létre az első előfizetési csomagot a kezdéshez.",
|
||||
create_first: "Első Csomag Létrehozása",
|
||||
popular: "Népszerű",
|
||||
fallback_badge: "Visszaesési",
|
||||
trial_badge: "Próba",
|
||||
month: "hó",
|
||||
feature_flags: "Elérhető Funkciók",
|
||||
edit: "Szerkesztés",
|
||||
duplicate: "Másolás",
|
||||
"delete": "Törlés",
|
||||
set_as_default: "Beállítás alapértelmezettként",
|
||||
set_as_default_success: "alapértelmezett csomagként beállítva!",
|
||||
edit_title: "Csomag Szerkesztése",
|
||||
create_title: "Csomag Létrehozása",
|
||||
cancel: "Mégse",
|
||||
save: "Változtatások Mentése",
|
||||
create: "Létrehozás",
|
||||
save_success: "Csomag sikeresen frissítve!",
|
||||
delete_title: "Csomag Törlése",
|
||||
delete_confirm: "Biztosan törölni szeretnéd a \"{name}\" csomagot?",
|
||||
delete_btn: "Törlés",
|
||||
allowances: "Korlátok",
|
||||
max_vehicles: "Max Jármű",
|
||||
max_garages: "Max Garázs",
|
||||
max_users: "Max Dolgozó",
|
||||
monthly_credits: "Havi Kredit",
|
||||
tier_level: "Szint",
|
||||
form_name: "Rendszer Név",
|
||||
form_name_placeholder: "pl. premium_2024",
|
||||
form_display_name: "Megjelenítési Név",
|
||||
form_display_name_placeholder: "pl. Premium Plus",
|
||||
form_type: "Típus",
|
||||
type_private: "Magán",
|
||||
type_corporate: "Vállalati",
|
||||
form_tier_level: "Szintszám",
|
||||
form_tier_level_hint: "Magasabb szám = több funkció és magasabb rang",
|
||||
form_monthly_price: "Havi Díj",
|
||||
form_yearly_price: "Éves Díj",
|
||||
form_currency: "Pénznem",
|
||||
form_subtitle: "Felirat / Leírás",
|
||||
form_subtitle_placeholder: "pl. Ideális kisvállalkozásoknak",
|
||||
form_badge: "Jelvény Szöveg",
|
||||
form_badge_placeholder: "pl. Legnépszerűbb",
|
||||
form_is_custom: "Egyedi Csomag (nem publikus)",
|
||||
singleton_rules: "Egyediségi Szabályok",
|
||||
form_is_default_fallback: "Alapértelmezett Visszaesési Csomag — lejárt előfizetés esetén erre vált",
|
||||
form_trial_days: "Próba Napok Regisztrációnál",
|
||||
form_trial_days_hint: "Az új szervezetek ennyi ingyenes napot kapnak. Csak egy csomagnál lehet > 0.",
|
||||
per_region_pricing: "Régiók szerinti árazás",
|
||||
smart_calculator: "Okos Árkalkulátor",
|
||||
calc_net_price: "Nettó ár",
|
||||
calc_vat_rate: "ÁFA kulcs",
|
||||
calc_currency: "Pénznem",
|
||||
calc_net: "Nettó",
|
||||
calc_vat: "ÁFA",
|
||||
calc_gross: "Bruttó",
|
||||
calc_apply: "Alkalmaz a kiválasztott régióra",
|
||||
add_zone: "Új Zóna Hozzáadása",
|
||||
add_zone_select: "Válassz országkódot...",
|
||||
add_zone_already_exists: "Ez a régió már létezik a csomag árazásában!"
|
||||
},
|
||||
permissions: {
|
||||
title: "Jogosultság Kezelés",
|
||||
subtitle: "Jogosultsági Mátrix — Szerepkör alapú hozzáférés-vezérlés",
|
||||
@@ -3764,8 +3605,83 @@ var system$1 = {
|
||||
action: "Művelet"
|
||||
}
|
||||
};
|
||||
var packages$1 = {
|
||||
title: "Csomagok Kezelése",
|
||||
subtitle: "Előfizetési csomagok és funkciók kezelése — Free, Premium, Enterprise",
|
||||
loading: "Csomagok betöltése...",
|
||||
retry: "Újra",
|
||||
create_new: "Új Csomag",
|
||||
no_packages: "Még nincsenek csomagok",
|
||||
no_packages_desc: "Hozd létre az első előfizetési csomagot a kezdéshez.",
|
||||
create_first: "Első Csomag Létrehozása",
|
||||
popular: "Népszerű",
|
||||
fallback_badge: "Visszaesési",
|
||||
trial_badge: "Próba",
|
||||
month: "hó",
|
||||
feature_flags: "Elérhető Funkciók",
|
||||
edit: "Szerkesztés",
|
||||
duplicate: "Másolás",
|
||||
"delete": "Törlés",
|
||||
set_as_default: "Beállítás alapértelmezettként",
|
||||
set_as_default_success: "alapértelmezett csomagként beállítva!",
|
||||
edit_title: "Csomag Szerkesztése",
|
||||
create_title: "Csomag Létrehozása",
|
||||
cancel: "Mégse",
|
||||
save: "Változtatások Mentése",
|
||||
create: "Létrehozás",
|
||||
save_success: "Csomag sikeresen frissítve!",
|
||||
delete_title: "Csomag Törlése",
|
||||
delete_confirm: "Biztosan törölni szeretnéd a \"{name}\" csomagot?",
|
||||
delete_btn: "Törlés",
|
||||
allowances: "Korlátok",
|
||||
max_vehicles: "Max Jármű",
|
||||
max_garages: "Max Garázs",
|
||||
max_users: "Max Dolgozó",
|
||||
monthly_credits: "Havi Kredit",
|
||||
tier_level: "Szint",
|
||||
form_name: "Rendszer Név",
|
||||
form_name_placeholder: "pl. premium_2024",
|
||||
form_display_name: "Megjelenítési Név",
|
||||
form_display_name_placeholder: "pl. Premium Plus",
|
||||
form_type: "Típus",
|
||||
type_private: "Magán",
|
||||
type_corporate: "Vállalati",
|
||||
form_tier_level: "Szintszám",
|
||||
form_tier_level_hint: "Magasabb szám = több funkció és magasabb rang",
|
||||
form_monthly_price: "Havi Díj",
|
||||
form_yearly_price: "Éves Díj",
|
||||
form_currency: "Pénznem",
|
||||
form_subtitle: "Felirat / Leírás",
|
||||
form_subtitle_placeholder: "pl. Ideális kisvállalkozásoknak",
|
||||
form_badge: "Jelvény Szöveg",
|
||||
form_badge_placeholder: "pl. Legnépszerűbb",
|
||||
form_is_custom: "Egyedi Csomag (nem publikus)",
|
||||
singleton_rules: "Egyediségi Szabályok",
|
||||
form_is_default_fallback: "Alapértelmezett Visszaesési Csomag — lejárt előfizetés esetén erre vált",
|
||||
form_trial_days: "Próba Napok Regisztrációnál",
|
||||
form_trial_days_hint: "Az új szervezetek ennyi ingyenes napot kapnak. Csak egy csomagnál lehet > 0.",
|
||||
per_region_pricing: "Régiók szerinti árazás",
|
||||
smart_calculator: "Okos Árkalkulátor",
|
||||
calc_net_price: "Nettó ár",
|
||||
calc_vat_rate: "ÁFA kulcs",
|
||||
calc_currency: "Pénznem",
|
||||
calc_net: "Nettó",
|
||||
calc_vat: "ÁFA",
|
||||
calc_gross: "Bruttó",
|
||||
calc_apply: "Alkalmaz a kiválasztott régióra",
|
||||
add_zone: "Új Zóna Hozzáadása",
|
||||
add_zone_select: "Válassz országkódot...",
|
||||
add_zone_already_exists: "Ez a régió már létezik a csomag árazásában!",
|
||||
feature_capabilities: "Funkció Képességek (JSON)",
|
||||
feature_capabilities_hint: "JSON formátumban add meg a funkció képességeket. Pl.: ai_analysis: true, priority_support: false",
|
||||
singleton_rules_title: "Egyediségi Szabályok",
|
||||
form_trial_days_label: "Próba Napok",
|
||||
per_region_pricing_title: "Régiók szerinti árazás",
|
||||
smart_calculator_title: "Okos Árkalkulátor"
|
||||
};
|
||||
const locale_system_46json_21da1de8 = {
|
||||
system: system$1
|
||||
system: system$1,
|
||||
packages: packages$1
|
||||
};
|
||||
|
||||
var commission_rules$1 = {
|
||||
@@ -3800,7 +3716,16 @@ var commission_rules$1 = {
|
||||
upline_commission_percent_helper: "A felső szintű ajánlónak (Gen2 — az ajánló ajánlója) járó jutalék százaléka minden vásárlás után.",
|
||||
renewal_commission_percent: "Megújítási Jutalék %",
|
||||
renewal_commission_percent_helper: "A havi/éves előfizetés megújításakor járó jutalék százaléka.",
|
||||
commission_max_amount: "Max Összeg",
|
||||
commission_max_amount: "Max Összeg (általános)",
|
||||
gen1_max_amount: "Gen1 Max Összeg",
|
||||
gen1_max_amount_helper: "Gen1 (közvetlen ajánló) maximális jutalék összege. NULL/0 = korlátlan, fallback: Max Összeg.",
|
||||
gen2_max_amount: "Gen2 Max Összeg",
|
||||
gen2_max_amount_helper: "Gen2 (felső szintű ajánló) maximális jutalék összege. NULL/0 = korlátlan, fallback: Max Összeg.",
|
||||
gen1_title: "Közvetlen Ajánló (Gen1)",
|
||||
gen2_title: "Felsővonal (Gen2)",
|
||||
legacy_fallback: "örökölt mező",
|
||||
gen2_renewal_percent: "Gen2 Megújítási Jutalék %",
|
||||
gen2_renewal_percent_helper: "Gen2-nek járó megújítási jutalék százaléka (pl. 1.00 = 1%). Fallback: Felső szintű Jutalék %.",
|
||||
deactivate_confirm: "Biztosan deaktiválod a következőt: \"{name}\"?",
|
||||
showing: "Mutatva",
|
||||
xp_reward_helper: "Egyéni meghívások után járó fix jutalom (pl. sikeres regisztráció).",
|
||||
@@ -3843,203 +3768,116 @@ var commission_rules$1 = {
|
||||
tier_vip: "VIP",
|
||||
tier_platinum: "Platinum",
|
||||
tier_enterprise: "Enterprise",
|
||||
tier_contracted: "Szerződött Üzletkötő"
|
||||
tier_contracted: "Szerződött Üzletkötő",
|
||||
conflict_title: "Szabályütközés észlelve",
|
||||
conflict_message: "Már létezik egy aktív szabály erre a célcsoportra és régióra. Szeretnéd inaktiválni a régit, és életbe léptetni az újat?",
|
||||
conflict_confirm: "Felülírás jóváhagyása",
|
||||
conflict_cancel: "Mégsem"
|
||||
};
|
||||
const locale_commission_46json_2229a18b = {
|
||||
commission_rules: commission_rules$1
|
||||
};
|
||||
|
||||
var loading = "Loading...";
|
||||
var saving = "Saving...";
|
||||
var error = "An error occurred";
|
||||
var retry = "Retry";
|
||||
var save = "Save";
|
||||
var saving_data = "Saving data...";
|
||||
var cancel = "Cancel";
|
||||
var discard = "Discard";
|
||||
var delete_confirm = "Are you sure you want to delete this item?";
|
||||
var delete_btn = "Delete";
|
||||
var delete_title = "Confirm Deletion";
|
||||
var deleted = "Deleted successfully";
|
||||
var edit = "Edit";
|
||||
var edit_title = "Edit Item";
|
||||
var create = "Create";
|
||||
var create_btn = "Create";
|
||||
var create_title = "Create New";
|
||||
var create_first = "Create your first item to get started";
|
||||
var search = "Search";
|
||||
var search_placeholder = "Search...";
|
||||
var filter = "Filter";
|
||||
var no_results = "No results found";
|
||||
var no_results_hint = "Try adjusting your search or filter criteria";
|
||||
var no_items = "No items available";
|
||||
var actions = "Actions";
|
||||
var status = "Status";
|
||||
var active = "Active";
|
||||
var inactive = "Inactive";
|
||||
var activate = "Activate";
|
||||
var deactivate = "Deactivate";
|
||||
var name = "Name";
|
||||
var name_placeholder = "Enter name";
|
||||
var description = "Description";
|
||||
var desc_placeholder = "Enter description";
|
||||
var details = "Details";
|
||||
var email = "Email";
|
||||
var id = "ID";
|
||||
var type = "Type";
|
||||
var type_corporate = "Corporate";
|
||||
var view = "View";
|
||||
var updated = "Updated successfully";
|
||||
var save_error = "Failed to save";
|
||||
var invalid_json = "Invalid JSON format";
|
||||
var prev = "Previous";
|
||||
var next = "Next";
|
||||
var none = "None";
|
||||
var reset = "Reset";
|
||||
var confirm = "Confirm";
|
||||
var close = "Close";
|
||||
var back = "Back";
|
||||
var exit = "Exit";
|
||||
var all = "All";
|
||||
var select_all = "Select All";
|
||||
var deselect_all = "Deselect All";
|
||||
var expires = "Expires";
|
||||
var created = "Created";
|
||||
var start_date = "Start Date";
|
||||
var end_date = "End Date";
|
||||
var points = "Points";
|
||||
var level = "Level";
|
||||
var user = "User";
|
||||
var user_id = "User ID";
|
||||
var services = "Services";
|
||||
var discoveries = "Discoveries";
|
||||
var restriction = "Restriction";
|
||||
var restriction_mild = "Mild";
|
||||
var restriction_moderate = "Moderate";
|
||||
var restriction_severe = "Severe";
|
||||
var min_xp = "Min XP";
|
||||
var xp = "XP";
|
||||
var penalty = "Penalty";
|
||||
var feature_flags = "Feature Flags";
|
||||
var permission = "Permission";
|
||||
var role = "Role";
|
||||
var domain = "Domain";
|
||||
var action = "Action";
|
||||
var value = "Value";
|
||||
var key = "Key";
|
||||
var enabled = "Enabled";
|
||||
var disabled = "Disabled";
|
||||
var yes = "Yes";
|
||||
var no = "No";
|
||||
var on = "On";
|
||||
var off = "Off";
|
||||
var service_finder = "Service Finder";
|
||||
var admin = "Admin";
|
||||
var version = "Version";
|
||||
var super_administrator = "Super Administrator";
|
||||
var administrator = "Administrator";
|
||||
var profile_settings = "Profile Settings";
|
||||
var sign_out = "Sign Out";
|
||||
var unknown_user = "Unknown user";
|
||||
var ascending = "Ascending";
|
||||
var descending = "Descending";
|
||||
const locale_common_46json_364cfaa7 = {
|
||||
loading: loading,
|
||||
saving: saving,
|
||||
error: error,
|
||||
retry: retry,
|
||||
save: save,
|
||||
saving_data: saving_data,
|
||||
cancel: cancel,
|
||||
discard: discard,
|
||||
var common$5 = {
|
||||
loading: "Loading...",
|
||||
saving: "Saving...",
|
||||
error: "An error occurred",
|
||||
retry: "Retry",
|
||||
save: "Save",
|
||||
saving_data: "Saving data...",
|
||||
cancel: "Cancel",
|
||||
discard: "Discard",
|
||||
"delete": "Delete",
|
||||
delete_confirm: delete_confirm,
|
||||
delete_btn: delete_btn,
|
||||
delete_title: delete_title,
|
||||
deleted: deleted,
|
||||
edit: edit,
|
||||
edit_title: edit_title,
|
||||
create: create,
|
||||
create_btn: create_btn,
|
||||
create_title: create_title,
|
||||
create_first: create_first,
|
||||
search: search,
|
||||
search_placeholder: search_placeholder,
|
||||
filter: filter,
|
||||
no_results: no_results,
|
||||
no_results_hint: no_results_hint,
|
||||
no_items: no_items,
|
||||
actions: actions,
|
||||
status: status,
|
||||
active: active,
|
||||
inactive: inactive,
|
||||
activate: activate,
|
||||
deactivate: deactivate,
|
||||
name: name,
|
||||
name_placeholder: name_placeholder,
|
||||
description: description,
|
||||
desc_placeholder: desc_placeholder,
|
||||
details: details,
|
||||
email: email,
|
||||
id: id,
|
||||
type: type,
|
||||
type_corporate: type_corporate,
|
||||
view: view,
|
||||
updated: updated,
|
||||
save_error: save_error,
|
||||
invalid_json: invalid_json,
|
||||
prev: prev,
|
||||
next: next,
|
||||
none: none,
|
||||
reset: reset,
|
||||
confirm: confirm,
|
||||
close: close,
|
||||
back: back,
|
||||
delete_confirm: "Are you sure you want to delete this item?",
|
||||
delete_btn: "Delete",
|
||||
delete_title: "Confirm Deletion",
|
||||
deleted: "Deleted successfully",
|
||||
edit: "Edit",
|
||||
edit_title: "Edit Item",
|
||||
create: "Create",
|
||||
create_btn: "Create",
|
||||
create_title: "Create New",
|
||||
create_first: "Create your first item to get started",
|
||||
search: "Search",
|
||||
search_placeholder: "Search...",
|
||||
filter: "Filter",
|
||||
no_results: "No results found",
|
||||
no_results_hint: "Try adjusting your search or filter criteria",
|
||||
no_items: "No items available",
|
||||
actions: "Actions",
|
||||
status: "Status",
|
||||
active: "Active",
|
||||
inactive: "Inactive",
|
||||
activate: "Activate",
|
||||
deactivate: "Deactivate",
|
||||
name: "Name",
|
||||
name_placeholder: "Enter name",
|
||||
description: "Description",
|
||||
desc_placeholder: "Enter description",
|
||||
details: "Details",
|
||||
email: "Email",
|
||||
id: "ID",
|
||||
type: "Type",
|
||||
type_corporate: "Corporate",
|
||||
view: "View",
|
||||
updated: "Updated successfully",
|
||||
save_error: "Failed to save",
|
||||
invalid_json: "Invalid JSON format",
|
||||
prev: "Previous",
|
||||
next: "Next",
|
||||
none: "None",
|
||||
reset: "Reset",
|
||||
confirm: "Confirm",
|
||||
close: "Close",
|
||||
back: "Back",
|
||||
"continue": "Continue",
|
||||
exit: exit,
|
||||
all: all,
|
||||
select_all: select_all,
|
||||
deselect_all: deselect_all,
|
||||
expires: expires,
|
||||
created: created,
|
||||
start_date: start_date,
|
||||
end_date: end_date,
|
||||
points: points,
|
||||
level: level,
|
||||
user: user,
|
||||
user_id: user_id,
|
||||
services: services,
|
||||
discoveries: discoveries,
|
||||
restriction: restriction,
|
||||
restriction_mild: restriction_mild,
|
||||
restriction_moderate: restriction_moderate,
|
||||
restriction_severe: restriction_severe,
|
||||
min_xp: min_xp,
|
||||
xp: xp,
|
||||
penalty: penalty,
|
||||
feature_flags: feature_flags,
|
||||
permission: permission,
|
||||
role: role,
|
||||
domain: domain,
|
||||
action: action,
|
||||
value: value,
|
||||
key: key,
|
||||
enabled: enabled,
|
||||
disabled: disabled,
|
||||
yes: yes,
|
||||
no: no,
|
||||
on: on,
|
||||
off: off,
|
||||
service_finder: service_finder,
|
||||
admin: admin,
|
||||
version: version,
|
||||
super_administrator: super_administrator,
|
||||
administrator: administrator,
|
||||
profile_settings: profile_settings,
|
||||
sign_out: sign_out,
|
||||
unknown_user: unknown_user,
|
||||
ascending: ascending,
|
||||
descending: descending
|
||||
exit: "Exit",
|
||||
all: "All",
|
||||
select_all: "Select All",
|
||||
deselect_all: "Deselect All",
|
||||
expires: "Expires",
|
||||
created: "Created",
|
||||
start_date: "Start Date",
|
||||
end_date: "End Date",
|
||||
points: "Points",
|
||||
level: "Level",
|
||||
user: "User",
|
||||
user_id: "User ID",
|
||||
services: "Services",
|
||||
discoveries: "Discoveries",
|
||||
restriction: "Restriction",
|
||||
restriction_mild: "Mild",
|
||||
restriction_moderate: "Moderate",
|
||||
restriction_severe: "Severe",
|
||||
min_xp: "Min XP",
|
||||
xp: "XP",
|
||||
penalty: "Penalty",
|
||||
feature_flags: "Feature Flags",
|
||||
permission: "Permission",
|
||||
role: "Role",
|
||||
domain: "Domain",
|
||||
action: "Action",
|
||||
value: "Value",
|
||||
key: "Key",
|
||||
enabled: "Enabled",
|
||||
disabled: "Disabled",
|
||||
yes: "Yes",
|
||||
no: "No",
|
||||
on: "On",
|
||||
off: "Off",
|
||||
service_finder: "Service Finder",
|
||||
admin: "Admin",
|
||||
version: "Version",
|
||||
super_administrator: "Super Administrator",
|
||||
administrator: "Administrator",
|
||||
profile_settings: "Profile Settings",
|
||||
sign_out: "Sign Out",
|
||||
unknown_user: "Unknown user",
|
||||
ascending: "Ascending",
|
||||
descending: "Descending"
|
||||
};
|
||||
const locale_common_46json_364cfaa7 = {
|
||||
common: common$5
|
||||
};
|
||||
|
||||
var menu = {
|
||||
@@ -5219,74 +5057,6 @@ var system = {
|
||||
no_csv_data: "No data for CSV export.",
|
||||
csv_downloaded: "CSV download started."
|
||||
},
|
||||
packages: {
|
||||
title: "Package Management",
|
||||
subtitle: "Manage subscription packages and features — Free, Premium, Enterprise",
|
||||
loading: "Loading packages...",
|
||||
retry: "Retry",
|
||||
create_new: "New Package",
|
||||
no_packages: "No packages yet",
|
||||
no_packages_desc: "Create your first subscription package to get started.",
|
||||
create_first: "Create First Package",
|
||||
popular: "Popular",
|
||||
fallback_badge: "Fallback",
|
||||
trial_badge: "Trial",
|
||||
month: "mo",
|
||||
feature_flags: "Available Features",
|
||||
edit: "Edit",
|
||||
duplicate: "Duplicate",
|
||||
"delete": "Delete",
|
||||
set_as_default: "Set as Default",
|
||||
set_as_default_success: "set as default package!",
|
||||
edit_title: "Edit Package",
|
||||
create_title: "Create Package",
|
||||
cancel: "Cancel",
|
||||
save: "Save Changes",
|
||||
create: "Create",
|
||||
save_success: "Package updated successfully!",
|
||||
delete_title: "Delete Package",
|
||||
delete_confirm: "Are you sure you want to delete \"{name}\"?",
|
||||
delete_btn: "Delete",
|
||||
allowances: "Allowances",
|
||||
max_vehicles: "Max Vehicles",
|
||||
max_garages: "Max Garages",
|
||||
max_users: "Max Users",
|
||||
monthly_credits: "Monthly Credits",
|
||||
tier_level: "Level",
|
||||
form_name: "System Name",
|
||||
form_name_placeholder: "e.g. premium_2024",
|
||||
form_display_name: "Display Name",
|
||||
form_display_name_placeholder: "e.g. Premium Plus",
|
||||
form_type: "Type",
|
||||
type_private: "Private",
|
||||
type_corporate: "Corporate",
|
||||
form_tier_level: "Tier Level",
|
||||
form_tier_level_hint: "Higher number = more features and higher rank",
|
||||
form_monthly_price: "Monthly Price",
|
||||
form_yearly_price: "Yearly Price",
|
||||
form_currency: "Currency",
|
||||
form_subtitle: "Subtitle / Description",
|
||||
form_subtitle_placeholder: "e.g. Ideal for small businesses",
|
||||
form_badge: "Badge Text",
|
||||
form_badge_placeholder: "e.g. Most Popular",
|
||||
form_is_custom: "Custom Package (not public)",
|
||||
singleton_rules: "Singleton Rules",
|
||||
form_is_default_fallback: "Default Fallback Package — expired subscriptions fall back to this",
|
||||
form_trial_days: "Trial Days on Signup",
|
||||
form_trial_days_hint: "New organizations get this many free days. Only one package can have > 0.",
|
||||
per_region_pricing: "Per-Region Pricing",
|
||||
smart_calculator: "Smart Price Calculator",
|
||||
calc_net_price: "Net Price",
|
||||
calc_vat_rate: "VAT Rate",
|
||||
calc_currency: "Currency",
|
||||
calc_net: "Net",
|
||||
calc_vat: "VAT",
|
||||
calc_gross: "Gross",
|
||||
calc_apply: "Apply to selected region",
|
||||
add_zone: "Add New Zone",
|
||||
add_zone_select: "Select country code...",
|
||||
add_zone_already_exists: "This region already exists in the package pricing!"
|
||||
},
|
||||
permissions: {
|
||||
title: "Permissions Management",
|
||||
subtitle: "Permission Matrix — Role-based access control",
|
||||
@@ -5316,8 +5086,83 @@ var system = {
|
||||
action: "Action"
|
||||
}
|
||||
};
|
||||
var packages = {
|
||||
title: "Package Management",
|
||||
subtitle: "Manage subscription packages and features — Free, Premium, Enterprise",
|
||||
loading: "Loading packages...",
|
||||
retry: "Retry",
|
||||
create_new: "New Package",
|
||||
no_packages: "No packages yet",
|
||||
no_packages_desc: "Create your first subscription package to get started.",
|
||||
create_first: "Create First Package",
|
||||
popular: "Popular",
|
||||
fallback_badge: "Fallback",
|
||||
trial_badge: "Trial",
|
||||
month: "mo",
|
||||
feature_flags: "Available Features",
|
||||
edit: "Edit",
|
||||
duplicate: "Duplicate",
|
||||
"delete": "Delete",
|
||||
set_as_default: "Set as Default",
|
||||
set_as_default_success: "set as default package!",
|
||||
edit_title: "Edit Package",
|
||||
create_title: "Create Package",
|
||||
cancel: "Cancel",
|
||||
save: "Save Changes",
|
||||
create: "Create",
|
||||
save_success: "Package updated successfully!",
|
||||
delete_title: "Delete Package",
|
||||
delete_confirm: "Are you sure you want to delete \"{name}\"?",
|
||||
delete_btn: "Delete",
|
||||
allowances: "Allowances",
|
||||
max_vehicles: "Max Vehicles",
|
||||
max_garages: "Max Garages",
|
||||
max_users: "Max Users",
|
||||
monthly_credits: "Monthly Credits",
|
||||
tier_level: "Level",
|
||||
form_name: "System Name",
|
||||
form_name_placeholder: "e.g. premium_2024",
|
||||
form_display_name: "Display Name",
|
||||
form_display_name_placeholder: "e.g. Premium Plus",
|
||||
form_type: "Type",
|
||||
type_private: "Private",
|
||||
type_corporate: "Corporate",
|
||||
form_tier_level: "Tier Level",
|
||||
form_tier_level_hint: "Higher number = more features and higher rank",
|
||||
form_monthly_price: "Monthly Price",
|
||||
form_yearly_price: "Yearly Price",
|
||||
form_currency: "Currency",
|
||||
form_subtitle: "Subtitle / Description",
|
||||
form_subtitle_placeholder: "e.g. Ideal for small businesses",
|
||||
form_badge: "Badge Text",
|
||||
form_badge_placeholder: "e.g. Most Popular",
|
||||
form_is_custom: "Custom Package (not public)",
|
||||
singleton_rules: "Singleton Rules",
|
||||
form_is_default_fallback: "Default Fallback Package — expired subscriptions fall back to this",
|
||||
form_trial_days: "Trial Days on Signup",
|
||||
form_trial_days_hint: "New organizations get this many free days. Only one package can have > 0.",
|
||||
per_region_pricing: "Per-Region Pricing",
|
||||
smart_calculator: "Smart Price Calculator",
|
||||
calc_net_price: "Net Price",
|
||||
calc_vat_rate: "VAT Rate",
|
||||
calc_currency: "Currency",
|
||||
calc_net: "Net",
|
||||
calc_vat: "VAT",
|
||||
calc_gross: "Gross",
|
||||
calc_apply: "Apply to selected region",
|
||||
add_zone: "Add New Zone",
|
||||
add_zone_select: "Select country code...",
|
||||
add_zone_already_exists: "This region already exists in the package pricing!",
|
||||
feature_capabilities: "Feature Capabilities (JSON)",
|
||||
feature_capabilities_hint: "Enter feature capabilities in JSON format. E.g.: ai_analysis: true, priority_support: false",
|
||||
singleton_rules_title: "Singleton Rules",
|
||||
form_trial_days_label: "Trial Days",
|
||||
per_region_pricing_title: "Per-Region Pricing",
|
||||
smart_calculator_title: "Smart Price Calculator"
|
||||
};
|
||||
const locale_system_46json_cff5800c = {
|
||||
system: system
|
||||
system: system,
|
||||
packages: packages
|
||||
};
|
||||
|
||||
var commission_rules = {
|
||||
@@ -5352,7 +5197,16 @@ var commission_rules = {
|
||||
upline_commission_percent_helper: "Percentage paid to the upline (Gen2 — the referrer's referrer) on each purchase.",
|
||||
renewal_commission_percent: "Renewal Commission %",
|
||||
renewal_commission_percent_helper: "Percentage paid on monthly/yearly subscription renewals.",
|
||||
commission_max_amount: "Max Amount",
|
||||
commission_max_amount: "Max Amount (global)",
|
||||
gen1_max_amount: "Gen1 Max Amount",
|
||||
gen1_max_amount_helper: "Gen1 (direct referrer) maximum commission amount. NULL/0 = unlimited, fallback: Max Amount.",
|
||||
gen2_max_amount: "Gen2 Max Amount",
|
||||
gen2_max_amount_helper: "Gen2 (upline) maximum commission amount. NULL/0 = unlimited, fallback: Max Amount.",
|
||||
gen1_title: "Direct Referrer (Gen1)",
|
||||
gen2_title: "Upline (Gen2)",
|
||||
legacy_fallback: "legacy fallback",
|
||||
gen2_renewal_percent: "Gen2 Renewal %",
|
||||
gen2_renewal_percent_helper: "Gen2 renewal commission percentage (e.g. 1.00 = 1%). Fallback: Upline Commission %.",
|
||||
deactivate_confirm: "Are you sure you want to deactivate \"{name}\"?",
|
||||
showing: "Showing",
|
||||
xp_reward_helper: "Fixed reward given to the user for successful individual referrals (e.g., successful registration via invite code).",
|
||||
@@ -5395,7 +5249,11 @@ var commission_rules = {
|
||||
tier_vip: "VIP",
|
||||
tier_platinum: "Platinum",
|
||||
tier_enterprise: "Enterprise",
|
||||
tier_contracted: "Contracted Agent"
|
||||
tier_contracted: "Contracted Agent",
|
||||
conflict_title: "Rule Conflict Detected",
|
||||
conflict_message: "An active rule already exists for this target group and region. Do you want to deactivate the old rule and activate the new one?",
|
||||
conflict_confirm: "Confirm Override",
|
||||
conflict_cancel: "Cancel"
|
||||
};
|
||||
const locale_commission_46json_ea60861a = {
|
||||
commission_rules: commission_rules
|
||||
@@ -6657,16 +6515,16 @@ _wH6JrtIxmaSoA8lCPWFnE9z4lQeXW6H5z3l5aymEQw
|
||||
const assets = {
|
||||
"/index.mjs": {
|
||||
"type": "text/javascript; charset=utf-8",
|
||||
"etag": "\"3e482-bMW8N/gd5+rJ6Fet5d7ZvFyoG5I\"",
|
||||
"mtime": "2026-07-24T01:36:18.316Z",
|
||||
"size": 255106,
|
||||
"etag": "\"3db35-gliVpBtK5107QX2IT8SR1tGeiAs\"",
|
||||
"mtime": "2026-07-24T12:30:16.660Z",
|
||||
"size": 252725,
|
||||
"path": "index.mjs"
|
||||
},
|
||||
"/index.mjs.map": {
|
||||
"type": "application/json",
|
||||
"etag": "\"84cfb-v0HL6pG50A9Shz5WFud0S34p4No\"",
|
||||
"mtime": "2026-07-24T01:36:18.317Z",
|
||||
"size": 543995,
|
||||
"etag": "\"84c6f-gMC45UcEAiPwtJNbdMr3pGk5iUE\"",
|
||||
"mtime": "2026-07-24T12:30:16.660Z",
|
||||
"size": 543855,
|
||||
"path": "index.mjs.map"
|
||||
}
|
||||
};
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"date": "2026-07-24T01:36:24.822Z",
|
||||
"date": "2026-07-24T12:30:18.036Z",
|
||||
"preset": "nitro-dev",
|
||||
"framework": {
|
||||
"name": "nuxt",
|
||||
@@ -11,7 +11,7 @@
|
||||
"dev": {
|
||||
"pid": 19,
|
||||
"workerAddress": {
|
||||
"socketPath": "\u0000nitro-worker-19-14-14-1789.sock"
|
||||
"socketPath": "\u0000nitro-worker-19-30-30-3992.sock"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
// generated by the @nuxtjs/tailwindcss <https://github.com/nuxt-modules/tailwindcss> module at 7/24/2026, 1:36:24 AM
|
||||
// generated by the @nuxtjs/tailwindcss <https://github.com/nuxt-modules/tailwindcss> module at 7/24/2026, 12:30:17 PM
|
||||
import "@nuxtjs/tailwindcss/config-ctx"
|
||||
import configMerger from "@nuxtjs/tailwindcss/merger";
|
||||
|
||||
|
||||
@@ -31,7 +31,16 @@
|
||||
"upline_commission_percent_helper": "Percentage paid to the upline (Gen2 — the referrer's referrer) on each purchase.",
|
||||
"renewal_commission_percent": "Renewal Commission %",
|
||||
"renewal_commission_percent_helper": "Percentage paid on monthly/yearly subscription renewals.",
|
||||
"commission_max_amount": "Max Amount",
|
||||
"commission_max_amount": "Max Amount (global)",
|
||||
"gen1_max_amount": "Gen1 Max Amount",
|
||||
"gen1_max_amount_helper": "Gen1 (direct referrer) maximum commission amount. NULL/0 = unlimited, fallback: Max Amount.",
|
||||
"gen2_max_amount": "Gen2 Max Amount",
|
||||
"gen2_max_amount_helper": "Gen2 (upline) maximum commission amount. NULL/0 = unlimited, fallback: Max Amount.",
|
||||
"gen1_title": "Direct Referrer (Gen1)",
|
||||
"gen2_title": "Upline (Gen2)",
|
||||
"legacy_fallback": "legacy fallback",
|
||||
"gen2_renewal_percent": "Gen2 Renewal %",
|
||||
"gen2_renewal_percent_helper": "Gen2 renewal commission percentage (e.g. 1.00 = 1%). Fallback: Upline Commission %.",
|
||||
"deactivate_confirm": "Are you sure you want to deactivate \"{name}\"?",
|
||||
"showing": "Showing",
|
||||
"xp_reward_helper": "Fixed reward given to the user for successful individual referrals (e.g., successful registration via invite code).",
|
||||
@@ -74,6 +83,10 @@
|
||||
"tier_vip": "VIP",
|
||||
"tier_platinum": "Platinum",
|
||||
"tier_enterprise": "Enterprise",
|
||||
"tier_contracted": "Contracted Agent"
|
||||
"tier_contracted": "Contracted Agent",
|
||||
"conflict_title": "Rule Conflict Detected",
|
||||
"conflict_message": "An active rule already exists for this target group and region. Do you want to deactivate the old rule and activate the new one?",
|
||||
"conflict_confirm": "Confirm Override",
|
||||
"conflict_cancel": "Cancel"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,98 +1,100 @@
|
||||
{
|
||||
"loading": "Loading...",
|
||||
"saving": "Saving...",
|
||||
"error": "An error occurred",
|
||||
"retry": "Retry",
|
||||
"save": "Save",
|
||||
"saving_data": "Saving data...",
|
||||
"cancel": "Cancel",
|
||||
"discard": "Discard",
|
||||
"delete": "Delete",
|
||||
"delete_confirm": "Are you sure you want to delete this item?",
|
||||
"delete_btn": "Delete",
|
||||
"delete_title": "Confirm Deletion",
|
||||
"deleted": "Deleted successfully",
|
||||
"edit": "Edit",
|
||||
"edit_title": "Edit Item",
|
||||
"create": "Create",
|
||||
"create_btn": "Create",
|
||||
"create_title": "Create New",
|
||||
"create_first": "Create your first item to get started",
|
||||
"search": "Search",
|
||||
"search_placeholder": "Search...",
|
||||
"filter": "Filter",
|
||||
"no_results": "No results found",
|
||||
"no_results_hint": "Try adjusting your search or filter criteria",
|
||||
"no_items": "No items available",
|
||||
"actions": "Actions",
|
||||
"status": "Status",
|
||||
"active": "Active",
|
||||
"inactive": "Inactive",
|
||||
"activate": "Activate",
|
||||
"deactivate": "Deactivate",
|
||||
"name": "Name",
|
||||
"name_placeholder": "Enter name",
|
||||
"description": "Description",
|
||||
"desc_placeholder": "Enter description",
|
||||
"details": "Details",
|
||||
"email": "Email",
|
||||
"id": "ID",
|
||||
"type": "Type",
|
||||
"type_corporate": "Corporate",
|
||||
"view": "View",
|
||||
"updated": "Updated successfully",
|
||||
"save_error": "Failed to save",
|
||||
"invalid_json": "Invalid JSON format",
|
||||
"prev": "Previous",
|
||||
"next": "Next",
|
||||
"none": "None",
|
||||
"reset": "Reset",
|
||||
"confirm": "Confirm",
|
||||
"close": "Close",
|
||||
"back": "Back",
|
||||
"continue": "Continue",
|
||||
"exit": "Exit",
|
||||
"all": "All",
|
||||
"select_all": "Select All",
|
||||
"deselect_all": "Deselect All",
|
||||
"expires": "Expires",
|
||||
"created": "Created",
|
||||
"start_date": "Start Date",
|
||||
"end_date": "End Date",
|
||||
"points": "Points",
|
||||
"level": "Level",
|
||||
"user": "User",
|
||||
"user_id": "User ID",
|
||||
"services": "Services",
|
||||
"discoveries": "Discoveries",
|
||||
"restriction": "Restriction",
|
||||
"restriction_mild": "Mild",
|
||||
"restriction_moderate": "Moderate",
|
||||
"restriction_severe": "Severe",
|
||||
"min_xp": "Min XP",
|
||||
"xp": "XP",
|
||||
"penalty": "Penalty",
|
||||
"feature_flags": "Feature Flags",
|
||||
"permission": "Permission",
|
||||
"role": "Role",
|
||||
"domain": "Domain",
|
||||
"action": "Action",
|
||||
"value": "Value",
|
||||
"key": "Key",
|
||||
"enabled": "Enabled",
|
||||
"disabled": "Disabled",
|
||||
"yes": "Yes",
|
||||
"no": "No",
|
||||
"on": "On",
|
||||
"off": "Off",
|
||||
"service_finder": "Service Finder",
|
||||
"admin": "Admin",
|
||||
"version": "Version",
|
||||
"super_administrator": "Super Administrator",
|
||||
"administrator": "Administrator",
|
||||
"profile_settings": "Profile Settings",
|
||||
"sign_out": "Sign Out",
|
||||
"unknown_user": "Unknown user",
|
||||
"ascending": "Ascending",
|
||||
"descending": "Descending"
|
||||
"common": {
|
||||
"loading": "Loading...",
|
||||
"saving": "Saving...",
|
||||
"error": "An error occurred",
|
||||
"retry": "Retry",
|
||||
"save": "Save",
|
||||
"saving_data": "Saving data...",
|
||||
"cancel": "Cancel",
|
||||
"discard": "Discard",
|
||||
"delete": "Delete",
|
||||
"delete_confirm": "Are you sure you want to delete this item?",
|
||||
"delete_btn": "Delete",
|
||||
"delete_title": "Confirm Deletion",
|
||||
"deleted": "Deleted successfully",
|
||||
"edit": "Edit",
|
||||
"edit_title": "Edit Item",
|
||||
"create": "Create",
|
||||
"create_btn": "Create",
|
||||
"create_title": "Create New",
|
||||
"create_first": "Create your first item to get started",
|
||||
"search": "Search",
|
||||
"search_placeholder": "Search...",
|
||||
"filter": "Filter",
|
||||
"no_results": "No results found",
|
||||
"no_results_hint": "Try adjusting your search or filter criteria",
|
||||
"no_items": "No items available",
|
||||
"actions": "Actions",
|
||||
"status": "Status",
|
||||
"active": "Active",
|
||||
"inactive": "Inactive",
|
||||
"activate": "Activate",
|
||||
"deactivate": "Deactivate",
|
||||
"name": "Name",
|
||||
"name_placeholder": "Enter name",
|
||||
"description": "Description",
|
||||
"desc_placeholder": "Enter description",
|
||||
"details": "Details",
|
||||
"email": "Email",
|
||||
"id": "ID",
|
||||
"type": "Type",
|
||||
"type_corporate": "Corporate",
|
||||
"view": "View",
|
||||
"updated": "Updated successfully",
|
||||
"save_error": "Failed to save",
|
||||
"invalid_json": "Invalid JSON format",
|
||||
"prev": "Previous",
|
||||
"next": "Next",
|
||||
"none": "None",
|
||||
"reset": "Reset",
|
||||
"confirm": "Confirm",
|
||||
"close": "Close",
|
||||
"back": "Back",
|
||||
"continue": "Continue",
|
||||
"exit": "Exit",
|
||||
"all": "All",
|
||||
"select_all": "Select All",
|
||||
"deselect_all": "Deselect All",
|
||||
"expires": "Expires",
|
||||
"created": "Created",
|
||||
"start_date": "Start Date",
|
||||
"end_date": "End Date",
|
||||
"points": "Points",
|
||||
"level": "Level",
|
||||
"user": "User",
|
||||
"user_id": "User ID",
|
||||
"services": "Services",
|
||||
"discoveries": "Discoveries",
|
||||
"restriction": "Restriction",
|
||||
"restriction_mild": "Mild",
|
||||
"restriction_moderate": "Moderate",
|
||||
"restriction_severe": "Severe",
|
||||
"min_xp": "Min XP",
|
||||
"xp": "XP",
|
||||
"penalty": "Penalty",
|
||||
"feature_flags": "Feature Flags",
|
||||
"permission": "Permission",
|
||||
"role": "Role",
|
||||
"domain": "Domain",
|
||||
"action": "Action",
|
||||
"value": "Value",
|
||||
"key": "Key",
|
||||
"enabled": "Enabled",
|
||||
"disabled": "Disabled",
|
||||
"yes": "Yes",
|
||||
"no": "No",
|
||||
"on": "On",
|
||||
"off": "Off",
|
||||
"service_finder": "Service Finder",
|
||||
"admin": "Admin",
|
||||
"version": "Version",
|
||||
"super_administrator": "Super Administrator",
|
||||
"administrator": "Administrator",
|
||||
"profile_settings": "Profile Settings",
|
||||
"sign_out": "Sign Out",
|
||||
"unknown_user": "Unknown user",
|
||||
"ascending": "Ascending",
|
||||
"descending": "Descending"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -81,74 +81,6 @@
|
||||
"no_csv_data": "No data for CSV export.",
|
||||
"csv_downloaded": "CSV download started."
|
||||
},
|
||||
"packages": {
|
||||
"title": "Package Management",
|
||||
"subtitle": "Manage subscription packages and features — Free, Premium, Enterprise",
|
||||
"loading": "Loading packages...",
|
||||
"retry": "Retry",
|
||||
"create_new": "New Package",
|
||||
"no_packages": "No packages yet",
|
||||
"no_packages_desc": "Create your first subscription package to get started.",
|
||||
"create_first": "Create First Package",
|
||||
"popular": "Popular",
|
||||
"fallback_badge": "Fallback",
|
||||
"trial_badge": "Trial",
|
||||
"month": "mo",
|
||||
"feature_flags": "Available Features",
|
||||
"edit": "Edit",
|
||||
"duplicate": "Duplicate",
|
||||
"delete": "Delete",
|
||||
"set_as_default": "Set as Default",
|
||||
"set_as_default_success": "set as default package!",
|
||||
"edit_title": "Edit Package",
|
||||
"create_title": "Create Package",
|
||||
"cancel": "Cancel",
|
||||
"save": "Save Changes",
|
||||
"create": "Create",
|
||||
"save_success": "Package updated successfully!",
|
||||
"delete_title": "Delete Package",
|
||||
"delete_confirm": "Are you sure you want to delete \"{name}\"?",
|
||||
"delete_btn": "Delete",
|
||||
"allowances": "Allowances",
|
||||
"max_vehicles": "Max Vehicles",
|
||||
"max_garages": "Max Garages",
|
||||
"max_users": "Max Users",
|
||||
"monthly_credits": "Monthly Credits",
|
||||
"tier_level": "Level",
|
||||
"form_name": "System Name",
|
||||
"form_name_placeholder": "e.g. premium_2024",
|
||||
"form_display_name": "Display Name",
|
||||
"form_display_name_placeholder": "e.g. Premium Plus",
|
||||
"form_type": "Type",
|
||||
"type_private": "Private",
|
||||
"type_corporate": "Corporate",
|
||||
"form_tier_level": "Tier Level",
|
||||
"form_tier_level_hint": "Higher number = more features and higher rank",
|
||||
"form_monthly_price": "Monthly Price",
|
||||
"form_yearly_price": "Yearly Price",
|
||||
"form_currency": "Currency",
|
||||
"form_subtitle": "Subtitle / Description",
|
||||
"form_subtitle_placeholder": "e.g. Ideal for small businesses",
|
||||
"form_badge": "Badge Text",
|
||||
"form_badge_placeholder": "e.g. Most Popular",
|
||||
"form_is_custom": "Custom Package (not public)",
|
||||
"singleton_rules": "Singleton Rules",
|
||||
"form_is_default_fallback": "Default Fallback Package — expired subscriptions fall back to this",
|
||||
"form_trial_days": "Trial Days on Signup",
|
||||
"form_trial_days_hint": "New organizations get this many free days. Only one package can have > 0.",
|
||||
"per_region_pricing": "Per-Region Pricing",
|
||||
"smart_calculator": "Smart Price Calculator",
|
||||
"calc_net_price": "Net Price",
|
||||
"calc_vat_rate": "VAT Rate",
|
||||
"calc_currency": "Currency",
|
||||
"calc_net": "Net",
|
||||
"calc_vat": "VAT",
|
||||
"calc_gross": "Gross",
|
||||
"calc_apply": "Apply to selected region",
|
||||
"add_zone": "Add New Zone",
|
||||
"add_zone_select": "Select country code...",
|
||||
"add_zone_already_exists": "This region already exists in the package pricing!"
|
||||
},
|
||||
"permissions": {
|
||||
"title": "Permissions Management",
|
||||
"subtitle": "Permission Matrix — Role-based access control",
|
||||
@@ -177,5 +109,79 @@
|
||||
"rbac_desc": "Role-based access control — which roles can perform which admin actions.",
|
||||
"action": "Action"
|
||||
}
|
||||
},
|
||||
"packages": {
|
||||
"title": "Package Management",
|
||||
"subtitle": "Manage subscription packages and features — Free, Premium, Enterprise",
|
||||
"loading": "Loading packages...",
|
||||
"retry": "Retry",
|
||||
"create_new": "New Package",
|
||||
"no_packages": "No packages yet",
|
||||
"no_packages_desc": "Create your first subscription package to get started.",
|
||||
"create_first": "Create First Package",
|
||||
"popular": "Popular",
|
||||
"fallback_badge": "Fallback",
|
||||
"trial_badge": "Trial",
|
||||
"month": "mo",
|
||||
"feature_flags": "Available Features",
|
||||
"edit": "Edit",
|
||||
"duplicate": "Duplicate",
|
||||
"delete": "Delete",
|
||||
"set_as_default": "Set as Default",
|
||||
"set_as_default_success": "set as default package!",
|
||||
"edit_title": "Edit Package",
|
||||
"create_title": "Create Package",
|
||||
"cancel": "Cancel",
|
||||
"save": "Save Changes",
|
||||
"create": "Create",
|
||||
"save_success": "Package updated successfully!",
|
||||
"delete_title": "Delete Package",
|
||||
"delete_confirm": "Are you sure you want to delete \"{name}\"?",
|
||||
"delete_btn": "Delete",
|
||||
"allowances": "Allowances",
|
||||
"max_vehicles": "Max Vehicles",
|
||||
"max_garages": "Max Garages",
|
||||
"max_users": "Max Users",
|
||||
"monthly_credits": "Monthly Credits",
|
||||
"tier_level": "Level",
|
||||
"form_name": "System Name",
|
||||
"form_name_placeholder": "e.g. premium_2024",
|
||||
"form_display_name": "Display Name",
|
||||
"form_display_name_placeholder": "e.g. Premium Plus",
|
||||
"form_type": "Type",
|
||||
"type_private": "Private",
|
||||
"type_corporate": "Corporate",
|
||||
"form_tier_level": "Tier Level",
|
||||
"form_tier_level_hint": "Higher number = more features and higher rank",
|
||||
"form_monthly_price": "Monthly Price",
|
||||
"form_yearly_price": "Yearly Price",
|
||||
"form_currency": "Currency",
|
||||
"form_subtitle": "Subtitle / Description",
|
||||
"form_subtitle_placeholder": "e.g. Ideal for small businesses",
|
||||
"form_badge": "Badge Text",
|
||||
"form_badge_placeholder": "e.g. Most Popular",
|
||||
"form_is_custom": "Custom Package (not public)",
|
||||
"singleton_rules": "Singleton Rules",
|
||||
"form_is_default_fallback": "Default Fallback Package — expired subscriptions fall back to this",
|
||||
"form_trial_days": "Trial Days on Signup",
|
||||
"form_trial_days_hint": "New organizations get this many free days. Only one package can have > 0.",
|
||||
"per_region_pricing": "Per-Region Pricing",
|
||||
"smart_calculator": "Smart Price Calculator",
|
||||
"calc_net_price": "Net Price",
|
||||
"calc_vat_rate": "VAT Rate",
|
||||
"calc_currency": "Currency",
|
||||
"calc_net": "Net",
|
||||
"calc_vat": "VAT",
|
||||
"calc_gross": "Gross",
|
||||
"calc_apply": "Apply to selected region",
|
||||
"add_zone": "Add New Zone",
|
||||
"add_zone_select": "Select country code...",
|
||||
"add_zone_already_exists": "This region already exists in the package pricing!",
|
||||
"feature_capabilities": "Feature Capabilities (JSON)",
|
||||
"feature_capabilities_hint": "Enter feature capabilities in JSON format. E.g.: ai_analysis: true, priority_support: false",
|
||||
"singleton_rules_title": "Singleton Rules",
|
||||
"form_trial_days_label": "Trial Days",
|
||||
"per_region_pricing_title": "Per-Region Pricing",
|
||||
"smart_calculator_title": "Smart Price Calculator"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -31,7 +31,16 @@
|
||||
"upline_commission_percent_helper": "A felső szintű ajánlónak (Gen2 — az ajánló ajánlója) járó jutalék százaléka minden vásárlás után.",
|
||||
"renewal_commission_percent": "Megújítási Jutalék %",
|
||||
"renewal_commission_percent_helper": "A havi/éves előfizetés megújításakor járó jutalék százaléka.",
|
||||
"commission_max_amount": "Max Összeg",
|
||||
"commission_max_amount": "Max Összeg (általános)",
|
||||
"gen1_max_amount": "Gen1 Max Összeg",
|
||||
"gen1_max_amount_helper": "Gen1 (közvetlen ajánló) maximális jutalék összege. NULL/0 = korlátlan, fallback: Max Összeg.",
|
||||
"gen2_max_amount": "Gen2 Max Összeg",
|
||||
"gen2_max_amount_helper": "Gen2 (felső szintű ajánló) maximális jutalék összege. NULL/0 = korlátlan, fallback: Max Összeg.",
|
||||
"gen1_title": "Közvetlen Ajánló (Gen1)",
|
||||
"gen2_title": "Felsővonal (Gen2)",
|
||||
"legacy_fallback": "örökölt mező",
|
||||
"gen2_renewal_percent": "Gen2 Megújítási Jutalék %",
|
||||
"gen2_renewal_percent_helper": "Gen2-nek járó megújítási jutalék százaléka (pl. 1.00 = 1%). Fallback: Felső szintű Jutalék %.",
|
||||
"deactivate_confirm": "Biztosan deaktiválod a következőt: \"{name}\"?",
|
||||
"showing": "Mutatva",
|
||||
"xp_reward_helper": "Egyéni meghívások után járó fix jutalom (pl. sikeres regisztráció).",
|
||||
@@ -74,6 +83,10 @@
|
||||
"tier_vip": "VIP",
|
||||
"tier_platinum": "Platinum",
|
||||
"tier_enterprise": "Enterprise",
|
||||
"tier_contracted": "Szerződött Üzletkötő"
|
||||
"tier_contracted": "Szerződött Üzletkötő",
|
||||
"conflict_title": "Szabályütközés észlelve",
|
||||
"conflict_message": "Már létezik egy aktív szabály erre a célcsoportra és régióra. Szeretnéd inaktiválni a régit, és életbe léptetni az újat?",
|
||||
"conflict_confirm": "Felülírás jóváhagyása",
|
||||
"conflict_cancel": "Mégsem"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,98 +1,100 @@
|
||||
{
|
||||
"loading": "Betöltés...",
|
||||
"saving": "Mentés...",
|
||||
"error": "Hiba történt",
|
||||
"retry": "Újra",
|
||||
"save": "Mentés",
|
||||
"saving_data": "Adatok mentése...",
|
||||
"cancel": "Mégsem",
|
||||
"discard": "Elvetés",
|
||||
"delete": "Törlés",
|
||||
"delete_confirm": "Biztosan törölni szeretnéd ezt az elemet?",
|
||||
"delete_btn": "Törlés",
|
||||
"delete_title": "Törlés Megerősítése",
|
||||
"deleted": "Sikeresen törölve",
|
||||
"edit": "Szerkesztés",
|
||||
"edit_title": "Elem Szerkesztése",
|
||||
"create": "Létrehozás",
|
||||
"create_btn": "Létrehozás",
|
||||
"create_title": "Új Létrehozása",
|
||||
"create_first": "Hozd létre az első elemet a kezdéshez",
|
||||
"search": "Keresés",
|
||||
"search_placeholder": "Keresés...",
|
||||
"filter": "Szűrés",
|
||||
"no_results": "Nincs találat",
|
||||
"no_results_hint": "Próbáld módosítani a keresési vagy szűrési feltételeket",
|
||||
"no_items": "Nincsenek elemek",
|
||||
"actions": "Műveletek",
|
||||
"status": "Státusz",
|
||||
"active": "Aktív",
|
||||
"inactive": "Inaktív",
|
||||
"activate": "Aktiválás",
|
||||
"deactivate": "Deaktiválás",
|
||||
"name": "Név",
|
||||
"name_placeholder": "Add meg a nevet",
|
||||
"description": "Leírás",
|
||||
"desc_placeholder": "Add meg a leírást",
|
||||
"details": "Részletek",
|
||||
"email": "E-mail",
|
||||
"id": "Azonosító",
|
||||
"type": "Típus",
|
||||
"type_corporate": "Vállalati",
|
||||
"view": "Megtekintés",
|
||||
"updated": "Sikeresen frissítve",
|
||||
"save_error": "Sikertelen mentés",
|
||||
"invalid_json": "Érvénytelen JSON formátum",
|
||||
"prev": "Előző",
|
||||
"next": "Következő",
|
||||
"none": "Nincs",
|
||||
"reset": "Visszaállítás",
|
||||
"confirm": "Megerősítés",
|
||||
"close": "Bezárás",
|
||||
"back": "Vissza",
|
||||
"continue": "Tovább",
|
||||
"exit": "Kilépés",
|
||||
"all": "Minden",
|
||||
"select_all": "Összes kiválasztása",
|
||||
"deselect_all": "Összes elrejtése",
|
||||
"expires": "Lejárat",
|
||||
"created": "Létrehozva",
|
||||
"start_date": "Kezdő Dátum",
|
||||
"end_date": "Befejező Dátum",
|
||||
"points": "Pontok",
|
||||
"level": "Szint",
|
||||
"user": "Felhasználó",
|
||||
"user_id": "Felhasználó Azonosító",
|
||||
"services": "Szolgáltatások",
|
||||
"discoveries": "Felfedezések",
|
||||
"restriction": "Korlátozás",
|
||||
"restriction_mild": "Enyhe",
|
||||
"restriction_moderate": "Mérsékelt",
|
||||
"restriction_severe": "Súlyos",
|
||||
"min_xp": "Min XP",
|
||||
"xp": "XP",
|
||||
"penalty": "Büntetés",
|
||||
"feature_flags": "Funkció Kapcsolók",
|
||||
"permission": "Engedély",
|
||||
"role": "Szerepkör",
|
||||
"domain": "Tartomány",
|
||||
"action": "Művelet",
|
||||
"value": "Érték",
|
||||
"key": "Kulcs",
|
||||
"enabled": "Bekapcsolva",
|
||||
"disabled": "Kikapcsolva",
|
||||
"yes": "Igen",
|
||||
"no": "Nem",
|
||||
"on": "Be",
|
||||
"off": "Ki",
|
||||
"service_finder": "Service Finder",
|
||||
"admin": "Admin",
|
||||
"version": "Verzió",
|
||||
"super_administrator": "Szuper Adminisztrátor",
|
||||
"administrator": "Adminisztrátor",
|
||||
"profile_settings": "Profil Beállítások",
|
||||
"sign_out": "Kijelentkezés",
|
||||
"unknown_user": "Ismeretlen felhasználó",
|
||||
"ascending": "Növekvő",
|
||||
"descending": "Csökkenő"
|
||||
"common": {
|
||||
"loading": "Betöltés...",
|
||||
"saving": "Mentés...",
|
||||
"error": "Hiba történt",
|
||||
"retry": "Újra",
|
||||
"save": "Mentés",
|
||||
"saving_data": "Adatok mentése...",
|
||||
"cancel": "Mégsem",
|
||||
"discard": "Elvetés",
|
||||
"delete": "Törlés",
|
||||
"delete_confirm": "Biztosan törölni szeretnéd ezt az elemet?",
|
||||
"delete_btn": "Törlés",
|
||||
"delete_title": "Törlés Megerősítése",
|
||||
"deleted": "Sikeresen törölve",
|
||||
"edit": "Szerkesztés",
|
||||
"edit_title": "Elem Szerkesztése",
|
||||
"create": "Létrehozás",
|
||||
"create_btn": "Létrehozás",
|
||||
"create_title": "Új Létrehozása",
|
||||
"create_first": "Hozd létre az első elemet a kezdéshez",
|
||||
"search": "Keresés",
|
||||
"search_placeholder": "Keresés...",
|
||||
"filter": "Szűrés",
|
||||
"no_results": "Nincs találat",
|
||||
"no_results_hint": "Próbáld módosítani a keresési vagy szűrési feltételeket",
|
||||
"no_items": "Nincsenek elemek",
|
||||
"actions": "Műveletek",
|
||||
"status": "Státusz",
|
||||
"active": "Aktív",
|
||||
"inactive": "Inaktív",
|
||||
"activate": "Aktiválás",
|
||||
"deactivate": "Deaktiválás",
|
||||
"name": "Név",
|
||||
"name_placeholder": "Add meg a nevet",
|
||||
"description": "Leírás",
|
||||
"desc_placeholder": "Add meg a leírást",
|
||||
"details": "Részletek",
|
||||
"email": "E-mail",
|
||||
"id": "Azonosító",
|
||||
"type": "Típus",
|
||||
"type_corporate": "Vállalati",
|
||||
"view": "Megtekintés",
|
||||
"updated": "Sikeresen frissítve",
|
||||
"save_error": "Sikertelen mentés",
|
||||
"invalid_json": "Érvénytelen JSON formátum",
|
||||
"prev": "Előző",
|
||||
"next": "Következő",
|
||||
"none": "Nincs",
|
||||
"reset": "Visszaállítás",
|
||||
"confirm": "Megerősítés",
|
||||
"close": "Bezárás",
|
||||
"back": "Vissza",
|
||||
"continue": "Tovább",
|
||||
"exit": "Kilépés",
|
||||
"all": "Minden",
|
||||
"select_all": "Összes kiválasztása",
|
||||
"deselect_all": "Összes elrejtése",
|
||||
"expires": "Lejárat",
|
||||
"created": "Létrehozva",
|
||||
"start_date": "Kezdő Dátum",
|
||||
"end_date": "Befejező Dátum",
|
||||
"points": "Pontok",
|
||||
"level": "Szint",
|
||||
"user": "Felhasználó",
|
||||
"user_id": "Felhasználó Azonosító",
|
||||
"services": "Szolgáltatások",
|
||||
"discoveries": "Felfedezések",
|
||||
"restriction": "Korlátozás",
|
||||
"restriction_mild": "Enyhe",
|
||||
"restriction_moderate": "Mérsékelt",
|
||||
"restriction_severe": "Súlyos",
|
||||
"min_xp": "Min XP",
|
||||
"xp": "XP",
|
||||
"penalty": "Büntetés",
|
||||
"feature_flags": "Funkció Kapcsolók",
|
||||
"permission": "Engedély",
|
||||
"role": "Szerepkör",
|
||||
"domain": "Tartomány",
|
||||
"action": "Művelet",
|
||||
"value": "Érték",
|
||||
"key": "Kulcs",
|
||||
"enabled": "Bekapcsolva",
|
||||
"disabled": "Kikapcsolva",
|
||||
"yes": "Igen",
|
||||
"no": "Nem",
|
||||
"on": "Be",
|
||||
"off": "Ki",
|
||||
"service_finder": "Service Finder",
|
||||
"admin": "Admin",
|
||||
"version": "Verzió",
|
||||
"super_administrator": "Szuper Adminisztrátor",
|
||||
"administrator": "Adminisztrátor",
|
||||
"profile_settings": "Profil Beállítások",
|
||||
"sign_out": "Kijelentkezés",
|
||||
"unknown_user": "Ismeretlen felhasználó",
|
||||
"ascending": "Növekvő",
|
||||
"descending": "Csökkenő"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -81,74 +81,6 @@
|
||||
"no_csv_data": "Nincs adat a CSV exportáláshoz.",
|
||||
"csv_downloaded": "CSV letöltés elindítva."
|
||||
},
|
||||
"packages": {
|
||||
"title": "Csomagok Kezelése",
|
||||
"subtitle": "Előfizetési csomagok és funkciók kezelése — Free, Premium, Enterprise",
|
||||
"loading": "Csomagok betöltése...",
|
||||
"retry": "Újra",
|
||||
"create_new": "Új Csomag",
|
||||
"no_packages": "Még nincsenek csomagok",
|
||||
"no_packages_desc": "Hozd létre az első előfizetési csomagot a kezdéshez.",
|
||||
"create_first": "Első Csomag Létrehozása",
|
||||
"popular": "Népszerű",
|
||||
"fallback_badge": "Visszaesési",
|
||||
"trial_badge": "Próba",
|
||||
"month": "hó",
|
||||
"feature_flags": "Elérhető Funkciók",
|
||||
"edit": "Szerkesztés",
|
||||
"duplicate": "Másolás",
|
||||
"delete": "Törlés",
|
||||
"set_as_default": "Beállítás alapértelmezettként",
|
||||
"set_as_default_success": "alapértelmezett csomagként beállítva!",
|
||||
"edit_title": "Csomag Szerkesztése",
|
||||
"create_title": "Csomag Létrehozása",
|
||||
"cancel": "Mégse",
|
||||
"save": "Változtatások Mentése",
|
||||
"create": "Létrehozás",
|
||||
"save_success": "Csomag sikeresen frissítve!",
|
||||
"delete_title": "Csomag Törlése",
|
||||
"delete_confirm": "Biztosan törölni szeretnéd a \"{name}\" csomagot?",
|
||||
"delete_btn": "Törlés",
|
||||
"allowances": "Korlátok",
|
||||
"max_vehicles": "Max Jármű",
|
||||
"max_garages": "Max Garázs",
|
||||
"max_users": "Max Dolgozó",
|
||||
"monthly_credits": "Havi Kredit",
|
||||
"tier_level": "Szint",
|
||||
"form_name": "Rendszer Név",
|
||||
"form_name_placeholder": "pl. premium_2024",
|
||||
"form_display_name": "Megjelenítési Név",
|
||||
"form_display_name_placeholder": "pl. Premium Plus",
|
||||
"form_type": "Típus",
|
||||
"type_private": "Magán",
|
||||
"type_corporate": "Vállalati",
|
||||
"form_tier_level": "Szintszám",
|
||||
"form_tier_level_hint": "Magasabb szám = több funkció és magasabb rang",
|
||||
"form_monthly_price": "Havi Díj",
|
||||
"form_yearly_price": "Éves Díj",
|
||||
"form_currency": "Pénznem",
|
||||
"form_subtitle": "Felirat / Leírás",
|
||||
"form_subtitle_placeholder": "pl. Ideális kisvállalkozásoknak",
|
||||
"form_badge": "Jelvény Szöveg",
|
||||
"form_badge_placeholder": "pl. Legnépszerűbb",
|
||||
"form_is_custom": "Egyedi Csomag (nem publikus)",
|
||||
"singleton_rules": "Egyediségi Szabályok",
|
||||
"form_is_default_fallback": "Alapértelmezett Visszaesési Csomag — lejárt előfizetés esetén erre vált",
|
||||
"form_trial_days": "Próba Napok Regisztrációnál",
|
||||
"form_trial_days_hint": "Az új szervezetek ennyi ingyenes napot kapnak. Csak egy csomagnál lehet > 0.",
|
||||
"per_region_pricing": "Régiók szerinti árazás",
|
||||
"smart_calculator": "Okos Árkalkulátor",
|
||||
"calc_net_price": "Nettó ár",
|
||||
"calc_vat_rate": "ÁFA kulcs",
|
||||
"calc_currency": "Pénznem",
|
||||
"calc_net": "Nettó",
|
||||
"calc_vat": "ÁFA",
|
||||
"calc_gross": "Bruttó",
|
||||
"calc_apply": "Alkalmaz a kiválasztott régióra",
|
||||
"add_zone": "Új Zóna Hozzáadása",
|
||||
"add_zone_select": "Válassz országkódot...",
|
||||
"add_zone_already_exists": "Ez a régió már létezik a csomag árazásában!"
|
||||
},
|
||||
"permissions": {
|
||||
"title": "Jogosultság Kezelés",
|
||||
"subtitle": "Jogosultsági Mátrix — Szerepkör alapú hozzáférés-vezérlés",
|
||||
@@ -177,5 +109,79 @@
|
||||
"rbac_desc": "Szerepkör alapú hozzáférés-vezérlés — mely szerepkörök mely admin műveleteket végezhetik.",
|
||||
"action": "Művelet"
|
||||
}
|
||||
},
|
||||
"packages": {
|
||||
"title": "Csomagok Kezelése",
|
||||
"subtitle": "Előfizetési csomagok és funkciók kezelése — Free, Premium, Enterprise",
|
||||
"loading": "Csomagok betöltése...",
|
||||
"retry": "Újra",
|
||||
"create_new": "Új Csomag",
|
||||
"no_packages": "Még nincsenek csomagok",
|
||||
"no_packages_desc": "Hozd létre az első előfizetési csomagot a kezdéshez.",
|
||||
"create_first": "Első Csomag Létrehozása",
|
||||
"popular": "Népszerű",
|
||||
"fallback_badge": "Visszaesési",
|
||||
"trial_badge": "Próba",
|
||||
"month": "hó",
|
||||
"feature_flags": "Elérhető Funkciók",
|
||||
"edit": "Szerkesztés",
|
||||
"duplicate": "Másolás",
|
||||
"delete": "Törlés",
|
||||
"set_as_default": "Beállítás alapértelmezettként",
|
||||
"set_as_default_success": "alapértelmezett csomagként beállítva!",
|
||||
"edit_title": "Csomag Szerkesztése",
|
||||
"create_title": "Csomag Létrehozása",
|
||||
"cancel": "Mégse",
|
||||
"save": "Változtatások Mentése",
|
||||
"create": "Létrehozás",
|
||||
"save_success": "Csomag sikeresen frissítve!",
|
||||
"delete_title": "Csomag Törlése",
|
||||
"delete_confirm": "Biztosan törölni szeretnéd a \"{name}\" csomagot?",
|
||||
"delete_btn": "Törlés",
|
||||
"allowances": "Korlátok",
|
||||
"max_vehicles": "Max Jármű",
|
||||
"max_garages": "Max Garázs",
|
||||
"max_users": "Max Dolgozó",
|
||||
"monthly_credits": "Havi Kredit",
|
||||
"tier_level": "Szint",
|
||||
"form_name": "Rendszer Név",
|
||||
"form_name_placeholder": "pl. premium_2024",
|
||||
"form_display_name": "Megjelenítési Név",
|
||||
"form_display_name_placeholder": "pl. Premium Plus",
|
||||
"form_type": "Típus",
|
||||
"type_private": "Magán",
|
||||
"type_corporate": "Vállalati",
|
||||
"form_tier_level": "Szintszám",
|
||||
"form_tier_level_hint": "Magasabb szám = több funkció és magasabb rang",
|
||||
"form_monthly_price": "Havi Díj",
|
||||
"form_yearly_price": "Éves Díj",
|
||||
"form_currency": "Pénznem",
|
||||
"form_subtitle": "Felirat / Leírás",
|
||||
"form_subtitle_placeholder": "pl. Ideális kisvállalkozásoknak",
|
||||
"form_badge": "Jelvény Szöveg",
|
||||
"form_badge_placeholder": "pl. Legnépszerűbb",
|
||||
"form_is_custom": "Egyedi Csomag (nem publikus)",
|
||||
"singleton_rules": "Egyediségi Szabályok",
|
||||
"form_is_default_fallback": "Alapértelmezett Visszaesési Csomag — lejárt előfizetés esetén erre vált",
|
||||
"form_trial_days": "Próba Napok Regisztrációnál",
|
||||
"form_trial_days_hint": "Az új szervezetek ennyi ingyenes napot kapnak. Csak egy csomagnál lehet > 0.",
|
||||
"per_region_pricing": "Régiók szerinti árazás",
|
||||
"smart_calculator": "Okos Árkalkulátor",
|
||||
"calc_net_price": "Nettó ár",
|
||||
"calc_vat_rate": "ÁFA kulcs",
|
||||
"calc_currency": "Pénznem",
|
||||
"calc_net": "Nettó",
|
||||
"calc_vat": "ÁFA",
|
||||
"calc_gross": "Bruttó",
|
||||
"calc_apply": "Alkalmaz a kiválasztott régióra",
|
||||
"add_zone": "Új Zóna Hozzáadása",
|
||||
"add_zone_select": "Válassz országkódot...",
|
||||
"add_zone_already_exists": "Ez a régió már létezik a csomag árazásában!",
|
||||
"feature_capabilities": "Funkció Képességek (JSON)",
|
||||
"feature_capabilities_hint": "JSON formátumban add meg a funkció képességeket. Pl.: ai_analysis: true, priority_support: false",
|
||||
"singleton_rules_title": "Egyediségi Szabályok",
|
||||
"form_trial_days_label": "Próba Napok",
|
||||
"per_region_pricing_title": "Régiók szerinti árazás",
|
||||
"smart_calculator_title": "Okos Árkalkulátor"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -357,70 +357,139 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Commission Section (L2) -->
|
||||
<!-- Commission Section (L2) - Százalékos Jutalékok -->
|
||||
<div
|
||||
class="bg-slate-700/30 rounded-lg p-4 space-y-4 transition-opacity duration-200"
|
||||
:class="form.rule_type === 'L1_REWARD' ? 'opacity-40 pointer-events-none' : ''"
|
||||
>
|
||||
<div class="text-sm font-medium text-slate-300 mb-2">{{ t('commission_rules.commission_section') }}</div>
|
||||
<div class="grid grid-cols-1 md:grid-cols-2 gap-4">
|
||||
<!-- Commission Percent (Gen1) -->
|
||||
<div>
|
||||
<label class="block text-sm font-medium text-slate-300 mb-1">{{ t('commission_rules.commission_percent') }}</label>
|
||||
<div class="relative">
|
||||
|
||||
<!-- Two-Column Layout: Gen1 (Left) / Gen2 (Right) -->
|
||||
<div class="grid grid-cols-1 md:grid-cols-2 gap-8">
|
||||
<!-- Left Column: Gen1 - Közvetlen Ajánló -->
|
||||
<div class="space-y-4">
|
||||
<h4 class="text-sm font-semibold text-indigo-300 mb-4 border-b border-slate-600/50 pb-2">{{ t('commission_rules.gen1_title') }}</h4>
|
||||
|
||||
<!-- Commission Percent (Gen1) -->
|
||||
<div>
|
||||
<label class="block text-sm font-medium text-slate-300 mb-1">{{ t('commission_rules.commission_percent') }}</label>
|
||||
<div class="relative">
|
||||
<input
|
||||
v-model.number="form.commission_percent"
|
||||
type="number"
|
||||
min="0"
|
||||
max="100"
|
||||
step="0.01"
|
||||
placeholder="0.00"
|
||||
:disabled="form.rule_type === 'L1_REWARD'"
|
||||
class="w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white placeholder-slate-500 focus:outline-none focus:ring-2 focus:ring-indigo-500/50 focus:border-indigo-500 text-sm pr-8 disabled:cursor-not-allowed"
|
||||
/>
|
||||
<span class="absolute right-3 top-1/2 -translate-y-1/2 text-slate-400 text-sm">%</span>
|
||||
</div>
|
||||
<p class="mt-1 text-xs text-slate-400">{{ t('commission_rules.commission_percent_helper') }}</p>
|
||||
</div>
|
||||
|
||||
<!-- Renewal Commission Percent -->
|
||||
<div>
|
||||
<label class="block text-sm font-medium text-slate-300 mb-1">{{ t('commission_rules.renewal_commission_percent') }}</label>
|
||||
<div class="relative">
|
||||
<input
|
||||
v-model.number="form.renewal_commission_percent"
|
||||
type="number"
|
||||
min="0"
|
||||
max="100"
|
||||
step="0.01"
|
||||
placeholder="0.00"
|
||||
:disabled="form.rule_type === 'L1_REWARD'"
|
||||
class="w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white placeholder-slate-500 focus:outline-none focus:ring-2 focus:ring-indigo-500/50 focus:border-indigo-500 text-sm pr-8 disabled:cursor-not-allowed"
|
||||
/>
|
||||
<span class="absolute right-3 top-1/2 -translate-y-1/2 text-slate-400 text-sm">%</span>
|
||||
</div>
|
||||
<p class="mt-1 text-xs text-slate-400">{{ t('commission_rules.renewal_commission_percent_helper') }}</p>
|
||||
</div>
|
||||
|
||||
<!-- Gen1 Max Amount (Phase 2) -->
|
||||
<div>
|
||||
<label class="block text-sm font-medium text-slate-300 mb-1">{{ t('commission_rules.gen1_max_amount') }}</label>
|
||||
<input
|
||||
v-model.number="form.commission_percent"
|
||||
v-model.number="form.gen1_max_amount"
|
||||
type="number"
|
||||
min="0"
|
||||
max="100"
|
||||
step="0.01"
|
||||
placeholder="0.00"
|
||||
:disabled="form.rule_type === 'L1_REWARD'"
|
||||
class="w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white placeholder-slate-500 focus:outline-none focus:ring-2 focus:ring-indigo-500/50 focus:border-indigo-500 text-sm pr-8 disabled:cursor-not-allowed"
|
||||
class="w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white placeholder-slate-500 focus:outline-none focus:ring-2 focus:ring-indigo-500/50 focus:border-indigo-500 text-sm disabled:cursor-not-allowed"
|
||||
/>
|
||||
<span class="absolute right-3 top-1/2 -translate-y-1/2 text-slate-400 text-sm">%</span>
|
||||
<p class="mt-1 text-xs text-slate-400">{{ t('commission_rules.gen1_max_amount_helper') }}</p>
|
||||
</div>
|
||||
<p class="mt-1 text-xs text-slate-400">{{ t('commission_rules.commission_percent_helper') }}</p>
|
||||
</div>
|
||||
<!-- Upline Commission Percent (Gen2) -->
|
||||
<div>
|
||||
<label class="block text-sm font-medium text-slate-300 mb-1">{{ t('commission_rules.upline_commission_percent') }}</label>
|
||||
<div class="relative">
|
||||
|
||||
<!-- Right Column: Gen2 - Felsővonal -->
|
||||
<div class="space-y-4">
|
||||
<h4 class="text-sm font-semibold text-emerald-300 mb-4 border-b border-slate-600/50 pb-2">{{ t('commission_rules.gen2_title') }}</h4>
|
||||
|
||||
<!-- Upline Commission Percent (Gen2) -->
|
||||
<div>
|
||||
<label class="block text-sm font-medium text-slate-300 mb-1">{{ t('commission_rules.upline_commission_percent') }}</label>
|
||||
<div class="relative">
|
||||
<input
|
||||
v-model.number="form.upline_commission_percent"
|
||||
type="number"
|
||||
min="0"
|
||||
max="100"
|
||||
step="0.01"
|
||||
placeholder="0.00"
|
||||
:disabled="form.rule_type === 'L1_REWARD'"
|
||||
class="w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white placeholder-slate-500 focus:outline-none focus:ring-2 focus:ring-indigo-500/50 focus:border-indigo-500 text-sm pr-8 disabled:cursor-not-allowed"
|
||||
/>
|
||||
<span class="absolute right-3 top-1/2 -translate-y-1/2 text-slate-400 text-sm">%</span>
|
||||
</div>
|
||||
<p class="mt-1 text-xs text-slate-400">{{ t('commission_rules.upline_commission_percent_helper') }}</p>
|
||||
</div>
|
||||
|
||||
<!-- Gen2 Renewal Percent (Phase 2) -->
|
||||
<div>
|
||||
<label class="block text-sm font-medium text-slate-300 mb-1">{{ t('commission_rules.gen2_renewal_percent') }}</label>
|
||||
<div class="relative">
|
||||
<input
|
||||
v-model.number="form.gen2_renewal_percent"
|
||||
type="number"
|
||||
min="0"
|
||||
max="100"
|
||||
step="0.01"
|
||||
placeholder="0.00"
|
||||
:disabled="form.rule_type === 'L1_REWARD'"
|
||||
class="w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white placeholder-slate-500 focus:outline-none focus:ring-2 focus:ring-indigo-500/50 focus:border-indigo-500 text-sm pr-8 disabled:cursor-not-allowed"
|
||||
/>
|
||||
<span class="absolute right-3 top-1/2 -translate-y-1/2 text-slate-400 text-sm">%</span>
|
||||
</div>
|
||||
<p class="mt-1 text-xs text-slate-400">{{ t('commission_rules.gen2_renewal_percent_helper') }}</p>
|
||||
</div>
|
||||
|
||||
<!-- Gen2 Max Amount (Phase 2) -->
|
||||
<div>
|
||||
<label class="block text-sm font-medium text-slate-300 mb-1">{{ t('commission_rules.gen2_max_amount') }}</label>
|
||||
<input
|
||||
v-model.number="form.upline_commission_percent"
|
||||
v-model.number="form.gen2_max_amount"
|
||||
type="number"
|
||||
min="0"
|
||||
max="100"
|
||||
step="0.01"
|
||||
placeholder="0.00"
|
||||
:disabled="form.rule_type === 'L1_REWARD'"
|
||||
class="w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white placeholder-slate-500 focus:outline-none focus:ring-2 focus:ring-indigo-500/50 focus:border-indigo-500 text-sm pr-8 disabled:cursor-not-allowed"
|
||||
class="w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white placeholder-slate-500 focus:outline-none focus:ring-2 focus:ring-indigo-500/50 focus:border-indigo-500 text-sm disabled:cursor-not-allowed"
|
||||
/>
|
||||
<span class="absolute right-3 top-1/2 -translate-y-1/2 text-slate-400 text-sm">%</span>
|
||||
<p class="mt-1 text-xs text-slate-400">{{ t('commission_rules.gen2_max_amount_helper') }}</p>
|
||||
</div>
|
||||
<p class="mt-1 text-xs text-slate-400">{{ t('commission_rules.upline_commission_percent_helper') }}</p>
|
||||
</div>
|
||||
<!-- Renewal Commission Percent -->
|
||||
<div>
|
||||
<label class="block text-sm font-medium text-slate-300 mb-1">{{ t('commission_rules.renewal_commission_percent') }}</label>
|
||||
<div class="relative">
|
||||
<input
|
||||
v-model.number="form.renewal_commission_percent"
|
||||
type="number"
|
||||
min="0"
|
||||
max="100"
|
||||
step="0.01"
|
||||
placeholder="0.00"
|
||||
:disabled="form.rule_type === 'L1_REWARD'"
|
||||
class="w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white placeholder-slate-500 focus:outline-none focus:ring-2 focus:ring-indigo-500/50 focus:border-indigo-500 text-sm pr-8 disabled:cursor-not-allowed"
|
||||
/>
|
||||
<span class="absolute right-3 top-1/2 -translate-y-1/2 text-slate-400 text-sm">%</span>
|
||||
</div>
|
||||
<p class="mt-1 text-xs text-slate-400">{{ t('commission_rules.renewal_commission_percent_helper') }}</p>
|
||||
</div>
|
||||
<!-- Commission Max Amount -->
|
||||
<div>
|
||||
<label class="block text-sm font-medium text-slate-300 mb-1">{{ t('commission_rules.commission_max_amount') }}</label>
|
||||
</div>
|
||||
|
||||
<!-- Legacy Field: Commission Max Amount (Fallback) - full width below columns -->
|
||||
<div class="border-t border-slate-600/30 pt-4 mt-2">
|
||||
<div class="max-w-xs">
|
||||
<label class="block text-sm font-medium text-slate-400 mb-1">
|
||||
{{ t('commission_rules.commission_max_amount') }}
|
||||
<span class="text-xs text-slate-500 ml-1 italic">({{ t('commission_rules.legacy_fallback') }})</span>
|
||||
</label>
|
||||
<input
|
||||
v-model.number="form.commission_max_amount"
|
||||
type="number"
|
||||
@@ -428,9 +497,9 @@
|
||||
step="0.01"
|
||||
placeholder="0.00"
|
||||
:disabled="form.rule_type === 'L1_REWARD'"
|
||||
class="w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white placeholder-slate-500 focus:outline-none focus:ring-2 focus:ring-indigo-500/50 focus:border-indigo-500 text-sm disabled:cursor-not-allowed"
|
||||
class="w-full px-3 py-2 bg-slate-700/50 border border-slate-600/50 rounded-lg text-white placeholder-slate-500 focus:outline-none focus:ring-2 focus:ring-indigo-500/50 focus:border-indigo-500 text-sm disabled:cursor-not-allowed"
|
||||
/>
|
||||
<p class="mt-1 text-xs text-slate-400">{{ t('commission_rules.commission_max_amount_helper') }}</p>
|
||||
<p class="mt-1 text-xs text-slate-500">{{ t('commission_rules.commission_max_amount_helper') }}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -481,6 +550,38 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Conflict Override Confirmation Modal -->
|
||||
<div v-if="showConflictModal" class="fixed inset-0 z-50 flex items-center justify-center bg-black/60 backdrop-blur-sm" @click.self="showConflictModal = false">
|
||||
<div class="bg-slate-800 rounded-xl border border-amber-500/30 p-6 w-full max-w-lg mx-4 shadow-2xl">
|
||||
<div class="flex items-start gap-3 mb-4">
|
||||
<div class="flex-shrink-0 w-10 h-10 rounded-full bg-amber-500/10 flex items-center justify-center">
|
||||
<svg class="w-5 h-5 text-amber-400" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-2.5L13.732 4c-.77-.833-1.964-.833-2.732 0L4.082 16.5c-.77.833.192 2.5 1.732 2.5z" />
|
||||
</svg>
|
||||
</div>
|
||||
<div>
|
||||
<h2 class="text-lg font-semibold text-white">{{ t('commission_rules.conflict_title') }}</h2>
|
||||
<p class="text-sm text-slate-400 mt-1">{{ t('commission_rules.conflict_message') }}</p>
|
||||
<div v-if="conflictingRule" class="mt-3 bg-slate-700/30 rounded-lg p-3 text-xs text-slate-300 space-y-1">
|
||||
<div><span class="text-slate-500">ID:</span> {{ conflictingRule.id }}</div>
|
||||
<div><span class="text-slate-500">{{ t('commission_rules.name') }}:</span> {{ conflictingRule.name }}</div>
|
||||
<div><span class="text-slate-500">{{ t('commission_rules.tier') }}:</span> {{ conflictingRule.tier }}</div>
|
||||
<div><span class="text-slate-500">{{ t('commission_rules.region') }}:</span> {{ conflictingRule.region_code }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex justify-end gap-3 pt-2 border-t border-slate-700">
|
||||
<button @click="showConflictModal = false; conflictingRule = null" class="px-4 py-2 text-sm text-slate-400 hover:text-white transition">{{ t('commission_rules.conflict_cancel') }}</button>
|
||||
<button @click="confirmOverride" :disabled="saving" class="px-4 py-2 bg-amber-600 hover:bg-amber-500 disabled:bg-amber-600/50 text-white rounded-lg text-sm font-medium transition flex items-center gap-2">
|
||||
<svg v-if="saving" class="w-4 h-4 animate-spin" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15" />
|
||||
</svg>
|
||||
{{ saving ? t('commission_rules.saving') : t('commission_rules.conflict_confirm') }}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Success Toast -->
|
||||
<div v-if="toast" class="fixed bottom-6 right-6 z-50 bg-emerald-600 text-white px-4 py-3 rounded-lg shadow-lg text-sm flex items-center gap-2 animate-slide-up">
|
||||
<svg class="w-4 h-4 flex-shrink-0" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||
@@ -511,6 +612,9 @@ interface CommissionRule {
|
||||
upline_commission_percent: number | null
|
||||
renewal_commission_percent: number | null
|
||||
commission_max_amount: number | null
|
||||
gen1_max_amount: number | null
|
||||
gen2_max_amount: number | null
|
||||
gen2_renewal_percent: number | null
|
||||
is_campaign: boolean
|
||||
start_date: string | null
|
||||
end_date: string | null
|
||||
@@ -534,8 +638,11 @@ const error = ref(false)
|
||||
const rules = ref<CommissionRule[]>([])
|
||||
const showModal = ref(false)
|
||||
const showDeactivateModal = ref(false)
|
||||
const showConflictModal = ref(false)
|
||||
const editingRule = ref<CommissionRule | null>(null)
|
||||
const deactivatingRule = ref<CommissionRule | null>(null)
|
||||
const conflictingRule = ref<CommissionRule | null>(null)
|
||||
const pendingPayload = ref<Record<string, any> | null>(null)
|
||||
const saving = ref(false)
|
||||
const formError = ref('')
|
||||
const toast = ref('')
|
||||
@@ -578,6 +685,9 @@ const form = reactive({
|
||||
upline_commission_percent: null as number | null,
|
||||
renewal_commission_percent: null as number | null,
|
||||
commission_max_amount: null as number | null,
|
||||
gen1_max_amount: null as number | null,
|
||||
gen2_max_amount: null as number | null,
|
||||
gen2_renewal_percent: null as number | null,
|
||||
is_active: true,
|
||||
})
|
||||
|
||||
@@ -607,6 +717,9 @@ function resetForm() {
|
||||
form.upline_commission_percent = null
|
||||
form.renewal_commission_percent = null
|
||||
form.commission_max_amount = null
|
||||
form.gen1_max_amount = null
|
||||
form.gen2_max_amount = null
|
||||
form.gen2_renewal_percent = null
|
||||
form.is_active = true
|
||||
formError.value = ''
|
||||
}
|
||||
@@ -633,6 +746,9 @@ function openEditModal(rule: CommissionRule) {
|
||||
form.upline_commission_percent = rule.upline_commission_percent
|
||||
form.renewal_commission_percent = rule.renewal_commission_percent
|
||||
form.commission_max_amount = rule.commission_max_amount
|
||||
form.gen1_max_amount = rule.gen1_max_amount
|
||||
form.gen2_max_amount = rule.gen2_max_amount
|
||||
form.gen2_renewal_percent = rule.gen2_renewal_percent
|
||||
form.is_active = rule.is_active
|
||||
formError.value = ''
|
||||
showModal.value = true
|
||||
@@ -728,6 +844,9 @@ async function saveRule() {
|
||||
payload.upline_commission_percent = form.upline_commission_percent
|
||||
payload.renewal_commission_percent = form.renewal_commission_percent
|
||||
payload.commission_max_amount = form.commission_max_amount
|
||||
payload.gen1_max_amount = form.gen1_max_amount
|
||||
payload.gen2_max_amount = form.gen2_max_amount
|
||||
payload.gen2_renewal_percent = form.gen2_renewal_percent
|
||||
|
||||
if (editingRule.value) {
|
||||
await $fetch(`/api/v1/admin/commission-rules/${editingRule.value.id}`, {
|
||||
@@ -748,7 +867,78 @@ async function saveRule() {
|
||||
await fetchRules()
|
||||
} catch (e: any) {
|
||||
console.error('Failed to save commission rule:', e)
|
||||
formError.value = e?.data?.detail || t('commission_rules.save_error')
|
||||
|
||||
// Phase 3: Handle 409 Conflict — show override confirmation modal
|
||||
if (e?.response?.status === 409 || e?.status === 409) {
|
||||
const detail = e?.data?.detail || e?.response?._data?.detail || {}
|
||||
const conflicting = detail?.conflicting_rule
|
||||
if (conflicting) {
|
||||
conflictingRule.value = conflicting as CommissionRule
|
||||
pendingPayload.value = {
|
||||
name: form.name,
|
||||
description: form.description || null,
|
||||
rule_type: form.rule_type,
|
||||
tier: form.tier,
|
||||
region_code: form.region_code,
|
||||
is_campaign: form.is_campaign,
|
||||
is_active: form.is_active,
|
||||
start_date: form.is_campaign ? (form.start_date || null) : null,
|
||||
end_date: form.is_campaign ? (form.end_date || null) : null,
|
||||
xp_reward: form.xp_reward,
|
||||
credit_reward: form.credit_reward,
|
||||
commission_percent: form.commission_percent,
|
||||
upline_commission_percent: form.upline_commission_percent,
|
||||
renewal_commission_percent: form.renewal_commission_percent,
|
||||
commission_max_amount: form.commission_max_amount,
|
||||
gen1_max_amount: form.gen1_max_amount,
|
||||
gen2_max_amount: form.gen2_max_amount,
|
||||
gen2_renewal_percent: form.gen2_renewal_percent,
|
||||
}
|
||||
showConflictModal.value = true
|
||||
return // Don't clear form error — modal handles it
|
||||
}
|
||||
}
|
||||
|
||||
formError.value = e?.data?.detail || e?.message || t('commission_rules.save_error')
|
||||
} finally {
|
||||
saving.value = false
|
||||
}
|
||||
}
|
||||
|
||||
async function confirmOverride() {
|
||||
if (!pendingPayload.value) return
|
||||
saving.value = true
|
||||
formError.value = ''
|
||||
try {
|
||||
// Add force_override flag
|
||||
const payload = { ...pendingPayload.value, force_override: true }
|
||||
|
||||
if (editingRule.value) {
|
||||
await $fetch(`/api/v1/admin/commission-rules/${editingRule.value.id}`, {
|
||||
method: 'PUT',
|
||||
headers: getHeaders(),
|
||||
body: payload,
|
||||
})
|
||||
showToast(t('commission_rules.updated'))
|
||||
} else {
|
||||
await $fetch('/api/v1/admin/commission-rules', {
|
||||
method: 'POST',
|
||||
headers: getHeaders(),
|
||||
body: payload,
|
||||
})
|
||||
showToast(t('commission_rules.created'))
|
||||
}
|
||||
showConflictModal.value = false
|
||||
conflictingRule.value = null
|
||||
pendingPayload.value = null
|
||||
closeModal()
|
||||
await fetchRules()
|
||||
} catch (e: any) {
|
||||
console.error('Failed to save commission rule with override:', e)
|
||||
formError.value = e?.data?.detail || e?.message || t('commission_rules.save_error')
|
||||
showConflictModal.value = false
|
||||
conflictingRule.value = null
|
||||
pendingPayload.value = null
|
||||
} finally {
|
||||
saving.value = false
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user