From 7ee0d0a70951f769930ef1b61d901b357c288af8 Mon Sep 17 00:00:00 2001 From: Benedikt Werner <1benediktwerner@gmail.com> Date: Sun, 19 Sep 2021 14:30:53 +0200 Subject: [PATCH] Make shepherd close button visible --- public/javascripts/study/tour-chapter.js | 2 +- public/javascripts/study/tour.js | 2 +- public/vendor/shepherd-theme-dark.css | 213 +++++++++++++++++++++++ public/vendor/shepherd-theme-default.css | 213 +++++++++++++++++++++++ 4 files changed, 428 insertions(+), 2 deletions(-) create mode 100644 public/vendor/shepherd-theme-dark.css create mode 100644 public/vendor/shepherd-theme-default.css diff --git a/public/javascripts/study/tour-chapter.js b/public/javascripts/study/tour-chapter.js index f721377a9c..6bd15ad2ec 100644 --- a/public/javascripts/study/tour-chapter.js +++ b/public/javascripts/study/tour-chapter.js @@ -1,6 +1,6 @@ function loadShepherd(f) { var theme = 'shepherd-theme-' + ($('body').hasClass('dark') ? 'dark' : 'default'); - lichess.loadCss('vendor/shepherd/dist/css/' + theme + '.css'); + lichess.loadCss('vendor/' + theme + '.css'); lichess.loadScript('vendor/shepherd/dist/js/tether.js', { noVersion: true }).then(function () { lichess.loadScript('vendor/shepherd/dist/js/shepherd.min.js', { noVersion: true }).then(function () { f(theme); diff --git a/public/javascripts/study/tour.js b/public/javascripts/study/tour.js index d6daadf4f9..0395751c01 100644 --- a/public/javascripts/study/tour.js +++ b/public/javascripts/study/tour.js @@ -1,7 +1,7 @@ function loadShepherd(f) { if (typeof Shepherd === 'undefined' || Shepherd.activeTour === null) { var theme = 'shepherd-theme-' + ($('body').hasClass('dark') ? 'dark' : 'default'); - lichess.loadCss('vendor/shepherd/dist/css/' + theme + '.css'); + lichess.loadCss('vendor/' + theme + '.css'); lichess.loadScript('vendor/shepherd/dist/js/tether.js', { noVersion: true }).then(function () { lichess.loadScript('vendor/shepherd/dist/js/shepherd.min.js', { noVersion: true }).then(function () { f(theme); diff --git a/public/vendor/shepherd-theme-dark.css b/public/vendor/shepherd-theme-dark.css new file mode 100644 index 0000000000..c55ef91f6f --- /dev/null +++ b/public/vendor/shepherd-theme-dark.css @@ -0,0 +1,213 @@ +/* https://raw.githubusercontent.com/shipshapecode/shepherd/e3ed0fcbf5c31137ece409d3ad6fea4e264ca1cc/dist/css/shepherd-theme-dark.css */ +.shepherd-element, .shepherd-element:after, .shepherd-element:before, .shepherd-element *, .shepherd-element *:after, .shepherd-element *:before { + box-sizing: border-box; } + + .shepherd-element { + position: absolute; + display: none; } + .shepherd-element.shepherd-open { + display: block; } + + .shepherd-element.shepherd-theme-dark { + max-width: 100%; + max-height: 100%; } + .shepherd-element.shepherd-theme-dark .shepherd-content { + border-radius: 5px; + position: relative; + font-family: inherit; + background: #232323; + color: #eee; + padding: 1em; + font-size: 1.1em; + line-height: 1.5em; } + .shepherd-element.shepherd-theme-dark .shepherd-content:before { + content: ""; + display: block; + position: absolute; + width: 0; + height: 0; + border-color: transparent; + border-width: 16px; + border-style: solid; + pointer-events: none; } + .shepherd-element.shepherd-theme-dark.shepherd-element-attached-bottom.shepherd-element-attached-center .shepherd-content { + margin-bottom: 16px; } + .shepherd-element.shepherd-theme-dark.shepherd-element-attached-bottom.shepherd-element-attached-center .shepherd-content:before { + top: 100%; + left: 50%; + margin-left: -16px; + border-top-color: #232323; } + .shepherd-element.shepherd-theme-dark.shepherd-element-attached-top.shepherd-element-attached-center .shepherd-content { + margin-top: 16px; } + .shepherd-element.shepherd-theme-dark.shepherd-element-attached-top.shepherd-element-attached-center .shepherd-content:before { + bottom: 100%; + left: 50%; + margin-left: -16px; + border-bottom-color: #232323; } + .shepherd-element.shepherd-theme-dark.shepherd-element-attached-right.shepherd-element-attached-middle .shepherd-content { + margin-right: 16px; } + .shepherd-element.shepherd-theme-dark.shepherd-element-attached-right.shepherd-element-attached-middle .shepherd-content:before { + left: 100%; + top: 50%; + margin-top: -16px; + border-left-color: #232323; } + .shepherd-element.shepherd-theme-dark.shepherd-element-attached-left.shepherd-element-attached-middle .shepherd-content { + margin-left: 16px; } + .shepherd-element.shepherd-theme-dark.shepherd-element-attached-left.shepherd-element-attached-middle .shepherd-content:before { + right: 100%; + top: 50%; + margin-top: -16px; + border-right-color: #232323; } + .shepherd-element.shepherd-theme-dark.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom .shepherd-content { + margin-top: 16px; } + .shepherd-element.shepherd-theme-dark.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom .shepherd-content:before { + bottom: 100%; + left: 16px; + border-bottom-color: #232323; } + .shepherd-element.shepherd-theme-dark.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom .shepherd-content { + margin-top: 16px; } + .shepherd-element.shepherd-theme-dark.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom .shepherd-content:before { + bottom: 100%; + right: 16px; + border-bottom-color: #232323; } + .shepherd-element.shepherd-theme-dark.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-top .shepherd-content { + margin-bottom: 16px; } + .shepherd-element.shepherd-theme-dark.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-top .shepherd-content:before { + top: 100%; + left: 16px; + border-top-color: #232323; } + .shepherd-element.shepherd-theme-dark.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-top .shepherd-content { + margin-bottom: 16px; } + .shepherd-element.shepherd-theme-dark.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-top .shepherd-content:before { + top: 100%; + right: 16px; + border-top-color: #232323; } + .shepherd-element.shepherd-theme-dark.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-left .shepherd-content { + margin-right: 16px; } + .shepherd-element.shepherd-theme-dark.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-left .shepherd-content:before { + top: 16px; + left: 100%; + border-left-color: #232323; } + .shepherd-element.shepherd-theme-dark.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content { + margin-left: 16px; } + .shepherd-element.shepherd-theme-dark.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content:before { + top: 16px; + right: 100%; + border-right-color: #232323; } + .shepherd-element.shepherd-theme-dark.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-left .shepherd-content { + margin-right: 16px; } + .shepherd-element.shepherd-theme-dark.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-left .shepherd-content:before { + bottom: 16px; + left: 100%; + border-left-color: #232323; } + .shepherd-element.shepherd-theme-dark.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content { + margin-left: 16px; } + .shepherd-element.shepherd-theme-dark.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content:before { + bottom: 16px; + right: 100%; + border-right-color: #232323; } + + .shepherd-element.shepherd-theme-dark { + z-index: 9999; + max-width: 24em; + font-size: 1em; } + .shepherd-element.shepherd-theme-dark.shepherd-element-attached-top.shepherd-element-attached-center.shepherd-has-title .shepherd-content:before, .shepherd-element.shepherd-theme-dark.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom.shepherd-has-title .shepherd-content:before, .shepherd-element.shepherd-theme-dark.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom.shepherd-has-title .shepherd-content:before { + border-bottom-color: #303030; } + .shepherd-element.shepherd-theme-dark.shepherd-has-title .shepherd-content header { + background: #303030; + padding: 1em; } + .shepherd-element.shepherd-theme-dark.shepherd-has-title .shepherd-content header a.shepherd-cancel-link { + padding: 0; + margin-bottom: 0; } + .shepherd-element.shepherd-theme-dark.shepherd-has-cancel-link .shepherd-content header h3 { + float: left; } + .shepherd-element.shepherd-theme-dark .shepherd-content { + box-shadow: 0 0 1em rgba(0, 0, 0, 0.2); + padding: 0; } + .shepherd-element.shepherd-theme-dark .shepherd-content * { + font-size: inherit; } + .shepherd-element.shepherd-theme-dark .shepherd-content header { + *zoom: 1; + border-radius: 5px 5px 0 0; } + .shepherd-element.shepherd-theme-dark .shepherd-content header:after { + content: ""; + display: table; + clear: both; } + .shepherd-element.shepherd-theme-dark .shepherd-content header h3 { + margin: 0; + line-height: 1; + font-weight: normal; } + .shepherd-element.shepherd-theme-dark .shepherd-content header a.shepherd-cancel-link { + float: right; + text-decoration: none; + font-size: 1.25em; + line-height: .8em; + font-weight: normal; + color: white; + opacity: 0.6; + position: relative; + top: .1em; + padding: .8em; + margin-bottom: -.8em; } + .shepherd-element.shepherd-theme-dark .shepherd-content header a.shepherd-cancel-link:hover { + opacity: 1; } + .shepherd-element.shepherd-theme-dark .shepherd-content .shepherd-text { + padding: 1em; } + .shepherd-element.shepherd-theme-dark .shepherd-content .shepherd-text p { + margin: 0 0 .5em 0; + line-height: 1.3em; } + .shepherd-element.shepherd-theme-dark .shepherd-content .shepherd-text p:last-child { + margin-bottom: 0; } + .shepherd-element.shepherd-theme-dark .shepherd-content footer { + padding: 0 1em 1em; } + .shepherd-element.shepherd-theme-dark .shepherd-content footer .shepherd-buttons { + text-align: right; + list-style: none; + padding: 0; + margin: 0; } + .shepherd-element.shepherd-theme-dark .shepherd-content footer .shepherd-buttons li { + display: inline; + padding: 0; + margin: 0; } + .shepherd-element.shepherd-theme-dark .shepherd-content footer .shepherd-buttons li .shepherd-button { + display: inline-block; + vertical-align: middle; + *vertical-align: auto; + *zoom: 1; + *display: inline; + border-radius: 3px; + cursor: pointer; + border: 0; + margin: 0 .5em 0 0; + font-family: inherit; + text-transform: uppercase; + letter-spacing: .1em; + font-size: .8em; + line-height: 1em; + padding: .75em 2em; + background: #3288e6; + color: #fff; } + .shepherd-element.shepherd-theme-dark .shepherd-content footer .shepherd-buttons li .shepherd-button.shepherd-button-secondary { + background: #eee; + color: #888; } + .shepherd-element.shepherd-theme-dark .shepherd-content footer .shepherd-buttons li:last-child .shepherd-button { + margin-right: 0; } + + .shepherd-start-tour-button.shepherd-theme-dark { + display: inline-block; + vertical-align: middle; + *vertical-align: auto; + *zoom: 1; + *display: inline; + border-radius: 3px; + cursor: pointer; + border: 0; + margin: 0 .5em 0 0; + font-family: inherit; + text-transform: uppercase; + letter-spacing: .1em; + font-size: .8em; + line-height: 1em; + padding: .75em 2em; + background: #3288e6; + color: #fff; } diff --git a/public/vendor/shepherd-theme-default.css b/public/vendor/shepherd-theme-default.css new file mode 100644 index 0000000000..c35cecd5bb --- /dev/null +++ b/public/vendor/shepherd-theme-default.css @@ -0,0 +1,213 @@ +/* https://raw.githubusercontent.com/shipshapecode/shepherd/e3ed0fcbf5c31137ece409d3ad6fea4e264ca1cc/dist/css/shepherd-theme-default.css */ +.shepherd-element, .shepherd-element:after, .shepherd-element:before, .shepherd-element *, .shepherd-element *:after, .shepherd-element *:before { + box-sizing: border-box; } + + .shepherd-element { + position: absolute; + display: none; } + .shepherd-element.shepherd-open { + display: block; } + + .shepherd-element.shepherd-theme-default { + max-width: 100%; + max-height: 100%; } + .shepherd-element.shepherd-theme-default .shepherd-content { + border-radius: 5px; + position: relative; + font-family: inherit; + background: #f6f6f6; + color: #444; + padding: 1em; + font-size: 1.1em; + line-height: 1.5em; } + .shepherd-element.shepherd-theme-default .shepherd-content:before { + content: ""; + display: block; + position: absolute; + width: 0; + height: 0; + border-color: transparent; + border-width: 16px; + border-style: solid; + pointer-events: none; } + .shepherd-element.shepherd-theme-default.shepherd-element-attached-bottom.shepherd-element-attached-center .shepherd-content { + margin-bottom: 16px; } + .shepherd-element.shepherd-theme-default.shepherd-element-attached-bottom.shepherd-element-attached-center .shepherd-content:before { + top: 100%; + left: 50%; + margin-left: -16px; + border-top-color: #f6f6f6; } + .shepherd-element.shepherd-theme-default.shepherd-element-attached-top.shepherd-element-attached-center .shepherd-content { + margin-top: 16px; } + .shepherd-element.shepherd-theme-default.shepherd-element-attached-top.shepherd-element-attached-center .shepherd-content:before { + bottom: 100%; + left: 50%; + margin-left: -16px; + border-bottom-color: #f6f6f6; } + .shepherd-element.shepherd-theme-default.shepherd-element-attached-right.shepherd-element-attached-middle .shepherd-content { + margin-right: 16px; } + .shepherd-element.shepherd-theme-default.shepherd-element-attached-right.shepherd-element-attached-middle .shepherd-content:before { + left: 100%; + top: 50%; + margin-top: -16px; + border-left-color: #f6f6f6; } + .shepherd-element.shepherd-theme-default.shepherd-element-attached-left.shepherd-element-attached-middle .shepherd-content { + margin-left: 16px; } + .shepherd-element.shepherd-theme-default.shepherd-element-attached-left.shepherd-element-attached-middle .shepherd-content:before { + right: 100%; + top: 50%; + margin-top: -16px; + border-right-color: #f6f6f6; } + .shepherd-element.shepherd-theme-default.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom .shepherd-content { + margin-top: 16px; } + .shepherd-element.shepherd-theme-default.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom .shepherd-content:before { + bottom: 100%; + left: 16px; + border-bottom-color: #f6f6f6; } + .shepherd-element.shepherd-theme-default.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom .shepherd-content { + margin-top: 16px; } + .shepherd-element.shepherd-theme-default.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom .shepherd-content:before { + bottom: 100%; + right: 16px; + border-bottom-color: #f6f6f6; } + .shepherd-element.shepherd-theme-default.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-top .shepherd-content { + margin-bottom: 16px; } + .shepherd-element.shepherd-theme-default.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-top .shepherd-content:before { + top: 100%; + left: 16px; + border-top-color: #f6f6f6; } + .shepherd-element.shepherd-theme-default.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-top .shepherd-content { + margin-bottom: 16px; } + .shepherd-element.shepherd-theme-default.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-top .shepherd-content:before { + top: 100%; + right: 16px; + border-top-color: #f6f6f6; } + .shepherd-element.shepherd-theme-default.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-left .shepherd-content { + margin-right: 16px; } + .shepherd-element.shepherd-theme-default.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-left .shepherd-content:before { + top: 16px; + left: 100%; + border-left-color: #f6f6f6; } + .shepherd-element.shepherd-theme-default.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content { + margin-left: 16px; } + .shepherd-element.shepherd-theme-default.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content:before { + top: 16px; + right: 100%; + border-right-color: #f6f6f6; } + .shepherd-element.shepherd-theme-default.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-left .shepherd-content { + margin-right: 16px; } + .shepherd-element.shepherd-theme-default.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-left .shepherd-content:before { + bottom: 16px; + left: 100%; + border-left-color: #f6f6f6; } + .shepherd-element.shepherd-theme-default.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content { + margin-left: 16px; } + .shepherd-element.shepherd-theme-default.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content:before { + bottom: 16px; + right: 100%; + border-right-color: #f6f6f6; } + + .shepherd-element.shepherd-theme-default { + z-index: 9999; + max-width: 24em; + font-size: 1em; } + .shepherd-element.shepherd-theme-default.shepherd-element-attached-top.shepherd-element-attached-center.shepherd-has-title .shepherd-content:before, .shepherd-element.shepherd-theme-default.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom.shepherd-has-title .shepherd-content:before, .shepherd-element.shepherd-theme-default.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom.shepherd-has-title .shepherd-content:before { + border-bottom-color: #e6e6e6; } + .shepherd-element.shepherd-theme-default.shepherd-has-title .shepherd-content header { + background: #e6e6e6; + padding: 1em; } + .shepherd-element.shepherd-theme-default.shepherd-has-title .shepherd-content header a.shepherd-cancel-link { + padding: 0; + margin-bottom: 0; } + .shepherd-element.shepherd-theme-default.shepherd-has-cancel-link .shepherd-content header h3 { + float: left; } + .shepherd-element.shepherd-theme-default .shepherd-content { + box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.17); + padding: 0; } + .shepherd-element.shepherd-theme-default .shepherd-content * { + font-size: inherit; } + .shepherd-element.shepherd-theme-default .shepherd-content header { + *zoom: 1; + border-radius: 5px 5px 0 0; } + .shepherd-element.shepherd-theme-default .shepherd-content header:after { + content: ""; + display: table; + clear: both; } + .shepherd-element.shepherd-theme-default .shepherd-content header h3 { + margin: 0; + line-height: 1; + font-weight: normal; } + .shepherd-element.shepherd-theme-default .shepherd-content header a.shepherd-cancel-link { + float: right; + text-decoration: none; + font-size: 1.25em; + line-height: .8em; + font-weight: normal; + color: black; + opacity: 0.6; + position: relative; + top: .1em; + padding: .8em; + margin-bottom: -.8em; } + .shepherd-element.shepherd-theme-default .shepherd-content header a.shepherd-cancel-link:hover { + opacity: 1; } + .shepherd-element.shepherd-theme-default .shepherd-content .shepherd-text { + padding: 1em; } + .shepherd-element.shepherd-theme-default .shepherd-content .shepherd-text p { + margin: 0 0 .5em 0; + line-height: 1.3em; } + .shepherd-element.shepherd-theme-default .shepherd-content .shepherd-text p:last-child { + margin-bottom: 0; } + .shepherd-element.shepherd-theme-default .shepherd-content footer { + padding: 0 1em 1em; } + .shepherd-element.shepherd-theme-default .shepherd-content footer .shepherd-buttons { + text-align: right; + list-style: none; + padding: 0; + margin: 0; } + .shepherd-element.shepherd-theme-default .shepherd-content footer .shepherd-buttons li { + display: inline; + padding: 0; + margin: 0; } + .shepherd-element.shepherd-theme-default .shepherd-content footer .shepherd-buttons li .shepherd-button { + display: inline-block; + vertical-align: middle; + *vertical-align: auto; + *zoom: 1; + *display: inline; + border-radius: 3px; + cursor: pointer; + border: 0; + margin: 0 .5em 0 0; + font-family: inherit; + text-transform: uppercase; + letter-spacing: .1em; + font-size: .8em; + line-height: 1em; + padding: .75em 2em; + background: #3288e6; + color: #fff; } + .shepherd-element.shepherd-theme-default .shepherd-content footer .shepherd-buttons li .shepherd-button.shepherd-button-secondary { + background: #eee; + color: #888; } + .shepherd-element.shepherd-theme-default .shepherd-content footer .shepherd-buttons li:last-child .shepherd-button { + margin-right: 0; } + + .shepherd-start-tour-button.shepherd-theme-default { + display: inline-block; + vertical-align: middle; + *vertical-align: auto; + *zoom: 1; + *display: inline; + border-radius: 3px; + cursor: pointer; + border: 0; + margin: 0 .5em 0 0; + font-family: inherit; + text-transform: uppercase; + letter-spacing: .1em; + font-size: .8em; + line-height: 1em; + padding: .75em 2em; + background: #3288e6; + color: #fff; }