@necrolab/dashboard 0.4.221 → 0.5.1

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 (140) hide show
  1. package/.prettierrc +27 -1
  2. package/.vscode/extensions.json +1 -1
  3. package/README.md +64 -2
  4. package/artwork/image.png +0 -0
  5. package/backend/api.js +26 -24
  6. package/backend/auth.js +2 -2
  7. package/backend/batching.js +1 -1
  8. package/backend/endpoints.js +8 -11
  9. package/backend/index.js +2 -2
  10. package/backend/mock-data.js +27 -36
  11. package/backend/mock-src/classes/logger.js +5 -7
  12. package/backend/mock-src/classes/utils.js +3 -2
  13. package/backend/mock-src/ticketmaster.js +4 -4
  14. package/backend/validator.js +2 -2
  15. package/config/configs.json +0 -1
  16. package/dev-server.js +134 -0
  17. package/exit +209 -0
  18. package/index.html +78 -8
  19. package/index.js +1 -1
  20. package/jsconfig.json +16 -0
  21. package/package.json +39 -25
  22. package/postcss.config.js +1 -1
  23. package/postinstall.js +124 -20
  24. package/public/android-chrome-192x192.png +0 -0
  25. package/public/android-chrome-512x512.png +0 -0
  26. package/public/apple-touch-icon.png +0 -0
  27. package/public/favicon-16x16.png +0 -0
  28. package/public/favicon-32x32.png +0 -0
  29. package/public/favicon.ico +0 -0
  30. package/public/img/logo_trans.png +0 -0
  31. package/public/img/necro_logo.png +0 -0
  32. package/public/manifest.json +16 -10
  33. package/run +176 -9
  34. package/src/App.vue +498 -85
  35. package/src/assets/css/base/reset.scss +43 -0
  36. package/src/assets/css/base/scroll.scss +114 -0
  37. package/src/assets/css/base/typography.scss +37 -0
  38. package/src/assets/css/components/buttons.scss +216 -0
  39. package/src/assets/css/components/forms.scss +221 -0
  40. package/src/assets/css/components/modals.scss +13 -0
  41. package/src/assets/css/components/tables.scss +27 -0
  42. package/src/assets/css/components/toasts.scss +100 -0
  43. package/src/assets/css/main.scss +201 -122
  44. package/src/assets/img/background.svg +2 -2
  45. package/src/assets/img/background.svg.backup +11 -0
  46. package/src/assets/img/logo_trans.png +0 -0
  47. package/src/components/Auth/LoginForm.vue +62 -11
  48. package/src/components/Editors/Account/Account.vue +116 -40
  49. package/src/components/Editors/Account/AccountCreator.vue +88 -39
  50. package/src/components/Editors/Account/AccountView.vue +102 -34
  51. package/src/components/Editors/Account/CreateAccount.vue +80 -32
  52. package/src/components/Editors/Profile/CreateProfile.vue +269 -83
  53. package/src/components/Editors/Profile/Profile.vue +132 -47
  54. package/src/components/Editors/Profile/ProfileCountryChooser.vue +82 -20
  55. package/src/components/Editors/Profile/ProfileView.vue +89 -32
  56. package/src/components/Editors/TagLabel.vue +67 -6
  57. package/src/components/Editors/TagToggle.vue +7 -2
  58. package/src/components/Filter/Filter.vue +288 -71
  59. package/src/components/Filter/FilterPreview.vue +202 -31
  60. package/src/components/Filter/PriceSortToggle.vue +76 -6
  61. package/src/components/Table/Header.vue +1 -1
  62. package/src/components/Table/Row.vue +1 -1
  63. package/src/components/Table/Table.vue +19 -2
  64. package/src/components/Tasks/CheckStock.vue +6 -8
  65. package/src/components/Tasks/Controls/DesktopControls.vue +27 -17
  66. package/src/components/Tasks/Controls/MobileControls.vue +8 -45
  67. package/src/components/Tasks/CreateTaskAXS.vue +80 -72
  68. package/src/components/Tasks/CreateTaskTM.vue +95 -141
  69. package/src/components/Tasks/MassEdit.vue +4 -6
  70. package/src/components/Tasks/QuickSettings.vue +199 -30
  71. package/src/components/Tasks/ScrapeVenue.vue +5 -6
  72. package/src/components/Tasks/Stats.vue +50 -24
  73. package/src/components/Tasks/Task.vue +384 -179
  74. package/src/components/Tasks/TaskLabel.vue +2 -2
  75. package/src/components/Tasks/TaskView.vue +136 -48
  76. package/src/components/Tasks/Utilities.vue +25 -10
  77. package/src/components/Tasks/ViewTask.vue +321 -0
  78. package/src/components/icons/Bag.vue +1 -1
  79. package/src/components/icons/Check.vue +5 -0
  80. package/src/components/icons/Close.vue +21 -0
  81. package/src/components/icons/CloseX.vue +5 -0
  82. package/src/components/icons/Eye.vue +6 -0
  83. package/src/components/icons/Key.vue +21 -0
  84. package/src/components/icons/Loyalty.vue +1 -1
  85. package/src/components/icons/Mail.vue +2 -2
  86. package/src/components/icons/Pencil.vue +21 -0
  87. package/src/components/icons/Play.vue +2 -2
  88. package/src/components/icons/Profile.vue +18 -0
  89. package/src/components/icons/Reload.vue +4 -5
  90. package/src/components/icons/Sandclock.vue +2 -2
  91. package/src/components/icons/Sell.vue +21 -0
  92. package/src/components/icons/Spinner.vue +42 -0
  93. package/src/components/icons/SquareCheck.vue +18 -0
  94. package/src/components/icons/SquareUncheck.vue +18 -0
  95. package/src/components/icons/Stadium.vue +1 -1
  96. package/src/components/icons/Wildcard.vue +18 -0
  97. package/src/components/icons/index.js +26 -1
  98. package/src/components/ui/Modal.vue +107 -13
  99. package/src/components/ui/Navbar.vue +175 -40
  100. package/src/components/ui/ReconnectIndicator.vue +351 -55
  101. package/src/components/ui/Splash.vue +5 -35
  102. package/src/components/ui/controls/CountryChooser.vue +200 -62
  103. package/src/components/ui/controls/atomic/Checkbox.vue +119 -10
  104. package/src/components/ui/controls/atomic/Dropdown.vue +216 -39
  105. package/src/components/ui/controls/atomic/LoadingButton.vue +45 -0
  106. package/src/components/ui/controls/atomic/MultiDropdown.vue +300 -37
  107. package/src/components/ui/controls/atomic/Switch.vue +53 -25
  108. package/src/composables/useClickOutside.js +21 -0
  109. package/src/composables/useDropdownPosition.js +174 -0
  110. package/src/libs/Filter.js +60 -24
  111. package/src/registerServiceWorker.js +1 -1
  112. package/src/stores/connection.js +4 -4
  113. package/src/stores/sampleData.js +172 -199
  114. package/src/stores/ui.js +55 -20
  115. package/src/stores/utils.js +30 -4
  116. package/src/types/index.js +41 -0
  117. package/src/utils/debug.js +1 -0
  118. package/src/views/Accounts.vue +116 -50
  119. package/src/views/Console.vue +394 -77
  120. package/src/views/Editor.vue +1176 -123
  121. package/src/views/FilterBuilder.vue +528 -250
  122. package/src/views/Login.vue +76 -14
  123. package/src/views/Profiles.vue +119 -34
  124. package/src/views/Tasks.vue +266 -98
  125. package/static/offline.html +192 -50
  126. package/switch-branch.sh +41 -0
  127. package/tailwind.config.js +119 -27
  128. package/vite.config.js +73 -16
  129. package/workbox-config.cjs +63 -0
  130. package/ICONS.md +0 -21
  131. package/public/img/background.svg +0 -14
  132. package/public/img/logo.png +0 -0
  133. package/public/img/logo_icon.png +0 -0
  134. package/public/img/logo_icon_2.png +0 -0
  135. package/src/assets/css/_input.scss +0 -143
  136. package/src/assets/img/logo.png +0 -0
  137. package/src/assets/img/logo_icon.png +0 -0
  138. package/src/assets/img/logo_icon_2.png +0 -0
  139. package/vue.config.js +0 -32
  140. package/workbox-config.js +0 -7
