admin_users_personels

This commit is contained in:
Roo
2026-06-29 14:11:15 +00:00
parent 383e5511b6
commit df4a0f07ff
237 changed files with 17849 additions and 2934 deletions

View File

@@ -1,5 +1,5 @@
import { K as executeAsync } from '../nitro/nitro.mjs';
import { e as defineNuxtRouteMiddleware, c as useCookie, n as navigateTo, b as useAuthStore } from './server.mjs';
import { e as defineNuxtRouteMiddleware, d as useCookie, n as navigateTo, c as useAuthStore } from './server.mjs';
import 'node:http';
import 'node:https';
import 'node:events';
@@ -52,4 +52,4 @@ const auth = defineNuxtRouteMiddleware(async (to, from) => {
});
export { auth as default };
//# sourceMappingURL=auth-B3jrOAhu.mjs.map
//# sourceMappingURL=auth-Cq1Vc_k9.mjs.map

View File

@@ -1 +1 @@
{"version":3,"file":"auth-B3jrOAhu.mjs","sources":["../../../../.nuxt/dist/server/_nuxt/auth-B3jrOAhu.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAkBA,MAAM,IAAA,GAAO,yBAAA,CAA0B,OAAO,EAAA,EAAI,IAAA,KAAS;AACzD,EAAA,IAAI,MAAA,EAAQ,SAAA;AACZ,EAAA,IAAI,EAAA,CAAG,SAAS,QAAA,EAAU;AACxB,IAAA;AAAA,EACF;AACA,EAAA,MAAM,WAAA,GAAc,UAAU,cAAc,CAAA;AAC5C,EAAA,IAAI,CAAC,YAAY,KAAA,EAAO;AACtB,IAAA,OAAO,WAAW,QAAQ,CAAA;AAAA,EAC5B;AACA,EAAA,MAAM,YAAY,YAAA,EAAa;AAC/B,EAAA,IAAI,CAAC,UAAU,IAAA,EAAM;AACnB,IAAA,IAAI;AACF,MAAA;AACA,MAAA,CAAC,MAAA,EAAQ,SAAS,CAAA,GAAI,YAAA,CAAa,MAAM,SAAA,CAAU,SAAA,EAAW,CAAA,EAAG,MAAM,MAAA,EAAQ,SAAA,EAAU;AACzF,MAAA;AAAA,IACF,CAAA,CAAA,MAAQ;AACN,MAAA,SAAA,CAAU,MAAA,EAAO;AACjB,MAAA,OAAO,WAAW,QAAQ,CAAA;AAAA,IAC5B;AAAA,EACF;AACA,EAAA,IAAI,CAAC,UAAU,IAAA,EAAM;AACnB,IAAA,SAAA,CAAU,MAAA,EAAO;AACjB,IAAA,OAAO,WAAW,QAAQ,CAAA;AAAA,EAC5B;AACA,EAAA,MAAM,eAAe,CAAC,YAAA,EAAc,OAAA,EAAS,WAAA,EAAa,aAAa,aAAa,CAAA;AACpF,EAAA,MAAM,QAAA,GAAA,CAAY,SAAA,CAAU,IAAA,CAAK,IAAA,IAAQ,IAAI,WAAA,EAAY;AACzD,EAAA,IAAI,CAAC,YAAA,CAAa,QAAA,CAAS,QAAQ,CAAA,EAAG;AACpC,IAAA,SAAA,CAAU,MAAA,EAAO;AACjB,IAAA,OAAO,WAAW,QAAQ,CAAA;AAAA,EAC5B;AACF,CAAC;;;;"}
{"version":3,"file":"auth-Cq1Vc_k9.mjs","sources":["../../../../.nuxt/dist/server/_nuxt/auth-Cq1Vc_k9.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAkBA,MAAM,IAAA,GAAO,yBAAA,CAA0B,OAAO,EAAA,EAAI,IAAA,KAAS;AACzD,EAAA,IAAI,MAAA,EAAQ,SAAA;AACZ,EAAA,IAAI,EAAA,CAAG,SAAS,QAAA,EAAU;AACxB,IAAA;AAAA,EACF;AACA,EAAA,MAAM,WAAA,GAAc,UAAU,cAAc,CAAA;AAC5C,EAAA,IAAI,CAAC,YAAY,KAAA,EAAO;AACtB,IAAA,OAAO,WAAW,QAAQ,CAAA;AAAA,EAC5B;AACA,EAAA,MAAM,YAAY,YAAA,EAAa;AAC/B,EAAA,IAAI,CAAC,UAAU,IAAA,EAAM;AACnB,IAAA,IAAI;AACF,MAAA;AACA,MAAA,CAAC,MAAA,EAAQ,SAAS,CAAA,GAAI,YAAA,CAAa,MAAM,SAAA,CAAU,SAAA,EAAW,CAAA,EAAG,MAAM,MAAA,EAAQ,SAAA,EAAU;AACzF,MAAA;AAAA,IACF,CAAA,CAAA,MAAQ;AACN,MAAA,SAAA,CAAU,MAAA,EAAO;AACjB,MAAA,OAAO,WAAW,QAAQ,CAAA;AAAA,IAC5B;AAAA,EACF;AACA,EAAA,IAAI,CAAC,UAAU,IAAA,EAAM;AACnB,IAAA,SAAA,CAAU,MAAA,EAAO;AACjB,IAAA,OAAO,WAAW,QAAQ,CAAA;AAAA,EAC5B;AACA,EAAA,MAAM,eAAe,CAAC,YAAA,EAAc,OAAA,EAAS,WAAA,EAAa,aAAa,aAAa,CAAA;AACpF,EAAA,MAAM,QAAA,GAAA,CAAY,SAAA,CAAU,IAAA,CAAK,IAAA,IAAQ,IAAI,WAAA,EAAY;AACzD,EAAA,IAAI,CAAC,YAAA,CAAa,QAAA,CAAS,QAAQ,CAAA,EAAG;AACpC,IAAA,SAAA,CAAU,MAAA,EAAO;AACjB,IAAA,OAAO,WAAW,QAAQ,CAAA;AAAA,EAC5B;AACF,CAAC;;;;"}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,10 +1,10 @@
import { _ as __nuxt_component_0 } from './nuxt-link-C5PnX__I.mjs';
import { _ as __nuxt_component_0 } from './nuxt-link-Ci8vU-Yt.mjs';
import { defineComponent, computed, ref, mergeProps, withCtx, createVNode, toDisplayString, unref, openBlock, createBlock, createTextVNode, useSSRContext } from 'vue';
import { ssrRenderAttrs, ssrRenderClass, ssrRenderComponent, ssrRenderAttr, ssrRenderList, ssrRenderStyle, ssrInterpolate, ssrRenderSlot } from 'vue/server-renderer';
import { p as publicAssetsURL } from '../nitro/nitro.mjs';
import { useRoute } from 'vue-router';
import { u as useRegionStore } from './region-0mvXqaMM.mjs';
import { a as useRouter, b as useAuthStore, d as useI18n } from './server.mjs';
import { b as useRouter, c as useAuthStore, a as useI18n } from './server.mjs';
import 'node:http';
import 'node:https';
import 'node:events';
@@ -74,10 +74,14 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
icon: '<svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 4.354a4 4 0 110 5.292M15 21H3v-1a6 6 0 0112 0v1zm0 0h6v-1a6 6 0 00-9-5.197m13.5-9a2.5 2.5 0 11-5 0 2.5 2.5 0 015 0z" /></svg>',
children: [
{
path: "/",
/* P0 HOTFIX: placeholder until /users page is built */
path: "/users",
label: "Felhaszn\xE1l\xF3k list\xE1ja",
icon: '<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 4.354a4 4 0 110 5.292M15 21H3v-1a6 6 0 0112 0v1zm0 0h6v-1a6 6 0 00-9-5.197m13.5-9a2.5 2.5 0 11-5 0 2.5 2.5 0 015 0z" /></svg>'
},
{
path: "/persons",
label: "Szem\xE9lyek",
icon: '<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17 20h5v-2a3 3 0 00-5.356-1.857M17 20H7m10 0v-2c0-.656-.126-1.283-.356-1.857M7 20H2v-2a3 3 0 015.356-1.857M7 20v-2c0-.656.126-1.283.356-1.857m0 0a5.002 5.002 0 019.288 0M15 7a3 3 0 11-6 0 3 3 0 016 0zm6 3a2 2 0 11-4 0 2 2 0 014 0zM7 10a2 2 0 11-4 0 2 2 0 014 0z" /></svg>'
}
]
}
@@ -120,6 +124,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
if (route.path === "/") return "Dashboard";
if (route.path.startsWith("/permissions")) return "Jogosults\xE1g Kezel\xE9s";
if (route.path.startsWith("/garages")) return "Gar\xE1zsok";
if (route.path.startsWith("/persons")) return "Szem\xE9lyek";
if (route.path.startsWith("/users")) return "Felhaszn\xE1l\xF3k";
if (route.path.startsWith("/logs")) return "Rendszernapl\xF3k";
if (route.path.startsWith("/packages")) return "Csomagok";
@@ -292,4 +297,4 @@ _sfc_main.setup = (props, ctx) => {
};
export { _sfc_main as default };
//# sourceMappingURL=default-C9mWt9Pc.mjs.map
//# sourceMappingURL=default-C8swInD9.mjs.map

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -58,6 +58,7 @@ const resource = {
"allowances": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Allowances" } },
"max_vehicles": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Max Vehicles" } },
"max_garages": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Max Garages" } },
"max_users": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Max Users" } },
"monthly_credits": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Monthly Credits" } },
"tier_level": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Level" } },
"form_name": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "System Name" } },
@@ -136,6 +137,16 @@ const resource = {
"subscription_updated": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "subscription updated successfully!" } },
"view_details": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Details" } },
"indefinite": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Indefinite" } },
"addons_title": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Add-ons" } },
"addon_vehicles": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Extra Vehicle" } },
"addon_branches": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Extra Branch" } },
"addon_users": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Extra Employee" } },
"active_addons": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Active Add-ons" } },
"no_active_addons": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "No active add-ons" } },
"addon_vehicles_expiration": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Extra Vehicle Expiration" } },
"addon_branches_expiration": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Extra Branch Expiration" } },
"addon_users_expiration": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Extra Employee Expiration" } },
"addon_expiration_hint": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "If empty, existing expiration dates remain." } },
"details": {
"loading": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Loading garage details..." } },
"retry": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Retry" } },
@@ -210,6 +221,8 @@ const resource = {
"vehicles_used": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Vehicles" } },
"branches_used": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Branches" } },
"employees_used": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Employees" } },
"branches": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "branches" } },
"employees": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "employees" } },
"status": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Status" } },
"subscription_history": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Subscription History" } },
"history_date": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Date" } },
@@ -292,8 +305,106 @@ const resource = {
"no_vehicles": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "No vehicles assigned to this garage yet." } },
"no_fleet_access": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "You don't have permission to view fleet data." } }
}
},
"users": {
"title": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "User Management" } },
"subtitle": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "User list, search, filters and bulk actions" } },
"loading": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Loading users..." } },
"retry": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Retry" } },
"search_placeholder": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Search by email, name or phone..." } },
"all_statuses": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "All statuses" } },
"status_active": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Active" } },
"status_inactive": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Inactive" } },
"status_deleted": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Deleted" } },
"status_banned": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Banned" } },
"all_roles": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "All roles" } },
"role_user": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "User" } },
"role_admin": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Admin" } },
"role_staff": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Staff" } },
"role_superadmin": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Superadmin" } },
"all_plans": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "All plans" } },
"plan_free": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Free" } },
"plan_premium": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Premium" } },
"plan_enterprise": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Enterprise" } },
"total_users": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Total Users" } },
"active_users": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Active Users" } },
"deleted_users": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Deleted Users" } },
"banned_users": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Banned Users" } },
"new_today": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "New Today" } },
"filtered_results": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Filtered results" } },
"selected_count": { "t": 0, "b": { "t": 2, "i": [{ "t": 4, "k": "count" }, { "t": 3, "v": " user(s) selected" }] } },
"bulk_activate": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Activate" } },
"bulk_deactivate": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Deactivate" } },
"clear_selection": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Clear" } },
"email": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Email" } },
"name": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Name" } },
"role": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Role" } },
"status": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Status" } },
"package": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Package" } },
"registration": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Registration" } },
"language": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Language" } },
"actions": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Actions" } },
"view": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "View" } },
"activate": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Activate" } },
"deactivate": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Deactivate" } },
"no_results": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "No users match your search." } },
"showing": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Showing" } },
"prev": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Previous" } },
"next": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Next" } },
"details": {
"loading": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Loading user details..." } },
"retry": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Retry" } },
"back": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Back to Users" } },
"edit": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Edit User" } },
"edit_user": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Edit User" } },
"profile_tab": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Profile" } },
"memberships_tab": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Memberships" } },
"account_info": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Account Information" } },
"user_id": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "User ID" } },
"registration_date": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Registration Date" } },
"last_login": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Last Login" } },
"ui_mode": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "UI Mode" } },
"region": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Region" } },
"currency": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Currency" } },
"subscription_info": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Subscription Information" } },
"subscription_expires": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Expires At" } },
"scope_level": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Scope Level" } },
"scope_id": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Scope ID" } },
"max_vehicles": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Max Vehicles" } },
"max_garages": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Max Garages" } },
"personal_info": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Personal Information" } },
"last_name": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Last Name" } },
"first_name": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "First Name" } },
"phone": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Phone" } },
"birth_place": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Birth Place" } },
"birth_date": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Birth Date" } },
"mothers_name": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Mother's Name" } },
"mothers_first_name": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Mother's First Name" } },
"address": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Address" } },
"zip": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "ZIP Code" } },
"city": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "City" } },
"street": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Street" } },
"house_number": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "House Number" } },
"no_person_record": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "No personal information record found for this user." } },
"memberships": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Organization Memberships" } },
"memberships_count": { "t": 0, "b": { "t": 2, "i": [{ "t": 4, "k": "count" }, { "t": 3, "v": " membership(s)" }] } },
"no_memberships": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "This user is not a member of any organization." } },
"org_name": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Organization" } },
"org_role": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Role" } },
"member_status": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Status" } },
"joined_at": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Joined" } },
"verified": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Verified" } },
"verified_yes": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Yes" } },
"verified_no": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "No" } },
"preferred_language": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Preferred Language" } },
"is_active": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Active" } },
"is_vip": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "VIP" } },
"cancel": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Cancel" } },
"save": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Save Changes" } },
"saving": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Saving..." } }
}
}
};
export { resource as default };
//# sourceMappingURL=en-BI6r-iRW.mjs.map
//# sourceMappingURL=en-BPBMPZpX.mjs.map

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
{"version":3,"file":"entry-styles.DI3TVdQz.mjs","sources":["../../../../.nuxt/dist/server/_nuxt/entry-styles-1.mjs-C-JbU1OR.js","../../../../.nuxt/dist/server/_nuxt/entry-styles-2.mjs-e4rjr5TT.js","../../../../.nuxt/dist/server/_nuxt/entry-styles.DI3TVdQz.mjs"],"names":["style_0","style_1","style_2"],"mappings":";;AAAA,MAAM,QAAA,GAAW,CAAA,8ysCAAA,CAAA;;ACAjB,MAAM,IAAA,GAAO,CAAA,+kwCAAA,CAAA;;ACGb,6BAAe;AACf,EAAEA,QAAO;AACT,EAAEC,IAAO;AACT,EAAEC;AACF;;;;"}

File diff suppressed because one or more lines are too long

View File

@@ -1 +0,0 @@
{"version":3,"file":"entry-styles.DW_zlACo.mjs","sources":["../../../../.nuxt/dist/server/_nuxt/entry-styles-1.mjs-Be0Mk_0H.js","../../../../.nuxt/dist/server/_nuxt/entry-styles-2.mjs-CiZbT56B.js","../../../../.nuxt/dist/server/_nuxt/entry-styles.DW_zlACo.mjs"],"names":["style_0","style_1","style_2"],"mappings":";;AAAA,MAAM,QAAA,GAAW,CAAA,+/mCAAA,CAAA;;ACAjB,MAAM,IAAA,GAAO,CAAA,itqCAAA,CAAA;;ACGb,6BAAe;AACf,EAAEA,QAAO;AACT,EAAEC,IAAO;AACT,EAAEC;AACF;;;;"}

View File

