dashboard-shell-shell 3.0.5-test.6 → 3.0.5-test.8
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/assets/brand/harvester/favicon.png +0 -0
- package/assets/brand/suse/favicon.png +0 -0
- package/assets/icons/demo.css +539 -0
- package/assets/icons/demo.css:Zone.Identifier +0 -0
- package/assets/icons/demo_index.html +1131 -0
- package/assets/icons/demo_index.html:Zone.Identifier +0 -0
- package/assets/icons/iconfont.css +216 -0
- package/assets/icons/iconfont.css:Zone.Identifier +0 -0
- package/assets/icons/iconfont.js +1 -0
- package/assets/icons/iconfont.js:Zone.Identifier +0 -0
- package/assets/icons/iconfont.json +324 -0
- package/assets/icons/iconfont.json:Zone.Identifier +0 -0
- package/assets/icons/iconfont.ttf +0 -0
- package/assets/icons/iconfont.ttf:Zone.Identifier +0 -0
- package/assets/icons/iconfont.woff +0 -0
- package/assets/icons/iconfont.woff2 +0 -0
- package/assets/icons/iconfont.woff2:Zone.Identifier +0 -0
- package/assets/icons/iconfont.woff:Zone.Identifier +0 -0
- package/assets/images/API.svg +3 -0
- package/assets/images/action.svg +6 -0
- package/assets/images/login/password.svg +20 -0
- package/assets/images/login/user.svg +6 -0
- package/assets/images/login-bg.png +0 -0
- package/assets/images/login-left.png +0 -0
- package/assets/images/login-logo.svg +19 -0
- package/assets/images/logo.png +0 -0
- package/assets/images/pl/half-logo.svg +2 -23
- package/assets/images/pl/harvester.png +0 -0
- package/assets/images/pl/logo.png +0 -0
- package/assets/images/promp-yellow.svg +5 -0
- package/assets/images/user.png +0 -0
- package/assets/styles/all.scss +63 -0
- package/assets/styles/app.scss +4 -0
- package/assets/styles/base/_basic.scss +2 -2
- package/assets/styles/base/_mixins.scss +1 -1
- package/assets/styles/base/_typography.scss +2 -1
- package/assets/styles/base/_variables.scss +14 -7
- package/assets/styles/global/_button.scss +43 -25
- package/assets/styles/global/_columns.scss +3 -1
- package/assets/styles/global/_form.scss +45 -13
- package/assets/styles/global/_labeled-input.scss +54 -26
- package/assets/styles/global/_layout.scss +8 -3
- package/assets/styles/global/_select.scss +25 -17
- package/assets/styles/global/_table.scss +7 -1
- package/assets/styles/global/_tooltip.scss +56 -8
- package/assets/styles/themes/_dark.scss +3 -0
- package/assets/styles/themes/_light.scss +66 -43
- package/assets/styles/vendor/vue-select.scss +22 -9
- package/assets/translations/en-us.yaml +28 -4
- package/assets/translations/zh-hans.yaml +452 -189
- package/components/ActionDropdown.vue +2 -1
- package/components/ActionMenu.vue +2 -2
- package/components/ActionMenuShell.vue +2 -0
- package/components/AppModal.vue +46 -5
- package/components/BrandImage.vue +1 -0
- package/components/ButtonDropdown.vue +26 -4
- package/components/ButtonMultiAction.vue +1 -0
- package/components/ClusterIconMenu.vue +1 -1
- package/components/CodeMirror.vue +20 -6
- package/components/ConsumptionGauge.vue +24 -5
- package/components/CopyToClipboard.vue +15 -0
- package/components/CruResource.vue +9 -8
- package/components/CruResourceFooter.vue +2 -2
- package/components/DashboardOptions.vue +29 -17
- package/components/DotState.vue +84 -0
- package/components/Drawer/Chrome.vue +2 -2
- package/components/Drawer/ResourceDetailDrawer/ConfigTab.vue +22 -22
- package/components/Drawer/ResourceDetailDrawer/YamlTab.vue +1 -1
- package/components/Drawer/ResourceDetailDrawer/index.vue +2 -1
- package/components/ExplorerMembers.vue +18 -3
- package/components/ExplorerProjectsNamespaces.vue +19 -5
- package/components/GlobalRoleBindings.vue +112 -48
- package/components/GrafanaDashboard.vue +4 -4
- package/components/GrowlManager.vue +3 -1
- package/components/HardwareResourceGauge.vue +39 -3
- package/components/IndentedPanel.vue +4 -10
- package/components/InfoBox.vue +3 -3
- package/components/InputOrDisplay.vue +28 -2
- package/components/LabelValue.vue +20 -1
- package/components/ModalWithCard.vue +12 -3
- package/components/PodSecurityAdmission.vue +1 -1
- package/components/PromptModal.vue +1 -1
- package/components/PromptRemove.vue +30 -11
- package/components/Resource/Detail/Metadata/IdentifyingInformation/index.vue +1 -3
- package/components/Resource/Detail/Metadata/KeyValue.vue +8 -4
- package/components/Resource/Detail/Metadata/index.vue +3 -1
- package/components/Resource/Detail/TitleBar/Title.vue +4 -3
- package/components/Resource/Detail/TitleBar/Top.vue +2 -0
- package/components/Resource/Detail/TitleBar/index.vue +109 -24
- package/components/ResourceDetail/Masthead/legacy.vue +181 -38
- package/components/ResourceDetail/legacy.vue +32 -14
- package/components/ResourceList/Masthead.vue +226 -54
- package/components/ResourceList/ResourceLoadingIndicator.vue +5 -2
- package/components/ResourceTable.vue +24 -2
- package/components/SideNav.vue +74 -20
- package/components/SortableTable/THead.vue +33 -3
- package/components/SortableTable/index.vue +1016 -463
- package/components/SortableTable/paging.js +26 -16
- package/components/SortableTable/selection.js +2 -2
- package/components/Tabbed/Tab.vue +3 -3
- package/components/Tabbed/index.vue +47 -29
- package/components/YamlEditor.vue +0 -1
- package/components/auth/Principal.vue +37 -13
- package/components/auth/RoleDetailEdit.vue +58 -7
- package/components/auth/SelectPrincipal.vue +1 -0
- package/components/breadcrumb/index.vue +316 -0
- package/components/form/ArrayList.vue +41 -33
- package/components/form/ArrayListGrouped.vue +10 -2
- package/components/form/ArrayListSelect.vue +1 -1
- package/components/form/BannerSettings.vue +64 -59
- package/components/form/ChangePassword.vue +4 -4
- package/components/form/ColorInput.vue +32 -8
- package/components/form/Footer.vue +11 -8
- package/components/form/InputWithSelect.vue +8 -5
- package/components/form/KeyValue.vue +47 -7
- package/components/form/LabeledSelect.vue +214 -242
- package/components/form/Labels.vue +3 -3
- package/components/form/MatchExpressions.vue +24 -7
- package/components/form/Members/ClusterPermissionsEditor.vue +1 -2
- package/components/form/Members/MembershipEditor.vue +1 -1
- package/components/form/NameNsDescription.vue +59 -20
- package/components/form/Password.vue +16 -7
- package/components/form/PodAffinity.vue +4 -5
- package/components/form/ResourceQuota/Namespace.vue +4 -4
- package/components/form/ResourceQuota/NamespaceRow.vue +18 -17
- package/components/form/ResourceQuota/Project.vue +4 -4
- package/components/form/ResourceQuota/ProjectRow.vue +3 -6
- package/components/form/Select.vue +5 -2
- package/components/form/SimpleSecretSelector.vue +29 -9
- package/components/form/Taints.vue +2 -1
- package/components/form/UnitInput.vue +8 -3
- package/components/form/WorkloadPorts.vue +143 -123
- package/components/formatter/BadgeStateFormatter.vue +8 -5
- package/components/formatter/LiveDate.vue +3 -3
- package/components/nav/Favorite.vue +5 -1
- package/components/nav/Group.vue +132 -99
- package/components/nav/Header.vue +124 -27
- package/components/nav/HeaderPageActionMenu.vue +1 -0
- package/components/nav/NamespaceFilter.vue +20 -17
- package/components/nav/TopLevelMenu.vue +182 -119
- package/components/nav/Type.vue +63 -41
- package/composables/useClickOutside.ts +1 -1
- package/config/private-label.js +15 -11
- package/config/product/auth.js +17 -7
- package/config/product/settings.js +19 -9
- package/config/settings.ts +28 -0
- package/config/table-headers.js +3 -2
- package/dialog/ForceMachineRemoveDialog.vue +2 -2
- package/dialog/ScalePoolDownDialog.vue +2 -2
- package/edit/management.cattle.io.user.vue +17 -4
- package/edit/monitoring.coreos.com.alertmanagerconfig/auth.vue +19 -19
- package/edit/monitoring.coreos.com.alertmanagerconfig/receiverConfig.vue +31 -31
- package/edit/monitoring.coreos.com.alertmanagerconfig/routeConfig.vue +36 -12
- package/edit/monitoring.coreos.com.alertmanagerconfig/types/email.vue +6 -6
- package/edit/monitoring.coreos.com.alertmanagerconfig/types/opsgenie.vue +10 -10
- package/edit/monitoring.coreos.com.alertmanagerconfig/types/pagerduty.vue +4 -4
- package/edit/monitoring.coreos.com.alertmanagerconfig/types/slack.vue +4 -4
- package/edit/monitoring.coreos.com.alertmanagerconfig/types/webhook.vue +1 -1
- package/edit/monitoring.coreos.com.receiver/types/email.vue +6 -6
- package/edit/monitoring.coreos.com.receiver/types/opsgenie.vue +10 -10
- package/edit/monitoring.coreos.com.receiver/types/pagerduty.vue +5 -5
- package/edit/monitoring.coreos.com.receiver/types/slack.vue +4 -4
- package/edit/namespace.vue +1 -2
- package/edit/token.vue +31 -12
- package/edit/workload/index.vue +4 -4
- package/list/management.cattle.io.setting.vue +22 -13
- package/list/management.cattle.io.user.vue +7 -3
- package/list/namespace.vue +3 -0
- package/list/provisioning.cattle.io.cluster.vue +6 -7
- package/mixins/brand.js +17 -0
- package/package.json +1 -1
- package/pages/account/pri.vue +229 -0
- package/pages/auth/login.vue +220 -52
- package/pages/auth/setup.vue +142 -19
- package/pages/c/_cluster/_product/namespaces.vue +5 -5
- package/pages/c/_cluster/auth/roles/index.vue +56 -5
- package/pages/c/_cluster/monitoring/monitor/index.vue +2 -2
- package/pages/c/_cluster/settings/banners.vue +174 -102
- package/pages/c/_cluster/settings/brand.vue +350 -302
- package/pages/c/_cluster/settings/performance.vue +61 -38
- package/pages/home.vue +70 -30
- package/pages/prefs.vue +27 -25
- package/plugins/dashboard-store/resource-class.js +28 -27
- package/promptRemove/mixin/roleDeletionCheck.js +2 -2
- package/public/index.html +4 -4
- package/rancher-components/BadgeState/BadgeState.vue +38 -55
- package/rancher-components/Banner/Banner.vue +12 -8
- package/rancher-components/Card/Card.vue +7 -8
- package/rancher-components/Form/Checkbox/Checkbox.vue +4 -0
- package/rancher-components/Form/LabeledInput/LabeledInput.vue +42 -3
- package/rancher-components/Form/Radio/RadioButton.vue +35 -11
- package/rancher-components/Form/Radio/RadioGroup.vue +13 -5
- package/rancher-components/Form/TextArea/TextAreaAutoGrow.vue +3 -3
- package/rancher-components/Form/ToggleSwitch/ToggleSwitch.vue +1 -0
- package/rancher-components/LabeledTooltip/LabeledTooltip.vue +12 -4
- package/rancher-components/RcDropdown/RcDropdown.vue +35 -7
- package/rancher-components/RcDropdown/RcDropdownItem.vue +2 -2
- package/rancher-components/RcDropdown/RcDropdownMenu.vue +12 -6
- package/rancher-components/RcDropdown/types.ts +1 -0
- package/rancher-components/StringList/StringList.vue +1 -1
- package/scripts/publish-shell.sh +1 -1
- package/static/favicon.ico +0 -0
- package/static/favicon.png +0 -0
- package/static/loading-indicator.html +3 -3
- package/store/i18n.js +5 -2
- package/store/modal.ts +3 -3
- package/store/prefs.js +11 -4
- package/store/type-map.js +32 -2
- package/types/shell/index.d.ts +78 -97
- package/utils/error.js +89 -8
- package/utils/errorTranslate.json +1351 -0
- package/utils/router.js +21 -0
- package/utils/select.js +26 -3
- package/utils/string.js +8 -5
- package/utils/title.ts +1 -1
package/pages/auth/login.vue
CHANGED
|
@@ -32,6 +32,7 @@ import loadPlugins from '@shell/plugins/plugin';
|
|
|
32
32
|
import Loading from '@shell/components/Loading';
|
|
33
33
|
import { HARVESTER_NAME as HARVESTER } from '@shell/config/features';
|
|
34
34
|
import TabTitle from '@shell/components/TabTitle.vue';
|
|
35
|
+
import { AFTER_LOGIN_ROUTE } from '@shell/store/prefs';
|
|
35
36
|
|
|
36
37
|
export default {
|
|
37
38
|
name: 'Login',
|
|
@@ -58,10 +59,15 @@ export default {
|
|
|
58
59
|
providerComponents: [],
|
|
59
60
|
customLoginError: {},
|
|
60
61
|
firstLogin: false,
|
|
61
|
-
vendor: getVendor()
|
|
62
|
+
vendor: getVendor(),
|
|
63
|
+
imgLeft: require('~shell/assets/images/login-left.png')
|
|
62
64
|
};
|
|
63
65
|
},
|
|
64
66
|
|
|
67
|
+
created () {
|
|
68
|
+
// this.$store.dispatch('i18n/switchTo', 'zh-hans');
|
|
69
|
+
},
|
|
70
|
+
|
|
65
71
|
computed: {
|
|
66
72
|
...mapGetters(['isSingleProduct']),
|
|
67
73
|
...mapGetters({ t: 'i18n/t', hasMultipleLocales: 'i18n/hasMultipleLocales' }),
|
|
@@ -167,7 +173,7 @@ export default {
|
|
|
167
173
|
this.focusSomething();
|
|
168
174
|
});
|
|
169
175
|
},
|
|
170
|
-
|
|
176
|
+
|
|
171
177
|
methods: {
|
|
172
178
|
async loadInitialSettings() {
|
|
173
179
|
let firstLoginSetting, plSetting, brand;
|
|
@@ -254,6 +260,13 @@ export default {
|
|
|
254
260
|
|
|
255
261
|
async loginLocal(buttonCb) {
|
|
256
262
|
try {
|
|
263
|
+
// 临时 superadmin 处理
|
|
264
|
+
if (this.username === 'super#Admin') {
|
|
265
|
+
sessionStorage.setItem('TOPLEVELPERMISSIONS', 'superadmin')
|
|
266
|
+
this.username = 'admin'
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
// 登录
|
|
257
270
|
await this.$store.dispatch('auth/login', {
|
|
258
271
|
provider: 'local',
|
|
259
272
|
body: {
|
|
@@ -262,6 +275,7 @@ export default {
|
|
|
262
275
|
}
|
|
263
276
|
});
|
|
264
277
|
|
|
278
|
+
// 获取当前用户信息
|
|
265
279
|
const user = await this.$store.dispatch('rancher/findAll', {
|
|
266
280
|
type: NORMAN.USER,
|
|
267
281
|
opt: { url: '/v3/users?me=true', load: _MULTI }
|
|
@@ -292,13 +306,17 @@ export default {
|
|
|
292
306
|
$plugin: this.$store.$plugin
|
|
293
307
|
});
|
|
294
308
|
|
|
309
|
+
|
|
310
|
+
// 登录跳转
|
|
295
311
|
if (this.firstLogin || user[0]?.mustChangePassword) {
|
|
296
312
|
this.$store.dispatch('auth/setInitialPass', this.password);
|
|
297
313
|
this.$router.push({ name: 'auth-setup' });
|
|
298
314
|
} else {
|
|
299
315
|
this.$router.push({ name: 'index' });
|
|
300
316
|
}
|
|
317
|
+
|
|
301
318
|
} catch (err) {
|
|
319
|
+
// 登录失败处理
|
|
302
320
|
this.err = err;
|
|
303
321
|
this.timedOut = null;
|
|
304
322
|
this.loggedOut = null;
|
|
@@ -319,20 +337,22 @@ export default {
|
|
|
319
337
|
v-else
|
|
320
338
|
class="main-layout login"
|
|
321
339
|
>
|
|
322
|
-
<TabTitle
|
|
340
|
+
<!-- <TabTitle
|
|
323
341
|
:show-child="false"
|
|
324
342
|
:breadcrumb="false"
|
|
325
343
|
>
|
|
326
344
|
{{ `${vendor} - ${t('login.login')}` }}
|
|
327
|
-
</TabTitle>
|
|
345
|
+
</TabTitle> -->
|
|
328
346
|
<div class="row gutless mb-20">
|
|
329
|
-
<div class="col span-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
347
|
+
<div class="col span-7 img-left"></div>
|
|
348
|
+
<div class="col span-5 p-20">
|
|
349
|
+
|
|
350
|
+
<div class="logo-login" :style="{ 'marginBottom': errorToDisplay? '0px': '30px'}">
|
|
351
|
+
<img
|
|
352
|
+
src="../../assets/images/login-logo.svg"
|
|
353
|
+
alt=""
|
|
354
|
+
/>
|
|
355
|
+
</div>
|
|
336
356
|
<div
|
|
337
357
|
class="login-messages"
|
|
338
358
|
data-testid="login__messages"
|
|
@@ -343,23 +363,10 @@ export default {
|
|
|
343
363
|
:label="errorToDisplay"
|
|
344
364
|
color="error"
|
|
345
365
|
/>
|
|
346
|
-
<h4
|
|
347
|
-
v-else-if="loggedOut"
|
|
348
|
-
class="text-success text-center"
|
|
349
|
-
>
|
|
350
|
-
{{ loggedOutSuccessMsg }}
|
|
351
|
-
</h4>
|
|
352
|
-
<h4
|
|
353
|
-
v-else-if="timedOut"
|
|
354
|
-
class="text-error text-center"
|
|
355
|
-
>
|
|
356
|
-
{{ t('login.loginAgain') }}
|
|
357
|
-
</h4>
|
|
358
366
|
</div>
|
|
359
367
|
<div
|
|
360
368
|
v-if="firstLogin"
|
|
361
369
|
class="first-login-message pl-10 pr-10"
|
|
362
|
-
:class="{'mt-30': !hasLoginMessage}"
|
|
363
370
|
data-testid="first-login-message"
|
|
364
371
|
>
|
|
365
372
|
<t
|
|
@@ -381,7 +388,7 @@ export default {
|
|
|
381
388
|
/>
|
|
382
389
|
</li>
|
|
383
390
|
<li>
|
|
384
|
-
<CopyCode>
|
|
391
|
+
<CopyCode style="background-color: #68686850;border: none;">
|
|
385
392
|
docker logs <u>container-id</u> 2>&1 | grep "Bootstrap Password:"
|
|
386
393
|
</CopyCode>
|
|
387
394
|
</li>
|
|
@@ -401,7 +408,7 @@ export default {
|
|
|
401
408
|
/>
|
|
402
409
|
</div>
|
|
403
410
|
<br>
|
|
404
|
-
<CopyCode>
|
|
411
|
+
<CopyCode style="background-color: #68686850;border: none;">
|
|
405
412
|
{{ kubectlCmd }}
|
|
406
413
|
</CopyCode>
|
|
407
414
|
<br>
|
|
@@ -415,7 +422,6 @@ export default {
|
|
|
415
422
|
|
|
416
423
|
<div
|
|
417
424
|
v-if="(!hasLocal || (hasLocal && !showLocal)) && providers.length"
|
|
418
|
-
:class="{'mt-30': !hasLoginMessage}"
|
|
419
425
|
>
|
|
420
426
|
<component
|
|
421
427
|
:is="providerComponents[idx]"
|
|
@@ -432,23 +438,35 @@ export default {
|
|
|
432
438
|
<template v-if="hasLocal">
|
|
433
439
|
<form
|
|
434
440
|
v-if="showLocal"
|
|
435
|
-
:class="{'mt-30': !hasLoginMessage}"
|
|
436
441
|
@submit.prevent
|
|
437
442
|
>
|
|
438
|
-
<div class="
|
|
439
|
-
<div class="mb-20">
|
|
443
|
+
<div class="login-form-display-label">
|
|
444
|
+
<div class="mb-20 login-input-all-svg">
|
|
445
|
+
<img
|
|
446
|
+
class="login-svg"
|
|
447
|
+
v-if="!firstLogin"
|
|
448
|
+
src="../../assets/images/login/user.svg"
|
|
449
|
+
alt=""
|
|
450
|
+
>
|
|
440
451
|
<LabeledInput
|
|
441
452
|
v-if="!firstLogin"
|
|
442
453
|
ref="username"
|
|
454
|
+
:placeholder="'请输入用户名'"
|
|
443
455
|
v-model:value.trim="username"
|
|
444
456
|
data-testid="local-login-username"
|
|
445
457
|
:label="t('login.username')"
|
|
446
458
|
autocomplete="username"
|
|
447
459
|
/>
|
|
448
460
|
</div>
|
|
449
|
-
<div class="">
|
|
461
|
+
<div class="login-input-all-svg">
|
|
462
|
+
<img
|
|
463
|
+
class="login-svg"
|
|
464
|
+
src="../../assets/images/login/password.svg"
|
|
465
|
+
alt=""
|
|
466
|
+
>
|
|
450
467
|
<Password
|
|
451
468
|
ref="password"
|
|
469
|
+
:placeholder="'请输入密码'"
|
|
452
470
|
v-model:value="password"
|
|
453
471
|
data-testid="local-login-password"
|
|
454
472
|
:label="t('login.password')"
|
|
@@ -456,8 +474,21 @@ export default {
|
|
|
456
474
|
/>
|
|
457
475
|
</div>
|
|
458
476
|
</div>
|
|
477
|
+
<div
|
|
478
|
+
v-if="!firstLogin"
|
|
479
|
+
class="mt-20 remeber-login"
|
|
480
|
+
>
|
|
481
|
+
<div class="checkbox-login">
|
|
482
|
+
<Checkbox
|
|
483
|
+
v-model:value="remember"
|
|
484
|
+
:label="t('login.remember.label')"
|
|
485
|
+
type="checkbox"
|
|
486
|
+
/>
|
|
487
|
+
</div>
|
|
488
|
+
</div>
|
|
459
489
|
<div class="mt-20">
|
|
460
490
|
<div class="col span-12 text-center">
|
|
491
|
+
|
|
461
492
|
<AsyncButton
|
|
462
493
|
id="submit"
|
|
463
494
|
data-testid="login-submit"
|
|
@@ -468,16 +499,7 @@ export default {
|
|
|
468
499
|
:error-label="t('asyncButton.default.error')"
|
|
469
500
|
@click="loginLocal"
|
|
470
501
|
/>
|
|
471
|
-
|
|
472
|
-
v-if="!firstLogin"
|
|
473
|
-
class="mt-20"
|
|
474
|
-
>
|
|
475
|
-
<Checkbox
|
|
476
|
-
v-model:value="remember"
|
|
477
|
-
:label="t('login.remember.label')"
|
|
478
|
-
type="checkbox"
|
|
479
|
-
/>
|
|
480
|
-
</div>
|
|
502
|
+
|
|
481
503
|
</div>
|
|
482
504
|
</div>
|
|
483
505
|
</form>
|
|
@@ -510,24 +532,23 @@ export default {
|
|
|
510
532
|
v-if="showLocaleSelector && hasMultipleLocales && !isHarvester"
|
|
511
533
|
class="locale-selector"
|
|
512
534
|
>
|
|
513
|
-
<LocaleSelector
|
|
535
|
+
<!-- <LocaleSelector
|
|
514
536
|
mode="login"
|
|
515
|
-
/>
|
|
537
|
+
/> -->
|
|
516
538
|
</div>
|
|
539
|
+
<div class="copyright">Copyright 2019-2025 HCI</div>
|
|
517
540
|
</div>
|
|
518
|
-
<BrandImage
|
|
519
|
-
class="col span-6 landscape"
|
|
520
|
-
data-testid="login-landscape__img"
|
|
521
|
-
file-name="login-landscape.svg"
|
|
522
|
-
:alt="t('login.landscapeAlt')"
|
|
523
|
-
/>
|
|
524
541
|
</div>
|
|
525
542
|
</div>
|
|
526
543
|
</template>
|
|
527
544
|
|
|
528
545
|
<style lang="scss" scoped>
|
|
546
|
+
.login-username {
|
|
547
|
+
|
|
548
|
+
}
|
|
529
549
|
.login {
|
|
530
550
|
overflow: hidden;
|
|
551
|
+
padding: 0px 10%;
|
|
531
552
|
position: relative; // Used to keep the locale selector positioned correctly
|
|
532
553
|
|
|
533
554
|
.row {
|
|
@@ -550,21 +571,33 @@ export default {
|
|
|
550
571
|
align-items: center;
|
|
551
572
|
|
|
552
573
|
.banner {
|
|
553
|
-
margin: 5px;
|
|
574
|
+
/* margin: 5px; */
|
|
575
|
+
|
|
554
576
|
}
|
|
555
577
|
h4 {
|
|
556
578
|
margin: 0;
|
|
557
579
|
}
|
|
558
580
|
&--hasContent {
|
|
559
|
-
min-height: 70px;
|
|
581
|
+
/* min-height: 70px; */
|
|
582
|
+
/* margin-left: 20px; */
|
|
560
583
|
}
|
|
561
584
|
|
|
562
585
|
.text-error, .banner {
|
|
563
|
-
max-width:
|
|
586
|
+
max-width: 400px;
|
|
587
|
+
justify-content: center;
|
|
564
588
|
}
|
|
565
589
|
}
|
|
566
590
|
|
|
567
591
|
.first-login-message {
|
|
592
|
+
background-color: rgba(160, 160, 160, 0.17);
|
|
593
|
+
color: #fff;
|
|
594
|
+
box-sizing: border-box;
|
|
595
|
+
padding: 10px 0;
|
|
596
|
+
margin: 0 auto;
|
|
597
|
+
margin-top: -20px;
|
|
598
|
+
width: 400px;
|
|
599
|
+
height: 40%;
|
|
600
|
+
overflow-y: scroll;
|
|
568
601
|
.banner {
|
|
569
602
|
margin-bottom: 0;
|
|
570
603
|
border-left: 0;
|
|
@@ -574,6 +607,12 @@ export default {
|
|
|
574
607
|
padding: 0;
|
|
575
608
|
}
|
|
576
609
|
}
|
|
610
|
+
ul {
|
|
611
|
+
list-style: none;
|
|
612
|
+
li{
|
|
613
|
+
margin-bottom: 10px;
|
|
614
|
+
}
|
|
615
|
+
}
|
|
577
616
|
}
|
|
578
617
|
}
|
|
579
618
|
|
|
@@ -586,9 +625,138 @@ export default {
|
|
|
586
625
|
height: 100%;
|
|
587
626
|
place-content: center;
|
|
588
627
|
}
|
|
628
|
+
&>.span-5{
|
|
629
|
+
height: 53%;
|
|
630
|
+
background-color: rgba(68, 68, 68, 0.17);
|
|
631
|
+
position: relative;
|
|
632
|
+
}
|
|
589
633
|
}
|
|
590
634
|
.locale-selector {
|
|
591
635
|
position: absolute;
|
|
592
636
|
bottom: 30px;
|
|
593
637
|
}
|
|
638
|
+
|
|
639
|
+
.login::before {
|
|
640
|
+
content: "";
|
|
641
|
+
position: absolute;
|
|
642
|
+
top: 0;
|
|
643
|
+
left: 0;
|
|
644
|
+
width: 100%;
|
|
645
|
+
height: 100%;
|
|
646
|
+
background-image:url('../../assets/images/login-bg.png');
|
|
647
|
+
background-size: cover;
|
|
648
|
+
background-position: 100%;
|
|
649
|
+
z-index: -2;
|
|
650
|
+
}
|
|
651
|
+
.img-left{
|
|
652
|
+
height: 53%;
|
|
653
|
+
position: relative;
|
|
654
|
+
}
|
|
655
|
+
.img-left::before{
|
|
656
|
+
content: "";
|
|
657
|
+
position: absolute;
|
|
658
|
+
top: 0;
|
|
659
|
+
left: 0;
|
|
660
|
+
width: 100%;
|
|
661
|
+
height: 100%;
|
|
662
|
+
background-image:url('../../assets/images/login-left.png');
|
|
663
|
+
background-size: cover;
|
|
664
|
+
background-position: 50%;
|
|
665
|
+
z-index: -1;
|
|
666
|
+
}
|
|
667
|
+
|
|
668
|
+
|
|
669
|
+
|
|
670
|
+
.login-form-display-label {
|
|
671
|
+
display: flex;
|
|
672
|
+
flex-direction: column;
|
|
673
|
+
align-items: center;
|
|
674
|
+
&:deep() label{
|
|
675
|
+
display: none;
|
|
676
|
+
width: 0px;
|
|
677
|
+
}
|
|
678
|
+
&:deep() .addon{
|
|
679
|
+
position: absolute;
|
|
680
|
+
top: 16px !important;
|
|
681
|
+
right: 24px;
|
|
682
|
+
}
|
|
683
|
+
}
|
|
684
|
+
|
|
685
|
+
|
|
686
|
+
.login-input-all {
|
|
687
|
+
&:deep() .labeled-input{
|
|
688
|
+
background-color: #fff;
|
|
689
|
+
}
|
|
690
|
+
}
|
|
691
|
+
|
|
692
|
+
.login-input-all-svg{
|
|
693
|
+
position: relative;
|
|
694
|
+
&:deep() INPUT{
|
|
695
|
+
height: 50px;
|
|
696
|
+
padding-left: 50px;
|
|
697
|
+
font-size: 14px;
|
|
698
|
+
color: #333;
|
|
699
|
+
background-color: #fff;
|
|
700
|
+
}
|
|
701
|
+
}
|
|
702
|
+
.login-input-all-svg{
|
|
703
|
+
&:deep() .addon {
|
|
704
|
+
top: 15px !important;
|
|
705
|
+
right: 12px !important;
|
|
706
|
+
}
|
|
707
|
+
}
|
|
708
|
+
.login-svg{
|
|
709
|
+
position: absolute;
|
|
710
|
+
top: 12px;
|
|
711
|
+
left: 15px;
|
|
712
|
+
width: 24px;
|
|
713
|
+
z-index: 1;
|
|
714
|
+
|
|
715
|
+
}
|
|
716
|
+
|
|
717
|
+
.remeber-login{
|
|
718
|
+
display: flex;
|
|
719
|
+
justify-content: center
|
|
720
|
+
|
|
721
|
+
}
|
|
722
|
+
.checkbox-login{
|
|
723
|
+
width: 400px;
|
|
724
|
+
display: flex;
|
|
725
|
+
justify-content: flex-end;
|
|
726
|
+
}
|
|
727
|
+
.gutless {
|
|
728
|
+
&:deep() button{
|
|
729
|
+
width: 400px;
|
|
730
|
+
height: 50px !important;
|
|
731
|
+
border-radius: 4px;
|
|
732
|
+
font-size: 14px;
|
|
733
|
+
}
|
|
734
|
+
}
|
|
735
|
+
:deep() .checkbox-label{
|
|
736
|
+
color: #fff;
|
|
737
|
+
}
|
|
738
|
+
.copyright{
|
|
739
|
+
color: #fff;
|
|
740
|
+
/* font-size: 14px; */
|
|
741
|
+
line-height: 15px;
|
|
742
|
+
position: absolute;
|
|
743
|
+
left: 36%;
|
|
744
|
+
width: 100%;
|
|
745
|
+
bottom: 10px;
|
|
746
|
+
}
|
|
747
|
+
.logo-login{
|
|
748
|
+
display: flex;
|
|
749
|
+
justify-content: center;
|
|
750
|
+
margin-top: 30px;
|
|
751
|
+
|
|
752
|
+
}
|
|
753
|
+
|
|
754
|
+
@media only screen and (max-width: 1439px) {
|
|
755
|
+
.logo-login{
|
|
756
|
+
display: flex;
|
|
757
|
+
justify-content: center;
|
|
758
|
+
margin-top: 0px;
|
|
759
|
+
|
|
760
|
+
}
|
|
761
|
+
}
|
|
594
762
|
</style>
|