@@ -1,79 +1,66 @@
1
1
  <template>
2
- <Modal class="overflow-y-scroll max-w-screen">
2
+ <Modal class="max-w-screen overflow-y-scroll">
3
3
  <template #header>
4
- Create Task
5
- <img src="@/assets/img/pencil.svg" class="ml-4" />
6
- </template>
7
-
8
- <!-- <div v-if="displayConfigSelector" class="w-3/12 input-wrapper z-inf2 mt-4">
9
- <div class="dropdown input-default p-2">
10
- <span class="flex justify-between items-center z-inf2 text-white">
11
- <span class="text-sm">Load config</span>
12
- <DownIcon class="absolute right-5" />
13
- </span>
14
- <div class="dropdown-content z-inf2">
15
- <div
16
- v-bind:key="opt.name"
17
- class="py-1 my-1 cursor-pointer"
18
- v-for="opt in addTaskConfigs"
19
- @click="useConfig(opt.config)"
20
- >
21
- <p>{{ opt.name }}</p>
22
- </div>
23
- </div>
4
+ <div class="flex items-center justify-center gap-2">
5
+ Create Task
6
+ <PencilIcon />
24
7
  </div>
25
- </div> -->
8
+ </template>
26
9
 
27
10
  <!-- Task Form -->
28
- <div class="grid grid-cols-2 gap-x-4 gap-y-4 mt-4 mb-4">
11
+ <div class="grid-responsive-1-2 gap-responsive mb-4 mt-4">
29
12
  <!-- Event ID -->