@@ -1,4 +1,4 @@
import { _ as __nuxt_component_0 } from './nuxt-link-C5PnX__I.mjs';
import { _ as __nuxt_component_0 } from './nuxt-link-Ci8vU-Yt.mjs';
import { mergeProps, withCtx, createTextVNode, toDisplayString, useSSRContext } from 'vue';
import { ssrRenderAttrs, ssrInterpolate, ssrRenderComponent } from 'vue/server-renderer';
import { _ as _export_sfc } from './_plugin-vue_export-helper-1tPrXgE0.mjs';
@@ -96,4 +96,4 @@ _sfc_main.setup = (props, ctx) => {
const error404 = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-1bd9e11a"]]);
export { error404 as default };
//# sourceMappingURL=error-404-DPt4byml.mjs.map
//# sourceMappingURL=error-404-qU7XehyZ.mjs.map

View File

@@ -1 +1 @@
{"version":3,"file":"error-404-DPt4byml.mjs","sources":["../../../../.nuxt/dist/server/_nuxt/error-404-DPt4byml.js"],"names":[],"mappings":"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"}
{"version":3,"file":"error-404-qU7XehyZ.mjs","sources":["../../../../.nuxt/dist/server/_nuxt/error-404-qU7XehyZ.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAoBA,MAAM,SAAA,GAAY;AAAA,EAChB,MAAA,EAAQ,WAAA;AAAA,EACR,iBAAA,EAAmB,IAAA;AAAA,EACnB,KAAA,EAAO;AAAA,IACL,OAAA,EAAS;AAAA,MACP,IAAA,EAAM,MAAA;AAAA,MACN,OAAA,EAAS;AAAA,KACX;AAAA,IACA,OAAA,EAAS;AAAA,MACP,IAAA,EAAM,MAAA;AAAA,MACN,OAAA,EAAS;AAAA,KACX;AAAA,IACA,MAAA,EAAQ;AAAA,MACN,IAAA,EAAM,MAAA;AAAA,MACN,OAAA,EAAS;AAAA,KACX;AAAA,IACA,UAAA,EAAY;AAAA,MACV,IAAA,EAAM,MAAA;AAAA,MACN,OAAA,EAAS;AAAA,KACX;AAAA,IACA,WAAA,EAAa;AAAA,MACX,IAAA,EAAM,MAAA;AAAA,MACN,OAAA,EAAS;AAAA,KACX;AAAA,IACA,QAAA,EAAU;AAAA,MACR,IAAA,EAAM,MAAA;AAAA,MACN,OAAA,EAAS;AAAA;AACX,GACF;AAAA,EACA,MAAM,OAAA,EAAS;AACb,IAAA,MAAM,KAAA,GAAQ,OAAA;AACd,IAAA,OAAA,CAAQ;AAAA,MACN,KAAA,EAAO,GAAG,KAAA,CAAM,MAAM,MAAM,KAAA,CAAM,UAAU,CAAA,GAAA,EAAM,KAAA,CAAM,OAAO,CAAA,CAAA;AAAA,MAC/D,MAAA,EAAQ;AAAA,QACN;AAAA,UACE,SAAA,EAAW,CAAA,+rBAAA;AAAA;AACb,OACF;AAAA,MACA,KAAA,EAAO;AAAA,QACL;AAAA,UACE,SAAA,EAAW,CAAA,imDAAA;AAAA;AACb;AACF,KACD,CAAA;AACD,IAAA,OAAO,CAAC,IAAA,EAAM,KAAA,EAAO,OAAA,EAAS,MAAA,KAAW;AACvC,MAAA,MAAM,mBAAA,GAAsB,kBAAA;AAC5B,MAAA,KAAA,CAAM,CAAA,IAAA,EAAO,eAAe,UAAA,CAAW,EAAE,OAAO,gIAAA,EAAiI,EAAG,MAAM,CAAC,CAAC,wNAAwN,cAAA,CAAe,OAAA,CAAQ,MAAM,CAAC,CAAA,gGAAA,EAAmG,eAAe,OAAA,CAAQ,WAAW,CAAC,CAAA,yEAAA,CAA2E,CAAA;AACnoB,MAAA,KAAA,CAAM,mBAAmB,mBAAA,EAAqB;AAAA,QAC5C,EAAA,EAAI,GAAA;AAAA,QACJ,KAAA,EAAO;AAAA,OACT,EAAG;AAAA,QACD,SAAS,OAAA,CAAQ,CAAC,CAAA,EAAG,MAAA,EAAQ,UAAU,QAAA,KAAa;AAClD,UAAA,IAAI,MAAA,EAAQ;AACV,YAAA,MAAA,CAAO,CAAA,EAAG,cAAA,CAAe,OAAA,CAAQ,QAAQ,CAAC,CAAA,CAAE,CAAA;AAAA,UAC9C,CAAA,MAAO;AACL,YAAA,OAAO;AAAA,cACL,eAAA,CAAgB,eAAA,CAAgB,OAAA,CAAQ,QAAQ,GAAG,CAAC;AAAA,aACtD;AAAA,UACF;AAAA,QACF,CAAC,CAAA;AAAA,QACD,CAAA,EAAG;AAAA,OACL,EAAG,OAAO,CAAC,CAAA;AACX,MAAA,KAAA,CAAM,CAAA,kBAAA,CAAoB,CAAA;AAAA,IAC5B,CAAA;AAAA,EACF;AACF,CAAA;AACA,MAAM,aAAa,SAAA,CAAU,KAAA;AAC7B,SAAA,CAAU,KAAA,GAAQ,CAAC,KAAA,EAAO,GAAA,KAAQ;AAChC,EAAA,MAAM,aAAa,aAAA,EAAc;AACjC,EAAA,CAAC,UAAA,CAAW,YAAY,UAAA,CAAW,OAAA,uBAA8B,GAAA,EAAI,CAAA,EAAI,IAAI,qDAAqD,CAAA;AAClI,EAAA,OAAO,UAAA,GAAa,UAAA,CAAW,KAAA,EAAO,GAAG,CAAA,GAAI,MAAA;AAC/C,CAAA;AACA,MAAM,QAAA,+BAAuC,SAAA,EAAW,CAAC,CAAC,WAAA,EAAa,iBAAiB,CAAC,CAAC;;;;"}

File diff suppressed because one or more lines are too long

View File

@@ -58,6 +58,7 @@ const resource = {
"allowances": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Korl\xE1tok" } },
"max_vehicles": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Max J\xE1rm\u0171" } },
"max_garages": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Max Gar\xE1zs" } },
"max_users": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Max Dolgoz\xF3" } },
"monthly_credits": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Havi Kredit" } },
"tier_level": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Szint" } },
"form_name": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Rendszer N\xE9v" } },
@@ -136,6 +137,16 @@ const resource = {
"subscription_updated": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "el\u0151fizet\xE9se sikeresen friss\xEDtve!" } },
"view_details": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "R\xE9szletek" } },
"indefinite": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Hat\xE1rozatlan" } },
"addons_title": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Kieg\xE9sz\xEDt\u0151k (Add-ons)" } },
"addon_vehicles": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Extra J\xE1rm\u0171" } },
"addon_branches": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Extra Telephely" } },
"addon_users": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Extra Dolgoz\xF3" } },
"active_addons": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Akt\xEDv kieg\xE9sz\xEDt\u0151k" } },
"no_active_addons": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Nincsenek akt\xEDv kieg\xE9sz\xEDt\u0151k" } },
"addon_vehicles_expiration": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Extra J\xE1rm\u0171 lej\xE1rati d\xE1tuma" } },
"addon_branches_expiration": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Extra Telephely lej\xE1rati d\xE1tuma" } },
"addon_users_expiration": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Extra Dolgoz\xF3 lej\xE1rati d\xE1tuma" } },
"addon_expiration_hint": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Ha \xFCres, a megl\xE9v\u0151 lej\xE1rati d\xE1tumok megmaradnak." } },
"details": {
"loading": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Gar\xE1zs adatainak bet\xF6lt\xE9se..." } },
"retry": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "\xDAjra" } },
@@ -210,6 +221,8 @@ const resource = {
"vehicles_used": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "J\xE1rm\u0171vek" } },
"branches_used": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Telephelyek" } },
"employees_used": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Dolgoz\xF3k" } },
"branches": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "telephely" } },
"employees": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "dolgoz\xF3" } },
"status": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "St\xE1tusz" } },
"subscription_history": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "El\u0151fizet\xE9si El\u0151zm\xE9nyek" } },
"history_date": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "D\xE1tum" } },
@@ -292,8 +305,106 @@ const resource = {
"no_vehicles": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Ehhez a gar\xE1zshoz m\xE9g nincsenek j\xE1rm\u0171vek rendelve." } },
"no_fleet_access": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Nincs jogosults\xE1god a flotta adatok megtekint\xE9s\xE9hez." } }
}
},
"users": {
"title": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Felhaszn\xE1l\xF3 Kezel\xE9s" } },
"subtitle": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Felhaszn\xE1l\xF3k list\xE1ja, keres\xE9s, sz\u0171r\xE9s \xE9s t\xF6meges m\u0171veletek" } },
"loading": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Felhaszn\xE1l\xF3k bet\xF6lt\xE9se..." } },
"retry": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "\xDAjra" } },
"search_placeholder": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Keres\xE9s email, n\xE9v vagy telefonsz\xE1m alapj\xE1n..." } },
"all_statuses": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "\xD6sszes st\xE1tusz" } },
"status_active": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Akt\xEDv" } },
"status_inactive": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Inakt\xEDv" } },
"status_deleted": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "T\xF6r\xF6lt" } },
"status_banned": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Kitiltott" } },
"all_roles": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "\xD6sszes szerepk\xF6r" } },
"role_user": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Felhaszn\xE1l\xF3" } },
"role_admin": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Admin" } },
"role_staff": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Munkat\xE1rs" } },
"role_superadmin": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Superadmin" } },
"all_plans": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "\xD6sszes csomag" } },
"plan_free": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Ingyenes" } },
"plan_premium": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Pr\xE9mium" } },
"plan_enterprise": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "V\xE1llalati" } },
"total_users": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "\xD6sszes Felhaszn\xE1l\xF3" } },
"active_users": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Akt\xEDv Felhaszn\xE1l\xF3k" } },
"deleted_users": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "T\xF6r\xF6lt Felhaszn\xE1l\xF3k" } },
"banned_users": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Kitiltott Felhaszn\xE1l\xF3k" } },
"new_today": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Ma Regisztr\xE1lt" } },
"filtered_results": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Sz\u0171rt tal\xE1lat" } },
"selected_count": { "t": 0, "b": { "t": 2, "i": [{ "t": 4, "k": "count" }, { "t": 3, "v": " felhaszn\xE1l\xF3 kiv\xE1lasztva" }] } },
"bulk_activate": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Aktiv\xE1l\xE1s" } },
"bulk_deactivate": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Deaktiv\xE1l\xE1s" } },
"clear_selection": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Kijel\xF6l\xE9s t\xF6rl\xE9se" } },
"email": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "E-mail" } },
"name": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "N\xE9v" } },
"role": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Szerepk\xF6r" } },
"status": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "St\xE1tusz" } },
"package": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Csomag" } },
"registration": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Regisztr\xE1ci\xF3" } },
"language": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Nyelv" } },
"actions": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "M\u0171veletek" } },
"view": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Megtekint\xE9s" } },
"activate": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Aktiv\xE1l\xE1s" } },
"deactivate": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Deaktiv\xE1l\xE1s" } },
"no_results": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Nincs a keres\xE9snek megfelel\u0151 felhaszn\xE1l\xF3." } },
"showing": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Mutat\xF3" } },
"prev": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "El\u0151z\u0151" } },
"next": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "K\xF6vetkez\u0151" } },
"details": {
"loading": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Felhaszn\xE1l\xF3 adatainak bet\xF6lt\xE9se..." } },
"retry": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "\xDAjra" } },
"back": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Vissza a felhaszn\xE1l\xF3khoz" } },
"edit": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Felhaszn\xE1l\xF3 szerkeszt\xE9se" } },
"edit_user": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Felhaszn\xE1l\xF3 szerkeszt\xE9se" } },
"profile_tab": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Profil" } },
"memberships_tab": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Tags\xE1gok" } },
"account_info": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Fi\xF3k Inform\xE1ci\xF3k" } },
"user_id": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Felhaszn\xE1l\xF3 ID" } },
"registration_date": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Regisztr\xE1ci\xF3 D\xE1tuma" } },
"last_login": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Utols\xF3 Bel\xE9p\xE9s" } },
"ui_mode": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "UI M\xF3d" } },
"region": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "R\xE9gi\xF3" } },
"currency": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "P\xE9nznem" } },
"subscription_info": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "El\u0151fizet\xE9s Inform\xE1ci\xF3k" } },
"subscription_expires": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Lej\xE1rat D\xE1tuma" } },
"scope_level": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Hat\xE1sk\xF6r Szint" } },
"scope_id": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Hat\xE1sk\xF6r ID" } },
"max_vehicles": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Max J\xE1rm\u0171vek" } },
"max_garages": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Max Gar\xE1zsok" } },
"personal_info": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Szem\xE9lyes Inform\xE1ci\xF3k" } },
"last_name": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Vezet\xE9kn\xE9v" } },
"first_name": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Keresztn\xE9v" } },
"phone": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Telefonsz\xE1m" } },
"birth_place": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Sz\xFClet\xE9si Hely" } },
"birth_date": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Sz\xFClet\xE9si D\xE1tum" } },
"mothers_name": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Anyja Vezet\xE9kneve" } },
"mothers_first_name": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Anyja Keresztneve" } },
"address": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "C\xEDm" } },
"zip": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Ir\xE1ny\xEDt\xF3sz\xE1m" } },
"city": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "V\xE1ros" } },
"street": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Utca" } },
"house_number": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "H\xE1zsz\xE1m" } },
"no_person_record": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Nem tal\xE1lhat\xF3 szem\xE9lyes adat ehhez a felhaszn\xE1l\xF3hoz." } },
"memberships": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Szervezeti Tags\xE1gok" } },
"memberships_count": { "t": 0, "b": { "t": 2, "i": [{ "t": 4, "k": "count" }, { "t": 3, "v": " tags\xE1g" }] } },
"no_memberships": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Ez a felhaszn\xE1l\xF3 nem tagja egyetlen szervezetnek sem." } },
"org_name": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Szervezet" } },
"org_role": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Szerepk\xF6r" } },
"member_status": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "St\xE1tusz" } },
"joined_at": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Csatlakozott" } },
"verified": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Ellen\u0151rz\xF6tt" } },
"verified_yes": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Igen" } },
"verified_no": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Nem" } },
"preferred_language": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "El\u0151nyben R\xE9szes\xEDtett Nyelv" } },
"is_active": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Akt\xEDv" } },
"is_vip": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "VIP" } },
"cancel": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "M\xE9gse" } },
"save": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "V\xE1ltoztat\xE1sok Ment\xE9se" } },
"saving": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Ment\xE9s..." } }
}
}
};
export { resource as default };
//# sourceMappingURL=hu-Ck1VzT5S.mjs.map
//# sourceMappingURL=hu-DFYycw88.mjs.map

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1 +0,0 @@
{"version":3,"file":"index-92TOgIUU.mjs","sources":["../../../../.nuxt/dist/server/_nuxt/index-92TOgIUU.js"],"names":[],"mappings":";;;AAGA,MAAM,4BAA4B,eAAA,CAAgB;AAAA,EAChD,MAAA,EAAQ,OAAA;AAAA,EACR,iBAAA,EAAmB,IAAA;AAAA,EACnB,MAAM,OAAA,EAAS;AACb,IAAA,MAAM,gBAAA,GAAmB;AAAA,MACvB,EAAE,IAAA,EAAM,2CAAA,EAA6C,IAAA,EAAM,eAAA,EAAiB,UAAU,gBAAA,EAAiB;AAAA,MACvG,EAAE,IAAA,EAAM,kCAAA,EAAoC,IAAA,EAAM,gBAAA,EAAkB,UAAU,aAAA,EAAc;AAAA,MAC5F,EAAE,IAAA,EAAM,gDAAA,EAA6C,IAAA,EAAM,YAAA,EAAc,UAAU,gBAAA,EAAiB;AAAA,MACpG,EAAE,IAAA,EAAM,iDAAA,EAAmD,IAAA,EAAM,aAAA,EAAe,UAAU,aAAA,EAAc;AAAA,MACxG,EAAE,IAAA,EAAM,+CAAA,EAAiD,IAAA,EAAM,aAAA,EAAe,UAAU,eAAA;AAAgB,KAC1G;AACA,IAAA,OAAO,CAAC,IAAA,EAAM,KAAA,EAAO,OAAA,EAAS,MAAA,KAAW;AACvC,MAAA,KAAA,CAAM,CAAA,IAAA,EAAO,cAAA,CAAe,MAAM,CAAC,CAAA,q4NAAA,CAA63N,CAAA;AACh6N,MAAA,aAAA,CAAc,gBAAA,EAAkB,CAAC,QAAA,EAAU,KAAA,KAAU;AACnD,QAAA,KAAA,CAAM,mDAAmD,cAAA,CAAe,CAAC,SAAS,QAAA,EAAU,yCAAyC,CAAC,CAAC,CAAA,sEAAA,EAAyE,cAAA,CAAe,QAAA,CAAS,IAAI,CAAC,CAAA,6CAAA,EAAgD,eAAe,QAAA,CAAS,IAAI,CAAC,CAAA,gBAAA,CAAkB,CAAA;AAAA,MAC9U,CAAC,CAAA;AACD,MAAA,KAAA,CAAM,CAAA,gCAAA,CAAkC,CAAA;AAAA,IAC1C,CAAA;AAAA,EACF;AACF,CAAC;AACD,MAAM,aAAa,SAAA,CAAU,KAAA;AAC7B,SAAA,CAAU,KAAA,GAAQ,CAAC,KAAA,EAAO,GAAA,KAAQ;AAChC,EAAA,MAAM,aAAa,aAAA,EAAc;AACjC,EAAA,CAAC,UAAA,CAAW,YAAY,UAAA,CAAW,OAAA,uBAA8B,GAAA,EAAI,CAAA,EAAI,IAAI,iBAAiB,CAAA;AAC9F,EAAA,OAAO,UAAA,GAAa,UAAA,CAAW,KAAA,EAAO,GAAG,CAAA,GAAI,MAAA;AAC/C,CAAA;;;;"}

View File

@@ -1,6 +1,6 @@
import { defineComponent, ref, computed, unref, useSSRContext } from 'vue';
import { ssrRenderAttrs, ssrInterpolate, ssrRenderClass, ssrRenderList, ssrIncludeBooleanAttr, ssrRenderAttr } from 'vue/server-renderer';
import { d as useI18n } from './server.mjs';
import { a as useI18n } from './server.mjs';
import '../nitro/nitro.mjs';
import 'node:http';
import 'node:https';
@@ -211,4 +211,4 @@ _sfc_main.setup = (props, ctx) => {
};
export { _sfc_main as default };
//# sourceMappingURL=index-DgwDY6Ie.mjs.map
//# sourceMappingURL=index-BD2eKDSC.mjs.map

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,7 +1,7 @@
import { _ as __nuxt_component_0 } from './nuxt-link-C5PnX__I.mjs';
import { _ as __nuxt_component_0 } from './nuxt-link-Ci8vU-Yt.mjs';
import { defineComponent, ref, watch, computed, withCtx, createTextVNode, toDisplayString, useSSRContext } from 'vue';
import { ssrRenderAttrs, ssrInterpolate, ssrRenderAttr, ssrIncludeBooleanAttr, ssrLooseContain, ssrLooseEqual, ssrRenderList, ssrRenderClass, ssrRenderComponent } from 'vue/server-renderer';
import { c as useCookie } from './server.mjs';
import { d as useCookie } from './server.mjs';
import '../nitro/nitro.mjs';
import 'node:http';
import 'node:https';
@@ -267,4 +267,4 @@ _sfc_main.setup = (props, ctx) => {
};
export { _sfc_main as default };
//# sourceMappingURL=index-CzKBE-M2.mjs.map
//# sourceMappingURL=index-CemkpUgu.mjs.map

View File

