@inspirer-dev/crm-dashboard 1.0.5 → 1.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -20,6 +20,16 @@ import {
20
20
  } from '@strapi/design-system';
21
21
  import { Layouts } from '@strapi/admin/strapi-admin';
22
22
 
23
+ const getBackendUrl = (): string => {
24
+ const raw = process.env.STRAPI_ADMIN_BACKEND_URL || 'http://localhost:3100';
25
+
26
+ if (!/^https?:\/\//i.test(raw)) {
27
+ return 'http://localhost:3100';
28
+ }
29
+
30
+ return raw.endsWith('/') ? raw.slice(0, -1) : raw;
31
+ };
32
+
23
33
  interface CrmLog {
24
34
  timestamp: string;
25
35
  user_id: string;
@@ -61,8 +71,8 @@ const LogsTable: React.FC = () => {
61
71
  if (filterUserId) params.set('userId', filterUserId);
62
72
  if (filterStatus) params.set('status', filterStatus);
63
73
 
64
- const backendUrl = process.env.STRAPI_ADMIN_BACKEND_URL || 'http://localhost:4000';
65
- const res = await fetch(`${backendUrl}/crm/logs?${params}`);
74
+ const backendUrl = getBackendUrl();
75
+ const res = await fetch(new URL(`/crm/logs?${params}`, backendUrl).toString());
66
76
  if (res.ok) {
67
77
  const data = await res.json();
68
78
  setLogs(data.data || []);
@@ -111,7 +121,7 @@ const LogsTable: React.FC = () => {
111
121
  <SingleSelect
112
122
  placeholder="Status"
113
123
  value={filterStatus}
114
- onChange={(val: string) => setFilterStatus(val)}
124
+ onChange={(val: string | number) => setFilterStatus(String(val))}
115
125
  onClear={() => setFilterStatus('')}
116
126
  >
117
127
  <SingleSelectOption value="">All</SingleSelectOption>
@@ -224,8 +234,10 @@ const AntiSpamLogsTable: React.FC = () => {
224
234
  pageSize: '20',
225
235
  });
226
236
 
227
- const backendUrl = process.env.STRAPI_ADMIN_BACKEND_URL || 'http://localhost:4000';
228
- const res = await fetch(`${backendUrl}/crm/anti-spam-logs?${params}`);
237
+ const backendUrl = getBackendUrl();
238
+ const res = await fetch(
239
+ new URL(`/crm/anti-spam-logs?${params}`, backendUrl).toString(),
240
+ );
229
241
  if (res.ok) {
230
242
  const data = await res.json();
231
243
  setLogs(data.data || []);
@@ -355,8 +367,8 @@ const StatsView: React.FC = () => {
355
367
  const fetchStats = useCallback(async () => {
356
368
  setLoading(true);
357
369
  try {
358
- const backendUrl = process.env.STRAPI_ADMIN_BACKEND_URL || 'http://localhost:4000';
359
- const res = await fetch(`${backendUrl}/crm/stats`);
370
+ const backendUrl = getBackendUrl();
371
+ const res = await fetch(new URL('/crm/stats', backendUrl).toString());
360
372
  if (res.ok) {
361
373
  const data = await res.json();
362
374
  setStats(Array.isArray(data) ? data : []);
@@ -5034,7 +5034,7 @@ var objectInspect = function inspect_(obj, options, depth, seen) {
5034
5034
  var ys = arrObjKeys(obj, inspect2);
5035
5035
  var isPlainObject2 = gPO ? gPO(obj) === Object.prototype : obj instanceof Object || obj.constructor === Object;
5036
5036
  var protoTag = obj instanceof Object ? "" : "null prototype";
5037
- var stringTag2 = !isPlainObject2 && toStringTag && Object(obj) === obj && toStringTag in obj ? $slice.call(toStr(obj), 8, -1) : protoTag ? "Object" : "";
5037
+ var stringTag2 = !isPlainObject2 && toStringTag && Object(obj) === obj && toStringTag in obj ? $slice.call(toStr$1(obj), 8, -1) : protoTag ? "Object" : "";
5038
5038
  var constructorTag = isPlainObject2 || typeof obj.constructor !== "function" ? "" : obj.constructor.name ? obj.constructor.name + " " : "";
5039
5039
  var tag = constructorTag + (stringTag2 || protoTag ? "[" + $join.call($concat$1.call([], stringTag2 || [], protoTag || []), ": ") + "] " : "");
5040
5040
  if (ys.length === 0) {
@@ -5059,25 +5059,25 @@ function canTrustToString(obj) {
5059
5059
  return !toStringTag || !(typeof obj === "object" && (toStringTag in obj || typeof obj[toStringTag] !== "undefined"));
5060
5060
  }
5061
5061
  function isArray$8(obj) {
5062
- return toStr(obj) === "[object Array]" && canTrustToString(obj);
5062
+ return toStr$1(obj) === "[object Array]" && canTrustToString(obj);
5063
5063
  }
5064
5064
  function isDate$1(obj) {
5065
- return toStr(obj) === "[object Date]" && canTrustToString(obj);
5065
+ return toStr$1(obj) === "[object Date]" && canTrustToString(obj);
5066
5066
  }
5067
5067
  function isRegExp$1(obj) {
5068
- return toStr(obj) === "[object RegExp]" && canTrustToString(obj);
5068
+ return toStr$1(obj) === "[object RegExp]" && canTrustToString(obj);
5069
5069
  }
5070
5070
  function isError$1(obj) {
5071
- return toStr(obj) === "[object Error]" && canTrustToString(obj);
5071
+ return toStr$1(obj) === "[object Error]" && canTrustToString(obj);
5072
5072
  }
5073
5073
  function isString(obj) {
5074
- return toStr(obj) === "[object String]" && canTrustToString(obj);
5074
+ return toStr$1(obj) === "[object String]" && canTrustToString(obj);
5075
5075
  }
5076
5076
  function isNumber(obj) {
5077
- return toStr(obj) === "[object Number]" && canTrustToString(obj);
5077
+ return toStr$1(obj) === "[object Number]" && canTrustToString(obj);
5078
5078
  }
5079
5079
  function isBoolean(obj) {
5080
- return toStr(obj) === "[object Boolean]" && canTrustToString(obj);
5080
+ return toStr$1(obj) === "[object Boolean]" && canTrustToString(obj);
5081
5081
  }
5082
5082
  function isSymbol$2(obj) {
5083
5083
  if (hasShammedSymbols) {
@@ -5113,7 +5113,7 @@ var hasOwn$1 = Object.prototype.hasOwnProperty || function(key) {
5113
5113
  function has$5(obj, key) {
5114
5114
  return hasOwn$1.call(obj, key);
5115
5115
  }
5116
- function toStr(obj) {
5116
+ function toStr$1(obj) {
5117
5117
  return objectToString.call(obj);
5118
5118
  }
5119
5119
  function nameOf(f2) {
@@ -5422,7 +5422,7 @@ var syntax = SyntaxError;
5422
5422
  var uri = URIError;
5423
5423
  var abs$1 = Math.abs;
5424
5424
  var floor$1 = Math.floor;
5425
- var max$1 = Math.max;
5425
+ var max$2 = Math.max;
5426
5426
  var min$1 = Math.min;
5427
5427
  var pow$1 = Math.pow;
5428
5428
  var round$1 = Math.round;
@@ -5551,99 +5551,78 @@ function requireObject_getPrototypeOf() {
5551
5551
  Object_getPrototypeOf = $Object2.getPrototypeOf || null;
5552
5552
  return Object_getPrototypeOf;
5553
5553
  }
5554
- var implementation;
5555
- var hasRequiredImplementation;
5556
- function requireImplementation() {
5557
- if (hasRequiredImplementation) return implementation;
5558
- hasRequiredImplementation = 1;
5559
- var ERROR_MESSAGE = "Function.prototype.bind called on incompatible ";
5560
- var toStr2 = Object.prototype.toString;
5561
- var max2 = Math.max;
5562
- var funcType = "[object Function]";
5563
- var concatty = function concatty2(a2, b2) {
5564
- var arr = [];
5565
- for (var i2 = 0; i2 < a2.length; i2 += 1) {
5566
- arr[i2] = a2[i2];
5567
- }
5568
- for (var j2 = 0; j2 < b2.length; j2 += 1) {
5569
- arr[j2 + a2.length] = b2[j2];
5570
- }
5571
- return arr;
5572
- };
5573
- var slicy = function slicy2(arrLike, offset) {
5574
- var arr = [];
5575
- for (var i2 = offset, j2 = 0; i2 < arrLike.length; i2 += 1, j2 += 1) {
5576
- arr[j2] = arrLike[i2];
5554
+ var ERROR_MESSAGE = "Function.prototype.bind called on incompatible ";
5555
+ var toStr = Object.prototype.toString;
5556
+ var max$1 = Math.max;
5557
+ var funcType = "[object Function]";
5558
+ var concatty = function concatty2(a2, b2) {
5559
+ var arr = [];
5560
+ for (var i2 = 0; i2 < a2.length; i2 += 1) {
5561
+ arr[i2] = a2[i2];
5562
+ }
5563
+ for (var j2 = 0; j2 < b2.length; j2 += 1) {
5564
+ arr[j2 + a2.length] = b2[j2];
5565
+ }
5566
+ return arr;
5567
+ };
5568
+ var slicy = function slicy2(arrLike, offset) {
5569
+ var arr = [];
5570
+ for (var i2 = offset, j2 = 0; i2 < arrLike.length; i2 += 1, j2 += 1) {
5571
+ arr[j2] = arrLike[i2];
5572
+ }
5573
+ return arr;
5574
+ };
5575
+ var joiny = function(arr, joiner) {
5576
+ var str = "";
5577
+ for (var i2 = 0; i2 < arr.length; i2 += 1) {
5578
+ str += arr[i2];
5579
+ if (i2 + 1 < arr.length) {
5580
+ str += joiner;
5577
5581
  }
5578
- return arr;
5579
- };
5580
- var joiny = function(arr, joiner) {
5581
- var str = "";
5582
- for (var i2 = 0; i2 < arr.length; i2 += 1) {
5583
- str += arr[i2];
5584
- if (i2 + 1 < arr.length) {
5585
- str += joiner;
5582
+ }
5583
+ return str;
5584
+ };
5585
+ var implementation$1 = function bind(that) {
5586
+ var target = this;
5587
+ if (typeof target !== "function" || toStr.apply(target) !== funcType) {
5588
+ throw new TypeError(ERROR_MESSAGE + target);
5589
+ }
5590
+ var args = slicy(arguments, 1);
5591
+ var bound;
5592
+ var binder = function() {
5593
+ if (this instanceof bound) {
5594
+ var result = target.apply(
5595
+ this,
5596
+ concatty(args, arguments)
5597
+ );
5598
+ if (Object(result) === result) {
5599
+ return result;
5586
5600
  }
5601
+ return this;
5587
5602
  }
5588
- return str;
5603
+ return target.apply(
5604
+ that,
5605
+ concatty(args, arguments)
5606
+ );
5589
5607
  };
5590
- implementation = function bind2(that) {
5591
- var target = this;
5592
- if (typeof target !== "function" || toStr2.apply(target) !== funcType) {
5593
- throw new TypeError(ERROR_MESSAGE + target);
5594
- }
5595
- var args = slicy(arguments, 1);
5596
- var bound;
5597
- var binder = function() {
5598
- if (this instanceof bound) {
5599
- var result = target.apply(
5600
- this,
5601
- concatty(args, arguments)
5602
- );
5603
- if (Object(result) === result) {
5604
- return result;
5605
- }
5606
- return this;
5607
- }
5608
- return target.apply(
5609
- that,
5610
- concatty(args, arguments)
5611
- );
5608
+ var boundLength = max$1(0, target.length - args.length);
5609
+ var boundArgs = [];
5610
+ for (var i2 = 0; i2 < boundLength; i2++) {
5611
+ boundArgs[i2] = "$" + i2;
5612
+ }
5613
+ bound = Function("binder", "return function (" + joiny(boundArgs, ",") + "){ return binder.apply(this,arguments); }")(binder);
5614
+ if (target.prototype) {
5615
+ var Empty = function Empty2() {
5612
5616
  };
5613
- var boundLength = max2(0, target.length - args.length);
5614
- var boundArgs = [];
5615
- for (var i2 = 0; i2 < boundLength; i2++) {
5616
- boundArgs[i2] = "$" + i2;
5617
- }
5618
- bound = Function("binder", "return function (" + joiny(boundArgs, ",") + "){ return binder.apply(this,arguments); }")(binder);
5619
- if (target.prototype) {
5620
- var Empty = function Empty2() {
5621
- };
5622
- Empty.prototype = target.prototype;
5623
- bound.prototype = new Empty();
5624
- Empty.prototype = null;
5625
- }
5626
- return bound;
5627
- };
5628
- return implementation;
5629
- }
5630
- var functionBind;
5631
- var hasRequiredFunctionBind;
5632
- function requireFunctionBind() {
5633
- if (hasRequiredFunctionBind) return functionBind;
5634
- hasRequiredFunctionBind = 1;
5635
- var implementation2 = requireImplementation();
5636
- functionBind = Function.prototype.bind || implementation2;
5637
- return functionBind;
5638
- }
5639
- var functionCall;
5640
- var hasRequiredFunctionCall;
5641
- function requireFunctionCall() {
5642
- if (hasRequiredFunctionCall) return functionCall;
5643
- hasRequiredFunctionCall = 1;
5644
- functionCall = Function.prototype.call;
5645
- return functionCall;
5646
- }
5617
+ Empty.prototype = target.prototype;
5618
+ bound.prototype = new Empty();
5619
+ Empty.prototype = null;
5620
+ }
5621
+ return bound;
5622
+ };
5623
+ var implementation = implementation$1;
5624
+ var functionBind = Function.prototype.bind || implementation;
5625
+ var functionCall = Function.prototype.call;
5647
5626
  var functionApply;
5648
5627
  var hasRequiredFunctionApply;
5649
5628
  function requireFunctionApply() {
@@ -5653,14 +5632,14 @@ function requireFunctionApply() {
5653
5632
  return functionApply;
5654
5633
  }
5655
5634
  var reflectApply = typeof Reflect !== "undefined" && Reflect && Reflect.apply;
5656
- var bind$2 = requireFunctionBind();
5635
+ var bind$2 = functionBind;
5657
5636
  var $apply$1 = requireFunctionApply();
5658
- var $call$2 = requireFunctionCall();
5637
+ var $call$2 = functionCall;
5659
5638
  var $reflectApply = reflectApply;
5660
5639
  var actualApply = $reflectApply || bind$2.call($call$2, $apply$1);
5661
- var bind$1 = requireFunctionBind();
5640
+ var bind$1 = functionBind;
5662
5641
  var $TypeError$4 = type;
5663
- var $call$1 = requireFunctionCall();
5642
+ var $call$1 = functionCall;
5664
5643
  var $actualApply = actualApply;
5665
5644
  var callBindApplyHelpers = function callBindBasic(args) {
5666
5645
  if (args.length < 1 || typeof args[0] !== "function") {
@@ -5726,8 +5705,8 @@ function requireHasown() {
5726
5705
  hasRequiredHasown = 1;
5727
5706
  var call = Function.prototype.call;
5728
5707
  var $hasOwn = Object.prototype.hasOwnProperty;
5729
- var bind2 = requireFunctionBind();
5730
- hasown = bind2.call(call, $hasOwn);
5708
+ var bind3 = functionBind;
5709
+ hasown = bind3.call(call, $hasOwn);
5731
5710
  return hasown;
5732
5711
  }
5733
5712
  var undefined$1;
@@ -5741,7 +5720,7 @@ var $TypeError$3 = type;
5741
5720
  var $URIError = uri;
5742
5721
  var abs = abs$1;
5743
5722
  var floor = floor$1;
5744
- var max = max$1;
5723
+ var max = max$2;
5745
5724
  var min = min$1;
5746
5725
  var pow = pow$1;
5747
5726
  var round = round$1;
@@ -5775,7 +5754,7 @@ var getProto = requireGetProto();
5775
5754
  var $ObjectGPO = requireObject_getPrototypeOf();
5776
5755
  var $ReflectGPO = requireReflect_getPrototypeOf();
5777
5756
  var $apply = requireFunctionApply();
5778
- var $call = requireFunctionCall();
5757
+ var $call = functionCall;
5779
5758
  var needsEval = {};
5780
5759
  var TypedArray = typeof Uint8Array === "undefined" || !getProto ? undefined$1 : getProto(Uint8Array);
5781
5760
  var INTRINSICS = {
@@ -5946,13 +5925,13 @@ var LEGACY_ALIASES = {
5946
5925
  "%WeakMapPrototype%": ["WeakMap", "prototype"],
5947
5926
  "%WeakSetPrototype%": ["WeakSet", "prototype"]
5948
5927
  };
5949
- var bind = requireFunctionBind();
5928
+ var bind2 = functionBind;
5950
5929
  var hasOwn = requireHasown();
5951
- var $concat = bind.call($call, Array.prototype.concat);
5952
- var $spliceApply = bind.call($apply, Array.prototype.splice);
5953
- var $replace = bind.call($call, String.prototype.replace);
5954
- var $strSlice = bind.call($call, String.prototype.slice);
5955
- var $exec = bind.call($call, RegExp.prototype.exec);
5930
+ var $concat = bind2.call($call, Array.prototype.concat);
5931
+ var $spliceApply = bind2.call($apply, Array.prototype.splice);
5932
+ var $replace = bind2.call($call, String.prototype.replace);
5933
+ var $strSlice = bind2.call($call, String.prototype.slice);
5934
+ var $exec = bind2.call($call, RegExp.prototype.exec);
5956
5935
  var rePropName = /[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g;
5957
5936
  var reEscapeChar = /\\(\\)?/g;
5958
5937
  var stringToPath$1 = function stringToPath(string2) {
@@ -16970,6 +16949,13 @@ const usersService = adminApi.enhanceEndpoints({
16970
16949
  overrideExisting: false
16971
16950
  });
16972
16951
  const { useCreateUserMutation, useGetUsersQuery, useUpdateUserMutation, useDeleteManyUsersMutation, useGetRolesQuery, useCreateRoleMutation, useUpdateRoleMutation, useGetRolePermissionsQuery, useGetRolePermissionLayoutQuery, useUpdateRolePermissionsMutation } = usersService;
16952
+ const getBackendUrl = () => {
16953
+ const raw = process.env.STRAPI_ADMIN_BACKEND_URL || "http://localhost:3100";
16954
+ if (!/^https?:\/\//i.test(raw)) {
16955
+ return "http://localhost:3100";
16956
+ }
16957
+ return raw.endsWith("/") ? raw.slice(0, -1) : raw;
16958
+ };
16973
16959
  const LogsTable = () => {
16974
16960
  const [logs, setLogs] = React.useState([]);
16975
16961
  const [loading, setLoading] = React.useState(false);
@@ -16986,8 +16972,8 @@ const LogsTable = () => {
16986
16972
  });
16987
16973
  if (filterUserId) params.set("userId", filterUserId);
16988
16974
  if (filterStatus) params.set("status", filterStatus);
16989
- const backendUrl = process.env.STRAPI_ADMIN_BACKEND_URL || "http://localhost:4000";
16990
- const res = await fetch(`${backendUrl}/crm/logs?${params}`);
16975
+ const backendUrl = getBackendUrl();
16976
+ const res = await fetch(new URL(`/crm/logs?${params}`, backendUrl).toString());
16991
16977
  if (res.ok) {
16992
16978
  const data = await res.json();
16993
16979
  setLogs(data.data || []);
@@ -17033,7 +17019,7 @@ const LogsTable = () => {
17033
17019
  {
17034
17020
  placeholder: "Status",
17035
17021
  value: filterStatus,
17036
- onChange: (val) => setFilterStatus(val),
17022
+ onChange: (val) => setFilterStatus(String(val)),
17037
17023
  onClear: () => setFilterStatus(""),
17038
17024
  children: [
17039
17025
  /* @__PURE__ */ jsxRuntime.jsx(designSystem.SingleSelectOption, { value: "", children: "All" }),
@@ -17112,8 +17098,10 @@ const AntiSpamLogsTable = () => {
17112
17098
  page: String(page),
17113
17099
  pageSize: "20"
17114
17100
  });
17115
- const backendUrl = process.env.STRAPI_ADMIN_BACKEND_URL || "http://localhost:4000";
17116
- const res = await fetch(`${backendUrl}/crm/anti-spam-logs?${params}`);
17101
+ const backendUrl = getBackendUrl();
17102
+ const res = await fetch(
17103
+ new URL(`/crm/anti-spam-logs?${params}`, backendUrl).toString()
17104
+ );
17117
17105
  if (res.ok) {
17118
17106
  const data = await res.json();
17119
17107
  setLogs(data.data || []);
@@ -17206,8 +17194,8 @@ const StatsView = () => {
17206
17194
  const fetchStats = React.useCallback(async () => {
17207
17195
  setLoading(true);
17208
17196
  try {
17209
- const backendUrl = process.env.STRAPI_ADMIN_BACKEND_URL || "http://localhost:4000";
17210
- const res = await fetch(`${backendUrl}/crm/stats`);
17197
+ const backendUrl = getBackendUrl();
17198
+ const res = await fetch(new URL("/crm/stats", backendUrl).toString());
17211
17199
  if (res.ok) {
17212
17200
  const data = await res.json();
17213
17201
  setStats(Array.isArray(data) ? data : []);
@@ -16949,6 +16949,13 @@ const usersService = adminApi.enhanceEndpoints({
16949
16949
  overrideExisting: false
16950
16950
  });
16951
16951
  const { useCreateUserMutation, useGetUsersQuery, useUpdateUserMutation, useDeleteManyUsersMutation, useGetRolesQuery, useCreateRoleMutation, useUpdateRoleMutation, useGetRolePermissionsQuery, useGetRolePermissionLayoutQuery, useUpdateRolePermissionsMutation } = usersService;
16952
+ const getBackendUrl = () => {
16953
+ const raw = process.env.STRAPI_ADMIN_BACKEND_URL || "http://localhost:3100";
16954
+ if (!/^https?:\/\//i.test(raw)) {
16955
+ return "http://localhost:3100";
16956
+ }
16957
+ return raw.endsWith("/") ? raw.slice(0, -1) : raw;
16958
+ };
16952
16959
  const LogsTable = () => {
16953
16960
  const [logs, setLogs] = useState([]);
16954
16961
  const [loading, setLoading] = useState(false);
@@ -16965,8 +16972,8 @@ const LogsTable = () => {
16965
16972
  });
16966
16973
  if (filterUserId) params.set("userId", filterUserId);
16967
16974
  if (filterStatus) params.set("status", filterStatus);
16968
- const backendUrl = process.env.STRAPI_ADMIN_BACKEND_URL || "http://localhost:4000";
16969
- const res = await fetch(`${backendUrl}/crm/logs?${params}`);
16975
+ const backendUrl = getBackendUrl();
16976
+ const res = await fetch(new URL(`/crm/logs?${params}`, backendUrl).toString());
16970
16977
  if (res.ok) {
16971
16978
  const data = await res.json();
16972
16979
  setLogs(data.data || []);
@@ -17012,7 +17019,7 @@ const LogsTable = () => {
17012
17019
  {
17013
17020
  placeholder: "Status",
17014
17021
  value: filterStatus,
17015
- onChange: (val) => setFilterStatus(val),
17022
+ onChange: (val) => setFilterStatus(String(val)),
17016
17023
  onClear: () => setFilterStatus(""),
17017
17024
  children: [
17018
17025
  /* @__PURE__ */ jsx(SingleSelectOption, { value: "", children: "All" }),
@@ -17091,8 +17098,10 @@ const AntiSpamLogsTable = () => {
17091
17098
  page: String(page),
17092
17099
  pageSize: "20"
17093
17100
  });
17094
- const backendUrl = process.env.STRAPI_ADMIN_BACKEND_URL || "http://localhost:4000";
17095
- const res = await fetch(`${backendUrl}/crm/anti-spam-logs?${params}`);
17101
+ const backendUrl = getBackendUrl();
17102
+ const res = await fetch(
17103
+ new URL(`/crm/anti-spam-logs?${params}`, backendUrl).toString()
17104
+ );
17096
17105
  if (res.ok) {
17097
17106
  const data = await res.json();
17098
17107
  setLogs(data.data || []);
@@ -17185,8 +17194,8 @@ const StatsView = () => {
17185
17194
  const fetchStats = useCallback(async () => {
17186
17195
  setLoading(true);
17187
17196
  try {
17188
- const backendUrl = process.env.STRAPI_ADMIN_BACKEND_URL || "http://localhost:4000";
17189
- const res = await fetch(`${backendUrl}/crm/stats`);
17197
+ const backendUrl = getBackendUrl();
17198
+ const res = await fetch(new URL("/crm/stats", backendUrl).toString());
17190
17199
  if (res.ok) {
17191
17200
  const data = await res.json();
17192
17201
  setStats(Array.isArray(data) ? data : []);
@@ -54,7 +54,7 @@ const index = {
54
54
  Component: async () => {
55
55
  const component = await Promise.resolve().then(() => require(
56
56
  /* webpackChunkName: "crm-dashboard-page" */
57
- "../_chunks/index-BYtwkTin.js"
57
+ "../_chunks/index-CFJzc5-t.js"
58
58
  ));
59
59
  return component;
60
60
  },
@@ -53,7 +53,7 @@ const index = {
53
53
  Component: async () => {
54
54
  const component = await import(
55
55
  /* webpackChunkName: "crm-dashboard-page" */
56
- "../_chunks/index-9qOMKawN.mjs"
56
+ "../_chunks/index-D1piC03o.mjs"
57
57
  );
58
58
  return component;
59
59
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inspirer-dev/crm-dashboard",
3
- "version": "1.0.5",
3
+ "version": "1.0.7",
4
4
  "description": "CRM Dashboard and Tools",
5
5
  "strapi": {
6
6
  "name": "crm-dashboard",