30
13
  <div class="input-wrapper">
31
- <label class="label-override mb-2"
32
- >Event ID
14
+ <label class="label-override mb-2">
15
+ Event ID
33
16
  <StadiumIcon />
34
17
  </label>
35
- <div class="input-default">
18
+ <div class="input-default required">
36
19
  <input
37
20
  :placeholder="!isEU(ui.currentCountry.siteId) ? '102PDA9125510GYU' : '529171'"
38
21
  v-model="task.eventId"
39
- />
40
- <span class="text-red-400 my-auto mr-2 mt-3">* </span>
22
+ required />
41
23
  </div>
42
24
  </div>
43
25
  <!-- Email -->
44
26
  <div class="input-wrapper">
45
- <label class="label-override mb-2"
46
- >Email
27
+ <label class="label-override mb-2">
28
+ Email
47
29
  <MailIcon />
48
30
  </label>
49
31
  <div class="input-default">
50
- <input placeholder="Email" v-model="task.email" />
32
+ <input
33
+ placeholder="Email"
34
+ v-model="task.email"
35
+ autocomplete="off"
36
+ data-form-type="other"
37
+ name="tm_email_disableautocomplete" />
51
38
  </div>
52
39
  </div>
53
40
  <!-- Proxy -->
54
41
  <div class="input-wrapper">
55
- <label class="label-override mb-2"
56
- >Proxy
42
+ <label class="label-override mb-2">
43
+ Proxy
57
44
  <CameraIcon />
58
45
  </label>
59
46
  <div class="input-default">
60
- <input placeholder="Proxy" v-model="task.proxy" />
47
+ <input placeholder="Proxy" v-model="task.proxy" autocomplete="off" />
61
48
  </div>
62
49
  </div>
63
50
  <!-- Presale Code -->
64
51
  <div class="input-wrapper">
65
- <label class="label-override mb-2"
66
- >Presale Code
52
+ <label class="label-override mb-2">
53
+ Presale Code
67
54
  <AwardIcon />
68
55
  </label>
69
56
  <div class="input-default">
70
- <input placeholder="Code" v-model="task.presaleCode" maxlength="15" />
57
+ <input placeholder="Code" v-model="task.presaleCode" maxlength="15" autocomplete="off" />
71
58
  </div>
72
59
  </div>
73
60
  <!-- Ticket Quantity -->
74
61
  <div class="input-wrapper">
75
- <label class="label-override mb-2"
76
- >Ticket Quantity
62
+ <label class="label-override mb-2">
63
+ Ticket Quantity
77
64
  <BagIcon />
78
65
  </label>
79
66
  <div class="input-default">
@@ -90,7 +77,10 @@
90
77
  </div>
91
78
  <!-- Ticket Quantity -->
