PageSourceSearch

https://my.terra.marketing/en/login

html terra.marketing collected 2026-09-30 04:56:02 UTC 41,039 bytes, 672 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en">
3    <head>
4        <title>Login</title>
5        <link rel="apple-touch-icon" href="../php/images.php">
6<meta name="mobile-web-app-capable" content="yes">
7<meta name="apple-mobile-web-app-capable" content="yes">
8<meta name="robots" content="noindex, nofollow">
9<meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no">
10<meta http-equiv="X-UA-Compatible" content="IE=edge">
11<link rel="shortcut icon" href="../php/images.php" />
12<meta charset="utf-8">
13
14<meta name="description" content="">
15<link type="text/css" rel="stylesheet" href="../css/libs/bootstrap.min.css">
16<link rel="stylesheet" type="text/css" href="../css/libs/daterangepicker.min.css"/>
17<link rel="stylesheet" href="../css/libs/bootstrap-select.min.css"> 
18<link rel="stylesheet" href="../css/libs/magicsuggest.min.css"/>
19<link type="text/css" rel="stylesheet" href="../css/libs/jquery.tag-editor.css"/>
20
21<link rel="stylesheet" href="../css/libs/element-ui.css">
22<link type="text/css" rel="stylesheet" href="../css/libs/fontawesome/css/all.css"/>
23
24<link type="text/css" rel="stylesheet" href="../css/main1.css?v=68"/>
25<link type="text/css" rel="stylesheet" href="../css/nav1.css?v=8"/>  
26<link type="text/css" rel="stylesheet" href="../css/main1-dark.css?v=10"> 
27
28
29<script src="../js/libs/vue.min.js"></script>
vendor: 1 bytes, line 29
29
30<script src="../js/libs/vue-i18n.min.js"></script>
vendor: 1 bytes, line 30
30
31<script src="../js/libs/element-ui.js?v=1"></script>
vendor: 1 bytes, line 31
31
32<script>
33    var mainLangs = {en:{},de:{},es:{},fr:{},he:{},it:{},pt:{},sq:{},vi:{},zh:{}};
34    var moreLangs = {en:{},de:{},es:{},fr:{},he:{},it:{},pt:{},sq:{},vi:{},zh:{}};
35</script>
35
36
37
38    
39        <link href="../css/libs/tailwind.min.css"rel="stylesheet"/>
40        <meta property="og:description" content="Log in into your account"/>
41        <style>
42            
43           button.btn.tgme_widget_login_button{
44                width: 400px !important;
45                min-width: 100% !important;
46                display: block !important;
47
48            }
49        </style>
50    </head>
51<body class="bg-blue-50">
52    <div class="vueapp">
53        <div v-if="loading.stauts" id="pb_loading" style="pointer-events: none;">
54    <div style="z-index: 1000; top: 0px; left: 0px; position: fixed; width: 100%; height: 100%;" class="bg-white">
55        <div style="text-align: center; position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%)">
56            <div class="spinner-border text-primary" role="status" style="width: 3rem; height: 3rem;">
57                <span class="sr-only" v-t="'loading'"></span>
58            </div>
59            <p id="p_pb_info" style="margin-top: 10px" v-t="'loading'"></p>
60        </div>
61    </div>
62</div>
63
64
65<div id="mainForm" class="modal fade" data-backdrop="static">
66    <div class="modal-dialog" :class="form.formWide ? 'modal-lg' : ''"> 
67        <div class="modal-content">
68            <div v-if="form.title" class="modal-header">
69                <div class="invisible"></div>
70                <h5 class="modal-title">{{form.title}}</h5>       
71                <div class="modal-dismiss" data-dismiss="modal" aria-label="Close">
72                    <i class="fal fa-times"></i>  
73                </div>
74            </div>
75            <div class="modal-body">
76                <div v-if="form.loading" class="text-center p-5">
77                    <div  class="spinner-grow" role="status">
78                        <span class="sr-only" data-v-t="'loading'"></span>
79                    </div>
80                </div>
81                <div v-else class="form-group_c"> 
82                    <div v-for="(item, index) in form.rows">
83                        <div class="form-group" v-if="item">
84                            <div v-if="item.type == 'saveTocustomField'" class="d-flex justify-content-between align-items-center">
85                                <label class="mb-0">{{$t('f.msg127')}}</label>
86                                <div class="d-flex align-items-center">
87                                    <button type="button" class="btn btn-link" v-t="'add_new'" @click="addNewCF()"></button>
88                                </div>
89                            </div>
90                            <div v-else-if="item.type == 'textToText'" class="d-flex justify-content-between align-items-center">
91                                <label class="mb-0">{{item.label}}</label>
92                                <label class="mb-0 pr-5">{{item.labelValue}}</label>                               
93                            </div>
94                            <div v-else-if="item.addNew" class="d-flex justify-content-between align-items-center">
95                                <label>{{item.label}} <span class="ml-1 op" v-if="!item.required">({{$t('optional')}})</span></label>
96                                <button type="button" class="btn btn-link" v-t="'add_new'" @click="addNewItemSelect(item, index)"></button>
97                            </div>
98                            <label v-else>{{item.label}} <span class="ml-1 op" v-if="!item.required">({{$t('optional')}})</span></label>
99                            
100                            <div v-if="item.type == 'text'">
101                                <input v-if="item.closeOnEnter" class="myimput w-100" v-model="item.value" :placeholder="item.placeholder" v-on:keyup.enter="$('#mainForm .positive').click();" size="medium"/>
102                                <input v-else-if="item.maxlength" class="myimput w-100" v-model="item.value" :placeholder="item.placeholder" :maxlength="item.maxlength" size="medium"/>
103                                <input v-else class="myimput w-100" v-model="item.value" :placeholder="item.placeholder" size="medium"/>
104                            </div>
105                            <div class="w-100" v-else-if="item.type == 'my-input'">
106                                <my-input v-model="item.value" :placeholder="item.placeholder" :maxlength="item.maxlength"></my-input>
107                            </div>
108                            <div class="w-100" v-else-if="item.type == 'textarea'">
109                                <el-input v-model="item.value" type="textarea" :rows="2" :placeholder="item.placeholder" v-model="textarea" :maxlength="item.maxlength" :maxrows="item.maxrows" size="medium"></el-input>
110                            </div>
111                            <div class="w-100" v-else-if="item.type == 'my-textarea'">
112                                <my-textarea v-model="item.value" :placeholder="item.placeholder" :maxlength="item.maxlength" :maxrows="item.maxrows"></my-textarea>
113                            </div>
114                            <div v-else-if="item.type == 'number'">
115                                <el-input-number class="w-100" size="medium" v-model="item.value" :max="item.max" :min="item.min" :step="item.step"></el-input-number>
116                            </div>
117                            <div v-else-if="item.type == 'select'">
118                                <div v-if="item.loading" class="text-center w-100">
119                                    <div  class="spinner-grow" role="status">
120                                        <span class="sr-only" data-v-t="'loading'"></span>
121                                    </div>
122                                </div>                            
123                                <el-select v-else filterable :placeholder="$t('select')" v-model="item.value" class="w-100" @change="formChanged(item)" :multiple="item.multiple" :disabled="!form.allowEdit" size="medium">
124                                    <el-option v-for="i in item.options" :key="i[item.keyId]" :label="i[item.keyLabel]" :value="i[item.keyId]"></el-option>
125                                </el-select>
126                            </div>
127                            <div v-else-if="item.type == 'saveTocustomField'">
128                                <div v-for="(map, index) in item.mapping" class="d-flex justify-content-between align-items-center mb-2">
129                                    <el-input if="map.LabelType ==='text'" size="medium" v-model.trim="map.input" :disabled="map.disabled" :placeholder="map.placeholder"></el-input>
130                                    <div class="px-4">
131                                        <i class="fal fa-arrow-right"></i>
132                                    </div>
133                                    <el-select v-model="map.saveTo" filterable :placeholder="$t('c_field')" class="w-100" size="medium">
134                                        <el-option v-for="cf in customFields" :key="cf.id" :label="cf.name" :value="cf.id" v-if="item.fieldType === undefined || item.fieldType === null || item.fieldType.includes(parseInt(cf.type))"></el-option>
135                                    </el-select> 
136                                    <div v-if="item.mapping.length > item.mininum" class="p-2 btt_delete_item" @click="arrayRemoveItem(item.mapping, null, null, index)">
137                                        <i class="fa-light fa-xmark"></i>
138                                    </div>                               
139                                </div>
140                                <button v-if="item.mapping.length < item.maximum" type="button" v-on:click="item.mapping.push(cloneObj(item.mappingSample))" class="btn btn-light text-dark btn-sm rounded w-100 mt-3 py-2" v-t="'add_new'">Add Question</button>
141                            </div>
142                            <div v-else-if="item.type == 'textToText'">
143                                <div v-for="(map, index) in item.mapping" class="d-flex justify-content-between align-items-center mb-2">
144                                    <el-input if="map.LabelType ==='text'" size="medium" v-model.trim="map.name" :placeholder="map.namePlaceholder" :disabled="map.disabled" :placeholder="map.placeholder"></el-input>
145                                    <div class="px-4">
146                                        <i class="fal fa-arrow-right"></i>
147                                    </div>
148                                    <el-input size="medium" v-model.trim="map.value" :placeholder="map.valuePlaceholder"></el-input>
149                                    <div v-if="item.mapping.length > item.mininum" class="p-2 btt_delete_item" @click="arrayRemoveItem(item.mapping, null, null, index)">
150                                        <i class="fa-light fa-xmark"></i>
151                                    </div>                               
152                                </div>
153                                <button v-if="item.mapping.length < item.maximum" type="button" v-on:click="item.mapping.push(cloneObj(item.mappingSample))" class="btn btn-light text-dark btn-sm rounded w-100 mt-3 py-2" v-t="'add_new'">Add Question</button>
154                            </div>
155                            <div v-else-if="item.type == 'customFieldTo'">
156                                <div v-for="(map, index) in item.mapping" class="d-flex justify-content-between align-items-center mb-2">
157                                    <el-input v-if="map.LabelType ==='text'" size="medium" v-model.trim="map.input" :placeholder="map.placeholder"></el-input>
158                                    <el-select v-else-if v-model="map.input" filterable :placeholder="$t('c_field')" class="w-100" size="medium">
159                                        <el-option v-for="cf in customFields" :key="cf.id" :label="cf.
159name" :value="cf.id" v-if="map.fieldType === undefined || map.fieldType === null || map.fieldType.includes(parseInt(cf.type))"></el-option>
160                                    </el-select> 
161                                    <div class="px-4">
162                                        <i class="fal fa-arrow-right"></i>
163                                    </div>
164                                    <el-input size="medium" v-model="map.saveTo.name" disabled></el-input> 
165                                </div>
166                            </div>
167                            <div v-else-if="item.type == 'createOptions'">
168                                <div v-for="(option, index) in item.value" class="d-flex justify-content-between align-items-center mb-2"> 
169                                    <input class="myimput w-100" v-model="option.value" :placeholder="item.placeholder" :maxlength="item.maxlength"/>
170                                    <div v-if="item.value.length > item.mininum" class="p-2 btt_delete_item" @click="arrayRemoveItem(item.value, null, null, index)">
171                                        <i class="fa-light fa-xmark"></i>
172                                    </div>
173                                </div>
174                                <button v-if="item.value.length < item.maximum" type="button" v-on:click="item.value.push({value:''})" class="btn btn-light text-dark btn-sm rounded w-100 mt-3 py-2" v-t="'add_new'">Add</button>
175                            </div>
176                            <div v-else-if="item.type == 'timePicker'">
177                                <el-time-picker
178                                    v-model="item.value"
179                                    :placeholder="item.placeholder"
180                                    :picker-options="item.pickerOptions"
181                                    size="medium"
182                                    class="w-100"
183                                    :format="item.format ?? 'HH:mm'"
184                                    :value-format="item.valueFormat ?? 'HH:mm'">
185                                </el-time-picker>
186                            </div>
187                        </div>
188                    </div>
189                </div>
190            </div>
191            <div class="modal-footer">
192                <div class="d-flex px-3 py-2 justify-content-between w-100"> 
193                    <button v-if="form.keepOnDone"  type="button" class="btn btn-outline-secondary back" v-t="'back'" @click="mainData.form.callback(null)"></button>
194                    <button data-dismiss="modal" type="button" class="btn btn-outline-secondary nagative" :class="form.keepOnDone ? 'invisible' : ''" v-t="'cancel'"></button>
195                    <button type="button" class="btn btn-primary positive" v-t="'continue'"></button>
196                </div>
197            </div>
198        </div>
199    </div> 
200</div>
201
202
203
204<div id="selectChannel" class="modal fade" data-backdrop="static" style="z-index: 1060 !important">
205    <div class="modal-dialog"> 
206        <div class="modal-content">
207            <div class="modal-header">
208                <div class="invisible"></div>
209                <h5 class="modal-title" v-t="'selectChannel'">{{form.title}}</h5>       
210                <div class="modal-dismiss" data-dismiss="modal" aria-label="Close">
211                    <i class="fal fa-times"></i>  
212                </div>
213            </div>
214            <div class="modal-body">
215                <div class="pb-4">
216                    <div v-for="item in channelSelector.data" class="d-flex bg-white align-items-center py-3 px-2 px-3 px-md-4 justify-content-between z-depth-1 rounded-1 mt-3">
217                        <div class="d-flex align-items-center justify-content-start">
218                            <img width="40" :src="item.img"/>
219                            <span class="ml-3 text-left pr-2">{{item.name}}</span>
220                        </div> 
221                        <button data-dismiss="modal" type="button" class="btn btn-primary" data-v-t="'continue'" v-on:click="channelSelector.callback(item)"></button>
222                    </div>
223                </div>
224                                    
225            </div>
226        </div>
227    </div> 
228</div>
229
230
231<div id="connectBotToAdmin" class="modal fade" style="z-index: 1060 !important">
232    <div class="modal-dialog"> 
233        <div class="modal-content" v-if="channelPreview.channelName">
234            <div class="modal-header">
235                <div class="invisible"></div>
236                <h5 class="modal-title" v-if="pageName == 'admins'" v-t="'continue'"></h5>  
237                <h5 v-else-if="channelPreview.type == 'getLink'" class="modal-title" v-t="'getLink'"></h5>
238                <h5 v-else class="modal-title" v-t="'msg34'"></h5>       
239                <div class="modal-dismiss" data-dismiss="modal" aria-label="Close">
240                    <i class="fal fa-times"></i>  
241                </div>
242            </div>
243            <div class="modal-body text-center pb-5">
244                
245                <div v-if="channelPreview.android">
246                    <el-tabs value="iphone">
247                        <el-tab-pane label="iPhone" name="iphone">
248                            
249                            <div>
250                                <p v-t="'msg35'"></p>
251                                <img width="200" height="200" :sr
251c="channelPreview.ios.qr_code"/>  
252                                <div class="pt-3">
253                                    <el-divider>{{$t('or')}}</el-divider>
254                                </div>                                     
255                            </div>                            
256                            <div class="mt-4">
257                                <button type="button" class="btn btn-primary  btn-sm rounded w-100 mb-3" v-t="'openLink'" v-on:click="open_link(channelPreview.ios.url,1)"></button>
258                                <el-divider content-position="center">{{'or'}}</el-divider>
259                                <p>{{$tc('msg33', channelPreview.channelName)}}</p>
260                                <p><b>{{channelPreview.message}}</b></p> 
261                                <button type="button" class="btn btn-light text-dark  btn-sm rounded mt-1 px-3" v-t="'copy'" v-on:click="copyTextToClipboard(channelPreview.message)"></button>
262                            </div>
263                        </el-tab-pane>
264                        <el-tab-pane label="Android" name="android">
265                            <div>
266                                <p v-t="'msg35'"></p>
267                                <img width="200" height="200" :src="channelPreview.android.qr_code"/> 
268                                <div class="pt-3">
269                                    <el-divider>{{$t('or')}}</el-divider>
270                                </div>                                      
271                            </div>                            
272                            <div class="mt-4">
273                                <button type="button" class="btn btn-primary  btn-sm rounded w-100 mb-3" v-t="'openLink'" v-on:click="open_link(channelPreview.android.url,1)"></button>
274
275                                <el-divider content-position="center">{{'or'}}</el-divider>
276                                <p>{{$tc('msg33', channelPreview.channelName)}}</p>
277                                <p><b>{{channelPreview.message}}</b></p> 
278                                <button type="button" class="btn btn-light text-dark  btn-sm rounded mt-1 px-3" v-t="'copy'" v-on:click="copyTextToClipboard(channelPreview.message)"></button>
279                            </div>
280                        </el-tab-pane>
281                    </el-tabs>
282                </div>
283                <div v-else>
284                    <div>
285                        <p v-t="'msg35'"></p>
286                        <img width="200" height="200" :src="channelPreview.qr_code"/>    
287                        <div class="pt-3">
288                            <el-divider>{{$t('or')}}</el-divider>
289                        </div>                                   
290                    </div>
291                    <div class="mt-4">
292                        <div v-if="channelPreview.type == 'getLink'" class="w-100">                            
293                            <a class="d-block text-truncate" :href="channelPreview.url" target="blank">{{channelPreview.url}}</a>
294                            <button type="button" class="btn btn-light text-dark  btn-sm rounded mt-2 px-3" v-t="'copy'" v-on:click="copyTextToClipboard(channelPreview.url)"></button>
295                        </div>
296                        <a v-else type="button" class="btn btn-primary  btn-sm rounded w-100 mb-3" v-t="'openLink'" :href="channelPreview.url" target="blank"></a>
297
298                        <div v-if="channelPreview.message">
299                            <el-divider content-position="center">{{'or'}}</el-divider>
300                            <p>{{$tc('msg33', channelPreview.channelName)}}</p>
301                            <p><b>{{channelPreview.message}}</b></p> 
302                            <button type="button" class="btn btn-light text-dark  btn-sm rounded mt-1 px-3" v-t="'copy'" v-on:click="copyTextToClipboard(channelPreview.message)"></button>
303                        </div>
304                        
305                    </div>
306                </div>
307                                                    
308            </div>
309        </div>
310    </div> 
311</div>
312
313
314<div id="mSendProduct" class="modal fade" data-backdrop="static" style="z-index: 1060 !important">
315    <div class="modal-dialog"> 
316        <div class="modal-content">
317            <div class="modal-header">
318                <div class="invisible"></div>
319                <h5 class="modal-title" data-v-t="'sendProducts'"></h5>       
320                <div class="modal-dismiss" data-dismiss="modal" aria-label="Close">
321                    <i class="fal fa-times"></i>  
322                </div>
323            </div>
324            <div class="modal-body" v-if="sendProduct">
325                <div v-if="products !== null && products !== 0">
326                    <div v-if="sendProduct.channel == 5 && !sendProduct.easyMode">
327                        <div class="form-group">
328                            <label v-t="'f.headline'"></label>
329                            <el-input v-model="sendProduct.header.text" maxlength="60" show-word-limit size="medium"></el-input>
330                        </div>
331                        <div class="form-group">
332                            <label v-t="'f.body'"></label>
333                            <el-input  type="textarea" :rows="1" v-model="sendProduct.body" maxlength="1024" show-word-limit></el-input>
334                        </div>
335                        <div class="form-group">
336                            <label>{{$t('f.footer')}}<span class="ml-1 op">({{$t('optional')}})</span></label>
337                            <el-input  type="textarea" :rows="1" v-model="sendProduct.footer" maxlength="64" show-word-limit></el-input>
338                        </div>
339                    </div>                    
340                    <el-cascader v-if="sendProduct.easyMode" class="w-100" v-model="sendProduct.value" popper-class="hideDisabled" :options="sendProduct.options" :props="sendProduct.props" :show-all-levels="false" clearable filterable></el-cascader>
341                    <div v-else>
342                        <div v-for="(item, index) in sendProduct.sessions" class="my-3 py-3 px-3 border my_hr bdr_dashed rounded">
343                            <div v-if="sendProduct.channel == 5" class="form-group">
344                                <div class="d-flex justify-content-between align-items-center">
345                                    <label>{{$t('f.title')}}<span class="ml-1 op" v-if="sendProduct.sessions.length == 1">({{$t('optional')}})</span></label>
346                                    <div v-if="sendProduct.sessions.length > 1" class="p-2 c_pointer" v-on:click="arrayRemoveItem(sendProduct.sessions, null, null, index)">
347                                        <i class="fa-light fa-xmark"></i>
348                                    </div>
349                                </div>
350                                <el-input v-model="item.title" maxlength="24" show-word-limit size="medium"></el-input>
351                            </div>
352                            <el-cascader class="w-100" v-model="item.value" popper-class="hideDisabled" :options="sendProduct.options" :props="sendProduct.props" :show-all-levels="false" clearable filterable></el-cascader>
353                        </div>
354                        <p v-if="sendProduct.sessions.length < 10" class="btt_more py-1 text-center" v-on:click="sendProduct.sessions.push({title: '', value: []})" v-t="'addMore'"></p>
355                    </div>
356                    <div class="mt-3" v-if="sendProduct.channel == 5">
357                        <p class="btt_more" v-on:click="sendProduct.easyMode = !sendProduct.easyMode">{{sendProduct.easyMode ? $t('moreOption') : $t('lessOptions')}}</p>
358                    </div>
359                </div>
360                <div v-else class="text-center p-5">
361                    <div class="spinner-grow" role="status">
362                        <span class="sr-only" data-v-t="'loading'"></span>
363                    </div>
364                </div>
365
366            </div>
367            <div class="modal-footer">
368                <div v-pre class="d-flex px-3 py-2 justify-content-between w-100"> 
369                    <button data-dismiss="modal" type="button" class="btn btn-outline-secondary nagative" data-v-t="'cancel'"></button>
370                    <button v-if="products" type="button" class="btn btn-primary positive" data-v-t="'continue'" ></button>
371                </div>
372            </div>
373        </div>        
374    </div> 
375    
376</div>
377
378
379
380
381<div id="mSelectFolder" class="modal fade" data-backdrop="static" style="z-index: 1060 !important">
382    <div class="modal-dialog"> 
383        <div class="modal-content">
384            <div class="modal-header">
385                <div class="invisible"></div>
386                <h5 class="modal-title" data-v-t="'selectFolder'"></h5>       
387                <div class="modal-dismiss" data-dismiss="modal" aria-label="Close">
388                    <i class="fal fa-times"></i>  
389                </div>
390            </div>
391            <div class="modal-body">
392                <div v-if="!selectFolder.loading">
393                    <div class="mb-3">
394                        <el-breadcrumb separator="/">
395                            <el-breadcrumb-item v-for="(item, index) in selectFolder.parents">
396                                <a v-if="index == selectFolder.parents.length - 1">{{item.name}}</a>
397                                <a v-else v-on:click="preMoveFolder('list', item.id, null)">{{item.name}}</a>
398                            </el-breadcrumb-item>
399                        </el-breadcrumb>
400                    </div>
401                    
402                    <div v-if="selectFolder.currentFolders.length" class="folder-selector w-100">
403                        <div v-for="item in selectFolder.currentFolders">
404                            <div class="d-flex align-items-center mt-2"> 
405                                <div class="folder d-flex border rounded my-0" v-on:click="preMoveFolder('list', item.id, null)"> 
406                                    <i class="fal fa-folder fIcon" style="pointer-events: all;"></i> 
407                                    <span class="flex-fill text-left pl-3 text-truncate" style="pointer-events: all;">{{item.name}}</span> 
408                                </div>
409                                <div class="pt-2 pl-3" :class="(!selectFolder.selectedFolder || selectFolder.selectedFolder.id == item.id) && activeFolder.id != item.id ? '' : 'invisible'">
410                                    <el-checkbox v-model="item.selected" @change="preMoveFolder('selection', null, item)"></el-checkbox>
411                                </div>
412                            </div>
413                        </div>
414                    </div>
415                    <div v-else class="p-5 text-center" v-t="'noResults'">
416                    </div>
417                      
418                </div>
419                <div v-else class="text-center p-5">
420                    <div class="spinner-grow" role="status">
421                        <span class="sr-only" data-v-t="'loading'"></span>
422                    </div>
423                </div>
424
425            </div>
426            <div class="modal-footer">
427                <div  class="d-flex px-3 py-2 justify-content-between w-100"> 
428                    <button v-pre data-dismiss="modal" type="button" class="btn btn-outline-secondary nagative" data-v-t="'cancel'"></button>
429                    <button type="button" class="btn btn-primary positive vueapp" v-t="'continue'" :disabled="!selectFolder.selectedFolder" v-on:click="preMoveFolder('done')"></button>
430                </div>
431            </div>
432        </div>        
433    </div> 
434    
435</div>
436
437
438
439<div id="modalChangeImage" class="modal fade" data-backdrop="static">
440    <div class="modal-dialog"> 
441        <div class="modal-content">
442            <div class="modal-header">
443                <div class="invisible"></div>
444                <h5 class="modal-title vueapp" v-t="'uploadImage'"></h5>       
445                <div class="modal-dismiss" data-dismiss="modal" aria-label="Close">
446                    <i class="fal fa-times"></i>  
447                </div>
448            </div>
449            <div class="modal-body ">
450                <div class="vueapp text-center w-100" v-if="newLogo">
451                    <div v-if="newLogo.uploading" class="p-5">
452                        <div class="spinner-grow" role="status">
453                            <span class="sr-only" data-v-t="'loading'"></span>
454                        </div>
455                    </div>
456                    <div v-else> 
457                        <el-upload
458                            ref="uploadLogo"
459                            :on-change="inputLogoChanged"
460                            :show-file-list="false"
461                            :auto-upload="false"
462                            action="#">
463                                <div slot="trigger">                                                
464                                    <img width="200" height="200" class="rounded" :src="newLogo.previewURL" alt="">
465                                </div>
466                        </el-upload> 
467                    </div>
468                </div>
469                
470               
471            </div>
472            <div class="modal-footer">
473                <div class="d-flex px-3 py-2 justify-content-between w-100"> 
474                    <button data-dismiss="modal" type="button" class="btn btn-outline-secondary nagative" data-v-t="'cancel'"></button>
475                    <button type="button" class="btn btn-primary positive vueapp" data-v-t="'save'" v-if="newLogo" :disabled="!newLogo.file || newLogo.uploading" @click="changeLogo()"></button>
476                </div>
477            </div>
478        </div>
479    </div>        
480</div>
481
482
483    </div>
484
485    <div class="flex py-3 pl-4 vueapp" v-cloak v-if="wt">
486        <div class="flex flex-row  items-center">
487            <img src="../php/images?id=icon500" width="35px" style="margin-right: 10px"></img>
488            <p class="font-bold text-xl text-gray-500 break-words text-center">{{wt.name}}</p>
489        </div>
490    </div>
491
492    
493    <div class="flex justify-center items-center mt-4 pt-4" v-if="wt">
494         
495        <div v-cloak class="grid grid-cols-1 mx-4 w-100 vueapp" style="max-width: 32rem;">
496
497            <!--<div class="flex flex-col justify-center items-center">
498                <div class="flex flex-row  items-center">
499                    <img src="../php/images?id=icon500" width="35px" style="margin-right: 10px"></img>
500                    <p class="font-bold text-xl text-gray-500 break-words text-center">{{wt.name}}</p>
501                </div>
502            </div>-->
503            <div v-if="data.provider" class="p-2 cursor-pointer" v-on:click="goBack()">
504                <i class="fa-solid fa-arrow-left-long"></i>
505            </div>
506            <div class=" flex flex-col justify-center items-center pl-4 pr-4 md:pl-8 md:pr-8 bg-white rounded-xl shadow-sm">
507                
508                <div class="flex flex-row items-center my-8" style="color: #007bff">
509                    <span v-if="data.step != 'createAccount' && !data.nextAccount" class="font-bold text-2xl" v-t="'signIn'"></span>
510                    <span v-else class="font-bold text-2xl" v-t="'signUp'"></span>
511                </div>
512
513                <div class="w-100" v-if="data.type == 'login' && data.provider == 'email'" >
514                    <div v-if="!data.step">
515                        <p v-if="data.errorNoaccount" v-t="'out.msg36'" class="text-warning mb-1"></p>
516                        <input v-model.trim="data.data.email" type="text" class="myimput w-100" :placeholder="$t('emailAddress')" v-on:keyup.enter="sendOTP()"/>
517                        <button type="button" class="btn btn-primary w-100 mt-2"  v-t="'continue'" :disabled="!isEmailValid(data.data.email)" v-on:click="sendOTP()"></button>
518                    </div>
519                    <div v-else-if="data.step == 'createAccount'">
520                        <div class="form-group">
521                            <label v-t="'u.firstName'"></label>
522                            <input v-model="data.data.first_name" type="text" class="myimput w-100"/>
523                        </div>
524                        <div class="form-group">
525                            <label v-t="'u.lastName'"></label>
526                            <input v-model="data.data.last_name" type="text" class="myimput w-100"/>
527                        </div>
528                        <button type="button" class="btn btn-primary w-100 mt-2" v-t="'continue'" :disabled="data.data.first_name === '' || data.data.last_name === ''" v-on:click="createAccount()"></button>
529                    </div>
530                    <div v-else>
531                        <label>
532                            <i18n path="out.msg35" tag="span">
533                                <b>{{data.data.email}}</b></a>
534                            </i18n>
535                        </label>
536                        <input v-model.trim="data.data.otp" type="text" class="myimput w-100" placeholder="------" v-on:keyup.enter="validateOTP()"/>
537                        <button type="button" class="btn btn-primary w-100 mt-2" v-t="'continue'" :disabled="data.data.otp.length != 6" v-on:click="validateOTP()"></button>
538                    </div>
539                    
540                </div>
541                <div v-else>
542                    <button v-if="data.wt && data.wt.fb" v-on:click="getAuthLink('fb')" class="h-16 w-full bg-white hover:border-gray-400 my-2 rounded-xl border-2 border-gray-200 cursor-pointer">
543                        <div class="flex flex-row justify-center items-center">
544                            <img width="30px" src="../images/facebook.svg" alt=""/>
545                            <span v-if="!data.nextLink" class="ml-2 text-gray-500 text-lg font-bold">{{$tc('signInWith', 'Facebook')}}</span>
546                            <span v-else class="ml-2 text-gray-500 text-lg font-bold">{{$tc('continueWith', 'Facebook')}}</span>
547                        </div>
548                    </button>
549
550                    <button v-if="data.wt && data.wt.google" v-on:click="getAuthLink('google')" class="h-16 w-full bg-white hover:border-gray-400 my-2 rounded-xl border-2 border-gray-200 cursor-pointer">
551                        <div class="flex flex-row justify-center items-center">
552                            <img width="30px" src="../images/google.svg" alt=""/>                                                
553                            <span v-if="!data.nextLink" class="ml-2 text-gray-500 text-lg font-bold">{{$tc('signInWith', 'Google')}}</span>
554                            <span v-else class="ml-2 text-gray-500 text-lg font-bold">{{$tc('continueWith', 'Google')}}</span>
555                        </div>
556                    </button>
557
558
559                    <button v-if="data.wt && data.wt.ms" v-on:click="getAuthLink('microsoft')" class="h-16 w-full bg-white hover:border-gray-400 my-2 rounded-xl border-2 border-gray-200 cursor-pointer">
560                        <div class="flex flex-row justify-center items-center">
561                            <img width="30px" src="../images/microsoft.svg" alt=""/>                                                
562                            <span v-if="!data.nextLink" class="ml-2 text-gray-500 text-lg font-bold">{{$tc('signInWith', 'Microsoft')}}</span>
563                            <span v-else class="ml-2 text-gray-500 text-lg font-bold">{{$tc('continueWith', 'Microsoft')}}</span>
564                        </div>
565                    </button>
566
567                    <button v-if="wt.apple" v-on:click="getAuthLink('apple')" class="h-16 w-full bg-white hover:border-gray-400 my-2 rounded-xl border-2 border-gray-200 cursor-pointer">
568                        <div class="flex flex-row justify-center items-center">
569                            <i class="fab fa-apple text-black text-4xl"></i>                                                     
570                            <span v-if="!data.nextLink" class="ml-2 text-gray-500 text-lg font-bold">{{$tc('signInWith', 'Apple')}}</span>
571                            <span v-else class="ml-2 text-gray-500 text-lg font-bold">{{$tc('continueWith', 'Apple')}}</span>
572                        </div>
573                    </button>
574
575
576
577
578                    <button v-if="wt.smtp && data.wt && data.wt.loginOptions.includes('email')" class="h-16 w-full bg-white hover:border-gray-400 my-2 rounded-xl border-2 border-gray-200 cursor-pointer" v-on:click="data.provider='email'">
579                        <div class="flex flex-row justify-center items-center">
580                            <i class="fa-solid fa-envelope text-muted text-3xl"></i>
581                            <span v-if="!data.nextLink" class="ml-2 text-gray-500 text-lg font-bold">{{$tc('signInWith', 'Email')}}</span>
582                            <span v-else class="ml-2 text-gray-500 text-lg font-bold">{{$tc('continueWith', 'Email')}}</span>
583                        </div>
584                    </button>
585                                
586                    
587
588                    
589
590                    <div class="pt-2">
591                        <a v-if="wt && wt.signup && !data.nextLink" href="new-bot" class="cursor-pointer text-gray-400 hover:text-blue-500 mt-3 mb-2 w-100 text-center">
592                            <div>
593                                <span data-v-t="'out.msg0'"></span>
594                                <span class="font-bold" data-v-t="'signUp'"></span>
595                            </div>
596                        </a>
597                    </div>
598                </div>
599
600                <div class="vueapp w-full my-4 flex flex-row justify-evenly hover:text-blue-500">
601
602                    <a  class="hover:text-blue-500 text-gray-400" :href="data.wt ? data.wt.termsOfServices : '../php/images?id=terms'" target="_blank">
603                        <span class="text-sm" v-t="'termsOfService'"></span>
604                    </a>
605
606                    <a class="hover:text-blue-500 text-gray-400" :href="data.wt ? data.wt.privacyPolicy : '../php/images?id=policy'" target="_blank">
607                        <span class="text-sm" v-t="'privacyPolicy'"></span>
608                    </a>
609
610                </div>
611
612            </div>       
613
614        </div>                          
615
616    </div>
617    
618        
619    
619<script>
620    if(localStorage.getItem('theme') === 'dark'){
621        document.body.classList.toggle("dark");
622        document.documentElement.classList.toggle("dark");
623    }
624</script>
624
625
626<script src="../js/libs/jquery.min.js"></script>
vendor: 1 bytes, line 626
626
627<script src="../js/libs/popper.min.js" ></script>
vendor: 1 bytes, line 627
627
628<script src="../js/libs/jquery-ui.min.js"></script>
vendor: 1 bytes, line 628
628
629<script src="../js/libs/bootstrap.min.js"></script>
629
630        
631<script src="../js/libs/jquery.mCustomScrollbar.concat.min.js"></script>
631   
632<script src="../js/libs/jquery.dataTables.min.js"></script>
vendor: 1 bytes, line 632
632
633<script src="../js/libs/dataTables.bootstrap4.min.js"></script>
633 
634<script src="../js/libs/bootstrap-select.min.js"></script>
vendor: 1 bytes, line 634
634
635<script src="../js/libs/moment.min.js"></script>
635 
636<script src="../js/libs/daterangepicker.min.js"></script>
636   
637<script src="../js/libs/magicsuggest.min.js"></script>
637   
638<script src="../js/libs/jquery.tag-editor.min.js"></script>
vendor: 1 bytes, line 638
638
639<script src="../js/libs/jquery.caret.min.js"></script>
vendor: 1 bytes, line 639
639
640<script src="../js/libs/element-ui-en.js"></script>
640
641
642
643
644<script src="../locales/en/common.js?v=107"></script>
644 
645<script>ELEMENT.locale(ELEMENT.lang.en)</script>
645<script src="../locales/en/login.js?v=17"></script>
645<script src="../locales/en/users.js?v=10"></script>
645
646
647<script src="../js/components.js?v=8"></script>
vendor: 1 bytes, line 647
647
648<script src="../js/main1.js?v=238"></script>
vendor: 1 bytes, line 648
648
649<script src="lang/main.js?v=7"></script>
vendor: 1 bytes, line 649
649
650<script src="../js/libs/search.js"></script>
vendor: 1 bytes, line 650
650
651<script src="../js/libs/jquery.easing.1.3.min.js"></script>
vendor: 1 bytes, line 651
651
652<script src="../js/libs/semantic-api.js"></script>
652
653
654
655
656
657                                    
658
659
660
661    
661<script>var login_page = true;</script>
661
662    
662<script type="text/javascript" src="https://appleid.cdn-apple.com/appleauth/static/jsapi/appleid/1/en_US/appleid.auth.js"></script>
662
663    
663<script src="../js/fb1.js?v=1"></script>
663     
664    
664<script src="../js/login.js?v=10"></script>
664
665    
665<script src="../js/fb1.js?v=18"></script>
vendor: 1 bytes, line 665
665
666<script>
667    show_main_menu_new();
668</script>
668
669
670</body>
671
672</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.