@@ -0,0 +1,245 @@
import { _ as __nuxt_component_0 } from './nuxt-link-Ci8vU-Yt.mjs';
import { defineComponent, computed, ref, watch, withCtx, createTextVNode, toDisplayString, useSSRContext } from 'vue';
import { ssrRenderAttrs, ssrInterpolate, ssrRenderAttr, ssrIncludeBooleanAttr, ssrLooseContain, ssrLooseEqual, ssrRenderList, ssrRenderComponent, ssrRenderClass } from 'vue/server-renderer';
import { useRouter } from 'vue-router';
import { c as useAuthStore, d as useCookie } from './server.mjs';
import '../nitro/nitro.mjs';
import 'node:http';
import 'node:https';
import 'node:events';
import 'node:buffer';
import 'node:fs';
import 'node:path';
import 'node:crypto';
import 'node:url';
import 'pinia';
import '../routes/renderer.mjs';
import 'vue-bundle-renderer/runtime';
import 'unhead/server';
import 'devalue';
import 'unhead/utils';
import 'unhead/plugins';
const _sfc_main = /* @__PURE__ */ defineComponent({
__name: "index",
__ssrInlineRender: true,
setup(__props) {
const router = useRouter();
const auth = useAuthStore();
const canViewPersons = computed(() => {
var _a, _b;
if (auth.isAdmin) return true;
return !!((_b = (_a = auth.user) == null ? void 0 : _a.system_capabilities) == null ? void 0 : _b["persons:view"]);
});
computed(() => {
var _a, _b;
if (auth.isAdmin) return true;
return !!((_b = (_a = auth.user) == null ? void 0 : _a.system_capabilities) == null ? void 0 : _b["persons:edit"]);
});
computed(() => {
var _a, _b;
if (auth.isAdmin) return true;
return !!((_b = (_a = auth.user) == null ? void 0 : _a.system_capabilities) == null ? void 0 : _b["persons:merge"]);
});
if (!canViewPersons.value && !auth.isAdmin) {
router.push("/");
}
const loading = ref(true);
const error = ref(null);
const persons = ref([]);
const totalCount = ref(0);
const skip = ref(0);
const limit = ref(50);
const searchQuery = ref("");
const ghostFilter = ref("all");
const activeFilter = ref("all");
const hasUserFilter = ref("all");
const mergedFilter = ref("all");
const notification = ref(null);
const activeCount = computed(() => persons.value.filter((p) => p.is_active).length);
const ghostCount = computed(() => persons.value.filter((p) => p.is_ghost).length);
const mergedCount = computed(() => persons.value.filter((p) => p.merged_into_id).length);
let searchDebounceTimer = null;
function debouncedFetchPersons() {
if (searchDebounceTimer) {
clearTimeout(searchDebounceTimer);
}
searchDebounceTimer = setTimeout(() => {
skip.value = 0;
fetchPersons();
}, 400);
}
watch(searchQuery, () => {
debouncedFetchPersons();
});
watch([ghostFilter, activeFilter, hasUserFilter, mergedFilter], () => {
skip.value = 0;
fetchPersons();
});
const isFilterActive = computed(() => {
return searchQuery.value !== "" || ghostFilter.value !== "all" || activeFilter.value !== "all" || hasUserFilter.value !== "all" || mergedFilter.value !== "all";
});
function getAuthHeaders() {
const tokenCookie = useCookie("access_token");
const token = tokenCookie.value;
return token ? { Authorization: `Bearer ${token}` } : {};
}
async function fetchPersons() {
var _a;
loading.value = true;
error.value = null;
try {
const params = { skip: skip.value, limit: limit.value };
if (searchQuery.value) {
params.search = searchQuery.value;
}
if (ghostFilter.value !== "all") {
params.is_ghost = ghostFilter.value === "yes";
}
if (activeFilter.value !== "all") {
params.is_active = activeFilter.value === "active";
}
if (hasUserFilter.value !== "all") {
params.has_user = hasUserFilter.value === "yes";
}
if (mergedFilter.value !== "all") {
params.is_merged = mergedFilter.value === "yes";
}
const response = await $fetch("/api/v1/admin/persons", {
params,
headers: getAuthHeaders()
});
persons.value = response.items;
totalCount.value = response.total;
} catch (err) {
console.error("[Persons] Failed to fetch persons:", err);
error.value = ((_a = err == null ? void 0 : err.data) == null ? void 0 : _a.detail) || (err == null ? void 0 : err.message) || "Failed to load persons";
} finally {
loading.value = false;
}
}
function roleBadgeClass(role) {
const r = (role || "").toLowerCase();
if (r === "superadmin") return "bg-purple-500/20 text-purple-300";
if (r === "admin") return "bg-indigo-500/20 text-indigo-300";
if (r === "staff") return "bg-cyan-500/20 text-cyan-300";
return "bg-slate-500/20 text-slate-300";
}
function formatDate(dateStr) {
if (!dateStr) return "\u2014";
try {
const d = new Date(dateStr);
return d.toLocaleDateString("hu-HU", {
year: "numeric",
month: "short",
day: "numeric"
});
} catch {
return dateStr;
}
}
return (_ctx, _push, _parent, _attrs) => {
const _component_NuxtLink = __nuxt_component_0;
_push(`<div${ssrRenderAttrs(_attrs)}><div class="mb-8"><h1 class="text-2xl font-bold text-white">${ssrInterpolate(_ctx.$t("persons.title"))}</h1><p class="text-slate-400 mt-1">${ssrInterpolate(_ctx.$t("persons.subtitle"))}</p></div><div class="flex flex-col sm:flex-row items-start sm:items-center justify-between gap-4 mb-6"><div class="relative flex-1 max-w-md"><svg class="absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-slate-500" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"></path></svg><input${ssrRenderAttr("value", searchQuery.value)} type="text"${ssrRenderAttr("placeholder", _ctx.$t("persons.search_placeholder"))} class="w-full pl-10 pr-4 py-2.5 bg-slate-800 border border-slate-700 rounded-lg text-sm text-white placeholder-slate-500 focus:outline-none focus:ring-2 focus:ring-indigo-500/50 focus:border-indigo-500 transition"></div><div class="flex items-center gap-2 flex-wrap"><select class="px-3 py-2.5 bg-slate-800 border border-slate-700 rounded-lg text-sm text-slate-300 focus:outline-none focus:ring-2 focus:ring-indigo-500/50 transition"><option value="all"${ssrIncludeBooleanAttr(Array.isArray(ghostFilter.value) ? ssrLooseContain(ghostFilter.value, "all") : ssrLooseEqual(ghostFilter.value, "all")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("persons.all_ghost_statuses"))}</option><option value="no"${ssrIncludeBooleanAttr(Array.isArray(ghostFilter.value) ? ssrLooseContain(ghostFilter.value, "no") : ssrLooseEqual(ghostFilter.value, "no")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("persons.ghost_no"))}</option><option value="yes"${ssrIncludeBooleanAttr(Array.isArray(ghostFilter.value) ? ssrLooseContain(ghostFilter.value, "yes") : ssrLooseEqual(ghostFilter.value, "yes")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("persons.ghost_yes"))}</option></select><select class="px-3 py-2.5 bg-slate-800 border border-slate-700 rounded-lg text-sm text-slate-300 focus:outline-none focus:ring-2 focus:ring-indigo-500/50 transition"><option value="all"${ssrIncludeBooleanAttr(Array.isArray(activeFilter.value) ? ssrLooseContain(activeFilter.value, "all") : ssrLooseEqual(activeFilter.value, "all")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("persons.all_active_statuses"))}</option><option value="active"${ssrIncludeBooleanAttr(Array.isArray(activeFilter.value) ? ssrLooseContain(activeFilter.value, "active") : ssrLooseEqual(activeFilter.value, "active")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("persons.active_yes"))}</option><option value="inactive"${ssrIncludeBooleanAttr(Array.isArray(activeFilter.value) ? ssrLooseContain(activeFilter.value, "inactive") : ssrLooseEqual(activeFilter.value, "inactive")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("persons.active_no"))}</option></select><select class="px-3 py-2.5 bg-slate-800 border border-slate-700 rounded-lg text-sm text-slate-300 focus:outline-none focus:ring-2 focus:ring-indigo-500/50 transition"><option value="all"${ssrIncludeBooleanAttr(Array.isArray(hasUserFilter.value) ? ssrLooseContain(hasUserFilter.value, "all") : ssrLooseEqual(hasUserFilter.value, "all")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("persons.all_user_statuses"))}</option><option value="yes"${ssrIncludeBooleanAttr(Array.isArray(hasUserFilter.value) ? ssrLooseContain(hasUserFilter.value, "yes") : ssrLooseEqual(hasUserFilter.value, "yes")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("persons.has_user_yes"))}</option><option value="no"${ssrIncludeBooleanAttr(Array.isArray(hasUserFilter.value) ? ssrLooseContain(hasUserFilter.value, "no") : ssrLooseEqual(hasUserFilter.value, "no")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("persons.has_user_no"))}</option></select><select class="px-3 py-2.5 bg-slate-800 border border-slate-700 rounded-lg text-sm text-slate-300 focus:outline-none focus:ring-2 focus:ring-indigo-500/50 transition"><option value="all"${ssrIncludeBooleanAttr(Array.isArray(mergedFilter.value) ? ssrLooseContain(mergedFilter.value, "all") : ssrLooseEqual(mergedFilter.value, "all")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("persons.all_merged_statuses"))}</option><option value="no"${ssrIncludeBooleanAttr(Array.isArray(mergedFilter.value) ? ssrLooseContain(mergedFilter.value, "no") : ssrLooseEqual(mergedFilter.value, "no")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("persons.merged_no"))}</option><option value="yes"${ssrIncludeBooleanAttr(Array.isArray(mergedFilter.value) ? ssrLooseContain(mergedFilter.value, "yes") : ssrLooseEqual(mergedFilter.value, "yes")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("persons.merged_yes"))}</option></select></div></div>`);
if (loading.value) {
_push(`<div class="flex items-center justify-center py-20"><div class="flex flex-col items-center gap-3"><svg class="w-8 h-8 text-indigo-400 animate-spin" fill="none" viewBox="0 0 24 24"><circle class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4"></circle><path class="opacity-75" fill="currentColor" d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"></path></svg><p class="text-slate-400 text-sm">${ssrInterpolate(_ctx.$t("persons.loading"))}</p></div></div>`);
} else if (error.value) {
_push(`<div class="flex flex-col items-center justify-center py-20 text-center"><svg class="w-12 h-12 text-red-500 mb-4" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" 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"></path></svg><p class="text-red-400 text-sm mb-2">${ssrInterpolate(error.value)}</p><button class="px-4 py-2 text-sm bg-indigo-600/20 text-indigo-300 hover:bg-indigo-600/30 rounded-lg transition">${ssrInterpolate(_ctx.$t("persons.retry"))}</button></div>`);
} else {
_push(`<!--[--><div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-4 mb-8"><div class="bg-slate-800 rounded-xl border border-slate-700 p-4"><div class="flex items-center gap-3"><div class="p-2 rounded-lg bg-indigo-500/10 text-indigo-400"><svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17 20h5v-2a3 3 0 00-5.356-1.857M17 20H7m10 0v-2c0-.656-.126-1.283-.356-1.857M7 20H2v-2a3 3 0 015.356-1.857M7 20v-2c0-.656.126-1.283.356-1.857m0 0a5.002 5.002 0 019.288 0M15 7a3 3 0 11-6 0 3 3 0 016 0z"></path></svg></div><div><p class="text-xs text-slate-400 uppercase tracking-wider">${ssrInterpolate(_ctx.$t("persons.total_persons"))}</p><p class="text-2xl font-bold text-white">${ssrInterpolate(totalCount.value)}</p></div></div></div><div class="bg-slate-800 rounded-xl border border-slate-700 p-4"><div class="flex items-center gap-3"><div class="p-2 rounded-lg bg-emerald-500/10 text-emerald-400"><svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"></path></svg></div><div><p class="text-xs text-slate-400 uppercase tracking-wider">${ssrInterpolate(_ctx.$t("persons.active_persons"))}</p><p class="text-2xl font-bold text-emerald-400">${ssrInterpolate(activeCount.value)}</p></div></div></div><div class="bg-slate-800 rounded-xl border border-slate-700 p-4"><div class="flex items-center gap-3"><div class="p-2 rounded-lg bg-amber-500/10 text-amber-400"><svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M18.364 18.364A9 9 0 005.636 5.636m12.728 12.728A9 9 0 015.636 5.636m12.728 12.728L5.636 5.636"></path></svg></div><div><p class="text-xs text-slate-400 uppercase tracking-wider">${ssrInterpolate(_ctx.$t("persons.ghost_persons"))}</p><p class="text-2xl font-bold text-amber-400">${ssrInterpolate(ghostCount.value)}</p></div></div></div><div class="bg-slate-800 rounded-xl border border-slate-700 p-4"><div class="flex items-center gap-3"><div class="p-2 rounded-lg bg-red-500/10 text-red-400"><svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z"></path></svg></div><div><p class="text-xs text-slate-400 uppercase tracking-wider">${ssrInterpolate(_ctx.$t("persons.merged_persons"))}</p><p class="text-2xl font-bold text-red-400">${ssrInterpolate(mergedCount.value)}</p></div></div></div></div>`);
if (isFilterActive.value) {
_push(`<div class="mb-4 text-xs text-slate-500">${ssrInterpolate(_ctx.$t("persons.filtered_results"))}: <span class="text-slate-300 font-semibold">${ssrInterpolate(persons.value.length)}</span> / ${ssrInterpolate(totalCount.value)} db </div>`);
} else {
_push(`<!---->`);
}
_push(`<div class="bg-slate-800/50 border border-slate-700 rounded-xl overflow-hidden"><div class="overflow-x-auto"><table class="w-full text-sm"><thead><tr class="border-b border-slate-700 bg-slate-800/80"><th class="text-left py-3.5 px-4 text-xs font-semibold uppercase tracking-wider text-slate-400">ID</th><th class="text-left py-3.5 px-4 text-xs font-semibold uppercase tracking-wider text-slate-400">${ssrInterpolate(_ctx.$t("persons.name"))}</th><th class="text-left py-3.5 px-4 text-xs font-semibold uppercase tracking-wider text-slate-400">${ssrInterpolate(_ctx.$t("persons.phone"))}</th><th class="text-left py-3.5 px-4 text-xs font-semibold uppercase tracking-wider text-slate-400">${ssrInterpolate(_ctx.$t("persons.birth_date"))}</th><th class="text-left py-3.5 px-4 text-xs font-semibold uppercase tracking-wider text-slate-400">${ssrInterpolate(_ctx.$t("persons.status"))}</th><th class="text-left py-3.5 px-4 text-xs font-semibold uppercase tracking-wider text-slate-400">${ssrInterpolate(_ctx.$t("persons.users_count"))}</th><th class="text-left py-3.5 px-4 text-xs font-semibold uppercase tracking-wider text-slate-400">${ssrInterpolate(_ctx.$t("persons.active_user"))}</th><th class="text-left py-3.5 px-4 text-xs font-semibold uppercase tracking-wider text-slate-400">${ssrInterpolate(_ctx.$t("persons.address"))}</th><th class="text-left py-3.5 px-4 text-xs font-semibold uppercase tracking-wider text-slate-400">${ssrInterpolate(_ctx.$t("persons.actions"))}</th></tr></thead><tbody><!--[-->`);
ssrRenderList(persons.value, (person) => {
_push(`<tr class="border-b border-slate-700/50 hover:bg-slate-700/30 transition"><td class="py-3.5 px-4 text-slate-400 font-mono text-xs">${ssrInterpolate(person.id)}</td><td class="py-3.5 px-4">`);
_push(ssrRenderComponent(_component_NuxtLink, {
to: "/persons/" + person.id,
class: "text-sm font-medium text-white hover:underline cursor-pointer hover:text-indigo-400 transition-colors"
}, {
default: withCtx((_, _push2, _parent2, _scopeId) => {
if (_push2) {
_push2(`${ssrInterpolate(person.last_name)} ${ssrInterpolate(person.first_name)}`);
} else {
return [
createTextVNode(toDisplayString(person.last_name) + " " + toDisplayString(person.first_name), 1)
];
}
}),
_: 2
}, _parent));
_push(`</td><td class="py-3.5 px-4 text-slate-300">${ssrInterpolate(person.phone || "\u2014")}</td><td class="py-3.5 px-4 text-slate-300 text-xs">${ssrInterpolate(formatDate(person.birth_date))}</td><td class="py-3.5 px-4"><div class="flex flex-wrap gap-1"><span class="${ssrRenderClass([person.is_active ? "bg-emerald-500/10 text-emerald-400" : "bg-amber-500/10 text-amber-400", "inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium"])}"><span class="${ssrRenderClass([person.is_active ? "bg-emerald-400" : "bg-amber-400", "w-1.5 h-1.5 rounded-full mr-1.5"])}"></span> ${ssrInterpolate(person.is_active ? _ctx.$t("persons.active") : _ctx.$t("persons.inactive"))}</span>`);
if (person.is_ghost) {
_push(`<span class="inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium bg-purple-500/20 text-purple-300">${ssrInterpolate(_ctx.$t("persons.ghost"))}</span>`);
} else {
_push(`<!---->`);
}
if (person.merged_into_id) {
_push(`<span class="inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium bg-red-500/20 text-red-300">${ssrInterpolate(_ctx.$t("persons.merged"))}</span>`);
} else {
_push(`<!---->`);
}
_push(`</div></td><td class="py-3.5 px-4"><span class="text-slate-300">${ssrInterpolate(person.users_count)}</span></td><td class="py-3.5 px-4">`);
if (person.active_user) {
_push(`<div><p class="text-slate-300 text-xs">${ssrInterpolate(person.active_user.email)}</p><span class="${ssrRenderClass([roleBadgeClass(person.active_user.role), "inline-flex items-center px-2 py-0.5 rounded-full text-xs font-medium"])}">${ssrInterpolate(person.active_user.role)}</span></div>`);
} else {
_push(`<span class="text-slate-500">\u2014</span>`);
}
_push(`</td><td class="py-3.5 px-4">`);
if (person.address) {
_push(`<span class="text-slate-300 text-xs">${ssrInterpolate(person.address.full_address_text || person.address.address_city + ", " + person.address.address_street_name + " " + (person.address.address_house_number || ""))}</span>`);
} else {
_push(`<span class="text-slate-500">\u2014</span>`);
}
_push(`</td><td class="py-3.5 px-4"><div class="flex items-center gap-2">`);
_push(ssrRenderComponent(_component_NuxtLink, {
to: "/persons/" + person.id,
class: "px-3 py-1.5 text-xs font-medium bg-slate-600/20 text-slate-300 hover:bg-slate-600/30 rounded-lg transition"
}, {
default: withCtx((_, _push2, _parent2, _scopeId) => {
if (_push2) {
_push2(`${ssrInterpolate(_ctx.$t("persons.view"))}`);
} else {
return [
createTextVNode(toDisplayString(_ctx.$t("persons.view")), 1)
];
}
}),
_: 2
}, _parent));
_push(`</div></td></tr>`);
});
_push(`<!--]--></tbody></table></div>`);
if (persons.value.length === 0 && !loading.value) {
_push(`<div class="flex flex-col items-center justify-center py-16 text-center"><svg class="w-12 h-12 text-slate-600 mb-4" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M17 20h5v-2a3 3 0 00-5.356-1.857M17 20H7m10 0v-2c0-.656-.126-1.283-.356-1.857M7 20H2v-2a3 3 0 015.356-1.857M7 20v-2c0-.656.126-1.283.356-1.857m0 0a5.002 5.002 0 019.288 0M15 7a3 3 0 11-6 0 3 3 0 016 0z"></path></svg><p class="text-slate-400 text-sm">${ssrInterpolate(_ctx.$t("persons.no_results"))}</p></div>`);
} else {
_push(`<!---->`);
}
_push(`</div>`);
if (totalCount.value > limit.value) {
_push(`<div class="flex items-center justify-between mt-6"><p class="text-xs text-slate-500">${ssrInterpolate(_ctx.$t("persons.showing"))} ${ssrInterpolate(skip.value + 1)}\u2013${ssrInterpolate(Math.min(skip.value + limit.value, totalCount.value))} / ${ssrInterpolate(totalCount.value)}</p><div class="flex items-center gap-2"><button${ssrIncludeBooleanAttr(skip.value === 0) ? " disabled" : ""} class="${ssrRenderClass([skip.value > 0 ? "bg-slate-700 text-slate-300 hover:bg-slate-600" : "bg-slate-800 text-slate-600", "px-3 py-1.5 text-xs font-medium rounded-lg transition disabled:opacity-30 disabled:cursor-not-allowed"])}">${ssrInterpolate(_ctx.$t("persons.prev"))}</button><button${ssrIncludeBooleanAttr(skip.value + limit.value >= totalCount.value) ? " disabled" : ""} class="${ssrRenderClass([skip.value + limit.value < totalCount.value ? "bg-slate-700 text-slate-300 hover:bg-slate-600" : "bg-slate-800 text-slate-600", "px-3 py-1.5 text-xs font-medium rounded-lg transition disabled:opacity-30 disabled:cursor-not-allowed"])}">${ssrInterpolate(_ctx.$t("persons.next"))}</button></div></div>`);
} else {
_push(`<!---->`);
}
_push(`<!--]-->`);
}
if (notification.value) {
_push(`<div class="${ssrRenderClass([notification.value.type === "success" ? "bg-emerald-600 text-white" : "bg-red-600 text-white", "fixed bottom-6 right-6 px-5 py-3 rounded-xl shadow-xl text-sm font-medium z-50"])}">${ssrInterpolate(notification.value.message)}</div>`);
} else {
_push(`<!---->`);
}
_push(`</div>`);
};
}
});
const _sfc_setup = _sfc_main.setup;
_sfc_main.setup = (props, ctx) => {
const ssrContext = useSSRContext();
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("pages/persons/index.vue");
return _sfc_setup ? _sfc_setup(props, ctx) : void 0;
};
export { _sfc_main as default };
//# sourceMappingURL=index-Ci9UUd4C.mjs.map