92
79
  <div class="input-wrapper">
93
- <label class="label-override mb-2">Amount <span class="ml-2" style="height: 18px">#</span></label>
80
+ <label class="label-override mb-2">
81
+ Amount
82
+ <span class="ml-2 h-[18px]">#</span>
83
+ </label>
94
84
  <div class="input-default">
95
85
  <input placeholder="20" min="1" type="number" pattern="\d*" v-model="task.taskQuantity" />
96
86
  <div class="input-incrementer">
@@ -105,35 +95,37 @@
105
95
  </div>
106
96
 
107
97
  <!-- Profile Tag(s) -->
108
- <div class="input-wrapper" style="z-index: 50 !important">
109
- <label class="label-override mb-2"
110
- >Profile Tag(s)
98
+ <div class="input-wrapper relative-positioned z-tooltip">
99
+ <label class="label-override mb-2">
100
+ Profile Tag(s)
111
101
  <TagIcon />
112
102
  </label>
113
103
  <MultiDropdown
114
- class="w-full will-change-auto input-default"
104
+ class="input-default w-full will-change-auto"
115
105
  :onSelect="(v) => (task.profileTags = v)"
116
106
  default="Any"
117
107
  :options="
118
108
  profileTagsOptions.map((opt) => {
119
109
  return { label: opt, value: opt };
120
110
  })
121
- "
122
- />
111
+ " />
123
112
  </div>
124
113
 
125
114
  <!-- CL Origin -->
126
115
  <div v-if="isEU(ui.currentCountry.siteId)" class="input-wrapper">
127
- <label class="label-override mb-2">CL Origin<AwardIcon /></label>
116
+ <label class="label-override mb-2">
117
+ CL Origin
118
+ <AwardIcon />
119
+ </label>
128
120
  <div class="input-default">
129
121
  <input placeholder="ORIGIN2" type="text" v-model="task.clOrigin" maxlength="15" />
130
122
  </div>
131
123
  </div>
132
124
 
133
125
  <!-- Account Tag -->
134
- <div class="input-wrapper">
135
- <label class="label-override mb-2"
136
- >Account Tag
126
+ <div class="input-wrapper relative-positioned z-dropdown">
127
+ <label class="label-override mb-2">
128
+ Account Tag
137
129
  <ScannerIcon />
138
130
  </label>
139
131
 
@@ -144,12 +136,14 @@
144
136
  :options="accountTagOptions"
145
137
  :allowDefault="false"
146
138
  :capitalize="true"
147
- class="input-default dropdown p-4 w-full"
148
- />
139
+ class="input-default dropdown w-full p-4" />
149
140
  </div>
150
141
 
151
142
  <div class="input-wrapper">
152
- <label class="label-override mb-2">Start Offset (Minutes)<ShieldIcon /></label>
143
+ <label class="label-override mb-2">
144
+ Start Offset (Minutes)
145
+ <ShieldIcon />
146
+ </label>
153
147
  <div class="input-default">
154
148
  <input placeholder="120" type="number" pattern="\d*" v-model="task.startOffset" />
155
149
  </div>
@@ -157,8 +151,8 @@
157
151
 
158
152
  <div v-if="!isEU(ui.currentCountry.siteId)">
159
153
  <div class="input-wrapper">
160
- <label class="label-override mb-2"
161
- >Presale DID
154
+ <label class="label-override mb-2">
155
+ Presale DID
162
156
  <AwardIcon />
163
157
  </label>
164
158
  <div class="input-default">
@@ -167,12 +161,13 @@
167
161
  </div>
168
162
  </div>
169
163
  </div>
170
- <div class="border border-light-300 mb-3" />
164
+ <div class="mb-3 border border-dark-650" />
171
165
  <!-- Task Switches -->
172
- <div v-if="!isEU(ui.currentCountry.siteId)" class="grid grid-cols-3 task-switches gap-y-1 justify-between">
173
- <div class="switch-wrapper flex flex-col mb-2">
174
- <h4>
175
- Aged <span class="hidden xs:block">Account</span>
166
+ <div v-if="!isEU(ui.currentCountry.siteId)" class="task-switches grid grid-cols-3 justify-between gap-y-1">
167
+ <div class="switch-wrapper mb-2 flex flex-col">
168
+ <h4 class="text-responsive-sm">
169
+ Aged
170
+ <span class="hidden xs:block">Account</span>
176
171
  <SandclockIcon />
