@ozdao/martyrs 0.2.429 → 0.2.430

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.
Files changed (120) hide show
  1. package/dist/community.server.js +1 -1
  2. package/dist/community.server.mjs +1 -1
  3. package/dist/events.server.js +1 -1
  4. package/dist/events.server.mjs +1 -1
  5. package/dist/gallery.server.js +1 -1
  6. package/dist/gallery.server.mjs +1 -1
  7. package/dist/{globals.logger-Deb_8o7C.mjs → globals.cache-BT6q3vOf.mjs} +0 -33
  8. package/dist/{globals.logger-BuG0pN80.js → globals.cache-CwWvNGFQ.js} +0 -33
  9. package/dist/globals.logger-BdjooLaD.js +34 -0
  10. package/dist/globals.logger-DusiFsxN.mjs +35 -0
  11. package/dist/martyrs/src/components/Block/Block.vue.cjs +1 -1
  12. package/dist/martyrs/src/components/Block/Block.vue.js +1 -1
  13. package/dist/martyrs/src/components/Tooltip/{Tooltip.vue.cjs → Tooltip.vue2.cjs} +2 -2
  14. package/dist/martyrs/src/components/Tooltip/Tooltip.vue2.cjs.map +1 -0
  15. package/dist/martyrs/src/components/Tooltip/{Tooltip.vue.js → Tooltip.vue2.js} +2 -2
  16. package/dist/martyrs/src/components/Tooltip/{Tooltip.vue.cjs.map → Tooltip.vue2.js.map} +1 -1
  17. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.cjs +1 -1
  18. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.js +1 -1
  19. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.cjs +11 -8
  20. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.cjs.map +1 -1
  21. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.js +11 -8
  22. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.js.map +1 -1
  23. package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.cjs +5 -5
  24. package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.cjs.map +1 -1
  25. package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.js +5 -5
  26. package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.js.map +1 -1
  27. package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.cjs +17 -9
  28. package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.cjs.map +1 -1
  29. package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.js +17 -9
  30. package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.js.map +1 -1
  31. package/dist/martyrs/src/modules/globals/views/components/partials/Sidebar.vue.cjs +16 -4
  32. package/dist/martyrs/src/modules/globals/views/components/partials/Sidebar.vue.cjs.map +1 -1
  33. package/dist/martyrs/src/modules/globals/views/components/partials/Sidebar.vue.js +16 -4
  34. package/dist/martyrs/src/modules/globals/views/components/partials/Sidebar.vue.js.map +1 -1
  35. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderBackoffice.vue.cjs +112 -0
  36. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderBackoffice.vue.cjs.map +1 -0
  37. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderBackoffice.vue.js +112 -0
  38. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderBackoffice.vue.js.map +1 -0
  39. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderUser.vue.cjs +19 -13
  40. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderUser.vue.cjs.map +1 -1
  41. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderUser.vue.js +19 -13
  42. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderUser.vue.js.map +1 -1
  43. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.cjs +1 -1
  44. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js +1 -1
  45. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.cjs +1 -1
  46. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.cjs.map +1 -1
  47. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.js +1 -1
  48. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.js.map +1 -1
  49. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs +14 -6
  50. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs.map +1 -1
  51. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +23 -15
  52. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js.map +1 -1
  53. package/dist/martyrs/src/modules/orders/components/pages/Orders.vue.cjs +16 -99
  54. package/dist/martyrs/src/modules/orders/components/pages/Orders.vue.cjs.map +1 -1
  55. package/dist/martyrs/src/modules/orders/components/pages/Orders.vue.js +16 -99
  56. package/dist/martyrs/src/modules/orders/components/pages/Orders.vue.js.map +1 -1
  57. package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.cjs +2 -2
  58. package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.cjs.map +1 -1
  59. package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.js +2 -2
  60. package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.js.map +1 -1
  61. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.cjs +1 -1
  62. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js +1 -1
  63. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.cjs +59 -56
  64. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.cjs.map +1 -1
  65. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js +63 -60
  66. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js.map +1 -1
  67. package/dist/martyrs/src/modules/organizations/store/organizations.cjs +0 -2
  68. package/dist/martyrs/src/modules/organizations/store/organizations.cjs.map +1 -1
  69. package/dist/martyrs/src/modules/organizations/store/organizations.js +1 -3
  70. package/dist/martyrs/src/modules/organizations/store/organizations.js.map +1 -1
  71. package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.cjs +1 -1
  72. package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.js +1 -1
  73. package/dist/martyrs/src/modules/products/components/pages/Products.vue.cjs +4 -3
  74. package/dist/martyrs/src/modules/products/components/pages/Products.vue.cjs.map +1 -1
  75. package/dist/martyrs/src/modules/products/components/pages/Products.vue.js +5 -4
  76. package/dist/martyrs/src/modules/products/components/pages/Products.vue.js.map +1 -1
  77. package/dist/martyrs/src/modules/spots/store/spots.cjs +4 -11
  78. package/dist/martyrs/src/modules/spots/store/spots.cjs.map +1 -1
  79. package/dist/martyrs/src/modules/spots/store/spots.js +4 -11
  80. package/dist/martyrs/src/modules/spots/store/spots.js.map +1 -1
  81. package/dist/martyrs.css +1 -1
  82. package/dist/orders.server.js +5 -4
  83. package/dist/orders.server.mjs +4 -3
  84. package/dist/organizations.server.js +33 -30
  85. package/dist/organizations.server.mjs +33 -30
  86. package/dist/products.server.js +1 -1
  87. package/dist/products.server.mjs +1 -1
  88. package/dist/{queryProcessor-CCmHM0yi.mjs → queryProcessor-CWnMIe2U.mjs} +4 -1
  89. package/dist/{queryProcessor-CwQakZkT.js → queryProcessor-D6GuKfTV.js} +4 -1
  90. package/dist/rents.server.js +4 -3
  91. package/dist/rents.server.mjs +3 -2
  92. package/dist/spots.server.js +4 -16
  93. package/dist/spots.server.mjs +4 -16
  94. package/dist/style.css +40 -48
  95. package/dist/wallet.server.js +1 -1
  96. package/dist/wallet.server.mjs +1 -1
  97. package/package.json +1 -1
  98. package/src/modules/globals/controllers/utils/queryProcessor.js +2 -1
  99. package/src/modules/globals/views/components/layouts/Client.vue +21 -15
  100. package/src/modules/globals/views/components/partials/Header.vue +3 -4
  101. package/src/modules/globals/views/components/partials/Navigation.vue +17 -19
  102. package/src/modules/globals/views/components/partials/Sidebar.vue +20 -9
  103. package/src/modules/orders/components/blocks/CardOrderBackoffice.vue +106 -0
  104. package/src/modules/orders/components/blocks/CardOrderUser.vue +16 -9
  105. package/src/modules/orders/components/pages/OrderCreate.vue +2 -2
  106. package/src/modules/orders/components/pages/OrderCreateBackoffice.vue +15 -3
  107. package/src/modules/orders/components/pages/Orders.vue +10 -93
  108. package/src/modules/orders/components/partials/ShopCart.vue +2 -2
  109. package/src/modules/orders/controllers/orders.controller.js +2 -1
  110. package/src/modules/organizations/components/pages/Organization.vue +48 -47
  111. package/src/modules/organizations/controllers/organizations.controller.js +57 -47
  112. package/src/modules/organizations/store/organizations.js +6 -6
  113. package/src/modules/products/components/pages/Products.vue +4 -3
  114. package/src/modules/spots/controllers/spots.controller.js +3 -17
  115. package/src/modules/spots/routes/spots.routes.js +1 -4
  116. package/src/modules/spots/store/spots.js +4 -12
  117. package/src/styles/base/shadow_transitions_hover_refactor.scss +1 -0
  118. package/dist/martyrs/src/components/Tooltip/Tooltip.vue.js.map +0 -1
  119. package/src/modules/landing/components/sections/HowToBuyWDR.vue +0 -130
  120. package/src/modules/landing/components/sections/WhatIsWDRSection.vue +0 -116
