mirror of
https://github.com/scratchfoundation/scratchx.git
synced 2024-11-25 09:08:28 -05:00
Add warning modal
This commit is contained in:
parent
b184d78c3f
commit
aa3842d36b
8 changed files with 118 additions and 16 deletions
|
@ -412,6 +412,11 @@ button {
|
||||||
user-select: none;
|
user-select: none;
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
white-space: nowrap; }
|
white-space: nowrap; }
|
||||||
|
button.success:hover, button.success:focus, input[type="button"].success:hover, input[type="button"].success:focus, input[type="reset"].success:hover, input[type="reset"].success:focus, input[type="submit"].success:hover, input[type="submit"].success:focus,
|
||||||
|
button.success:hover,
|
||||||
|
button.success:focus {
|
||||||
|
background-color: #0f7623;
|
||||||
|
color: #fff; }
|
||||||
button:hover, button:focus, input[type="button"]:hover, input[type="button"]:focus, input[type="reset"]:hover, input[type="reset"]:focus, input[type="submit"]:hover, input[type="submit"]:focus,
|
button:hover, button:focus, input[type="button"]:hover, input[type="button"]:focus, input[type="reset"]:hover, input[type="reset"]:focus, input[type="submit"]:hover, input[type="submit"]:focus,
|
||||||
button:hover,
|
button:hover,
|
||||||
button:focus {
|
button:focus {
|
||||||
|
@ -699,8 +704,8 @@ picture {
|
||||||
cursor: pointer; }
|
cursor: pointer; }
|
||||||
.modal .modal-close {
|
.modal .modal-close {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 1.5em;
|
top: 0.75em;
|
||||||
right: 1.5em;
|
right: 0.75em;
|
||||||
height: 1.5em;
|
height: 1.5em;
|
||||||
width: 1.5em;
|
width: 1.5em;
|
||||||
background: #fff;
|
background: #fff;
|
||||||
|
@ -734,7 +739,6 @@ picture {
|
||||||
-webkit-transition: opacity 0.25s ease;
|
-webkit-transition: opacity 0.25s ease;
|
||||||
-moz-transition: opacity 0.25s ease;
|
-moz-transition: opacity 0.25s ease;
|
||||||
transition: opacity 0.25s ease;
|
transition: opacity 0.25s ease;
|
||||||
background: #fff;
|
|
||||||
border-radius: 5px;
|
border-radius: 5px;
|
||||||
padding: 1.5em;
|
padding: 1.5em;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
@ -794,7 +798,7 @@ dialog {
|
||||||
*/
|
*/
|
||||||
border: 1px solid; }
|
border: 1px solid; }
|
||||||
|
|
||||||
.message, .warning, .info {
|
.message {
|
||||||
border-radius: 5px;
|
border-radius: 5px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
margin: 1.5em 0;
|
margin: 1.5em 0;
|
||||||
|
@ -808,6 +812,10 @@ dialog {
|
||||||
background-color: #dfe3e7;
|
background-color: #dfe3e7;
|
||||||
color: #58595b; }
|
color: #58595b; }
|
||||||
|
|
||||||
|
.success {
|
||||||
|
background-color: #18ba37;
|
||||||
|
color: #fff; }
|
||||||
|
|
||||||
article header h1 {
|
article header h1 {
|
||||||
text-align: center; }
|
text-align: center; }
|
||||||
|
|
||||||
|
@ -882,6 +890,29 @@ article header h1 + p {
|
||||||
background-color: #21b4f0;
|
background-color: #21b4f0;
|
||||||
color: #fff; }
|
color: #fff; }
|
||||||
|
|
||||||
|
#modal-template-warning .modal-inner {
|
||||||
|
border: 1px solid #dfe3e7;
|
||||||
|
padding: 0;
|
||||||
|
width: 50%;
|
||||||
|
text-align: center; }
|
||||||
|
#modal-template-warning section {
|
||||||
|
padding: 2em;
|
||||||
|
overflow: hidden; }
|
||||||
|
#modal-template-warning header {
|
||||||
|
background: #dfe3e7;
|
||||||
|
text-align: right;
|
||||||
|
line-height: 1.5;
|
||||||
|
position: relative;
|
||||||
|
height: 3em; }
|
||||||
|
#modal-template-warning .modal-close {
|
||||||
|
background: #dfe3e7; }
|
||||||
|
#modal-template-warning .modal-close:before, #modal-template-warning .modal-close:after {
|
||||||
|
background: #556372; }
|
||||||
|
#modal-template-warning .modal-close:hover:before, #modal-template-warning .modal-close:hover:after {
|
||||||
|
background: #3f4a55; }
|
||||||
|
#modal-template-warning button {
|
||||||
|
width: auto; }
|
||||||
|
|
||||||
a[href=""] {
|
a[href=""] {
|
||||||
outline: 1px solid red; }
|
outline: 1px solid red; }
|
||||||
|
|
||||||
|
@ -969,20 +1000,20 @@ body > section {
|
||||||
body #home {
|
body #home {
|
||||||
display: block; }
|
display: block; }
|
||||||
|
|
||||||
#dialogs, #modal-dialogs .modal-inner {
|
#dialogs, .modal-inner {
|
||||||
display: block; }
|
display: block; }
|
||||||
#dialogs::after, #modal-dialogs .modal-inner::after {
|
#dialogs::after, .modal-inner::after {
|
||||||
clear: both;
|
clear: both;
|
||||||
content: "";
|
content: "";
|
||||||
display: table; }
|
display: table; }
|
||||||
#dialogs dialog, #modal-dialogs .modal-inner dialog {
|
#dialogs dialog, .modal-inner dialog {
|
||||||
float: left;
|
float: left;
|
||||||
display: block;
|
display: block;
|
||||||
margin-right: 1.25%;
|
margin-right: 1.25%;
|
||||||
width: 32.5%; }
|
width: 32.5%; }
|
||||||
#dialogs dialog:last-child, #modal-dialogs .modal-inner dialog:last-child {
|
#dialogs dialog:last-child, .modal-inner dialog:last-child {
|
||||||
margin-right: 0; }
|
margin-right: 0; }
|
||||||
#dialogs dialog p, #modal-dialogs .modal-inner dialog p {
|
#dialogs dialog p, .modal-inner dialog p {
|
||||||
text-align: center; }
|
text-align: center; }
|
||||||
|
|
||||||
#modal-dialogs .modal-inner {
|
#modal-dialogs .modal-inner {
|
||||||
|
|
File diff suppressed because one or more lines are too long
15
index.html
15
index.html
|
@ -83,7 +83,7 @@
|
||||||
</dialog>
|
</dialog>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<aside class="info">
|
<aside class="info message">
|
||||||
<strong>Note:</strong> To use any physical extensions, you need to download the <a href="https://scratch.mit.edu/scratchr2/static/ext/download.html">Hardware Plugin</a>.<br />
|
<strong>Note:</strong> To use any physical extensions, you need to download the <a href="https://scratch.mit.edu/scratchr2/static/ext/download.html">Hardware Plugin</a>.<br />
|
||||||
Official Scratch Extensions (such as LEGO WeDo) are available on the main <a href="https://scratch.mit.edu">Scratch site</a>.
|
Official Scratch Extensions (such as LEGO WeDo) are available on the main <a href="https://scratch.mit.edu">Scratch site</a>.
|
||||||
</aside>
|
</aside>
|
||||||
|
@ -246,6 +246,19 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="scratch_loading"></div>
|
<div class="scratch_loading"></div>
|
||||||
</section>
|
</section>
|
||||||
|
<script type="text/template" id="template-warning">
|
||||||
|
<div>
|
||||||
|
<header><a class="modal-close" href="#"></a></header>
|
||||||
|
<section class="warning">
|
||||||
|
<h2>Warning: all extensions are experimental</h2>
|
||||||
|
<p>Content on this site is <strong>not</strong> a product of the Scratch Team. Please use caution when using publically created extensions. <a href="#faq">Learn More</a></p>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
<button data-action="show" data-target="#home">Back to ScratchX Home</button>
|
||||||
|
<button class="success">I understand, continue</button>
|
||||||
|
</section>
|
||||||
|
</div>
|
||||||
|
</script>
|
||||||
<script type="text/javascript" src="libs/base64ab.js"></script>
|
<script type="text/javascript" src="libs/base64ab.js"></script>
|
||||||
<script type="text/javascript" src="scratch_extensions/scratch_ext.js"></script>
|
<script type="text/javascript" src="scratch_extensions/scratch_ext.js"></script>
|
||||||
<script type="text/javascript" src="js/scratchx.js"></script>
|
<script type="text/javascript" src="js/scratchx.js"></script>
|
||||||
|
|
|
@ -243,6 +243,7 @@ function showModal(templateId) {
|
||||||
$(".modal-fade-screen", $modal).removeClass("visible");
|
$(".modal-fade-screen", $modal).removeClass("visible");
|
||||||
$(this).off();
|
$(this).off();
|
||||||
});
|
});
|
||||||
|
return $modal;
|
||||||
}
|
}
|
||||||
|
|
||||||
$(document).keyup(function(e) {
|
$(document).keyup(function(e) {
|
||||||
|
@ -262,6 +263,15 @@ $(document).on('click', "[data-action='modal']", function(e){
|
||||||
showModal($(this).data("template"));
|
showModal($(this).data("template"));
|
||||||
});
|
});
|
||||||
|
|
||||||
|
function JSshowWarning(extensionData) {
|
||||||
|
$modal = showModal("template-warning");
|
||||||
|
$("button, .modal-close", $modal).click(function(e){
|
||||||
|
e.preventDefault();
|
||||||
|
$(document).trigger("modal:exit")
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/* Page switching */
|
/* Page switching */
|
||||||
|
|
||||||
|
|
|
@ -58,17 +58,20 @@ dialog {
|
||||||
}
|
}
|
||||||
|
|
||||||
.warning {
|
.warning {
|
||||||
@extend .message;
|
|
||||||
background-color: $yellow;
|
background-color: $yellow;
|
||||||
color: $dark-gray;
|
color: $dark-gray;
|
||||||
}
|
}
|
||||||
|
|
||||||
.info {
|
.info {
|
||||||
@extend .message;
|
|
||||||
background-color: $light-gray;
|
background-color: $light-gray;
|
||||||
color: $dark-gray;
|
color: $dark-gray;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.success {
|
||||||
|
background-color: $green;
|
||||||
|
color: $white;
|
||||||
|
}
|
||||||
|
|
||||||
article header h1 {
|
article header h1 {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
@ -123,3 +126,41 @@ body > main > article > section {
|
||||||
color: $white;
|
color: $white;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#modal-template-warning {
|
||||||
|
.modal-inner {
|
||||||
|
border: 1px solid $light-gray;
|
||||||
|
padding: 0;
|
||||||
|
width: 50%;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
section {
|
||||||
|
padding: 2em;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
header {
|
||||||
|
background: $light-gray;
|
||||||
|
text-align: right;
|
||||||
|
line-height: 1.5;
|
||||||
|
position: relative;
|
||||||
|
height: 3em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.modal-close {
|
||||||
|
background: $light-gray;
|
||||||
|
|
||||||
|
&:before, &:after {
|
||||||
|
background: darken($light-gray, 50%);
|
||||||
|
}
|
||||||
|
|
||||||
|
&:hover:before, &:hover:after {
|
||||||
|
background: darken($light-gray, 60%);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
button {
|
||||||
|
width: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
|
@ -18,6 +18,14 @@ button {
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
|
|
||||||
|
&.success {
|
||||||
|
&:hover,
|
||||||
|
&:focus {
|
||||||
|
background-color: darken($green, 15%);
|
||||||
|
color: $white;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
&:hover,
|
&:hover,
|
||||||
&:focus {
|
&:focus {
|
||||||
background-color: darken($action-color, 15%);
|
background-color: darken($action-color, 15%);
|
||||||
|
|
|
@ -58,7 +58,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.modal-close {
|
.modal-close {
|
||||||
@include position(absolute, ($modal-padding /2) ($modal-padding /2) null null);
|
@include position(absolute, ($modal-padding /4) ($modal-padding /4) null null);
|
||||||
@include size(1.5em);
|
@include size(1.5em);
|
||||||
background: $modal-background;
|
background: $modal-background;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
@ -86,7 +86,6 @@
|
||||||
|
|
||||||
.modal-inner {
|
.modal-inner {
|
||||||
@include transition(opacity 0.25s ease);
|
@include transition(opacity 0.25s ease);
|
||||||
background: $modal-background;
|
|
||||||
border-radius: $base-border-radius;
|
border-radius: $base-border-radius;
|
||||||
padding: $modal-padding / 2;
|
padding: $modal-padding / 2;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
|
@ -47,7 +47,7 @@ body {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#dialogs, #modal-dialogs .modal-inner {
|
#dialogs, .modal-inner {
|
||||||
@include row();
|
@include row();
|
||||||
dialog {
|
dialog {
|
||||||
@include span-columns(4);
|
@include span-columns(4);
|
||||||
|
|
Loading…
Reference in a new issue