177
172
  </h4>
178
173
  <Switch class="mx-auto" v-model="task.agedAccount" />
@@ -192,7 +187,7 @@
192
187
  </h4>
193
188
  <Switch class="mx-auto" v-model="task.doNotPay" />
194
189
  </div>
195
- <div class="flex flex-col switch-wrapper">
190
+ <div class="switch-wrapper flex flex-col">
196
191
  <h4>
197
192
  <span class="hidden xs:block">Quick Queue</span>
198
193
  <span class="block xs:hidden">Quick Q.</span>
@@ -200,7 +195,7 @@
200
195
  </h4>
201
196
  <Switch class="mx-auto" v-model="task.quickQueue" />
202
197
  </div>
203
- <div class="flex flex-col switch-wrapper">
198
+ <div class="switch-wrapper flex flex-col">
204
199
  <h4>
205
200
  <span class="hidden xs:block">Login Later</span>
206
201
  <span class="block xs:hidden">Login Lat.</span>
@@ -209,7 +204,7 @@
209
204
  </h4>
210
205
  <Switch class="mx-auto" v-model="task.loginAfterCart" />
211
206
  </div>
212
- <div class="flex flex-col switch-wrapper">
207
+ <div class="switch-wrapper flex flex-col">
213
208
  <h4>
214
209
  <span class="hidden xs:block">Smart Timer</span>
215
210
  <span class="block xs:hidden">Timer</span>
@@ -219,28 +214,31 @@
219
214
  </div>
220
215
  <div class="switch-wrapper flex flex-col">
221
216
  <h4>
222
- <span class="hidden xs:block">Supports </span> OTP
223
- <MailIcon class="scale-90" style="height: 17px" />
217
+ <span class="hidden xs:block">Supports</span>
218
+ OTP
219
+ <MailIcon class="h-[17px] scale-90" />
224
220
  </h4>
225
221
  <Switch class="mx-auto" v-model="task.otpAccount" />
226
222
  </div>
227
223
  <div class="switch-wrapper flex flex-col">
228
224
  <h4>
229
- Presale <span class="hidden xs:block"> Queue</span>
225
+ Presale
226
+ <span class="hidden xs:block">Queue</span>
230
227
  <AwardIcon class="scale-90" />
231
228
  </h4>
232
229
  <Switch class="mx-auto" v-model="task.presaleMode" />
233
230
  </div>
234
231
  <div class="switch-wrapper flex flex-col">
235
232
  <h4>
236
- Strict <span class="hidden xs:block"> Presale</span>
233
+ Strict
234
+ <span class="hidden xs:block">Presale</span>
237
235
  <AwardIcon class="scale-90" />
238
236
  </h4>
239
237
  <Switch class="mx-auto" v-model="task.presaleStrict" />
240
238
  </div>
241
239
  </div>
242
240
  <div v-if="isEU(ui.currentCountry.siteId)">
243
- <div class="grid grid-cols-4 gap-y-4 mb-4 justify-between task-switches">
241
+ <div class="task-switches mb-4 grid grid-cols-4 justify-between gap-y-4">
244
242
  <div class="switch-wrapper flex flex-col">
245
243
  <h4 class="text-xs">
246
244
  Manual
@@ -266,18 +264,20 @@
266
264
  </div>
267
265
  <div class="switch-wrapper flex flex-col">
268
266
  <h4>
269
- Login Later
267
+ <span class="hidden xs:block">Login Later</span>
268
+ <span class="block xs:hidden">Login Lat.</span>
270
269
  <GroupIcon class="scale-90" />
271
270
  </h4>
272
271
  <Switch class="mx-auto" v-model="task.loginAfterCart" />
273
272
  </div>
274
273
  </div>
275
274
 
276
- <div class="grid grid-cols-4 gap-y-4 justify-between task-switches">
275
+ <div class="task-switches grid grid-cols-4 justify-between gap-y-4">
277
276
  <div class="switch-wrapper flex flex-col">
278
277
  <h4>
279
278
  <span class="hidden xs:block">Quick Queue</span>