File diff suppressed because one or more lines are too long

View File

@@ -1,5 +1,5 @@
import { defineComponent, ref, computed, reactive, unref, useSSRContext } from 'vue';
import { ssrRenderAttrs, ssrInterpolate, ssrRenderList, ssrRenderClass, ssrRenderAttr, ssrIncludeBooleanAttr, ssrLooseContain, ssrLooseEqual } from 'vue/server-renderer';
import { ssrRenderAttrs, ssrInterpolate, ssrRenderClass, ssrRenderList, ssrRenderAttr, ssrIncludeBooleanAttr, ssrLooseEqual, ssrLooseContain } from 'vue/server-renderer';
import { u as useRegionStore } from './region-0mvXqaMM.mjs';
import 'pinia';
@@ -113,6 +113,15 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
const tab = tabs.find((t) => t.key === activeTab.value);
return tab ? tab.label : "";
});
const listTab = ref("base");
const basePackages = computed(() => packages.value.filter((p) => {
var _a;
return ((_a = p.rules) == null ? void 0 : _a.type) !== "addon";
}));
const addonPackages = computed(() => packages.value.filter((p) => {
var _a;
return ((_a = p.rules) == null ? void 0 : _a.type) === "addon";
}));
const packages = ref([]);
const loading = ref(true);
const error = ref(null);
@@ -143,6 +152,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
currency: "EUR",
max_vehicles: 1,
max_garages: 1,
max_users: 1,
monthly_free_credits: 0,
max_cost_category_depth: 3,
advanced_reports: false,
@@ -220,8 +230,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
} else if (packages.value.length === 0) {
_push(`<div class="bg-slate-800/50 border border-slate-700 rounded-xl p-12 text-center"><svg class="w-16 h-16 mx-auto text-slate-600 mb-4" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M20 7l-8-4-8 4m16 0l-8 4m8-4v10l-8 4m0-10L4 7m8 4v10M4 7v10l8 4"></path></svg><h3 class="text-lg font-medium text-slate-300 mb-2">${ssrInterpolate(_ctx.$t("packages.no_packages"))}</h3><p class="text-slate-500 mb-6">${ssrInterpolate(_ctx.$t("packages.no_packages_desc"))}</p><button class="px-5 py-2.5 bg-emerald-600 hover:bg-emerald-500 text-white font-medium rounded-lg transition text-sm">${ssrInterpolate(_ctx.$t("packages.create_first"))}</button></div>`);
} else {
_push(`<div class="grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-6 mb-8"><!--[-->`);
ssrRenderList(packages.value, (pkg) => {
_push(`<div class="space-y-6 mb-8"><div class="mb-6"><div class="flex gap-2 border-b border-slate-700"><button class="${ssrRenderClass([listTab.value === "base" ? "border-indigo-500 text-indigo-300" : "border-transparent text-slate-400 hover:text-slate-200 hover:border-slate-500", "px-5 py-3 text-sm font-medium border-b-2 transition"])}"><span class="flex items-center gap-2"><svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M20 7l-8-4-8 4m16 0l-8 4m8-4v10l-8 4m0-10L4 7m8 4v10M4 7v10l8 4"></path></svg> Alapcsomagok </span></button><button class="${ssrRenderClass([listTab.value === "addon" ? "border-amber-500 text-amber-300" : "border-transparent text-slate-400 hover:text-slate-200 hover:border-slate-500", "px-5 py-3 text-sm font-medium border-b-2 transition"])}"><span class="flex items-center gap-2"><svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 9v3m0 0v3m0-3h3m-3 0H9m12 0a9 9 0 11-18 0 9 9 0 0118 0z"></path></svg> Kieg\xE9sz\xEDt\u0151k </span></button></div></div><div class="grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-6"><!--[-->`);
ssrRenderList(listTab.value === "base" ? basePackages.value : addonPackages.value, (pkg) => {
var _a;
_push(`<div class="bg-slate-800 rounded-xl border border-slate-700 p-6 flex flex-col transition-all hover:border-slate-600"><div class="flex items-center justify-between mb-4"><div class="flex items-center gap-3"><div class="${ssrRenderClass([getTierColorClass(pkg.tier_level), "p-2 rounded-lg"])}"><span class="w-5 h-5 text-lg">${(_a = getTierIcon(pkg.tier_level)) != null ? _a : ""}</span></div><div><h2 class="text-lg font-semibold text-white">${ssrInterpolate(getDisplayName(pkg))}</h2><span class="text-xs text-slate-500 font-mono">${ssrInterpolate(pkg.name)}</span></div></div><div class="flex items-center gap-1.5 flex-wrap">`);
if (pkg.tier_level >= 1) {
@@ -239,25 +249,54 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
} else {
_push(`<!---->`);
}
_push(`</div></div><div class="mb-4"><span class="text-3xl font-bold text-white">${ssrInterpolate(getFormattedPrice(pkg))}</span><span class="text-sm text-slate-400 ml-1">/ ${ssrInterpolate(_ctx.$t("packages.month"))}</span></div><p class="text-sm text-slate-400 mb-4 flex-1">${ssrInterpolate(getDescription(pkg))}</p><div class="border-t border-slate-700 pt-4 mb-4"><h3 class="text-xs font-semibold uppercase tracking-wider text-slate-500 mb-3">${ssrInterpolate(_ctx.$t("packages.allowances"))}</h3><div class="space-y-2"><div class="flex items-center justify-between text-sm"><span class="text-slate-400">${ssrInterpolate(_ctx.$t("packages.max_vehicles"))}</span><span class="text-slate-200 font-medium">${ssrInterpolate(getAllowance(pkg, "max_vehicles"))}</span></div><div class="flex items-center justify-between text-sm"><span class="text-slate-400">${ssrInterpolate(_ctx.$t("packages.max_garages"))}</span><span class="text-slate-200 font-medium">${ssrInterpolate(getAllowance(pkg, "max_garages"))}</span></div><div class="flex items-center justify-between text-sm"><span class="text-slate-400">${ssrInterpolate(_ctx.$t("packages.monthly_credits"))}</span><span class="text-slate-200 font-medium">${ssrInterpolate(getAllowance(pkg, "monthly_free_credits"))}</span></div></div></div><div class="mb-4"><span class="text-xs text-slate-500">${ssrInterpolate(_ctx.$t("packages.tier_level"))}: </span><span class="text-xs font-mono text-slate-400">${ssrInterpolate(pkg.tier_level)}</span></div><div class="flex gap-2"><button class="flex-1 px-4 py-2.5 bg-indigo-600 hover:bg-indigo-500 text-white font-medium rounded-lg transition text-sm">${ssrInterpolate(_ctx.$t("packages.edit"))}</button><button class="px-3 py-2.5 bg-emerald-700 hover:bg-emerald-600 text-emerald-200 rounded-lg transition"${ssrRenderAttr("title", _ctx.$t("packages.duplicate"))}><svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"></path></svg></button><button class="px-3 py-2.5 bg-red-700 hover:bg-red-600 text-red-200 rounded-lg transition"${ssrRenderAttr("title", _ctx.$t("packages.delete"))}><svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"></path></svg></button></div></div>`);
_push(`</div></div><div class="mb-4"><span class="text-3xl font-bold text-white">${ssrInterpolate(getFormattedPrice(pkg))}</span><span class="text-sm text-slate-400 ml-1">/ ${ssrInterpolate(_ctx.$t("packages.month"))}</span></div><p class="text-sm text-slate-400 mb-4 flex-1">${ssrInterpolate(getDescription(pkg))}</p><div class="border-t border-slate-700 pt-4 mb-4"><h3 class="text-xs font-semibold uppercase tracking-wider text-slate-500 mb-3">${ssrInterpolate(_ctx.$t("packages.allowances"))}</h3><div class="space-y-2"><div class="flex items-center justify-between text-sm"><span class="text-slate-400">${ssrInterpolate(_ctx.$t("packages.max_vehicles"))}</span><span class="text-slate-200 font-medium">${ssrInterpolate(getAllowance(pkg, "max_vehicles"))}</span></div><div class="flex items-center justify-between text-sm"><span class="text-slate-400">${ssrInterpolate(_ctx.$t("packages.max_garages"))}</span><span class="text-slate-200 font-medium">${ssrInterpolate(getAllowance(pkg, "max_garages"))}</span></div><div class="flex items-center justify-between text-sm"><span class="text-slate-400">${ssrInterpolate(_ctx.$t("packages.max_users"))}</span><span class="text-slate-200 font-medium">${ssrInterpolate(getAllowance(pkg, "max_users"))}</span></div><div class="flex items-center justify-between text-sm"><span class="text-slate-400">${ssrInterpolate(_ctx.$t("packages.monthly_credits"))}</span><span class="text-slate-200 font-medium">${ssrInterpolate(getAllowance(pkg, "monthly_free_credits"))}</span></div></div></div><div class="mb-4"><span class="text-xs text-slate-500">${ssrInterpolate(_ctx.$t("packages.tier_level"))}: </span><span class="text-xs font-mono text-slate-400">${ssrInterpolate(pkg.tier_level)}</span></div><div class="flex gap-2"><button class="flex-1 px-4 py-2.5 bg-indigo-600 hover:bg-indigo-500 text-white font-medium rounded-lg transition text-sm">${ssrInterpolate(_ctx.$t("packages.edit"))}</button><button class="px-3 py-2.5 bg-emerald-700 hover:bg-emerald-600 text-emerald-200 rounded-lg transition"${ssrRenderAttr("title", _ctx.$t("packages.duplicate"))}><svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"></path></svg></button><button class="px-3 py-2.5 bg-red-700 hover:bg-red-600 text-red-200 rounded-lg transition"${ssrRenderAttr("title", _ctx.$t("packages.delete"))}><svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"></path></svg></button></div></div>`);
});
_push(`<!--]--></div>`);
_push(`<!--]--></div></div>`);
}
if (showModal.value) {
_push(`<div class="fixed inset-0 z-50 flex items-center justify-center bg-black/60"><div class="bg-slate-800 border border-slate-700 rounded-xl w-full max-w-3xl mx-4 shadow-2xl max-h-[90vh] flex flex-col"><div class="flex items-center justify-between px-6 py-4 border-b border-slate-700"><h3 class="text-lg font-semibold text-white">${ssrInterpolate(isCreating.value ? _ctx.$t("packages.create_title") : _ctx.$t("packages.edit_title") + ": " + getDisplayName(editingPackage.value))}</h3><button class="p-1 rounded-lg text-slate-400 hover:text-white hover:bg-slate-700 transition"><svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12"></path></svg></button></div><div class="flex border-b border-slate-700 px-6"><!--[-->`);
_push(`<div class="fixed inset-0 z-50 flex items-center justify-center bg-black/60"><div class="bg-slate-800 border border-slate-700 rounded-xl w-full max-w-3xl mx-4 shadow-2xl max-h-[90vh] flex flex-col"><div class="flex items-center justify-between px-6 py-4 border-b border-slate-700"><h3 class="text-lg font-semibold text-white">${ssrInterpolate(isCreating.value ? _ctx.$t("packages.create_title") : _ctx.$t("packages.edit_title") + ": " + getDisplayName(editingPackage.value))}</h3><button class="p-1 rounded-lg text-slate-400 hover:text-white hover:bg-slate-700 transition"><svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12"></path></svg></button></div><div class="px-6 pt-4 pb-2 mb-6"><div class="bg-slate-700/40 border border-slate-600 rounded-xl p-4"><label class="block text-sm font-semibold text-slate-200 mb-3">${ssrInterpolate(_ctx.$t("packages.form_type"))}</label><div class="flex gap-4"><label class="${ssrRenderClass([form.type === "base" || form.type === "private" || form.type === "corporate" ? "border-indigo-500 bg-indigo-500/10" : "border-slate-600 bg-slate-700/50 hover:border-slate-500", "flex-1 flex items-center gap-3 px-4 py-3 rounded-lg border-2 cursor-pointer transition"])}"><input type="radio" name="packageType" value="private"${ssrIncludeBooleanAttr(ssrLooseEqual(form.type, "private")) ? " checked" : ""} class="sr-only"><div class="${ssrRenderClass([form.type === "private" || form.type === "corporate" || form.type === "base" ? "border-indigo-500" : "border-slate-500", "w-5 h-5 rounded-full border-2 flex items-center justify-center flex-shrink-0"])}">`);
if (form.type === "private" || form.type === "corporate" || form.type === "base") {
_push(`<div class="w-2.5 h-2.5 rounded-full bg-indigo-500"></div>`);
} else {
_push(`<!---->`);
}
_push(`</div><div><span class="text-sm font-medium text-white">\u{1F4E6} Alapcsomag (Base Tier)</span><p class="text-xs text-slate-400 mt-0.5">Teljes jog\xFA csomag j\xE1rm\u0171vekkel, gar\xE1zsokkal, felhaszn\xE1l\xF3kkal</p></div></label><label class="${ssrRenderClass([form.type === "addon" ? "border-amber-500 bg-amber-500/10" : "border-slate-600 bg-slate-700/50 hover:border-slate-500", "flex-1 flex items-center gap-3 px-4 py-3 rounded-lg border-2 cursor-pointer transition"])}"><input type="radio" name="packageType" value="addon"${ssrIncludeBooleanAttr(ssrLooseEqual(form.type, "addon")) ? " checked" : ""} class="sr-only"><div class="${ssrRenderClass([form.type === "addon" ? "border-amber-500" : "border-slate-500", "w-5 h-5 rounded-full border-2 flex items-center justify-center flex-shrink-0"])}">`);
if (form.type === "addon") {
_push(`<div class="w-2.5 h-2.5 rounded-full bg-amber-500"></div>`);
} else {
_push(`<!---->`);
}
_push(`</div><div><span class="text-sm font-medium text-white">\u2795 Kieg\xE9sz\xEDt\u0151 (Add-on)</span><p class="text-xs text-slate-400 mt-0.5">Kieg\xE9sz\xEDt\u0151 modul megl\xE9v\u0151 csomaghoz, korl\xE1tozott opci\xF3kkal</p></div></label></div></div></div><div class="flex border-b border-slate-700 px-6"><!--[-->`);
ssrRenderList(tabs, (tab) => {
_push(`<button class="${ssrRenderClass([activeTab.value === tab.key ? "border-indigo-500 text-indigo-300" : "border-transparent text-slate-400 hover:text-slate-200 hover:border-slate-500", "px-4 py-3 text-sm font-medium border-b-2 transition"])}">${ssrInterpolate(tab.label)}</button>`);
});
_push(`<!--]--></div><div class="flex-1 overflow-y-auto px-6 py-5">`);
if (activeTab.value === "basic") {
_push(`<div class="space-y-4"><div><label class="block text-sm font-medium text-slate-300 mb-1">${ssrInterpolate(_ctx.$t("packages.form_name"))}</label><input${ssrRenderAttr("value", form.name)} type="text" class="w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-indigo-500 focus:border-transparent"${ssrRenderAttr("placeholder", _ctx.$t("packages.form_name_placeholder"))}></div><div><label class="block text-sm font-medium text-slate-300 mb-1">${ssrInterpolate(_ctx.$t("packages.form_display_name"))}</label><input${ssrRenderAttr("value", form.display_name)} type="text" class="w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-indigo-500 focus:border-transparent"${ssrRenderAttr("placeholder", _ctx.$t("packages.form_display_name_placeholder"))}></div><div class="grid grid-cols-2 gap-4"><div><label class="block text-sm font-medium text-slate-300 mb-1">${ssrInterpolate(_ctx.$t("packages.form_type"))}</label><select class="w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-indigo-500 focus:border-transparent"><option value="private"${ssrIncludeBooleanAttr(Array.isArray(form.type) ? ssrLooseContain(form.type, "private") : ssrLooseEqual(form.type, "private")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("packages.type_private"))}</option><option value="corporate"${ssrIncludeBooleanAttr(Array.isArray(form.type) ? ssrLooseContain(form.type, "corporate") : ssrLooseEqual(form.type, "corporate")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("packages.type_corporate"))}</option></select></div><div><label class="block text-sm font-medium text-slate-300 mb-1">${ssrInterpolate(_ctx.$t("packages.form_tier_level"))}</label><input${ssrRenderAttr("value", form.tier_level)} type="number" min="0" max="10" class="w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-indigo-500 focus:border-transparent"><p class="text-xs text-slate-500 mt-1">${ssrInterpolate(_ctx.$t("packages.form_tier_level_hint"))}</p></div></div><div class="grid grid-cols-2 gap-4"><div><label class="block text-sm font-medium text-slate-300 mb-1">${ssrInterpolate(_ctx.$t("packages.form_subtitle"))}</label><input${ssrRenderAttr("value", form.subtitle)} type="text" class="w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-indigo-500 focus:border-transparent"${ssrRenderAttr("placeholder", _ctx.$t("packages.form_subtitle_placeholder"))}></div><div><label class="block text-sm font-medium text-slate-300 mb-1">${ssrInterpolate(_ctx.$t("packages.form_badge"))}</label><input${ssrRenderAttr("value", form.badge)} type="text" class="w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-indigo-500 focus:border-transparent"${ssrRenderAttr("placeholder", _ctx.$t("packages.form_badge_placeholder"))}></div></div><div class="flex items-center gap-3"><input${ssrIncludeBooleanAttr(Array.isArray(form.is_custom) ? ssrLooseContain(form.is_custom, null) : form.is_custom) ? " checked" : ""} type="checkbox" id="is_custom" class="rounded bg-slate-700 border-slate-600 text-indigo-600 focus:ring-indigo-500"><label for="is_custom" class="text-sm text-slate-300">${ssrInterpolate(_ctx.$t("packages.form_is_custom"))}</label></div><div class="border-t border-slate-700 pt-4"><h4 class="text-sm font-semibold text-slate-300 mb-3">${ssrInterpolate(_ctx.$t("packages.singleton_rules"))}</h4><div class="space-y-4"><div class="flex items-center gap-3"><input${ssrIncludeBooleanAttr(Array.isArray(form.is_default_fallback) ? ssrLooseContain(form.is_default_fallback, null) : form.is_default_fallback) ? " checked" : ""} type="checkbox" id="is_default_fallback" class="rounded bg-slate-700 border-slate-600 text-amber-500 focus:ring-amber-500"><label for="is_default_fallback" class="text-sm text-slate-300">${ssrInterpolate(_ctx.$t("packages.form_is_default_fallback"))}</label></div><div><label class="block text-sm text-slate-300 mb-1">${ssrInterpolate(_ctx.$t("packages.form_trial_days"))}</label><input${ssrRenderAttr("value", form.trial_days_on_signup)} type="number" min="0" max="365" class="w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-emerald-500 focus:border-transparent"><p class="text-xs text-slate-500 mt-1">${ssrInterpolate(_ctx.$t("packages.form_trial_days_hint"))}</p></div></div></div></div>`);
_push(`<div class="space-y-4"><div><label class="block text-sm font-medium text-slate-300 mb-1">${ssrInterpolate(_ctx.$t("packages.form_name"))}</label><input${ssrRenderAttr("value", form.name)} type="text" class="w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-indigo-500 focus:border-transparent"${ssrRenderAttr("placeholder", _ctx.$t("packages.form_name_placeholder"))}></div><div><label class="block text-sm font-medium text-slate-300 mb-1">${ssrInterpolate(_ctx.$t("packages.form_display_name"))}</label><input${ssrRenderAttr("value", form.display_name)} type="text" class="w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-indigo-500 focus:border-transparent"${ssrRenderAttr("placeholder", _ctx.$t("packages.form_display_name_placeholder"))}></div>`);
if (form.type !== "addon") {
_push(`<div><label class="block text-sm font-medium text-slate-300 mb-1">${ssrInterpolate(_ctx.$t("packages.form_tier_level"))}</label><input${ssrRenderAttr("value", form.tier_level)} type="number" min="0" max="10" class="w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-indigo-500 focus:border-transparent"><p class="text-xs text-slate-500 mt-1">${ssrInterpolate(_ctx.$t("packages.form_tier_level_hint"))}</p></div>`);
} else {
_push(`<!---->`);
}
if (form.type !== "addon") {
_push(`<div class="grid grid-cols-2 gap-4"><div><label class="block text-sm font-medium text-slate-300 mb-1">${ssrInterpolate(_ctx.$t("packages.form_subtitle"))}</label><input${ssrRenderAttr("value", form.subtitle)} type="text" class="w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-indigo-500 focus:border-transparent"${ssrRenderAttr("placeholder", _ctx.$t("packages.form_subtitle_placeholder"))}></div><div><label class="block text-sm font-medium text-slate-300 mb-1">${ssrInterpolate(_ctx.$t("packages.form_badge"))}</label><input${ssrRenderAttr("value", form.badge)} type="text" class="w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-indigo-500 focus:border-transparent"${ssrRenderAttr("placeholder", _ctx.$t("packages.form_badge_placeholder"))}></div></div>`);
} else {
_push(`<!---->`);
}
_push(`<div class="flex items-center gap-3"><input${ssrIncludeBooleanAttr(Array.isArray(form.is_custom) ? ssrLooseContain(form.is_custom, null) : form.is_custom) ? " checked" : ""} type="checkbox" id="is_custom" class="rounded bg-slate-700 border-slate-600 text-indigo-600 focus:ring-indigo-500"><label for="is_custom" class="text-sm text-slate-300">${ssrInterpolate(_ctx.$t("packages.form_is_custom"))}</label></div>`);
if (form.type !== "addon") {
_push(`<div class="border-t border-slate-700 pt-4"><h4 class="text-sm font-semibold text-slate-300 mb-3">${ssrInterpolate(_ctx.$t("packages.singleton_rules"))}</h4><div class="space-y-4"><div class="flex items-center gap-3"><input${ssrIncludeBooleanAttr(Array.isArray(form.is_default_fallback) ? ssrLooseContain(form.is_default_fallback, null) : form.is_default_fallback) ? " checked" : ""} type="checkbox" id="is_default_fallback" class="rounded bg-slate-700 border-slate-600 text-amber-500 focus:ring-amber-500"><label for="is_default_fallback" class="text-sm text-slate-300">${ssrInterpolate(_ctx.$t("packages.form_is_default_fallback"))}</label></div><div><label class="block text-sm text-slate-300 mb-1">${ssrInterpolate(_ctx.$t("packages.form_trial_days"))}</label><input${ssrRenderAttr("value", form.trial_days_on_signup)} type="number" min="0" max="365" class="w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-emerald-500 focus:border-transparent"><p class="text-xs text-slate-500 mt-1">${ssrInterpolate(_ctx.$t("packages.form_trial_days_hint"))}</p></div></div></div>`);
} else {
_push(`<!---->`);
}
_push(`</div>`);
} else {
_push(`<!---->`);
}
if (activeTab.value === "pricing") {
_push(`<div class="space-y-6"><div><h4 class="text-sm font-semibold text-slate-300 mb-3">${ssrInterpolate(_ctx.$t("packages.per_region_pricing"))}</h4><div class="overflow-x-auto"><table class="w-full text-sm"><thead><tr class="border-b border-slate-700"><th class="text-left py-2 px-3 text-slate-400 font-medium">Region</th><th class="text-left py-2 px-3 text-slate-400 font-medium">${ssrInterpolate(_ctx.$t("packages.form_monthly_price"))}</th><th class="text-left py-2 px-3 text-slate-400 font-medium">${ssrInterpolate(_ctx.$t("packages.form_yearly_price"))}</th><th class="text-left py-2 px-3 text-slate-400 font-medium">Kredit \xC1r</th><th class="text-left py-2 px-3 text-slate-400 font-medium">${ssrInterpolate(_ctx.$t("packages.form_currency"))}</th><th class="text-left py-2 px-3 text-slate-400 font-medium"></th></tr></thead><tbody><!--[-->`);
ssrRenderList(unref(regionStore).regions, (region) => {
_push(`<tr class="border-b border-slate-700/50"><td class="py-2 px-3 text-slate-200 font-medium"><span class="inline-flex items-center gap-1.5"><span>${ssrInterpolate(region.country_code)}</span><span class="text-xs text-slate-500">(${ssrInterpolate(region.currency)}, ${ssrInterpolate(region.default_vat_rate)}% VAT)</span></span></td><td class="py-2 px-3"><input${ssrRenderAttr("value", getZonePrice(region.country_code, "monthly"))} type="number" step="0.01" min="0" class="w-full px-2 py-1.5 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-indigo-500 focus:border-transparent"></td><td class="py-2 px-3"><input${ssrRenderAttr("value", getZonePrice(region.country_code, "yearly"))} type="number" step="0.01" min="0" class="w-full px-2 py-1.5 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-indigo-500 focus:border-transparent"></td><td class="py-2 px-3"><input${ssrRenderAttr("value", getZoneCreditPrice(region.country_code))} type="number" step="0.01" min="0" class="w-full px-2 py-1.5 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-indigo-500 focus:border-transparent"></td><td class="py-2 px-3"><input${ssrRenderAttr("value", getZoneCurrency(region.country_code))} type="text" maxlength="3" class="w-full px-2 py-1.5 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-indigo-500 focus:border-transparent uppercase"></td><td class="py-2 px-3 text-center"><button class="p-1.5 rounded-lg text-red-400 hover:text-red-300 hover:bg-red-500/10 transition"${ssrRenderAttr("title", "Remove " + region.country_code)}><svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"></path></svg></button></td></tr>`);
_push(`<tr class="border-b border-slate-700/50"><td class="py-2 px-3 text-slate-200 font-medium"><span class="inline-flex items-center gap-1.5"><span>${ssrInterpolate(region.country_code)}</span><span class="text-xs text-slate-500">(${ssrInterpolate(region.currency)}, ${ssrInterpolate(region.default_vat_rate)}% VAT)</span></span></td><td class="py-2 px-3"><input${ssrRenderAttr("value", getZonePrice(region.country_code, "monthly"))} type="number" step="0.01" min="0" class="w-full px-2 py-1.5 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-indigo-500 focus:border-transparent"></td><td class="py-2 px-3"><input${ssrRenderAttr("value", getZonePrice(region.country_code, "yearly"))} type="number" step="0.01" min="0" class="w-full px-2 py-1.5 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-indigo-500 focus:border-transparent"></td><td class="py-2 px-3"><input${ssrRenderAttr("value", getZoneCreditPrice(region.country_code))} type="number" step="0.01" min="0" class="w-full px-2 py-1.5 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-indigo-500 focus:border-transparent"></td><td class="py-2 px-3"><input${ssrRenderAttr("value", getZoneCurrency(region.country_code))} type="text" maxlength="3" class="w-full px-2 py-1.5 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-indigo-500 focus:border-transparent uppercase"></td><td class="py-2 px-3 text-center"><div class="flex items-center gap-1"><button class="p-1.5 rounded-lg text-emerald-400 hover:text-emerald-300 hover:bg-emerald-500/10 transition"${ssrRenderAttr("title", "Apply DEFAULT pricing to " + region.country_code)}><svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 10V3L4 14h7v7l9-11h-7z"></path></svg></button><button class="p-1.5 rounded-lg text-red-400 hover:text-red-300 hover:bg-red-500/10 transition"${ssrRenderAttr("title", "Remove " + region.country_code)}><svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"></path></svg></button></div></td></tr>`);
});
_push(`<!--]--></tbody></table></div><div class="flex items-center gap-3 mt-4"><select class="px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-indigo-500 focus:border-transparent"><option value="" disabled${ssrIncludeBooleanAttr(Array.isArray(selectedAddZoneCode.value) ? ssrLooseContain(selectedAddZoneCode.value, "") : ssrLooseEqual(selectedAddZoneCode.value, "")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("packages.add_zone_select"))}</option><!--[-->`);
ssrRenderList(availableRegionsToAdd.value, (region) => {
@@ -276,7 +315,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
_push(`<!---->`);
}
if (activeTab.value === "features") {
_push(`<div class="space-y-5"><div><h4 class="text-sm font-semibold text-slate-300 mb-3">${ssrInterpolate(_ctx.$t("packages.allowances"))}</h4><div class="grid grid-cols-3 gap-4"><div><label class="block text-xs text-slate-400 mb-1">${ssrInterpolate(_ctx.$t("packages.max_vehicles"))}</label><input${ssrRenderAttr("value", form.max_vehicles)} type="number" min="0" class="w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-indigo-500 focus:border-transparent"></div><div><label class="block text-xs text-slate-400 mb-1">${ssrInterpolate(_ctx.$t("packages.max_garages"))}</label><input${ssrRenderAttr("value", form.max_garages)} type="number" min="0" class="w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-indigo-500 focus:border-transparent"></div><div><label class="block text-xs text-slate-400 mb-1">${ssrInterpolate(_ctx.$t("packages.monthly_credits"))}</label><input${ssrRenderAttr("value", form.monthly_free_credits)} type="number" min="0" class="w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-indigo-500 focus:border-transparent"></div></div></div><div class="border-t border-slate-700 pt-4"><h4 class="text-sm font-semibold text-slate-300 mb-3">SaaS Allowances</h4><div class="grid grid-cols-3 gap-4"><div><label class="block text-xs text-slate-400 mb-1">K\xF6lts\xE9gkateg\xF3ria m\xE9lys\xE9g (max_cost_category_depth)</label><input${ssrRenderAttr("value", form.max_cost_category_depth)} type="number" min="0" max="10" class="w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-indigo-500 focus:border-transparent"></div><div><label class="block text-xs text-slate-400 mb-1">Statisztika (advanced_reports)</label><div class="flex items-center h-[38px]"><label class="relative inline-flex items-center cursor-pointer"><input${ssrIncludeBooleanAttr(Array.isArray(form.advanced_reports) ? ssrLooseContain(form.advanced_reports, null) : form.advanced_reports) ? " checked" : ""} type="checkbox" class="sr-only peer"><div class="w-11 h-6 bg-slate-600 peer-focus:outline-none peer-focus:ring-2 peer-focus:ring-indigo-500 rounded-full peer peer-checked:after:translate-x-full rtl:peer-checked:after:-translate-x-full peer-checked:after:border-white after:content-[&#39;&#39;] after:absolute after:top-[2px] after:start-[2px] after:bg-white after:border-gray-300 after:border after:rounded-full after:h-5 after:w-5 after:transition-all peer-checked:bg-indigo-600"></div><span class="ms-3 text-sm text-slate-300">${ssrInterpolate(form.advanced_reports ? "Enabled" : "Disabled")}</span></label></div></div><div><label class="block text-xs text-slate-400 mb-1">PDF/CSV Export (export_data)</label><div class="flex items-center h-[38px]"><label class="relative inline-flex items-center cursor-pointer"><input${ssrIncludeBooleanAttr(Array.isArray(form.export_data) ? ssrLooseContain(form.export_data, null) : form.export_data) ? " checked" : ""} type="checkbox" class="sr-only peer"><div class="w-11 h-6 bg-slate-600 peer-focus:outline-none peer-focus:ring-2 peer-focus:ring-indigo-500 rounded-full peer peer-checked:after:translate-x-full rtl:peer-checked:after:-translate-x-full peer-checked:after:border-white after:content-[&#39;&#39;] after:absolute after:top-[2px] after:start-[2px] after:bg-white after:border-gray-300 after:border after:rounded-full after:h-5 after:w-5 after:transition-all peer-checked:bg-indigo-600"></div><span class="ms-3 text-sm text-slate-300">${ssrInterpolate(form.export_data ? "Enabled" : "Disabled")}</span></label></div></div></div></div><div class="border-t border-slate-700 pt-4"><h4 class="text-sm font-semibold text-slate-300 mb-3">${ssrInterpolate(_ctx.$t("packages.feature_capabilities"))}</h4><textarea rows="8" class="w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm font-mono focus:ring-2 focus:ring-indigo-500 focus:border-transparent" placeholder="{\\n &quot;ai_analysis&quot;: true,\\n &quot;priority_support&quot;: false,\\n &quot;api_access&quot;: true\\n}">${ssrInterpolate(form.feature_capabilities_json)}</textarea><p class="text-xs text-slate-500 mt-1">${ssrInterpolate(_ctx.$t("packages.feature_capabilities_hint"))}</p>`);
_push(`<div class="space-y-5"><div><h4 class="text-sm font-semibold text-slate-300 mb-3">${ssrInterpolate(_ctx.$t("packages.allowances"))}</h4><div class="grid grid-cols-3 gap-4"><div><label class="block text-xs text-slate-400 mb-1">${ssrInterpolate(_ctx.$t("packages.max_vehicles"))}</label><input${ssrRenderAttr("value", form.max_vehicles)} type="number" min="0" class="w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-indigo-500 focus:border-transparent"></div><div><label class="block text-xs text-slate-400 mb-1">${ssrInterpolate(_ctx.$t("packages.max_garages"))}</label><input${ssrRenderAttr("value", form.max_garages)} type="number" min="0" class="w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-indigo-500 focus:border-transparent"></div><div><label class="block text-xs text-slate-400 mb-1">${ssrInterpolate(_ctx.$t("packages.max_users"))}</label><input${ssrRenderAttr("value", form.max_users)} type="number" min="1" class="w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-indigo-500 focus:border-transparent"></div><div><label class="block text-xs text-slate-400 mb-1">${ssrInterpolate(_ctx.$t("packages.monthly_credits"))}</label><input${ssrRenderAttr("value", form.monthly_free_credits)} type="number" min="0" class="w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-indigo-500 focus:border-transparent"></div></div></div><div class="border-t border-slate-700 pt-4"><h4 class="text-sm font-semibold text-slate-300 mb-3">SaaS Allowances</h4><div class="grid grid-cols-3 gap-4"><div><label class="block text-xs text-slate-400 mb-1">K\xF6lts\xE9gkateg\xF3ria m\xE9lys\xE9g (max_cost_category_depth)</label><input${ssrRenderAttr("value", form.max_cost_category_depth)} type="number" min="0" max="10" class="w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-indigo-500 focus:border-transparent"></div><div><label class="block text-xs text-slate-400 mb-1">Statisztika (advanced_reports)</label><div class="flex items-center h-[38px]"><label class="relative inline-flex items-center cursor-pointer"><input${ssrIncludeBooleanAttr(Array.isArray(form.advanced_reports) ? ssrLooseContain(form.advanced_reports, null) : form.advanced_reports) ? " checked" : ""} type="checkbox" class="sr-only peer"><div class="w-11 h-6 bg-slate-600 peer-focus:outline-none peer-focus:ring-2 peer-focus:ring-indigo-500 rounded-full peer peer-checked:after:translate-x-full rtl:peer-checked:after:-translate-x-full peer-checked:after:border-white after:content-[&#39;&#39;] after:absolute after:top-[2px] after:start-[2px] after:bg-white after:border-gray-300 after:border after:rounded-full after:h-5 after:w-5 after:transition-all peer-checked:bg-indigo-600"></div><span class="ms-3 text-sm text-slate-300">${ssrInterpolate(form.advanced_reports ? "Enabled" : "Disabled")}</span></label></div></div><div><label class="block text-xs text-slate-400 mb-1">PDF/CSV Export (export_data)</label><div class="flex items-center h-[38px]"><label class="relative inline-flex items-center cursor-pointer"><input${ssrIncludeBooleanAttr(Array.isArray(form.export_data) ? ssrLooseContain(form.export_data, null) : form.export_data) ? " checked" : ""} type="checkbox" class="sr-only peer"><div class="w-11 h-6 bg-slate-600 peer-focus:outline-none peer-focus:ring-2 peer-focus:ring-indigo-500 rounded-full peer peer-checked:after:translate-x-full rtl:peer-checked:after:-translate-x-full peer-checked:after:border-white after:content-[&#39;&#39;] after:absolute after:top-[2px] after:start-[2px] after:bg-white after:border-gray-300 after:border after:rounded-full after:h-5 after:w-5 after:transition-all peer-checked:bg-indigo-600"></div><span class="ms-3 text-sm text-slate-300">${ssrInterpolate(form.export_data ? "Enabled" : "Disabled")}</span></label></div></div></div></div><div class="border-t border-slate-700 pt-4"><h4 class="text-sm font-semibold text-slate-300 mb-3">${ssrInterpolate(_ctx.$t("packages.feature_capabilities"))}</h4><textarea rows="8" class="w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm font-mono focus:ring-2 focus:ring-indigo-500 focus:border-transparent" placeholder="{\\n &quot;ai_analysis&quot;: true,\\n &quot;priority_support&quot;: false,\\n &quot;api_access&quot;: true\\n}">${ssrInterpolate(form.feature_capabilities_json)}</textarea><p class="text-xs text-slate-500 mt-1">${ssrInterpolate(_ctx.$t("packages.feature_capabilities_hint"))}</p>`);
if (featureCapabilitiesError.value) {
_push(`<p class="text-xs text-red-400 mt-1">${ssrInterpolate(featureCapabilitiesError.value)}</p>`);
} else {
@@ -318,4 +357,4 @@ _sfc_main.setup = (props, ctx) => {
};
export { _sfc_main as default };
//# sourceMappingURL=index-CII1lBpk.mjs.map
//# sourceMappingURL=index-CmqjFfry.mjs.map

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,114 @@
import { defineComponent, ref, computed, unref, useSSRContext } from 'vue';
import { ssrRenderAttrs, ssrInterpolate, ssrRenderList, ssrRenderStyle, ssrRenderAttr, ssrRenderClass } from 'vue/server-renderer';
import { a as useI18n } from './server.mjs';
import '../nitro/nitro.mjs';
import 'node:http';
import 'node:https';
import 'node:events';
import 'node:buffer';
import 'node:fs';
import 'node:path';
import 'node:crypto';
import 'vue-router';
import 'node:url';
import 'pinia';
import '../routes/renderer.mjs';
import 'vue-bundle-renderer/runtime';
import 'unhead/server';
import 'devalue';
import 'unhead/utils';
import 'unhead/plugins';
const _sfc_main = /* @__PURE__ */ defineComponent({
__name: "index",
__ssrInlineRender: true,
setup(__props) {
const { t } = useI18n();
const loading = ref(true);
const error = ref(false);
const stats = ref({
total_users: 0,
active_users: 0,
deleted_users: 0,
banned_users: 0,
new_users_today: 0,
new_users_this_week: 0,
new_users_this_month: 0,
users_by_role: {},
users_by_plan: {},
users_by_language: {},
users_with_person: 0,
users_without_person: 0,
total_vehicles: 0,
active_organizations_count: 0,
total_memberships: 0,
registration_trend: []
});
const registrationTrend = computed(() => {
const trend = stats.value.registration_trend;
if (!trend.length) return [];
const maxCount = Math.max(...trend.map((d) => d.count));
return trend.map((d) => ({
date: d.date,
count: d.count,
height: maxCount > 0 ? d.count / maxCount * 100 : 0
}));
});
function formatNumber(num) {
return new Intl.NumberFormat().format(num);
}
const recentActivities = [
{ text: "New user registered: john.doe@example.com", time: "2 minutes ago", dotColor: "bg-emerald-400" },
{ text: "Vehicle #V-8842 added to catalog", time: "15 minutes ago", dotColor: "bg-cyan-400" },
{ text: "Payment received: \u20AC120.00 from Garage XYZ", time: "1 hour ago", dotColor: "bg-emerald-400" },
{ text: "System error: DVLA API timeout on request #4421", time: "2 hours ago", dotColor: "bg-rose-400" },
{ text: "Permission updated for user: superadmin@sf.hu", time: "3 hours ago", dotColor: "bg-indigo-400" }
];
return (_ctx, _push, _parent, _attrs) => {
_push(`<div${ssrRenderAttrs(_attrs)}><div class="mb-8"><h1 class="text-2xl font-bold text-white">${ssrInterpolate(unref(t)("dashboard.title"))}</h1><p class="text-slate-400 mt-1">${ssrInterpolate(unref(t)("dashboard.subtitle"))}</p></div>`);
if (unref(loading)) {
_push(`<div class="flex items-center justify-center py-20"><div class="text-slate-400 flex items-center gap-3"><svg class="w-5 h-5 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"></path></svg> ${ssrInterpolate(unref(t)("dashboard.loading"))}</div></div>`);
} else if (unref(error)) {
_push(`<div class="bg-rose-500/10 border border-rose-500/30 rounded-xl p-6 mb-8"><p class="text-rose-400">${ssrInterpolate(unref(t)("dashboard.error"))}</p></div>`);
} else {
_push(`<!--[--><div class="grid grid-cols-1 sm:grid-cols-2 xl:grid-cols-4 gap-6 mb-8"><div class="bg-slate-800 rounded-xl border border-slate-700 p-6 hover:border-indigo-500/50 transition group"><div class="flex items-center justify-between mb-4"><div class="p-2 rounded-lg bg-indigo-500/10 text-indigo-400 group-hover:bg-indigo-500/20 transition"><svg class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 4.354a4 4 0 110 5.292M15 21H3v-1a6 6 0 0112 0v1zm0 0h6v-1a6 6 0 00-9-5.197m13.5-9a2.25 2.25 0 11-4.5 0 2.25 2.25 0 014.5 0z"></path></svg></div>`);
if (unref(stats).new_users_this_month > 0) {
_push(`<span class="text-xs font-medium text-emerald-400 bg-emerald-400/10 px-2 py-1 rounded-full">+${ssrInterpolate(unref(stats).new_users_this_month)}</span>`);
} else {
_push(`<!---->`);
}
_push(`</div><h3 class="text-sm font-medium text-slate-400 uppercase tracking-wider">${ssrInterpolate(unref(t)("dashboard.active_users"))}</h3><p class="text-3xl font-bold text-white mt-2">${ssrInterpolate(formatNumber(unref(stats).active_users))}</p><p class="text-xs text-slate-500 mt-1">${ssrInterpolate(formatNumber(unref(stats).new_users_this_month))} ${ssrInterpolate(unref(t)("dashboard.new_this_month"))}</p></div><div class="bg-slate-800 rounded-xl border border-slate-700 p-6 hover:border-cyan-500/50 transition group"><div class="flex items-center justify-between mb-4"><div class="p-2 rounded-lg bg-cyan-500/10 text-cyan-400 group-hover:bg-cyan-500/20 transition"><svg class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13.5 21v-7.5a.75.75 0 01.75-.75h3a.75.75 0 01.75.75V21m-4.5 0H2.36m11.14 0H18m0 0h3.64m-1.39 0V9.349m-16.5 11.65V9.35m0 0a3.001 3.001 0 003.75-.615A2.993 2.993 0 009.75 9.75c.896 0 1.7-.393 2.25-1.016a2.993 2.993 0 002.25 1.016c.896 0 1.7-.393 2.25-1.016a3.001 3.001 0 003.75.614m-16.5 0a3.004 3.004 0 01-.621-4.72L4.318 3.44A1.5 1.5 0 015.378 3h13.243a1.5 1.5 0 011.06.44l1.19 1.189a3 3 0 01-.621 4.72m-13.5 8.65h3.75a.75.75 0 00.75-.75V13.5a.75.75 0 00-.75-.75H6.75a.75.75 0 00-.75.75v3.75c0 .415.336.75.75.75z"></path></svg></div></div><h3 class="text-sm font-medium text-slate-400 uppercase tracking-wider">${ssrInterpolate(unref(t)("dashboard.total_vehicles"))}</h3><p class="text-3xl font-bold text-white mt-2">${ssrInterpolate(formatNumber(unref(stats).total_vehicles))}</p></div><div class="bg-slate-800 rounded-xl border border-slate-700 p-6 hover:border-emerald-500/50 transition group"><div class="flex items-center justify-between mb-4"><div class="p-2 rounded-lg bg-emerald-500/10 text-emerald-400 group-hover:bg-emerald-500/20 transition"><svg class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M2.25 21h19.5m-18-18v18m10.5-18v18m6-13.5V21M6.75 6.75h.75m-.75 3h.75m-.75 3h.75m3-6h.75m-.75 3h.75m-.75 3h.75M6.75 21v-3.375c0-.621.504-1.125 1.125-1.125h2.25c.621 0 1.125.504 1.125 1.125V21M3 3h12m-.75 4.5H21m-3.75 3.75h.008v.008h-.008v-.008zm0 3h.008v.008h-.008v-.008zm0 3h.008v.008h-.008v-.008z"></path></svg></div></div><h3 class="text-sm font-medium text-slate-400 uppercase tracking-wider">${ssrInterpolate(unref(t)("dashboard.organizations"))}</h3><p class="text-3xl font-bold text-white mt-2">${ssrInterpolate(formatNumber(unref(stats).active_organizations_count))}</p><p class="text-xs text-slate-500 mt-1">${ssrInterpolate(formatNumber(unref(stats).total_memberships))} ${ssrInterpolate(unref(t)("dashboard.memberships"))}</p></div><div class="bg-slate-800 rounded-xl border border-slate-700 p-6 hover:border-violet-500/50 transition group"><div class="flex items-center justify-between mb-4"><div class="p-2 rounded-lg bg-violet-500/10 text-violet-400 group-hover:bg-violet-500/20 transition"><svg class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M18 18.72a9.094 9.094 0 003.741-.479 3 3 0 00-4.682-2.72m.94 3.198l.001.031c0 .225-.012.447-.037.666A11.944 11.944 0 0112 21c-2.17 0-4.207-.576-5.963-1.584A6.062 6.062 0 016 18.719m12 0a5.971 5.971 0 00-.941-3.197m0 0A5.995 5.995 0 0012 12.75a5.995 5.995 0 00-5.058 2.772m0 0a3 3 0 00-4.681 2.72 8.986 8.986 0 003.74.477m.94-3.197a5.971 5.971 0 00-.94 3.197M15 6.75a3 3 0 11-6 0 3 3 0 016 0zm6 3a2.25 2.25 0 11-4.5 0 2.25 2.25 0 014.5 0zm-13.5 0a2.25 2.25 0 11-4.5 0 2.25 2.25 0 014.5 0z"></path></svg></div></div><h3 class="text-sm font-medium text-slate-400 uppercase tracking-wider">${ssrInterpolate(unref(t)("dashboard.new_users"))}</h3><p class="text-3xl font-bold text-white mt-2">${ssrInterpolate(formatNumber(unref(stats).new_users_this_month))}</p><p class="text-xs text-slate-500 mt-1">${ssrInterpolate(formatNumber(unref(stats).new_users_today))} ${ssrInterpolate(unref(t)("dashboard.new_today"))}</p></div></div><div class="grid grid-cols-1 lg:grid-cols-3 gap-6 mb-8"><div class="bg-slate-800 rounded-xl border border-slate-700 p-6"><h3 class="text-sm font-medium text-slate-400 uppercase tracking-wider mb-4">${ssrInterpolate(unref(t)("dashboard.users_by_role"))}</h3><div class="space-y-3"><!--[-->`);
ssrRenderList(unref(stats).users_by_role, (count, role) => {
_push(`<div class="flex items-center justify-between"><span class="text-sm text-slate-300">${ssrInterpolate(role)}</span><span class="text-sm font-semibold text-white">${ssrInterpolate(count)}</span></div>`);
});
_push(`<!--]--></div></div><div class="bg-slate-800 rounded-xl border border-slate-700 p-6"><h3 class="text-sm font-medium text-slate-400 uppercase tracking-wider mb-4">${ssrInterpolate(unref(t)("dashboard.users_by_plan"))}</h3><div class="space-y-3"><!--[-->`);
ssrRenderList(unref(stats).users_by_plan, (count, plan) => {
_push(`<div class="flex items-center justify-between"><span class="text-sm text-slate-300">${ssrInterpolate(plan)}</span><span class="text-sm font-semibold text-white">${ssrInterpolate(count)}</span></div>`);
});
_push(`<!--]--></div></div><div class="bg-slate-800 rounded-xl border border-slate-700 p-6"><h3 class="text-sm font-medium text-slate-400 uppercase tracking-wider mb-4">${ssrInterpolate(unref(t)("dashboard.users_by_language"))}</h3><div class="space-y-3"><!--[-->`);
ssrRenderList(unref(stats).users_by_language, (count, lang) => {
_push(`<div class="flex items-center justify-between"><span class="text-sm text-slate-300">${ssrInterpolate(lang)}</span><span class="text-sm font-semibold text-white">${ssrInterpolate(count)}</span></div>`);
});
_push(`<!--]--></div></div></div><div class="bg-slate-800 rounded-xl border border-slate-700 p-6 mb-8"><h3 class="text-sm font-medium text-slate-400 uppercase tracking-wider mb-4">${ssrInterpolate(unref(t)("dashboard.registration_trend"))}</h3><div class="flex items-end gap-1 h-32"><!--[-->`);
ssrRenderList(unref(registrationTrend), (day, idx) => {
_push(`<div class="flex-1 bg-indigo-500/60 hover:bg-indigo-400/80 rounded-t transition-all cursor-pointer relative group" style="${ssrRenderStyle({ height: day.height + "%" })}"${ssrRenderAttr("title", day.date + ": " + day.count + " users")}><div class="absolute -top-8 left-1/2 -translate-x-1/2 bg-slate-700 text-xs text-white px-2 py-1 rounded opacity-0 group-hover:opacity-100 transition whitespace-nowrap">${ssrInterpolate(day.date)}: ${ssrInterpolate(day.count)}</div></div>`);
});
_push(`<!--]--></div></div><div class="grid grid-cols-1 lg:grid-cols-2 gap-6"><div class="bg-slate-800 rounded-xl border border-slate-700 p-6"><h2 class="text-lg font-semibold text-white mb-4">${ssrInterpolate(unref(t)("dashboard.quick_actions"))}</h2><div class="space-y-3"><button class="w-full flex items-center gap-3 px-4 py-3 bg-slate-700/50 hover:bg-slate-700 rounded-lg text-sm text-slate-300 hover:text-white transition text-left"><svg class="w-5 h-5 text-indigo-400 flex-shrink-0" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 4.354a4 4 0 110 5.292M15 21H3v-1a6 6 0 0112 0v1zm0 0h6v-1a6 6 0 00-9-5.197m13.5-9a2.25 2.25 0 11-4.5 0 2.25 2.25 0 014.5 0z"></path></svg> ${ssrInterpolate(unref(t)("dashboard.invite_admin"))}</button><button class="w-full flex items-center gap-3 px-4 py-3 bg-slate-700/50 hover:bg-slate-700 rounded-lg text-sm text-slate-300 hover:text-white transition text-left"><svg class="w-5 h-5 text-cyan-400 flex-shrink-0" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13.5 21v-7.5a.75.75 0 01.75-.75h3a.75.75 0 01.75.75V21m-4.5 0H2.36m11.14 0H18m0 0h3.64m-1.39 0V9.349m-16.5 11.65V9.35m0 0a3.001 3.001 0 003.75-.615A2.993 2.993 0 009.75 9.75c.896 0 1.7-.393 2.25-1.016a2.993 2.993 0 002.25 1.016c.896 0 1.7-.393 2.25-1.016a3.001 3.001 0 003.75.614m-16.5 0a3.004 3.004 0 01-.621-4.72L4.318 3.44A1.5 1.5 0 015.378 3h13.243a1.5 1.5 0 011.06.44l1.19 1.189a3 3 0 01-.621 4.72m-13.5 8.65h3.75a.75.75 0 00.75-.75V13.5a.75.75 0 00-.75-.75H6.75a.75.75 0 00-.75.75v3.75c0 .415.336.75.75.75z"></path></svg> ${ssrInterpolate(unref(t)("dashboard.add_vehicle"))}</button><button class="w-full flex items-center gap-3 px-4 py-3 bg-slate-700/50 hover:bg-slate-700 rounded-lg text-sm text-slate-300 hover:text-white transition text-left"><svg class="w-5 h-5 text-emerald-400 flex-shrink-0" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12h3.75M9 15h3.75M9 18h3.75m3 .75H18a2.25 2.25 0 002.25-2.25V6.108c0-1.135-.845-2.098-1.976-2.192a48.424 48.424 0 00-1.123-.08m-5.801 0c-.065.21-.1.433-.1.664 0 .414.336.75.75.75h4.5a.75.75 0 00.75-.75 2.25 2.25 0 00-.1-.664m-5.8 0A2.251 2.251 0 0113.5 2.25H15a2.25 2.25 0 012.15 1.586m-5.8 0c-.376.023-.75.05-1.124.08C9.095 4.01 8.25 4.973 8.25 6.108V8.25m0 0H4.875c-.621 0-1.125.504-1.125 1.125v11.25c0 .621.504 1.125 1.125 1.125h9.75c.621 0 1.125-.504 1.125-1.125V9.375c0-.621-.504-1.125-1.125-1.125H8.25zM6.75 12h.008v.008H6.75V12zm0 3h.008v.008H6.75V15zm0 3h.008v.008H6.75V18z"></path></svg> ${ssrInterpolate(unref(t)("dashboard.view_reports"))}</button></div></div><div class="bg-slate-800 rounded-xl border border-slate-700 p-6"><h2 class="text-lg font-semibold text-white mb-4">${ssrInterpolate(unref(t)("dashboard.recent_activity"))}</h2><div class="space-y-4"><!--[-->`);
ssrRenderList(recentActivities, (activity, index) => {
_push(`<div class="flex items-start gap-3"><div class="${ssrRenderClass([activity.dotColor, "w-2 h-2 mt-2 rounded-full flex-shrink-0"])}"></div><div class="flex-1 min-w-0"><p class="text-sm text-slate-300">${ssrInterpolate(activity.text)}</p><p class="text-xs text-slate-500 mt-0.5">${ssrInterpolate(activity.time)}</p></div></div>`);
});
_push(`<!--]--></div></div></div><!--]-->`);
}
_push(`</div>`);
};
}
});
const _sfc_setup = _sfc_main.setup;
_sfc_main.setup = (props, ctx) => {
const ssrContext = useSSRContext();
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("pages/index.vue");
return _sfc_setup ? _sfc_setup(props, ctx) : void 0;
};
export { _sfc_main as default };
//# sourceMappingURL=index-Cv2HQkhy.mjs.map

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,8 +1,8 @@
import { _ as __nuxt_component_0 } from './nuxt-link-C5PnX__I.mjs';
import { _ as __nuxt_component_0 } from './nuxt-link-Ci8vU-Yt.mjs';
import { defineComponent, ref, mergeProps, unref, withCtx, createTextVNode, useSSRContext } from 'vue';
import { ssrRenderAttrs, ssrRenderAttr, ssrInterpolate, ssrIncludeBooleanAttr, ssrRenderComponent } from 'vue/server-renderer';
import { p as publicAssetsURL } from '../nitro/nitro.mjs';
import { a as useRouter, b as useAuthStore } from './server.mjs';
import { b as useRouter, c as useAuthStore } from './server.mjs';
import 'node:http';
import 'node:https';
import 'node:events';
@@ -71,4 +71,4 @@ _sfc_main.setup = (props, ctx) => {
};
export { _sfc_main as default };
//# sourceMappingURL=login-DOiXgKDi.mjs.map
//# sourceMappingURL=login-BUpiBmf8.mjs.map

View File

@@ -1 +1 @@
{"version":3,"file":"login-DOiXgKDi.mjs","sources":["../../../../.nuxt/dist/server/_nuxt/login-DOiXgKDi.js"],"names":[],"mappings":"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"}
{"version":3,"file":"login-BUpiBmf8.mjs","sources":["../../../../.nuxt/dist/server/_nuxt/login-BUpiBmf8.js"],"names":[],"mappings":"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"}

View File

@@ -1,6 +1,6 @@
import { defineComponent, shallowRef, h, resolveComponent, computed, unref } from 'vue';
import { O as parseQuery, t as hasProtocol, w as joinURL, v as isScriptProtocol, Q as withTrailingSlash, P as withoutTrailingSlash } from '../nitro/nitro.mjs';
import { a as useRouter, f as encodeRoutePath, r as resolveRouteObject, n as navigateTo, g as useNuxtApp, h as useRuntimeConfig, i as nuxtLinkDefaults } from './server.mjs';
import { b as useRouter, f as encodeRoutePath, r as resolveRouteObject, n as navigateTo, g as useNuxtApp, h as useRuntimeConfig, i as nuxtLinkDefaults } from './server.mjs';
const firstNonUndefined = (...args) => args.find((arg) => arg !== void 0);
function sanitizeExternalHref(value) {
@@ -307,4 +307,4 @@ function applyTrailingSlashBehavior(to, trailingSlash) {
}
export { __nuxt_component_0 as _ };
//# sourceMappingURL=nuxt-link-C5PnX__I.mjs.map
//# sourceMappingURL=nuxt-link-Ci8vU-Yt.mjs.map

View File

@@ -1,5 +1,5 @@
import process from 'node:process';globalThis._importMeta_=globalThis._importMeta_||{url:"file:///_entry.js",env:process.env};import * as Vue from 'vue';
import { ref, computed, getCurrentScope, onScopeDispose, inject, hasInjectionContext, getCurrentInstance as getCurrentInstance$1, shallowRef, defineComponent, createElementBlock, provide, cloneVNode, h, defineAsyncComponent, unref, shallowReactive, Suspense, Fragment, useSSRContext, createApp, createVNode, Text, withCtx, onErrorCaptured, onServerPrefetch, resolveDynamicComponent, reactive, effectScope, nextTick, mergeProps, toRef, isReadonly, toRaw, isRef, isShallow, isReactive } from 'vue';
import { getCurrentScope, onScopeDispose, ref, computed, inject, hasInjectionContext, getCurrentInstance as getCurrentInstance$1, shallowRef, defineComponent, createElementBlock, provide, cloneVNode, h, defineAsyncComponent, unref, shallowReactive, Suspense, Fragment, useSSRContext, createApp, createVNode, Text, withCtx, onErrorCaptured, onServerPrefetch, resolveDynamicComponent, reactive, effectScope, nextTick, mergeProps, toRef, isReadonly, toRaw, isRef, isShallow, isReactive } from 'vue';
import { q as klona, r as parseURL, e as encodePath, s as decodePath, t as hasProtocol, v as isScriptProtocol, w as joinURL, x as withQuery, y as parse$1, z as getRequestHeader, A as destr, B as isEqual, C as sanitizeStatusCode, D as setCookie, E as getCookie, F as deleteCookie, G as getContext, $ as $fetch$1, H as baseURL, I as defu, J as createHooks, j as createError$1, K as executeAsync, L as getRequestURL, M as createDefu, N as parsePath, O as parseQuery, P as withoutTrailingSlash } from '../nitro/nitro.mjs';
import { defineStore, setActivePinia, createPinia, shouldHydrate } from 'pinia';
import { useRoute as useRoute$1, RouterView, createMemoryHistory, createRouter, START_LOCATION } from 'vue-router';
@@ -467,36 +467,58 @@ const _routes = [
name: "index",
path: "/",
meta: { "middleware": "auth" },
component: () => import('./index-92TOgIUU.mjs')
component: () => import('./index-Cv2HQkhy.mjs')
},
{
name: "login",
path: "/login",
meta: __nuxt_page_meta || {},
component: () => import('./login-DOiXgKDi.mjs')
component: () => import('./login-BUpiBmf8.mjs')
},
{
name: "users",
path: "/users",
meta: { "middleware": "auth" },
component: () => import('./index-BXFH9zj5.mjs')
},
{
name: "garages",
path: "/garages",
meta: { "middleware": "auth" },
component: () => import('./index-CzKBE-M2.mjs')
component: () => import('./index-CemkpUgu.mjs')
},
{
name: "persons",
path: "/persons",
meta: { "middleware": "auth" },
component: () => import('./index-Ci9UUd4C.mjs')
},
{
name: "packages",
path: "/packages",
meta: { "middleware": "auth" },
component: () => import('./index-CII1lBpk.mjs')
component: () => import('./index-CmqjFfry.mjs')
},
{
name: "users-id",
path: "/users/:id()",
component: () => import('./index-Bd_e7zBi.mjs')
},
{
name: "permissions",
path: "/permissions",
meta: { "middleware": "auth" },
component: () => import('./index-DgwDY6Ie.mjs')
component: () => import('./index-BD2eKDSC.mjs')
},
{
name: "garages-id",
path: "/garages/:id()",
component: () => import('./index-1I7UC9HP.mjs')
component: () => import('./index-CKl-ge5n.mjs')
},
{
name: "persons-id",
path: "/persons/:id()",
component: () => import('./index-DN4o4Z9u.mjs')
}
];
const _wrapInTransition = (props, children) => {
@@ -641,7 +663,7 @@ const globalMiddleware = [
manifest_45route_45rule
];
const namedMiddleware = {
auth: () => import('./auth-B3jrOAhu.mjs')
auth: () => import('./auth-Cq1Vc_k9.mjs')
};
Object.assign(/* @__PURE__ */ Object.create(null), {});
const pageIslandRoutes = Object.assign(/* @__PURE__ */ Object.create(null), {});
@@ -1426,7 +1448,7 @@ const localeLoaders = {
{
key: "locale_hu_46json_ee06c965",
load: () => import(
'./hu-Ck1VzT5S.mjs'
'./hu-DFYycw88.mjs'
/* webpackChunkName: "locale_hu_46json_ee06c965" */
),
cache: true
@@ -1436,7 +1458,7 @@ const localeLoaders = {
{
key: "locale_en_46json_0b63539c",
load: () => import(
'./en-BI6r-iRW.mjs'
'./en-BPBMPZpX.mjs'
/* webpackChunkName: "locale_en_46json_0b63539c" */
),
cache: true
@@ -1576,7 +1598,7 @@ function getDefaultLocaleForDomain(host) {
}
const isSupportedLocale = (locale) => localeCodes.includes(locale || "");
const resolveSupportedLocale = (locale) => isSupportedLocale(locale) ? locale : void 0;
var define_I18N_LOCALE_HASHES_default$1 = { hu: "4ec99847", en: "4ec99847" };
var define_I18N_LOCALE_HASHES_default$1 = { hu: "c12e2045", en: "c12e2045" };
const useLocaleConfigs = () => useState(
"i18n:cached-locale-configs",
() => void 0
@@ -5906,7 +5928,7 @@ const setupVueI18nOptions = async (defaultLocale) => {
}
return options;
};
var define_I18N_LOCALE_HASHES_default = { hu: "4ec99847", en: "4ec99847" };
var define_I18N_LOCALE_HASHES_default = { hu: "c12e2045", en: "c12e2045" };
const i18n_EI7LsD1KYQADczz5hrChviGQCdVM8yUkvFEZLJpmnvM = /* @__PURE__ */ defineNuxtPlugin({
name: "i18n:plugin",
parallel: false,
@@ -6147,7 +6169,7 @@ const plugins = [
];
const layouts = {
blank: defineAsyncComponent(() => import('./blank-DWT4RB69.mjs').then((m) => m.default || m)),
default: defineAsyncComponent(() => import('./default-C9mWt9Pc.mjs').then((m) => m.default || m))
default: defineAsyncComponent(() => import('./default-C8swInD9.mjs').then((m) => m.default || m))
};
const routeRulesMatcher = _routeRulesMatcher;
const LayoutLoader = defineComponent({
@@ -6431,7 +6453,7 @@ const _sfc_main$1 = {
const statusText = _error.statusMessage ?? (is404 ? "Page Not Found" : "Internal Server Error");
const description = _error.message || _error.toString();
const stack = void 0;
const _Error404 = defineAsyncComponent(() => import('./error-404-DPt4byml.mjs'));
const _Error404 = defineAsyncComponent(() => import('./error-404-qU7XehyZ.mjs'));
const _Error = defineAsyncComponent(() => import('./error-500-DfEH3Z64.mjs'));
const ErrorTemplate = is404 ? _Error404 : _Error;
return (_ctx, _push, _parent, _attrs) => {
@@ -6524,5 +6546,5 @@ let entry;
}
const entry_default = ((ssrContext) => entry(ssrContext));
export { useRouter as a, useAuthStore as b, useCookie as c, useI18n as d, entry_default as default, defineNuxtRouteMiddleware as e, encodeRoutePath as f, useNuxtApp as g, useRuntimeConfig as h, nuxtLinkDefaults as i, navigateTo as n, resolveRouteObject as r, useHead as u };
export { useI18n as a, useRouter as b, useAuthStore as c, useCookie as d, entry_default as default, defineNuxtRouteMiddleware as e, encodeRoutePath as f, useNuxtApp as g, useRuntimeConfig as h, nuxtLinkDefaults as i, navigateTo as n, resolveRouteObject as r, useHead as u };
//# sourceMappingURL=server.mjs.map

File diff suppressed because one or more lines are too long

View File

@@ -1,9 +1,9 @@
const interopDefault = r => r.default || r || [];
const styles = {
"node_modules/nuxt/dist/app/entry.js": () => import('./entry-styles.DW_zlACo.mjs').then(interopDefault),
"node_modules/nuxt/dist/app/entry.js": () => import('./entry-styles.DI3TVdQz.mjs').then(interopDefault),
"app.vue": () => import('./app-styles.BKebClGy.mjs').then(interopDefault),
"node_modules/nuxt/dist/app/components/error-500.vue": () => import('./error-500-styles.ulHNpcF1.mjs').then(interopDefault),
"node_modules/nuxt/dist/app/components/error-404.vue": () => import('./error-404-styles.CiJjK6WX.mjs').then(interopDefault)
"node_modules/nuxt/dist/app/components/error-404.vue": () => import('./error-404-styles.CiJjK6WX.mjs').then(interopDefault),
"node_modules/nuxt/dist/app/components/error-500.vue": () => import('./error-500-styles.ulHNpcF1.mjs').then(interopDefault)
};
export { styles as default };

View File

@@ -4301,7 +4301,7 @@ function _expandFromEnv(value) {
const _inlineRuntimeConfig = {
"app": {
"baseURL": "/",
"buildId": "9bec55ba-4ecf-449d-9a96-4f3ecc37770a",
"buildId": "2e53a892-7df2-4904-8849-6b15dd7e936c",
"buildAssetsDir": "/_nuxt/",
"cdnURL": ""
},
@@ -4989,6 +4989,7 @@ var packages$1 = {
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",
@@ -5067,6 +5068,16 @@ var garages$1 = {
subscription_updated: "előfizetése sikeresen frissítve!",
view_details: "Részletek",
indefinite: "Határozatlan",
addons_title: "Kiegészítők (Add-ons)",
addon_vehicles: "Extra Jármű",
addon_branches: "Extra Telephely",
addon_users: "Extra Dolgozó",
active_addons: "Aktív kiegészítők",
no_active_addons: "Nincsenek aktív kiegészítők",
addon_vehicles_expiration: "Extra Jármű lejárati dátuma",
addon_branches_expiration: "Extra Telephely lejárati dátuma",
addon_users_expiration: "Extra Dolgozó lejárati dátuma",
addon_expiration_hint: "Ha üres, a meglévő lejárati dátumok megmaradnak.",
details: {
loading: "Garázs adatainak betöltése...",
retry: "Újra",
@@ -5140,6 +5151,8 @@ var garages$1 = {
vehicles_used: "Járművek",
branches_used: "Telephelyek",
employees_used: "Dolgozók",
branches: "telephely",
employees: "dolgozó",
status: "Státusz",
subscription_history: "Előfizetési Előzmények",
history_date: "Dátum",
@@ -5223,10 +5236,109 @@ var garages$1 = {
no_fleet_access: "Nincs jogosultságod a flotta adatok megtekintéséhez."
}
};
var users$1 = {
title: "Felhasználó Kezelés",
subtitle: "Felhasználók listája, keresés, szűrés és tömeges műveletek",
loading: "Felhasználók betöltése...",
retry: "Újra",
search_placeholder: "Keresés email, név vagy telefonszám alapján...",
all_statuses: "Összes státusz",
status_active: "Aktív",
status_inactive: "Inaktív",
status_deleted: "Törölt",
status_banned: "Kitiltott",
all_roles: "Összes szerepkör",
role_user: "Felhasználó",
role_admin: "Admin",
role_staff: "Munkatárs",
role_superadmin: "Superadmin",
all_plans: "Összes csomag",
plan_free: "Ingyenes",
plan_premium: "Prémium",
plan_enterprise: "Vállalati",
total_users: "Összes Felhasználó",
active_users: "Aktív Felhasználók",
deleted_users: "Törölt Felhasználók",
banned_users: "Kitiltott Felhasználók",
new_today: "Ma Regisztrált",
filtered_results: "Szűrt találat",
selected_count: "{count} felhasználó kiválasztva",
bulk_activate: "Aktiválás",
bulk_deactivate: "Deaktiválás",
clear_selection: "Kijelölés törlése",
email: "E-mail",
name: "Név",
role: "Szerepkör",
status: "Státusz",
"package": "Csomag",
registration: "Regisztráció",
language: "Nyelv",
actions: "Műveletek",
view: "Megtekintés",
activate: "Aktiválás",
deactivate: "Deaktiválás",
no_results: "Nincs a keresésnek megfelelő felhasználó.",
showing: "Mutató",
prev: "Előző",
next: "Következő",
details: {
loading: "Felhasználó adatainak betöltése...",
retry: "Újra",
back: "Vissza a felhasználókhoz",
edit: "Felhasználó szerkesztése",
edit_user: "Felhasználó szerkesztése",
profile_tab: "Profil",
memberships_tab: "Tagságok",
account_info: "Fiók Információk",
user_id: "Felhasználó ID",
registration_date: "Regisztráció Dátuma",
last_login: "Utolsó Belépés",
ui_mode: "UI Mód",
region: "Régió",
currency: "Pénznem",
subscription_info: "Előfizetés Információk",
subscription_expires: "Lejárat Dátuma",
scope_level: "Hatáskör Szint",
scope_id: "Hatáskör ID",
max_vehicles: "Max Járművek",
max_garages: "Max Garázsok",
personal_info: "Személyes Információk",
last_name: "Vezetéknév",
first_name: "Keresztnév",
phone: "Telefonszám",
birth_place: "Születési Hely",
birth_date: "Születési Dátum",
mothers_name: "Anyja Vezetékneve",
mothers_first_name: "Anyja Keresztneve",
address: "Cím",
zip: "Irányítószám",
city: "Város",
street: "Utca",
house_number: "Házszám",
no_person_record: "Nem található személyes adat ehhez a felhasználóhoz.",
memberships: "Szervezeti Tagságok",
memberships_count: "{count} tagság",
no_memberships: "Ez a felhasználó nem tagja egyetlen szervezetnek sem.",
org_name: "Szervezet",
org_role: "Szerepkör",
member_status: "Státusz",
joined_at: "Csatlakozott",
verified: "Ellenőrzött",
verified_yes: "Igen",
verified_no: "Nem",
preferred_language: "Előnyben Részesített Nyelv",
is_active: "Aktív",
is_vip: "VIP",
cancel: "Mégse",
save: "Változtatások Mentése",
saving: "Mentés..."
}
};
const locale_hu_46json_ee06c965 = {
permissions: permissions$1,
packages: packages$1,
garages: garages$1
garages: garages$1,
users: users$1
};
var permissions = {
@@ -5288,6 +5400,7 @@ var packages = {
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",
@@ -5366,6 +5479,16 @@ var garages = {
subscription_updated: "subscription updated successfully!",
view_details: "Details",
indefinite: "Indefinite",
addons_title: "Add-ons",
addon_vehicles: "Extra Vehicle",
addon_branches: "Extra Branch",
addon_users: "Extra Employee",
active_addons: "Active Add-ons",
no_active_addons: "No active add-ons",
addon_vehicles_expiration: "Extra Vehicle Expiration",
addon_branches_expiration: "Extra Branch Expiration",
addon_users_expiration: "Extra Employee Expiration",
addon_expiration_hint: "If empty, existing expiration dates remain.",
details: {
loading: "Loading garage details...",
retry: "Retry",
@@ -5439,6 +5562,8 @@ var garages = {
vehicles_used: "Vehicles",
branches_used: "Branches",
employees_used: "Employees",
branches: "branches",
employees: "employees",
status: "Status",
subscription_history: "Subscription History",
history_date: "Date",
@@ -5522,10 +5647,109 @@ var garages = {
no_fleet_access: "You don't have permission to view fleet data."
}
};
var users = {
title: "User Management",
subtitle: "User list, search, filters and bulk actions",
loading: "Loading users...",
retry: "Retry",
search_placeholder: "Search by email, name or phone...",
all_statuses: "All statuses",
status_active: "Active",
status_inactive: "Inactive",
status_deleted: "Deleted",
status_banned: "Banned",
all_roles: "All roles",
role_user: "User",
role_admin: "Admin",
role_staff: "Staff",
role_superadmin: "Superadmin",
all_plans: "All plans",
plan_free: "Free",
plan_premium: "Premium",
plan_enterprise: "Enterprise",
total_users: "Total Users",
active_users: "Active Users",
deleted_users: "Deleted Users",
banned_users: "Banned Users",
new_today: "New Today",
filtered_results: "Filtered results",
selected_count: "{count} user(s) selected",
bulk_activate: "Activate",
bulk_deactivate: "Deactivate",
clear_selection: "Clear",
email: "Email",
name: "Name",
role: "Role",
status: "Status",
"package": "Package",
registration: "Registration",
language: "Language",
actions: "Actions",
view: "View",
activate: "Activate",
deactivate: "Deactivate",
no_results: "No users match your search.",
showing: "Showing",
prev: "Previous",
next: "Next",
details: {
loading: "Loading user details...",
retry: "Retry",
back: "Back to Users",
edit: "Edit User",
edit_user: "Edit User",
profile_tab: "Profile",
memberships_tab: "Memberships",
account_info: "Account Information",
user_id: "User ID",
registration_date: "Registration Date",
last_login: "Last Login",
ui_mode: "UI Mode",
region: "Region",
currency: "Currency",
subscription_info: "Subscription Information",
subscription_expires: "Expires At",
scope_level: "Scope Level",
scope_id: "Scope ID",
max_vehicles: "Max Vehicles",
max_garages: "Max Garages",
personal_info: "Personal Information",
last_name: "Last Name",
first_name: "First Name",
phone: "Phone",
birth_place: "Birth Place",
birth_date: "Birth Date",
mothers_name: "Mother's Name",
mothers_first_name: "Mother's First Name",
address: "Address",
zip: "ZIP Code",
city: "City",
street: "Street",
house_number: "House Number",
no_person_record: "No personal information record found for this user.",
memberships: "Organization Memberships",
memberships_count: "{count} membership(s)",
no_memberships: "This user is not a member of any organization.",
org_name: "Organization",
org_role: "Role",
member_status: "Status",
joined_at: "Joined",
verified: "Verified",
verified_yes: "Yes",
verified_no: "No",
preferred_language: "Preferred Language",
is_active: "Active",
is_vip: "VIP",
cancel: "Cancel",
save: "Save Changes",
saving: "Saving..."
}
};
const locale_en_46json_0b63539c = {
permissions: permissions,
packages: packages,
garages: garages
garages: garages,
users: users
};
// @ts-nocheck
@@ -6049,175 +6273,203 @@ const assets = {
"/logo.svg": {
"type": "image/svg+xml",
"etag": "\"1c93-1cv7aKDbuz99JYhQ43U9hm4KE3Q\"",
"mtime": "2026-06-26T13:42:13.161Z",
"mtime": "2026-06-29T13:04:44.059Z",
"size": 7315,
"path": "../public/logo.svg"
},
"/_nuxt/BPZZgRgP.js": {
"/_nuxt/BRSeVrJ6.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"161c-5AKpPFo1It/PkWBAwiOluJIMGMk\"",
"mtime": "2026-06-26T13:42:13.157Z",
"size": 5660,
"path": "../public/_nuxt/BPZZgRgP.js"
"etag": "\"664c-u6p4HUSLBkeM+Dy1SQpCEr7JRGQ\"",
"mtime": "2026-06-29T13:04:44.054Z",
"size": 26188,
"path": "../public/_nuxt/BRSeVrJ6.js"
},
"/_nuxt/BVodpYs3.js": {
"/_nuxt/BL04W_c6.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"36da-G+Qgfd70g43td9rTVIF/pyY4eS0\"",
"mtime": "2026-06-26T13:42:13.157Z",
"size": 14042,
"path": "../public/_nuxt/BVodpYs3.js"
"etag": "\"15e90-EXSWVSTyGQxmoiIhBrE9taNwU4k\"",
"mtime": "2026-06-29T13:04:44.054Z",
"size": 89744,
"path": "../public/_nuxt/BL04W_c6.js"
},
"/_nuxt/CSkx_E93.js": {
"/_nuxt/BMRPljNC.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"1e6-JmjTeAjAXnn3w5MDifCuMeASOnY\"",
"mtime": "2026-06-26T13:42:13.157Z",
"etag": "\"1e6-9U0BM597ukFtG/3JdjQX6Jd2Jjw\"",
"mtime": "2026-06-29T13:04:44.053Z",
"size": 486,
"path": "../public/_nuxt/CSkx_E93.js"
"path": "../public/_nuxt/BMRPljNC.js"
},
"/_nuxt/CfRvSqVD.js": {
"/_nuxt/BZYi31Gu.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"d45-lFjcvRhUyo6B+JksxiFKtgvFASE\"",
"mtime": "2026-06-26T13:42:13.157Z",
"etag": "\"444-K+0CVT/dFSrmy6Amy/3vaBxb4Lc\"",
"mtime": "2026-06-29T13:04:44.053Z",
"size": 1092,
"path": "../public/_nuxt/BZYi31Gu.js"
},
"/_nuxt/BkOfz63t.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"331a-FtGG6cVTvK4tIT3RMMCpxrIH0MA\"",
"mtime": "2026-06-29T13:04:44.054Z",
"size": 13082,
"path": "../public/_nuxt/BkOfz63t.js"
},
"/_nuxt/BkQDb8NA.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"5be1-u372qs8cwwcAKvUHrwfMAe1AANQ\"",
"mtime": "2026-06-29T13:04:44.054Z",
"size": 23521,
"path": "../public/_nuxt/BkQDb8NA.js"
},
"/_nuxt/CKNXzFL5.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"d45-k3GQWSC/8Xi/MHpQrxXdFRv0QX0\"",
"mtime": "2026-06-29T13:04:44.054Z",
"size": 3397,
"path": "../public/_nuxt/CfRvSqVD.js"
"path": "../public/_nuxt/CKNXzFL5.js"
},
"/_nuxt/DU5nqnNf.js": {
"/_nuxt/C3p9-W8g.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"ee-bIWIJa39cVGeS1l/OZGh01fUoiY\"",
"mtime": "2026-06-26T13:42:13.157Z",
"etag": "\"36da-lBYaR56Z02gSwVq4krxjE6Qftk4\"",
"mtime": "2026-06-29T13:04:44.054Z",
"size": 14042,
"path": "../public/_nuxt/C3p9-W8g.js"
},
"/_nuxt/C94yYWrE.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"161f-c2bdD5zWtS/sFJu2t2auXJsnUfA\"",
"mtime": "2026-06-29T13:04:44.054Z",
"size": 5663,
"path": "../public/_nuxt/C94yYWrE.js"
},
"/_nuxt/CmLwdxkM.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"ee-UfNGrdLfvL1w+ki0Y5HR+KL/4Iw\"",
"mtime": "2026-06-29T13:04:44.055Z",
"size": 238,
"path": "../public/_nuxt/DU5nqnNf.js"
"path": "../public/_nuxt/CmLwdxkM.js"
},
"/_nuxt/CGTxeHv7.js": {
"/_nuxt/CYfDGx4h.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"3f79d-x1w34Lv9Rak1B4JxrhfvbxN+r18\"",
"mtime": "2026-06-26T13:42:13.157Z",
"size": 259997,
"path": "../public/_nuxt/CGTxeHv7.js"
"etag": "\"9d2b-br9DLttn9Mg/vCNAnBA4gVracPA\"",
"mtime": "2026-06-29T13:04:44.054Z",
"size": 40235,
"path": "../public/_nuxt/CYfDGx4h.js"
},
"/_nuxt/D_jf_u12.js": {
"/_nuxt/CgGKKGWt.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"43e3-TUT2rRK17AMzPujtuYcRBz02c8I\"",
"mtime": "2026-06-26T13:42:13.157Z",
"size": 17379,
"path": "../public/_nuxt/D_jf_u12.js"
},
"/_nuxt/Di7O2dT-.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"13b7c-mOQdaU3+tI96+f0+TUCEA1yc8Bk\"",
"mtime": "2026-06-26T13:42:13.158Z",
"size": 80764,
"path": "../public/_nuxt/Di7O2dT-.js"
},
"/_nuxt/DkxL14wO.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"cf5-lpb35wp4OGmmPIntXCyDC1S0Pfw\"",
"mtime": "2026-06-26T13:42:13.158Z",
"etag": "\"cf5-pjthLxympb6r29B96RDoEe2eo4Q\"",
"mtime": "2026-06-29T13:04:44.055Z",
"size": 3317,
"path": "../public/_nuxt/DkxL14wO.js"
"path": "../public/_nuxt/CgGKKGWt.js"
},
"/_nuxt/Dsqi8-Rp.js": {
"/_nuxt/BopcD-t8.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"1fb8-FQBvUsFrpmbbrtJ47/JBXBLqDbo\"",
"mtime": "2026-06-26T13:42:13.158Z",
"size": 8120,
"path": "../public/_nuxt/Dsqi8-Rp.js"
"etag": "\"320e-9m1j6ySWiUrtmmu2+OcfSir6LTw\"",
"mtime": "2026-06-29T13:04:44.054Z",
"size": 12814,
"path": "../public/_nuxt/BopcD-t8.js"
},
"/_nuxt/entry.KrfumMBl.css": {
"type": "text/css; charset=utf-8",
"etag": "\"19-60Qvpq/4eRs/sHLgNwhHUEqqm/o\"",
"mtime": "2026-06-26T13:42:13.158Z",
"size": 25,
"path": "../public/_nuxt/entry.KrfumMBl.css"
},
"/_nuxt/IlbAEw5Q.js": {
"/_nuxt/D8FsUCiz.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"3119-DvF3DRaeIBBZNL19I72Z5WejRaU\"",
"mtime": "2026-06-26T13:42:13.158Z",
"size": 12569,
"path": "../public/_nuxt/IlbAEw5Q.js"
"etag": "\"4575-xqpX3yc85jGVhtV+IKnPviWXhO0\"",
"mtime": "2026-06-29T13:04:44.055Z",
"size": 17781,
"path": "../public/_nuxt/D8FsUCiz.js"
},
"/_nuxt/DlAUqK2U.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"5b-eFCz/UrraTh721pgAl0VxBNR1es\"",
"mtime": "2026-06-26T13:42:13.158Z",
"mtime": "2026-06-29T13:04:44.055Z",
"size": 91,
"path": "../public/_nuxt/DlAUqK2U.js"
},
"/_nuxt/DLBkCode.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"eb2-83JdBOPaaPVyvMrxhiLy91f3esQ\"",
"mtime": "2026-06-29T13:04:44.055Z",
"size": 3762,
"path": "../public/_nuxt/DLBkCode.js"
},
"/_nuxt/entry.KrfumMBl.css": {
"type": "text/css; charset=utf-8",
"etag": "\"19-60Qvpq/4eRs/sHLgNwhHUEqqm/o\"",
"mtime": "2026-06-29T13:04:44.055Z",
"size": 25,
"path": "../public/_nuxt/entry.KrfumMBl.css"
},
"/_nuxt/Dc9IRd06.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"4073d-32g2sEBtGkvguO7SechUfTIPN3Y\"",
"mtime": "2026-06-29T13:04:44.055Z",
"size": 263997,
"path": "../public/_nuxt/Dc9IRd06.js"
},
"/_nuxt/error-404.DL_4WIao.css": {
"type": "text/css; charset=utf-8",
"etag": "\"dca-KnjyV0UbpsrliiJzZx69defY74k\"",
"mtime": "2026-06-26T13:42:13.158Z",
"mtime": "2026-06-29T13:04:44.055Z",
"size": 3530,
"path": "../public/_nuxt/error-404.DL_4WIao.css"
},
"/_nuxt/b-bIta7J.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"a1fa-xaNKp7TAPs/FKXcsk6THTkeq5Y4\"",
"mtime": "2026-06-29T13:04:44.055Z",
"size": 41466,
"path": "../public/_nuxt/b-bIta7J.js"
},
"/_nuxt/bPZppHdV.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"3a94-0yt61jkmS73qAjFu8ALWj8duT5E\"",
"mtime": "2026-06-29T13:04:44.055Z",
"size": 14996,
"path": "../public/_nuxt/bPZppHdV.js"
},
"/_nuxt/DmyQTZVv.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"86ad-bzvTtnKdBEwxuxbA7U7qFfEaWNc\"",
"mtime": "2026-06-29T13:04:44.055Z",
"size": 34477,
"path": "../public/_nuxt/DmyQTZVv.js"
},
"/_nuxt/error-500.I1Dtv2V5.css": {
"type": "text/css; charset=utf-8",
"etag": "\"75a-vEGyJqldBVJrnMfcLsrGaHcxYl0\"",
"mtime": "2026-06-26T13:42:13.158Z",
"mtime": "2026-06-29T13:04:44.055Z",
"size": 1882,
"path": "../public/_nuxt/error-500.I1Dtv2V5.css"
},
"/_nuxt/fLPEiaqv.js": {
"/_nuxt/iRX-7sV5.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"eb2-X+i2jFJGGqFN1BeAjdglcPZjHuo\"",
"mtime": "2026-06-26T13:42:13.158Z",
"size": 3762,
"path": "../public/_nuxt/fLPEiaqv.js"
"etag": "\"561c-MdfbVwAs2IhGYQqUzRNFPqKJyok\"",
"mtime": "2026-06-29T13:04:44.055Z",
"size": 22044,
"path": "../public/_nuxt/iRX-7sV5.js"
},
"/_nuxt/p3BZMbac.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"4575-p55AI+7m/wNGE23e9QdfmncIZec\"",
"mtime": "2026-06-26T13:42:13.158Z",
"size": 17781,
"path": "../public/_nuxt/p3BZMbac.js"
},
"/_nuxt/iGXES_tj.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"8ef4-mupIOaLM/tTCgakL6nLU9k7D+Lg\"",
"mtime": "2026-06-26T13:42:13.158Z",
"size": 36596,
"path": "../public/_nuxt/iGXES_tj.js"
"/_nuxt/builds/meta/2e53a892-7df2-4904-8849-6b15dd7e936c.json": {
"type": "application/json",
"etag": "\"58-82n693dDFqZQ2Z1MfvDeA7VbGOQ\"",
"mtime": "2026-06-29T13:04:44.040Z",
"size": 88,
"path": "../public/_nuxt/builds/meta/2e53a892-7df2-4904-8849-6b15dd7e936c.json"
},
"/_nuxt/builds/latest.json": {
"type": "application/json",
"etag": "\"47-jVGLNWIulIpgxIrI9A0vzJBSyf0\"",
"mtime": "2026-06-26T13:42:13.150Z",
"etag": "\"47-m6bdTDqs/R7tlTS6cMGlfabmWl4\"",
"mtime": "2026-06-29T13:04:44.045Z",
"size": 71,
"path": "../public/_nuxt/builds/latest.json"
},
"/_nuxt/builds/meta/9bec55ba-4ecf-449d-9a96-4f3ecc37770a.json": {
"type": "application/json",
"etag": "\"58-bnn7595g9HCWb/C9lhsu/VFXvus\"",
"mtime": "2026-06-26T13:42:13.147Z",
"size": 88,
"path": "../public/_nuxt/builds/meta/9bec55ba-4ecf-449d-9a96-4f3ecc37770a.json"
},
"/_nuxt/nwypRWOF.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"445-I8r0pF76iEwq2zZb9xp6nJYmQQI\"",
"mtime": "2026-06-26T13:42:13.158Z",
"size": 1093,
"path": "../public/_nuxt/nwypRWOF.js"
},
"/_nuxt/woz7WbxD.js": {
"type": "text/javascript; charset=utf-8",
"etag": "\"4009-DA5xQpdmZdcMcpSElp9cmmLQRaM\"",
"mtime": "2026-06-26T13:42:13.159Z",
"size": 16393,
"path": "../public/_nuxt/woz7WbxD.js"
},
"/_nuxt/builds/meta/dev.json": {
"type": "application/json",
"etag": "\"37-7CFGAUHH2jpvVnqmAnnRkG5JQP8\"",
"mtime": "2026-06-26T13:42:13.147Z",
"etag": "\"37-9mxJkDFXtEDfXARpPVLsoYF/OxA\"",
"mtime": "2026-06-29T13:04:44.041Z",
"size": 55,
"path": "../public/_nuxt/builds/meta/dev.json"
},
"/sf_logo.png": {
"type": "image/png",
"etag": "\"4366a8-5u0A+e1MYT8zegFkKhhzxt5KbGs\"",
"mtime": "2026-06-26T13:42:13.161Z",
"mtime": "2026-06-29T13:04:44.059Z",
"size": 4417192,
"path": "../public/sf_logo.png"
}