package/dist/style.css CHANGED
@@ -1116,15 +1116,18 @@ div.vue-tags-input.disabled * {
1116
1116
  }
1117
1117
  .moveFromTop-enter-active,
1118
1118
  .moveFromTop-leave-active {
1119
- transform: translateY(0);
1120
- opacity: 1;
1121
- transition: all 0.5s ease;
1119
+ transition: all 0.3s ease, max-height 0.2s ease;
1120
+ overflow: hidden;
1122
1121
  }
1123
1122
  .moveFromTop-enter-from,
1124
1123
  .moveFromTop-leave-to {
1125
1124
  transform: translateY(-1rem);
1126
1125
  opacity: 0;
1127
- transition: all 0.5s ease;
1126
+ max-height: 0;
1127
+ }
1128
+ .moveFromTop-enter-to,
1129
+ .moveFromTop-leave-from {
1130
+ max-height: 100vh;
1128
1131
  }
1129
1132
  .moveFromTopAbsolute-enter-active,
1130
1133
  .moveFromTopAbsolute-leave-active {
@@ -1432,29 +1435,23 @@ div.vue-tags-input.disabled * {
1432
1435
  transform: translateX(0%);
1433
1436
  opacity: 1;
1434
1437
  }
1435
- .sidebar-item-btn:hover .sidebar-item-icon[data-v-baa33ec9],
1436
- .sidebar-subitem-link:hover .sidebar-subitem-icon[data-v-baa33ec9] {
1438
+ .sidebar-item-btn:hover .sidebar-item-icon[data-v-43d4ca8b],
1439
+ .sidebar-subitem-link:hover .sidebar-subitem-icon[data-v-43d4ca8b] {
1437
1440
  transform: scale(1.1);
1438
1441
  }
1439
- .sidebar-item-btn:hover .sidebar-item-icon[data-v-baa33ec9] {
1442
+ .sidebar-item-btn:hover .sidebar-item-icon[data-v-43d4ca8b] {
1440
1443
  transform: scale(1.1);
1441
1444
  }
1442
- .sidebar-subitem-link:hover .sidebar-subitem-icon[data-v-baa33ec9] {
1445
+ .sidebar-subitem-link:hover .sidebar-subitem-icon[data-v-43d4ca8b] {
1443
1446
  transform: scale(1.1);
1444
1447
  }
1445
- .sidebar-subitem-link[data-v-baa33ec9]:hover {
1446
- background: var(--light-regular);
1447
- }
1448
- .sidebar-item-btn[data-v-baa33ec9]:hover {
1449
- background: var(--light-regular);
1450
- }
1451
- .expanded-item[data-v-baa33ec9] {
1448
+ .expanded-item[data-v-43d4ca8b] {
1452
1449
  display: flex;
1453
1450
  align-items: center;
1454
1451
  width: 100%;
1455
1452
  border-radius: var(--small);
1456
1453
  }
1457
- .sidebar-item-btn[data-v-baa33ec9] {
1454
+ .sidebar-item-btn[data-v-43d4ca8b] {
1458
1455
  align-items: center;
1459
1456
  border-radius: var(--small);
1460
1457
  transition: all 0.2s;
@@ -1462,16 +1459,16 @@ div.vue-tags-input.disabled * {
1462
1459
  border: none;
1463
1460
  cursor: pointer;
1464
1461
  }
1465
- .sidebar-item-title[data-v-baa33ec9] {
1462
+ .sidebar-item-title[data-v-43d4ca8b] {
1466
1463
  font-weight: 500;
1467
1464
  transition: opacity 0.2s, width 0.2s;
1468
1465
  white-space: nowrap;
1469
1466
  }
1470
- .sidebar-item-icon[data-v-baa33ec9] {
1467
+ .sidebar-item-icon[data-v-43d4ca8b] {
1471
1468
  font-size: 1.25rem;
1472
1469
  transition: transform 0.2s;
1473
1470
  }
1474
- .sidebar-category[data-v-baa33ec9] {
1471
+ .sidebar-category[data-v-43d4ca8b] {
1475
1472
  font-size: 0.75rem;
1476
1473
  font-weight: 600;
1477
1474
  text-transform: uppercase;
@@ -1481,7 +1478,7 @@ div.vue-tags-input.disabled * {
1481
1478
  transition: opacity 0.2s;
1482
1479
  color: var(--grey-medium);
1483
1480
  }
1484
- .sidebar-highlight-indicator[data-v-baa33ec9] {
1481
+ .sidebar-highlight-indicator[data-v-43d4ca8b] {
1485
1482
  position: absolute;
1486
1483
  left: 0;
1487
1484
  width: 4px;
@@ -1490,60 +1487,60 @@ div.vue-tags-input.disabled * {
1490
1487
  background: linear-gradient(to bottom, var(--second-regular), var(--second-small));
1491
1488
  transition: opacity 0.2s;
1492
1489
  }
1493
- .sidebar-dropdown-icon[data-v-baa33ec9] {
1490
+ .sidebar-dropdown-icon[data-v-43d4ca8b] {
1494
1491
  color: var(--grey-medium);
1495
1492
  transition: transform 0.2s;
1496
1493
  }
1497
- .rotate-180[data-v-baa33ec9] {
1494
+ .rotate-180[data-v-43d4ca8b] {
1498
1495
  transform: rotate(180deg);
1499
1496
  }
1500
- .sidebar-submenu[data-v-baa33ec9] {
1497
+ .sidebar-submenu[data-v-43d4ca8b] {
1501
1498
  margin-top: var(--micro);
1502
1499
  margin-left: var(--semi);
1503
1500
  display: flex;
1504
1501
  flex-direction: column;
1505
1502
  gap: var(--micro);
1506
1503
  }
1507
- .sidebar-subitem-link[data-v-baa33ec9] {
1504
+ .sidebar-subitem-link[data-v-43d4ca8b] {
1508
1505
  display: flex;
1509
1506
  align-items: center;
1510
1507
  text-decoration: none;
1511
1508
  transition: all 0.2s;
1512
1509
  }
1513
- .sidebar-subitem-title[data-v-baa33ec9] {
1510
+ .sidebar-subitem-title[data-v-43d4ca8b] {
1514
1511
  font-size: 0.875rem;
1515
1512
  }
1516
- .hidden[data-v-baa33ec9] {
1513
+ .hidden[data-v-43d4ca8b] {
1517
1514
  opacity: 0;
1518
1515
  width: 0;
1519
1516
  display: none;
1520
1517
  }
1521
- .visible[data-v-baa33ec9] {
1518
+ .visible[data-v-43d4ca8b] {
1522
1519
  opacity: 1;
1523
1520
  display: block;
1524
1521
  }
1525
1522
 
1526
1523
  /* Dropdown animations */
1527
- .dropdown-enter[data-v-baa33ec9], .dropdown-leave[data-v-baa33ec9] {
1524
+ .dropdown-enter[data-v-43d4ca8b], .dropdown-leave[data-v-43d4ca8b] {
1528
1525
  transition: all 0.3s ease-in-out;
1529
1526
  }
1530
- .dropdown-enter-from[data-v-baa33ec9], .dropdown-leave-to[data-v-baa33ec9] {
1527
+ .dropdown-enter-from[data-v-43d4ca8b], .dropdown-leave-to[data-v-43d4ca8b] {
1531
1528
  opacity: 0;
1532
1529
  transform: translateY(-0.5rem);
1533
1530
  }
1534
- .dropdown-enter-to[data-v-baa33ec9], .dropdown-leave-from[data-v-baa33ec9] {
1531
+ .dropdown-enter-to[data-v-43d4ca8b], .dropdown-leave-from[data-v-43d4ca8b] {
1535
1532
  opacity: 1;
1536
1533
  transform: translateY(0);
1537
1534
  }
1538
1535
 
1539
1536
  /* Base sidebar styling */
1540
- .sidebar-container[data-v-be741cc6] {
1537
+ .sidebar-container[data-v-948b3b5a] {
1541
1538
  position: relative;
1542
1539
  left: 0;
1543
1540
  top: 0;
1544
1541
  transition: all 0.3s ease-in-out;
1545
1542
  }
1546
- .dark-mode-toggle[data-v-be741cc6] {
1543
+ .dark-mode-toggle[data-v-948b3b5a] {
1547
1544
  align-items: center;
1548
1545
  width: 100%;
1549
1546
  border-radius: var(--small);
@@ -1553,48 +1550,43 @@ div.vue-tags-input.disabled * {
1553
1550
  background: transparent;
1554
1551
  cursor: pointer;
1555
1552
  }
1556
- .dark-mode-toggle[data-v-be741cc6]:hover {
1553
+ .dark-mode-toggle[data-v-948b3b5a]:hover {
1557
1554
  background: var(--light-regular);
1558
1555
  }
1559
- .dark-mode-label[data-v-be741cc6] {
1556
+ .dark-mode-label[data-v-948b3b5a] {
1560
1557
  font-weight: 500;
1561
1558
  transition: opacity 0.2s, width 0.2s;
1562
1559
  white-space: nowrap;
1563
1560
  }
1564
- .dark-mode-icon[data-v-be741cc6] {
1561
+ .dark-mode-icon[data-v-948b3b5a] {
1565
1562
  font-size: 1.25rem;
1566
1563
  transition: transform 0.2s;
1567
1564
  }
1568
- .dark-mode-toggle:hover .dark-mode-icon[data-v-be741cc6] {
1565
+ .dark-mode-toggle:hover .dark-mode-icon[data-v-948b3b5a] {
1569
1566
  transform: scale(1.1);
1570
1567
  }
1571
- .sidebar-footer[data-v-be741cc6] {
1572
- border-top-width: 1px;
1573
- border-top-style: solid;
1574
- border-top-color: var(--light-regular);
1575
- }
1576
- .hidden[data-v-be741cc6] {
1568
+ .hidden[data-v-948b3b5a] {
1577
1569
  opacity: 0;
1578
1570
  width: 0;
1579
1571
  display: none;
1580
1572
  }
1581
- .visible[data-v-be741cc6] {
1573
+ .visible[data-v-948b3b5a] {
1582
1574
  opacity: 1;
1583
1575
  display: block;
1584
1576
  }
1585
1577
 
1586
1578
  /* Scrollbar styles */
1587
- [data-v-be741cc6]::-webkit-scrollbar {
1579
+ [data-v-948b3b5a]::-webkit-scrollbar {
1588
1580
  width: 6px;
1589
1581
  }
1590
- [data-v-be741cc6]::-webkit-scrollbar-track {
1582
+ [data-v-948b3b5a]::-webkit-scrollbar-track {
1591
1583
  background: transparent;
1592
1584
  }
1593
- [data-v-be741cc6]::-webkit-scrollbar-thumb {
1585
+ [data-v-948b3b5a]::-webkit-scrollbar-thumb {
1594
1586
  background-color: var(--grey-micro);
1595
1587
  border-radius: 3px;
1596
1588
  }
1597
- [data-v-be741cc6]::-webkit-scrollbar-thumb:hover {
1589
+ [data-v-948b3b5a]::-webkit-scrollbar-thumb:hover {
1598
1590
  background-color: var(--grey-small);
1599
1591
  }
1600
1592
 
@@ -2481,7 +2473,7 @@ to {
2481
2473
  }
2482
2474
 
2483
2475
  /* Добавляем стиль для текста "просрочено" */
2484
- .t-red[data-v-c36567a0] {
2476
+ .t-red[data-v-f18ee795] {
2485
2477
  color: red;
2486
2478
  }
2487
2479
  .round-wrapper {
@@ -9,7 +9,7 @@ const tickets_controller = require("./tickets.controller-CcxkRHlX.js");
9
9
  const require$$0 = require("stripe");
10
10
  const require$$0$1 = require("mongoose");
11
11
  const require$$1 = require("bignumber.js");
12
- const queryProcessor = require("./queryProcessor-CwQakZkT.js");
12
+ const queryProcessor = require("./queryProcessor-D6GuKfTV.js");
13
13
  var wallet_model;
14
14
  var hasRequiredWallet_model;
15
15
  function requireWallet_model() {
@@ -8,7 +8,7 @@ import { r as requireTickets_controller } from "./tickets.controller-Bbxe7kaF.mj
8
8
  import require$$0 from "stripe";
9
9
  import require$$0$1 from "mongoose";
10
10
  import require$$1 from "bignumber.js";
11
- import { r as requireQueryProcessor } from "./queryProcessor-CCmHM0yi.mjs";
11
+ import { r as requireQueryProcessor } from "./queryProcessor-CWnMIe2U.mjs";
12
12
  var wallet_model;
13
13
  var hasRequiredWallet_model;
14
14
  function requireWallet_model() {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ozdao/martyrs",
3
- "version": "0.2.429",
3
+ "version": "0.2.430",
4
4
  "description": "Fullstack framework focused on user experience and ease of development.",
5
5
  "author": "OZ DAO <hello@ozdao.dev>",
6
6
  "license": "GPL-3.0-or-later",
@@ -2,7 +2,7 @@ const ObjectId = require('mongoose').Types.ObjectId;
2
2
 
3
3
  function getBasicOptions(query) {
4
4
  console.log(query);
5
- const { _id, url, status, notstatus, type, owner, customer, creator } = query;
5
+ const { _id, url, status, notstatus, type, organization, owner, customer, creator } = query;
6
6
  const stages = [];
7
7
  const conditions = [];
8
8
 
@@ -33,6 +33,7 @@ function getBasicOptions(query) {
33
33
 
34
34
  if (type) { conditions.push({ type: type }); }
35
35
  if (owner) { conditions.push({ "owner.target": new ObjectId(owner) }); }
36
+ if (organization) { conditions.push({ "organization": new ObjectId(organization) }); }
36
37
  if (customer) { conditions.push({ "customer.target": new ObjectId(customer) }); }
37
38
  if (creator) { conditions.push({ "creator.target": new ObjectId(creator) }); }
38
39
 
@@ -5,7 +5,7 @@
5
5
  :class="{
6
6
  'pd-t-extra': MOBILE_APP === 'ios',
7
7
  'bg-white': headerTheme === 'light',
8
- 'bg-dark': headerTheme === 'dark'
8
+ 'bg-black': headerTheme === 'dark'
9
9
  }"
10
10
  >
11
11
  <transition name="moveFromTop" appear>
@@ -26,6 +26,7 @@
26
26
  :horizontal="true"
27
27
  :navigationItems="route.meta.sidebar_navigation_items"
28
28
  :stateSidebar="globals.state.isOpenSidebar"
29
+ :theme="headerTheme"
29
30
  />
30
31
  </component>
31
32
 
@@ -57,7 +58,6 @@
57
58
  }"
58
59
  >
59
60
  <ShopCart
60
- class="pd-t-extra"
61
61
  :class="{
62
62
  'mobile:pd-t-extra': MOBILE_APP === 'ios',
63
63
  }"
@@ -77,6 +77,7 @@
77
77
  :stateSidebar="globals.state.isOpenSidebar"
78
78
  :widthHidden='route.meta?.sidebar_width_hidden'
79
79
  :width="route.meta?.sidebar_width"
80
+ :theme="headerTheme"
80
81
  @closeSidebar="() => globals.state.isOpenSidebar = !globals.state.isOpenSidebar"
81
82
  >
82
83
  <transition name="moveFromTop" mode="out-in" appear>
@@ -86,6 +87,7 @@
86
87
  :key="route.meta.sidebar_navigation"
87
88
  :navigationItems="route.meta.sidebar_navigation_items"
88
89
  :stateSidebar="globals.state.isOpenSidebar"
90
+ :theme="headerTheme"
89
91
  />
90
92
  </transition>
91
93
  </component>
@@ -286,19 +288,23 @@
286
288
  position: absolute;
287
289
  }
288
290
 
289
- .moveFromTop-enter-active,
290
- .moveFromTop-leave-active {
291
- transform: translateY(0);
292
- opacity: 1;
293
- transition: all 0.5s ease;
294
-
295
- }
296
- .moveFromTop-enter-from,
297
- .moveFromTop-leave-to {
298
- transform: translateY(-1rem);
299
- opacity: 0;
300
- transition: all 0.5s ease;
301
- }
291
+ .moveFromTop-enter-active,
292
+ .moveFromTop-leave-active {
293
+ transition: all 0.3s ease, max-height 0.2s ease;
294
+ overflow: hidden;
295
+ }
296
+
297
+ .moveFromTop-enter-from,
298
+ .moveFromTop-leave-to {
299
+ transform: translateY(-1rem);
300
+ opacity: 0;
301
+ max-height: 0;
302
+ }
303
+
304
+ .moveFromTop-enter-to,
305
+ .moveFromTop-leave-from {
306
+ max-height: 100vh;
307
+ }
302
308
 
303
309
  .moveFromTopAbsolute-enter-active,
304
310
  .moveFromTopAbsolute-leave-active {
@@ -71,11 +71,10 @@
71
71
  pos-relative pos-t-0
72
72
  br-b
73
73
  br-solid
74
- br-light
75
74
  "
76
75
  :class="{
77
- 't-black': theme === 'light',
78
- 't-white': theme === 'dark'
76
+ 't-black br-light': theme === 'light',
77
+ 't-white br-dark': theme === 'dark'
79
78
  }"
80
79
  >
81
80
  <div class="flex-nowrap flex-v-center flex-justify-start flex gap-micro ">
@@ -173,7 +172,7 @@
173
172
 
174
173
  <NotificationBadge
175
174
  v-if="auth.state.user._id"
176
- :fill="'rgb(var(--black))'"
175
+ :fill="theme === 'light' ? 'rgb(var(--black))' : 'rgb(var(--white))'"
177
176
  />
178
177
 
179
178
  <Button
@@ -22,6 +22,10 @@ import Spoiler from '@martyrs/src/components/Spoiler/Spoiler.vue'
22
22
 
23
23
  const props = defineProps({
24
24
  navigationItems: Array, // Fixed property name typo
25
+ theme: {
26
+ type: String,
27
+ default: "light"
28
+ },
25
29
  stateSidebar: {
26
30
  type: Boolean,
27
31
  default: false
@@ -82,10 +86,10 @@ const processRoute = (route) => {
82
86
 
83
87
  <template>
84
88
  <nav
85
- class="o-y-scroll o-x-hidden h-100"
89
+ class="o-x-hidden h-100"
86
90
  :class="[
87
91
  stateSidebar ? 'pd-small' : 'pd-micro',
88
- horizontal ? 'w-100 desktop-only flex flex-center flex-nowrap' : 'rows-1',
92
+ horizontal ? 'w-100 desktop-only flex flex-center flex-nowrap o-y-hidden' : 'o-y-scroll rows-1',
89
93
  ]"
90
94
  >
91
95
  <div
@@ -94,7 +98,7 @@ const processRoute = (route) => {
94
98
  :key="section.category"
95
99
  :class="[
96
100
  horizontal ? 'w-max flex-child-default flex flex-nowrap' : '',
97
- stateSidebar && !horizontal ? 'mn-t-medium' : '',
101
+ stateSidebar && !horizontal ? 'mn-t-medium' : '',
98
102
  ]"
99
103
  class=""
100
104
  >
@@ -102,7 +106,9 @@ const processRoute = (route) => {
102
106
  class="sidebar-category"
103
107
  :class="{
104
108
  'hidden': !stateSidebar || horizontal,
105
- 'visible': stateSidebar && !horizontal
109
+ 'visible': stateSidebar && !horizontal,
110
+ 't-black': theme === 'light',
111
+ 't-white': theme === 'dark'
106
112
  }"
107
113
  >
108
114
  {{ section.category }}
@@ -119,8 +125,9 @@ const processRoute = (route) => {
119
125
  v-show="!item.visible || (typeof item.visible === 'function' ? item.visible(auth.state) : true)"
120
126
  class="flex-center"
121
127
  :class="[
122
- stateSidebar ? '' : 'aspect-1x1',
128
+ stateSidebar ? '' : '',
123
129
  horizontal ? 'w-100 flex flex-nowrap' : '',
130
+ stateSidebar && !horizontal ? '' : 'aspect-1x1'
124
131
  ]"
125
132
  >
126
133
  <button
@@ -129,14 +136,15 @@ const processRoute = (route) => {
129
136
  :class="[
130
137
  stateSidebar || horizontal ? 'expanded-item pd-thin' : 'w-100 h-100 justify-center',
131
138
  horizontal ? 'w-max flex flex-nowrap' : '',
132
- item.route && $route.path === processRoute(item.route) ? 'bg-light' : ''
139
+ item.route && $route.path === processRoute(item.route) ? theme === 'light' ? 'bg-light' : 'bg-dark' : '',
140
+ theme === 'light' ? 'hover-bg-light' : 'hover-bg-dark'
133
141
  ]"
134
142
  >
135
143
  <component
136
144
  v-if="item.iconComponent && !horizontal"
137
145
  :is="item.iconComponent"
138
146
  class="i-medium flex-child-default"
139
- :fill="globals.state.theme.darkmode ? 'rgba(255,255,255,0.7)' : 'rgba(0,0,0,0.25)'"
147
+ :fill="globals.state.theme.darkmode || theme === 'dark' ? 'rgba(255,255,255,0.7)' : 'rgba(0,0,0,0.25)'"
140
148
  />
141
149
  <span v-if="!item.iconComponent && !horizontal" class="i-medium sidebar-item-icon t-lh-1 flex-child-default">{{ item.icon }}</span>
142
150
 
@@ -177,7 +185,7 @@ const processRoute = (route) => {
177
185
  v-if="subItem.iconComponent"
178
186
  :is="subItem.iconComponent"
179
187
  class="sidebar-subitem-icon i-medium"
180
- :fill="globals.state.theme.darkmode ? 'rgba(255,255,255,0.7)' : 'rgba(0,0,0,0.25)'"
188
+ :fill="globals.state.theme.darkmode || theme === 'dark' ? 'rgba(255,255,255,0.7)' : 'rgba(0,0,0,0.25)'"
181
189
  />
182
190
  <span v-else class="sidebar-subitem-icon">{{ subItem.icon }}</span>
183
191
  <span class="sidebar-subitem-title">{{ subItem.title }}</span>
@@ -211,7 +219,7 @@ const processRoute = (route) => {
211
219
  v-if="subItem.iconComponent"
212
220
  :is="subItem.iconComponent"
213
221
  class="sidebar-subitem-icon i-medium"
214
- :fill="globals.state.theme.darkmode ? 'rgba(255,255,255,0.7)' : 'rgba(0,0,0,0.25)'"
222
+ :fill="globals.state.theme.darkmode || theme === 'dark' ? 'rgba(255,255,255,0.7)' : 'rgba(0,0,0,0.25)'"
215
223
  />
216
224
  <span v-else class="sidebar-subitem-icon">{{ subItem.icon }}</span>
217
225
  <span class="sidebar-subitem-title">{{ subItem.title }}</span>
@@ -242,16 +250,6 @@ const processRoute = (route) => {
242
250
 
243
251
 
244
252
 
245
- .sidebar-subitem-link:hover {
246
- background: var(--light-regular);
247
- }
248
-
249
- .sidebar-item-btn:hover {
250
- background: var(--light-regular);
251
- }
252
-
253
-
254
-
255
253
  .expanded-item {
256
254
  display: flex;
257
255
  align-items: center;
@@ -3,6 +3,10 @@ import { ref, watch } from 'vue'
3
3
  import * as globals from '@martyrs/src/modules/globals/views/store/globals'
4
4
 
5
5
  const props = defineProps({
6
+ theme: {
7
+ type: String,
8
+ default: "light"
9
+ },
6
10
  stateSidebar: {
7
11
  type: Boolean,
8
12
  default: false
@@ -28,18 +32,30 @@ const toggleSidebar = () => {
28
32
 
29
33
  <template>
30
34
  <aside
31
- class="transition-linear w-min-0 o-hidden flex-child-default z-index-2 bg-white br-r br-solid br-light flex flex-column h-100"
35
+ class="transition-linear w-min-0 o-hidden flex-child-default z-index-2 br-r br-solid flex flex-column h-100"
32
36
  :class="[
33
37
  'sidebar-container',
34
- stateSidebar ? `${width} w-min-10 tablet:w-min-100 tablet:w-100 mobile:w-min-100 mobile:w-100` : `${widthHidden} mobile:w-0 br-zero`
38
+ //
39
+ stateSidebar
40
+ ? `${width} w-min-10 tablet:w-min-100 tablet:w-100 mobile:w-min-100 mobile:w-100`
41
+ : `${widthHidden} mobile:w-0 br-zero`,
42
+ //
43
+ theme === 'light'
44
+ ? 't-black bg-white br-light'
45
+ : 't-white bg-black br-dark'
35
46
  ]"
36
47
  >
37
48
  <!-- Slot for navigation content -->
38
49
  <slot></slot>
39
50
 
40
51
  <div
41
- class="sidebar-footer"
42
- :class="{ 'pd-micro': !stateSidebar, 'pd-small': stateSidebar }"
52
+ class="br-solid br-t"
53
+ :class="{
54
+ 'pd-micro': !stateSidebar,
55
+ 'pd-small': stateSidebar,
56
+ 'br-light': theme === 'light',
57
+ 'br-dark': theme === 'dark'
58
+ }"
43
59
  >
44
60
  <button
45
61
  @click="() => globals.actions.toggleTheme()"
@@ -101,11 +117,6 @@ const toggleSidebar = () => {
101
117
  transform: scale(1.1);
102
118
  }
103
119
 
104
- .sidebar-footer {
105
- border-top-width: 1px;
106
- border-top-style: solid;
107
- border-top-color: var(--light-regular);
108
- }
109
120
 
110
121
  .hidden {
111
122
  opacity: 0;
@@ -0,0 +1,106 @@
1
+ <template>
2
+ <div class="bg-light pos-relative pd-medium radius-medium">
3
+ <CardHeader
4
+ :entity="order"
5
+ :entityType="'order'"
6
+ :user="user"
7
+ :owner="order.creator"
8
+ :creator="order.creator"
9
+ :date="order.createdAt"
10
+ class="mn-b-small"
11
+ />
12
+
13
+ <div class="mn-b-small pd-small bg-white radius-small flex-nowrap flex">
14
+ <div class="w-100">
15
+ <p class="t-truncate">{{order.delivery.address || 'Not specified'}}</p>
16
+ </div>
17
+
18
+ <div class="w-100 t-right">
19
+ <h3 class="mn-b-thin">{{currency}}{{getTotal(order.positions)}}</h3>
20
+ <p>#{{order._id.slice(0, 4) + '...' + order._id.slice(-4)}}</p>
21
+ </div>
22
+ </div>
23
+
24
+ <div class="cols-1 pos-relative mn-b-small gap-thin pd-small bg-white radius-small">
25
+ <!-- Всегда отображаем первые две позиции -->
26
+ <template v-for="(position, index) in order.positions">
27
+ <transition name="moveFromTop">
28
+ <div
29
+ v-if="index < 2 || (spoiler && index >= 2)"
30
+ :key="index"
31
+ class="w-100 flex"
32
+ >
33
+ <p class="mn-r-auto">{{ position.name }}</p>
34
+ <p class="t-right">
35
+ {{ position.quantity }} {{ position.type }}
36
+ x
37
+ <span class="t-transp">{{ currency }} {{ position.price }}</span>
38
+ </p>
39
+ </div>
40
+ </transition>
41
+ </template>
42
+
43
+ <!-- Кнопка переключения для дополнительных позиций, видна только если есть больше двух позиций -->
44
+ <button
45
+ v-if="order.positions.length > 2"
46
+ @click.prevent="spoiler = !spoiler"
47
+ class="cursor-pointer radius-big bg-light-transp-50 pd-nano w-100 flex-center flex"
48
+ >
49
+ {{ !spoiler ? `+${order.positions.length - 2} more` : `Hide` }}
50
+ </button>
51
+ </div>
52
+
53
+ <div class="pd-small bg-white radius-small gap-micro flex-v-center flex-nowrap flex">
54
+ <IconTime class="i-semi t-transp" fill="rgb(var(--black)" />
55
+ <p class="t-medium mn-r-auto">{{formatDate(order.deadline)}}</p>
56
+
57
+ <span
58
+ class="flex-child flex-child-shrink-0 capitalize w-max t-medium radius-big pd-b-nano pd-t-nano pd-r-thin pd-l-thin bg-main"
59
+ >
60
+ {{order.status}}
61
+ </span>
62
+
63
+ <span
64
+ class="flex-child flex-child-shrink-0 capitalize w-max t-medium radius-big pd-b-nano pd-t-nano pd-r-thin pd-l-thin t-white bg-red"
65
+ >
66
+ {{order.payment.status || 'Not defined'}}
67
+ </span>
68
+ </div>
69
+
70
+ <div v-if="order.comment" class="pos-relative radius-small bg-fifth-transp-10 mn-t-thin pd-small">
71
+ <p class="mn-b-thin t-transp uppercase p-small t-medium">Comment</p>
72
+ <p>{{order.comment}}</p>
73
+ </div>
74
+ </div>
75
+ </template>
76
+
77
+ <script setup>
78
+ import { ref } from 'vue';
79
+ import CardHeader from '@martyrs/src/modules/globals/views/components/blocks/CardHeader.vue';
80
+ import IconTime from '@martyrs/src/modules/icons/entities/IconTime.vue';
81
+
82
+ const props = defineProps({
83
+ order: {
84
+ type: Object,
85
+ required: true
86
+ },
87
+ user: {
88
+ type: Object,
89
+ required: true
90
+ },
91
+ formatDate: {
92
+ type: Function,
93
+ required: true
94
+ },
95
+ getTotal: {
96
+ type: Function,
97
+ required: true
98
+ },
99
+ currency: {
100
+ type: String,
101
+ default: ''
102
+ }
103
+ });
104
+
105
+ const spoiler = ref(false);
106
+ </script>