280
- <span class="block xs:hidden">Quick Q.</span> <SkiIcon class="scale-90" />
279
+ <span class="block xs:hidden">Quick Q.</span>
280
+ <SkiIcon class="scale-90" />
281
281
  </h4>
282
282
  <Switch class="mx-auto" v-model="task.quickQueue" />
283
283
  </div>
@@ -285,13 +285,14 @@
285
285
  <div class="switch-wrapper flex flex-col">
286
286
  <h4>
287
287
  Supports OTP
288
- <MailIcon class="scale-90" />
288
+ <MailIcon class="h-[17px] scale-90" />
289
289
  </h4>
290
290
  <Switch class="mx-auto" v-model="task.otpAccount" />
291
291
  </div>
292
292
  <div class="switch-wrapper flex flex-col">
293
293
  <h4>
294
- Aged <span class="hidden xs:block">Account</span>
294
+ Aged
295
+ <span class="hidden xs:block">Account</span>
295
296
  <SandclockIcon />
296
297
  </h4>
297
298
  <Switch class="mx-auto" v-model="task.agedAccount" />
@@ -300,11 +301,10 @@
300
301
  </div>
301
302
 
302
303
  <!-- Task prefab -->
303
- <div class="border border-light-300 my-3" />
304
+ <div class="my-3 border border-dark-650" />
304
305
  <button
305
- class="button-default hover:opacity-70 active:opacity-50 bg-dark-400 w-48 text-xs mx-auto flex items-center justify-center gap-x-2"
306
- @click="createTask"
307
- >
306
+ class="button-default ml-auto mt-4 bg-dark-400"
307
+ @click="createTask">
308
308
  Create
309
309
  <EditIcon />
310
310
  </button>
@@ -333,20 +333,23 @@ import {
333
333
  UpIcon,
334
334
  DownIcon,
335
335
  SandclockIcon,
336
- CartIcon
336
+ CartIcon,
337
+ PencilIcon
337
338
  } from "@/components/icons";
338
339
  import { useUIStore } from "@/stores/ui";
339
340
  import { countries } from "@/stores/countries";
340
341
  import Dropdown from "@/components/ui/controls/atomic/Dropdown.vue";
341
342
  import MultiDropdown from "@/components/ui/controls/atomic/MultiDropdown.vue";
342
- import { isEU, parseEventUrl, removeDuplicates } from "@/stores/utils";
343
+ import { isEU, firstUpper, parseTmEventUrl, removeDuplicates } from "@/stores/utils";
343
344
 
344
345
  const ui = useUIStore();
345
346
 
346
- const accountTagOptions = ref(ui.profile.accountTags);
347
+ const accountTagOptions = ref(ui.profile.tags);
347
348
  const defaultTags = ["Amex", "Visa", "Master"];
348
349
 
349
- const profileTagsOptions = ref(removeDuplicates(["Any", ...defaultTags, ...ui.profile.profileTags]));
350
+ const profileTagsOptions = ref(
351
+ removeDuplicates(["Any", ...defaultTags, ...ui.profile.profileTags.map((x) => firstUpper(x))])
352
+ );
350
353
 
