@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.
- package/.prettierrc +27 -1
- package/.vscode/extensions.json +1 -1
- package/README.md +64 -2
- package/artwork/image.png +0 -0
- package/backend/api.js +26 -24
- package/backend/auth.js +2 -2
- package/backend/batching.js +1 -1
- package/backend/endpoints.js +8 -11
- package/backend/index.js +2 -2
- package/backend/mock-data.js +27 -36
- package/backend/mock-src/classes/logger.js +5 -7
- package/backend/mock-src/classes/utils.js +3 -2
- package/backend/mock-src/ticketmaster.js +4 -4
- package/backend/validator.js +2 -2
- package/config/configs.json +0 -1
- package/dev-server.js +134 -0
- package/exit +209 -0
- package/index.html +78 -8
- package/index.js +1 -1
- package/jsconfig.json +16 -0
- package/package.json +39 -25
- package/postcss.config.js +1 -1
- package/postinstall.js +124 -20
- package/public/android-chrome-192x192.png +0 -0
- package/public/android-chrome-512x512.png +0 -0
- package/public/apple-touch-icon.png +0 -0
- package/public/favicon-16x16.png +0 -0
- package/public/favicon-32x32.png +0 -0
- package/public/favicon.ico +0 -0
- package/public/img/logo_trans.png +0 -0
- package/public/img/necro_logo.png +0 -0
- package/public/manifest.json +16 -10
- package/run +176 -9
- package/src/App.vue +498 -85
- package/src/assets/css/base/reset.scss +43 -0
- package/src/assets/css/base/scroll.scss +114 -0
- package/src/assets/css/base/typography.scss +37 -0
- package/src/assets/css/components/buttons.scss +216 -0
- package/src/assets/css/components/forms.scss +221 -0
- package/src/assets/css/components/modals.scss +13 -0
- package/src/assets/css/components/tables.scss +27 -0
- package/src/assets/css/components/toasts.scss +100 -0
- package/src/assets/css/main.scss +201 -122
- package/src/assets/img/background.svg +2 -2
- package/src/assets/img/background.svg.backup +11 -0
- package/src/assets/img/logo_trans.png +0 -0
- package/src/components/Auth/LoginForm.vue +62 -11
- package/src/components/Editors/Account/Account.vue +116 -40
- package/src/components/Editors/Account/AccountCreator.vue +88 -39
- package/src/components/Editors/Account/AccountView.vue +102 -34
- package/src/components/Editors/Account/CreateAccount.vue +80 -32
- package/src/components/Editors/Profile/CreateProfile.vue +269 -83
- package/src/components/Editors/Profile/Profile.vue +132 -47
- package/src/components/Editors/Profile/ProfileCountryChooser.vue +82 -20
- package/src/components/Editors/Profile/ProfileView.vue +89 -32
- package/src/components/Editors/TagLabel.vue +67 -6
- package/src/components/Editors/TagToggle.vue +7 -2
- package/src/components/Filter/Filter.vue +288 -71
- package/src/components/Filter/FilterPreview.vue +202 -31
- package/src/components/Filter/PriceSortToggle.vue +76 -6
- package/src/components/Table/Header.vue +1 -1
- package/src/components/Table/Row.vue +1 -1
- package/src/components/Table/Table.vue +19 -2
- package/src/components/Tasks/CheckStock.vue +6 -8
- package/src/components/Tasks/Controls/DesktopControls.vue +27 -17
- package/src/components/Tasks/Controls/MobileControls.vue +8 -45
- package/src/components/Tasks/CreateTaskAXS.vue +80 -72
- package/src/components/Tasks/CreateTaskTM.vue +95 -141
- package/src/components/Tasks/MassEdit.vue +4 -6
- package/src/components/Tasks/QuickSettings.vue +199 -30
- package/src/components/Tasks/ScrapeVenue.vue +5 -6
- package/src/components/Tasks/Stats.vue +50 -24
- package/src/components/Tasks/Task.vue +384 -179
- package/src/components/Tasks/TaskLabel.vue +2 -2
- package/src/components/Tasks/TaskView.vue +136 -48
- package/src/components/Tasks/Utilities.vue +25 -10
- package/src/components/Tasks/ViewTask.vue +321 -0
- package/src/components/icons/Bag.vue +1 -1
- package/src/components/icons/Check.vue +5 -0
- package/src/components/icons/Close.vue +21 -0
- package/src/components/icons/CloseX.vue +5 -0
- package/src/components/icons/Eye.vue +6 -0
- package/src/components/icons/Key.vue +21 -0
- package/src/components/icons/Loyalty.vue +1 -1
- package/src/components/icons/Mail.vue +2 -2
- package/src/components/icons/Pencil.vue +21 -0
- package/src/components/icons/Play.vue +2 -2
- package/src/components/icons/Profile.vue +18 -0
- package/src/components/icons/Reload.vue +4 -5
- package/src/components/icons/Sandclock.vue +2 -2
- package/src/components/icons/Sell.vue +21 -0
- package/src/components/icons/Spinner.vue +42 -0
- package/src/components/icons/SquareCheck.vue +18 -0
- package/src/components/icons/SquareUncheck.vue +18 -0
- package/src/components/icons/Stadium.vue +1 -1
- package/src/components/icons/Wildcard.vue +18 -0
- package/src/components/icons/index.js +26 -1
- package/src/components/ui/Modal.vue +107 -13
- package/src/components/ui/Navbar.vue +175 -40
- package/src/components/ui/ReconnectIndicator.vue +351 -55
- package/src/components/ui/Splash.vue +5 -35
- package/src/components/ui/controls/CountryChooser.vue +200 -62
- package/src/components/ui/controls/atomic/Checkbox.vue +119 -10
- package/src/components/ui/controls/atomic/Dropdown.vue +216 -39
- package/src/components/ui/controls/atomic/LoadingButton.vue +45 -0
- package/src/components/ui/controls/atomic/MultiDropdown.vue +300 -37
- package/src/components/ui/controls/atomic/Switch.vue +53 -25
- package/src/composables/useClickOutside.js +21 -0
- package/src/composables/useDropdownPosition.js +174 -0
- package/src/libs/Filter.js +60 -24
- package/src/registerServiceWorker.js +1 -1
- package/src/stores/connection.js +4 -4
- package/src/stores/sampleData.js +172 -199
- package/src/stores/ui.js +55 -20
- package/src/stores/utils.js +30 -4
- package/src/types/index.js +41 -0
- package/src/utils/debug.js +1 -0
- package/src/views/Accounts.vue +116 -50
- package/src/views/Console.vue +394 -77
- package/src/views/Editor.vue +1176 -123
- package/src/views/FilterBuilder.vue +528 -250
- package/src/views/Login.vue +76 -14
- package/src/views/Profiles.vue +119 -34
- package/src/views/Tasks.vue +266 -98
- package/static/offline.html +192 -50
- package/switch-branch.sh +41 -0
- package/tailwind.config.js +119 -27
- package/vite.config.js +73 -16
- package/workbox-config.cjs +63 -0
- package/ICONS.md +0 -21
- package/public/img/background.svg +0 -14
- package/public/img/logo.png +0 -0
- package/public/img/logo_icon.png +0 -0
- package/public/img/logo_icon_2.png +0 -0
- package/src/assets/css/_input.scss +0 -143
- package/src/assets/img/logo.png +0 -0
- package/src/assets/img/logo_icon.png +0 -0
- package/src/assets/img/logo_icon_2.png +0 -0
- package/vue.config.js +0 -32
- package/workbox-config.js +0 -7
|
@@ -1,79 +1,66 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<Modal class="overflow-y-scroll
|
|
2
|
+
<Modal class="max-w-screen overflow-y-scroll">
|
|
3
3
|
<template #header>
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
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
|
-
</
|
|
8
|
+
</template>
|
|
26
9
|
|
|
27
10
|
<!-- Task Form -->
|
|
28
|
-
<div class="grid
|
|
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
|
-
|
|
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
|
-
|
|
27
|
+
<label class="label-override mb-2">
|
|
28
|
+
Email
|
|
47
29
|
<MailIcon />
|
|
48
30
|
</label>
|
|
49
31
|
<div class="input-default">
|
|
50
|
-
<input
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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">
|
|
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
|
|
109
|
-
<label class="label-override mb-2"
|
|
110
|
-
|
|
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
|
|
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">
|
|
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
|
-
|
|
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
|
|
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">
|
|
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
|
-
|
|
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-
|
|
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
|
|
173
|
-
<div class="switch-wrapper flex flex-col
|
|
174
|
-
<h4>
|
|
175
|
-
Aged
|
|
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
|
|
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
|
|
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
|
|
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
|
|
223
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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>
|
|
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
|
|
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-
|
|
304
|
+
<div class="my-3 border border-dark-650" />
|
|
304
305
|
<button
|
|
305
|
-
class="button-default
|
|
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,
|
|
343
|
+
import { isEU, firstUpper, parseTmEventUrl, removeDuplicates } from "@/stores/utils";
|
|
343
344
|
|
|
344
345
|
const ui = useUIStore();
|
|
345
346
|
|
|
346
|
-
const accountTagOptions = ref(ui.profile.
|
|
347
|
+
const accountTagOptions = ref(ui.profile.tags);
|
|
347
348
|
const defaultTags = ["Amex", "Visa", "Master"];
|
|
348
349
|
|
|
349
|
-
const profileTagsOptions = ref(
|
|
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(
|
|
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 } =
|
|
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
|
-
|
|
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
|
-
<!--
|
|
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
|
|
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 />
|