351
354
  const baseTask = ref({
352
355
  selected: false,
@@ -362,7 +365,6 @@ const baseTask = ref({
362
365
  proxy: "",
363
366
  manual: true,
364
367
  doNotPay: false,
365
- incapsulaBypass: false,
366
368
  quickQueue: false,
367
369
  loginAfterCart: false,
368
370
  smartTimer: false,
@@ -380,7 +382,7 @@ baseTask.value.loginAfterCart = isEU(ui.currentCountry.siteId);
380
382
  const task = ref(ui.modalData[`task_${ui.currentCountry.siteId}`] || baseTask);
381
383
 
382
384
  function createTask() {
383
- ui.logger.Info("Created new task", task.value);
385
+ ui.logger.Info("Created new task", task.value.taskId);
384
386
  const eventIds = task.value.eventId.split(",").map((t) => t.trim());
385
387
  const presaleCodes = task.value.presaleCode ? task.value.presaleCode.split(",").map((t) => t.trim()) : [undefined];
386
388
  eventIds.forEach((eventId) => {
@@ -403,7 +405,11 @@ watch(
403
405
  }
404
406
  );
405
407
 
406
- watch(() => task.value, (ui.modalData[`task_${ui.currentCountry.siteId}`] = task.value));
408
+ watch(
409
+ () => task.value,
410
+ () => (ui.modalData[`task_${ui.currentCountry.siteId}`] = task.value),
411
+ { deep: true }
412
+ );
407
413
 
408
414
  watch(
409
415
  () => task.value.eventId,
@@ -422,73 +428,21 @@ watch(
422
428
  const country = countries.TM.find((c) => c.siteId === tmid);
423
429
  if (country) ui.setCurrentCountry(country, false, ui.currentModule);
424
430
 
425
- const { eventId, eventDid, clOrigin } = parseEventUrl(url);
426
- task.value.clOrigin = clOrigin;
427
- task.value.eventDid = eventDid;
431
+ const { eventId, eventDid, clOrigin } = parseTmEventUrl(url);
428
432
  task.value.eventId = eventId;
433
+ task.value.eventDid = eventDid;
434
+ task.value.clOrigin = clOrigin;
429
435
  } catch (ex) {
430
436
  ui.logger.Error("Could not parse url (2)", ex);
431
437
  }
432
438
  }
433
439
  );
434
-
435
- // fetchConfigs();
436
440
  </script>
437
441
 
438
442
  <style lang="scss" scoped>
439
- .label-override {
440
- @apply flex;
441
- color: #6e7084 !important;
442
-
443
- img {
444
- @apply ml-2;
445
- }
446
- }
447
-
448
- .task-switches {
449
- h4 {
450
- color: #6e7084;
451
- @apply text-xs text-center flex items-center gap-x-2 mx-auto;
452
- }
453
-
454
- .switch-wrapper {
455
- @apply gap-y-2;
456
- }
457
- }
458
-
459
- @media (max-width: 720px) {
460
- .task-switches {
461
- h4 {
462
- font-size: 12px !important;
463
- }
464
- }
465
- }
466
- </style>
467
- <style lang="scss">
468
- .label-override {
469
- svg {
470
- @apply ml-2;
471
-
472
- path {
473
- fill: #6e7084 !important;
474
- }
475
- }
476
- @apply flex items-center;
477
- }
478
-
479
443
  .switch-wrapper {
480
- svg {
481
- path {
482
- fill: #6e7084 !important;
483
- }
444
+ svg path {
445
+ fill: oklch(0.65 0 0) !important;
484
446
  }
485
447
  }
486
-
487
- .z-inf {
488
- z-index: 1000;
489
- }
490
-
491
- .z-inf2 {
492
- z-index: 2000;
493
- }
494
448
  </style>
@@ -4,24 +4,22 @@
4
4
  <!-- Event ID -->
5
5
  <div class="input-wrapper mt-7 mb-4">
6
6
  <label class="label-override mb-2">Event ID <StadiumIcon /></label>
7
- <div class="input-default">
7
+ <div class="input-default required">
8
8
  <input
9
9
  :placeholder="!isEU(ui.currentCountry.siteId) ? '102PDA9125510GYU' : '529171'"
10
10
  v-model="eventId"
11
11
  />
12
- <span class="text-red-400 my-auto mr-2 mt-3">* </span>
13
12
  </div>
14
13
  </div>
15
- <!-- Ticker Quantity -->
14
+ <!-- Presale Code -->
16
15
  <div class="input-wrapper mb-8">
17
16
  <label class="label-override mb-2">Presale Code <BagIcon /></label>
18
- <div class="input-default">
17
+ <div class="input-default required">
19
18
  <input placeholder="presale code" v-model="code" />
20
- <span class="text-red-400 my-auto mr-2 mt-3">* </span>
21
19
  </div>
22
20
  </div>
23
21
  <button
24
- class="button-default hover:opacity-70 active:opacity-50 bg-dark-400 w-48 text-xs flex items-center justify-center gap-x-2 ml-auto"
22
+ class="button-default bg-dark-400 w-48 text-xs flex items-center justify-center gap-x-2 ml-auto border border-light-300 hover:border-light-400"
25
23
  @click="done()"
26
24
  >
27
25
  Edit <EditIcon />