Icons added
@@ -10,9 +10,12 @@ body {margin: 0; overflow: auto;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
.lock {position: fixed; display: inline-block; width: 12px; height: 16px; background: url('../images/file-manager-icons.png') 0 0 no-repeat; right: 0; margin-right: 16px; top: 0; cursor: pointer}
|
||||
.refresh {position: fixed; display: inline-block; width: 14px; height: 14px; background: url('../images/file-manager-icons.png') -32px 0 no-repeat; right: 0; margin-right: 15px; top: 25px; cursor: pointer}
|
||||
.plugins {position: fixed; display: inline-block; width: 16px; height: 16px; background: url('../images/file-manager-icons.png') -64px 0 no-repeat; right: 0; margin-right: 15px; top: 47px; cursor: pointer}
|
||||
.lock {position: fixed; display: inline-block; width: 12px; height: 16px; right: 0; margin-right: 16px; top: 0; color: #666; cursor: pointer}
|
||||
.lock .icon-tabler {width: 22px; height: 22px; margin-left: -5px; margin-top: 0; stroke-width: 1.25; pointer-events: none}
|
||||
.refresh {position: fixed; display: inline-block; width: 14px; height: 14px; right: 0; margin-right: 15px; top: 34px; color: #666; cursor: pointer}
|
||||
.refresh .icon-tabler {width: 20px; height: 20px; margin-left: -3px; margin-top: -3px; stroke-width: 1.25; transform: rotate(180deg); pointer-events: none}
|
||||
.plugins {position: fixed; display: inline-block; width: 16px; height: 16px; right: 0; margin-right: 15px; top: 61px; color: #666; cursor: pointer}
|
||||
.plugins .icon-tabler {width: 24px; height: 24px; margin-left: -3px; margin-top: -3px; stroke-width: 1.25; pointer-events: none}
|
||||
.fmDragBox {position: absolute; display: inline-block; width: 0; height: 0; top: 0; left: 0; background: rgba(0,198,255,0.3);
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
|
||||
@@ -118,8 +118,10 @@ h2 {font-size: 18px; font-weight: normal; color: #fff}
|
||||
.findBar .goLine {position: fixed; display: inline-block; width: 120px; right: 65px; top: 49px; height: 21px; font-size: 10px; color: #eee; cursor: default; z-index: 1}
|
||||
.goLine .goToLine {width: 50px; height: 28px; border: 0; font-size: 12px; margin: -7px 0 0 3px; padding-left: 4px; background: #333; color: #eee}
|
||||
.findReplace input:focus, .goLine .goToLine:focus {outline: none; background: rgba(0,198,255,0.5); color: #fff}
|
||||
.findBar .view {position: fixed; display: inline-block; width: 16px; height: 16px; right: 40px; top: 49px; background: url('../images/file-manager-icons.png') 0 0 no-repeat; cursor: pointer; background-position: -48px 0; opacity: 0.3}
|
||||
.findBar .bug {position: fixed; display: inline-block; width: 16px; height: 16px; right: 15px; top: 48px; background: url('../images/bug-reporting-icons.png') 0 0 no-repeat; cursor: pointer; background-position: 0 0}
|
||||
.findBar .view {position: fixed; display: inline-block; width: 16px; height: 16px; right: 40px; top: 49px; color: #888; cursor: pointer; opacity: 0.3}
|
||||
.findBar .view .icon-tabler {width: 22px; height: 22px; margin-left: -3px; margin-top: -3px; stroke-width: 1.25; pointer-events: none}
|
||||
.findBar .bug {position: fixed; display: inline-block; width: 16px; height: 16px; right: 15px; top: 49px; color: #404040; cursor: pointer}
|
||||
.findBar .bug .icon-tabler {width: 23px; height: 23px; margin-left: -3px; margin-top: -4px; stroke-width: 1.25; pointer-events: none}
|
||||
.editor .terminal {position: fixed; top: 10000px; transition: top 0.2s ease; z-index: 2}
|
||||
.editor .output {position: fixed; top: 10000px; padding: 15px 18px 8px 13px; transition: top 0.2s ease; background: rgba(0,0,0,0.92); z-index: 2}
|
||||
.editor .database {position: fixed; top: 10000px; transition: top 0.2s ease; z-index: 2}
|
||||
@@ -136,8 +138,10 @@ h2 {font-size: 18px; font-weight: normal; color: #fff}
|
||||
.footer .versionsDisplay {position: absolute; display: inline-block; padding: 5px; margin-top: 3px; left: 275px; color: #fff; transition: opacity 0.2s; z-index: 2; cursor: pointer}
|
||||
.footer .serverMessage {position: absolute; display: inline-block; padding: 5px; margin-top: 3px; left: 275px; color: #fff; transition: opacity 0.2s; z-index: 1}
|
||||
.footer .splitPaneControls {position: absolute; display: inline-block; width: 50px; text-align: center; padding: 6px}
|
||||
.footer .splitPaneControls .off {display: inline-block; width: 18px; height: 18px; margin-right: 10px; background: url('../images/split-pane-controls.gif') no-repeat 0 0; cursor: pointer}
|
||||
.footer .splitPaneControls .on {display: inline-block; width: 19px; height: 18px; background: url('../images/split-pane-controls.gif') no-repeat -18px 0; cursor: pointer}
|
||||
.footer .splitPaneControls .off {display: inline-block; width: 18px; height: 18px; margin-right: 10px; color: #888; cursor: pointer}
|
||||
.footer .splitPaneControls .off .icon-tabler {margin-left: -3px; margin-top: -3px; stroke-width: 1.25; pointer-events: none}
|
||||
.footer .splitPaneControls .on {display: inline-block; width: 19px; height: 18px; color: #888; cursor: pointer}
|
||||
.footer .splitPaneControls .on .icon-tabler {margin-left: -3px; margin-top: -3px; stroke-width: 1.25; pointer-events: none}
|
||||
.footer .splitPaneNames {position: absolute; display: inline-block; width: 100px; text-align: center; margin-top: 9px; color: #555; opacity: 0; transition: opacity 0.3s ease-in-out}
|
||||
.footer .charDisplay, .footer .byteDisplay {position: absolute; display: inline-block; padding: 5px 0 0 8px; margin-top: 3px; margin-right: 10px; right: 0; font-size: 12px; color: #fff; text-align: right; text-align: right; cursor: pointer}
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 164 B |
@@ -1,4 +1,4 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-alert-triangle" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-alert-triangle" width="44" height="44" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
||||
<path stroke="none" d="M0 0h24v24H0z"/>
|
||||
<path d="M12 9v2m0 4v.01" />
|
||||
<path d="M5.07 19H19a2 2 0 0 0 1.75 -2.75L13.75 4a2 2 0 0 0 -3.5 0L3.25 16.25a2 2 0 0 0 1.75 2.75" />
|
||||
|
||||
|
Before Width: | Height: | Size: 424 B After Width: | Height: | Size: 426 B |
6
assets/images/icons/browser.svg
Normal file
@@ -0,0 +1,6 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-browser" width="44" height="44" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
||||
<path stroke="none" d="M0 0h24v24H0z"/>
|
||||
<rect x="4" y="4" width="16" height="16" rx="1" />
|
||||
<line x1="4" y1="8" x2="20" y2="8" />
|
||||
<line x1="8" y1="4" x2="8" y2="8" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 418 B |
12
assets/images/icons/bug.svg
Normal file
@@ -0,0 +1,12 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-bug" width="44" height="44" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
||||
<path stroke="none" d="M0 0h24v24H0z"/>
|
||||
<path d="M9 9v-1a3 3 0 0 1 6 0v1" />
|
||||
<path d="M8 9h8a6 6 0 0 1 1 3v3a5 5 0 0 1 -10 0v-3a6 6 0 0 1 1 -3" />
|
||||
<line x1="3" y1="13" x2="7" y2="13" />
|
||||
<line x1="17" y1="13" x2="21" y2="13" />
|
||||
<line x1="12" y1="20" x2="12" y2="14" />
|
||||
<line x1="4" y1="19" x2="7.35" y2="17" />
|
||||
<line x1="20" y1="19" x2="16.65" y2="17" />
|
||||
<line x1="4" y1="7" x2="7.75" y2="9.4" />
|
||||
<line x1="20" y1="7" x2="16.25" y2="9.4" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 712 B |
5
assets/images/icons/layout-columns.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-layout-columns" width="44" height="44" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
||||
<path stroke="none" d="M0 0h24v24H0z"/>
|
||||
<rect x="4" y="4" width="16" height="16" rx="2" />
|
||||
<line x1="12" y1="4" x2="12" y2="20" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 386 B |
6
assets/images/icons/lock-open.svg
Normal file
@@ -0,0 +1,6 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-lock-open" width="44" height="44" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
||||
<path stroke="none" d="M0 0h24v24H0z"/>
|
||||
<rect x="5" y="11" width="14" height="10" rx="2" />
|
||||
<circle cx="12" cy="16" r="1" />
|
||||
<path d="M8 11v-5a4 4 0 0 1 8 0" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 415 B |
6
assets/images/icons/lock.svg
Normal file
@@ -0,0 +1,6 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-lock" width="44" height="44" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
||||
<path stroke="none" d="M0 0h24v24H0z"/>
|
||||
<rect x="5" y="11" width="14" height="10" rx="2" />
|
||||
<circle cx="12" cy="16" r="1" />
|
||||
<path d="M8 11v-4a4 4 0 0 1 8 0v4" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 412 B |
7
assets/images/icons/plug.svg
Normal file
@@ -0,0 +1,7 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-plug" width="44" height="44" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
||||
<path stroke="none" d="M0 0h24v24H0z"/>
|
||||
<path d="M7 7h10v6a3 3 0 0 1 -3 3h-4a3 3 0 0 1 -3 -3v-6" />
|
||||
<line x1="9" y1="3" x2="9" y2="7" />
|
||||
<line x1="15" y1="3" x2="15" y2="7" />
|
||||
<path d="M12 16v2a2 2 0 0 0 2 2h3" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 467 B |
5
assets/images/icons/plus.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-plus" width="44" height="44" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
||||
<path stroke="none" d="M0 0h24v24H0z"/>
|
||||
<line x1="12" y1="5" x2="12" y2="19" />
|
||||
<line x1="5" y1="12" x2="19" y2="12" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 365 B |
4
assets/images/icons/rotate-clockwise.svg
Normal file
@@ -0,0 +1,4 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-rotate-clockwise" width="44" height="44" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
||||
<path stroke="none" d="M0 0h24v24H0z"/>
|
||||
<path d="M4.05 11a8 8 0 1 1 .5 4m-.5 5v-5h5" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 341 B |
4
assets/images/icons/square.svg
Normal file
@@ -0,0 +1,4 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-square" width="44" height="44" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
||||
<path stroke="none" d="M0 0h24v24H0z"/>
|
||||
<rect x="4" y="4" width="16" height="16" rx="2" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 334 B |
|
Before Width: | Height: | Size: 136 B |
@@ -255,8 +255,8 @@ var ICEcoder = {
|
||||
let cM, cMdiff;
|
||||
|
||||
this.splitPane = "on" === onOff ? true : false;
|
||||
get('splitPaneControlsOff').style.opacity = this.splitPane ? 0.2 : 0.5;
|
||||
get('splitPaneControlsOn').style.opacity = this.splitPane ? 0.5 : 0.2;
|
||||
get('splitPaneControlsOff').style.opacity = this.splitPane ? 0.2 : 0.8;
|
||||
get('splitPaneControlsOn').style.opacity = this.splitPane ? 0.8 : 0.2;
|
||||
get('splitPaneNamesMain').style.opacity = get('splitPaneNamesDiff').style.opacity = this.splitPane ? 1 : 0;
|
||||
this.setLayout();
|
||||
|
||||
@@ -385,11 +385,12 @@ var ICEcoder = {
|
||||
|
||||
// Lock & unlock the file manager navigation on demand
|
||||
lockUnlockNav: function() {
|
||||
let lockIcon;
|
||||
|
||||
lockIcon = this.filesFrame.contentWindow.document.getElementById('fmLock');
|
||||
let lockIconOpen, lockIconClosed;
|
||||
lockIconOpen = this.filesFrame.contentWindow.document.getElementById('fmLockOpen');
|
||||
lockIconClosed = this.filesFrame.contentWindow.document.getElementById('fmLockClosed');
|
||||
this.lockedNav = false === this.lockedNav;
|
||||
lockIcon.style.backgroundPosition = this.lockedNav ? "0 0" : "-16px 0";
|
||||
lockIconOpen.style.display = this.lockedNav ? "none" : "inline-block";
|
||||
lockIconClosed.style.display = this.lockedNav ? "inline-block" : "none";
|
||||
},
|
||||
|
||||
// Show/hide the plugins on demand
|
||||
@@ -3950,11 +3951,11 @@ var ICEcoder = {
|
||||
var statusArray = JSON.parse(xhr.responseText);
|
||||
// console.log(statusArray);
|
||||
|
||||
get('bugIcon').style.backgroundPosition =
|
||||
statusArray['result'] == "off" ? "0 0" :
|
||||
statusArray['result'] == "ok" ? "-32px 0" :
|
||||
statusArray['result'] == "bugs" ? "-48px 0" :
|
||||
"-16px 0"; // if the result is 'error' or another value
|
||||
get('bugIcon').style.color =
|
||||
statusArray['result'] == "off" ? "" :
|
||||
statusArray['result'] == "ok" ? "#080" :
|
||||
statusArray['result'] == "bugs" ? "#b00" :
|
||||
"#f80"; // if the result is 'error' or another value
|
||||
ic.bugReportStatus = statusArray['result'];
|
||||
if (ic.bugFilesSizesSeen[0]=="null") {
|
||||
ic.bugFilesSizesSeen = statusArray['filesSizesSeen'];
|
||||
|
||||
@@ -21,9 +21,9 @@ $t = $text['files'];
|
||||
|
||||
<body onfocus="parent.ICEcoder.files.style.background = '#444'" onblur="parent.ICEcoder.files.style.background = '#383838'" ondblclick="if('file' === parent.ICEcoder.thisFileFolderType) {parent.ICEcoder.openFile()}" onkeydown="return parent.ICEcoder.interceptKeys('files', event);" onkeyup="parent.ICEcoder.resetKeys(event);" onblur="parent.ICEcoder.resetKeys(event);">
|
||||
|
||||
<div title="<?php echo $t['Lock'];?>" onClick="parent.ICEcoder.lockUnlockNav()" id="fmLock" class="lock"></div>
|
||||
<div title="<?php echo $t['Refresh'];?>" onClick="parent.ICEcoder.refreshFileManager()" class="refresh"></div>
|
||||
<div title="<?php echo $t['Plugins'];?>" onClick="parent.ICEcoder.showHidePlugins('55px' !== parent.document.getElementById('plugins').style.width ? 'show' : 'hide')" class="plugins"></div>
|
||||
<div title="<?php echo $t['Lock'];?>" onClick="parent.ICEcoder.lockUnlockNav()" class="lock"><div id="fmLockClosed" style="display: <?php echo true === $ICEcoder["lockedNav"] ? "inline-block" : "none";?>"><?php echo file_get_contents(dirname(__FILE__) . "/assets/images/icons/lock.svg");?></div><div id="fmLockOpen" style="display: <?php echo true === $ICEcoder["lockedNav"] ? "none" : "inline-block";?>"><?php echo file_get_contents(dirname(__FILE__) . "/assets/images/icons/lock-open.svg");?></div></div>
|
||||
<div title="<?php echo $t['Refresh'];?>" onClick="parent.ICEcoder.refreshFileManager()" class="refresh"><?php echo file_get_contents(dirname(__FILE__) . "/assets/images/icons/rotate-clockwise.svg");?></div>
|
||||
<div title="<?php echo $t['Plugins'];?>" onClick="parent.ICEcoder.showHidePlugins('55px' !== parent.document.getElementById('plugins').style.width ? 'show' : 'hide')" class="plugins"><?php echo file_get_contents(dirname(__FILE__) . "/assets/images/icons/plug.svg");?></div>
|
||||
|
||||
<ul class="fileManager">
|
||||
<li class="pft-directory dirOpen"><a nohref title="/" ondragover="parent.ICEcoder.overFileFolder('folder', '|'); parent.ICEcoder.highlightFileFolder('|', true);" ondragleave="parent.ICEcoder.overFileFolder('folder', ''); parent.ICEcoder.highlightFileFolder('|', false);" onmouseover="parent.ICEcoder.overFileFolder('folder', '|')" onmouseout="parent.ICEcoder.overFileFolder('folder', '')" onclick="parent.ICEcoder.openCloseDir(this)" style="position: relative; left:-22px"> <span id="|">/ <?php
|
||||
|
||||
@@ -180,7 +180,7 @@ if (true === $havePrettier && true === file_exists(dirname(__FILE__) . "/plugins
|
||||
<a nohref onclick="ICEcoder.showColorPicker(document.getElementById('color') ? document.getElementById('color').value : '#123456')" title="Farbtastic
|
||||
<?php echo $t['Color picker'];?>"><img src="<?php echo $iceURLPath;?>/assets/images/color-picker.png" style="cursor: pointer" alt="Color Picker"></a><br><br>
|
||||
<div id="pluginsOptional"><?php echo $pluginsDisplay; ?></div>
|
||||
<a nohref onclick="ICEcoder.pluginsManager()" title="<?php echo $t['Plugins Manager'];?>" style="color: #fff; cursor: pointer">+ / -</a>
|
||||
<a nohref onclick="ICEcoder.pluginsManager()" title="<?php echo $t['Plugins Manager'];?>" style="color: #ddd; margin-left: 2px; cursor: pointer"><?php echo file_get_contents(dirname(__FILE__) . "/assets/images/icons/plus.svg");?></a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -356,8 +356,8 @@ if (true === $havePrettier && true === file_exists(dirname(__FILE__) . "/plugins
|
||||
</form>
|
||||
<form onSubmit="return ICEcoder.goToLine(get('goToLineNo').value, 0, false)">
|
||||
<div class="goLine"><?php echo $t['Go to Line'];?> <input type="text" name="goToLine" value="" maxlength="5" id="goToLineNo" onkeyup="ICEcoder.goToLine(this.value, 0, true)" class="textbox goToLine">
|
||||
<div class="view" title="<?php echo $t['View'];?>" onClick="ICEcoder.openPreviewWindow()" id="fMView"></div>
|
||||
<div class="bug" title="<?php echo $t['Bug reporting not active'];?>" onClick="ICEcoder.openBugReport()" id="bugIcon"></div>
|
||||
<div class="view" title="<?php echo $t['View'];?>" onClick="ICEcoder.openPreviewWindow()" id="fMView"><?php echo file_get_contents(dirname(__FILE__) . "/assets/images/icons/browser.svg");?></div>
|
||||
<div class="bug" title="<?php echo $t['Bug reporting not active'];?>" onClick="ICEcoder.openBugReport()" id="bugIcon"><?php echo file_get_contents(dirname(__FILE__) . "/assets/images/icons/bug.svg");?></div>
|
||||
<input type="hidden" name="csrf" value="<?php echo $_SESSION["csrf"]; ?>">
|
||||
</form>
|
||||
</div>
|
||||
@@ -376,7 +376,7 @@ if (true === $havePrettier && true === file_exists(dirname(__FILE__) . "/plugins
|
||||
<div class="footer" id="footer" oncontextmenu="return false">
|
||||
<div class="versionsDisplay" id="versionsDisplay" onclick="ICEcoder.versionsScreen(ICEcoder.openFiles[ICEcoder.selectedTab - 1].replace(/\//g, '|'))"></div>
|
||||
<div class="serverMessage" id="serverMessage"></div>
|
||||
<div class="splitPaneControls" id="splitPaneControls"><div class="off" id="splitPaneControlsOff" title="<?php echo $t['Single pane'];?>" onclick="ICEcoder.setSplitPane('off')" style="opacity: 0.5"></div><div class="on" id="splitPaneControlsOn" title="<?php echo $t['Diff pane also'];?>" onclick="ICEcoder.setSplitPane('on')" style="opacity: 0.2"></div></div>
|
||||
<div class="splitPaneControls" id="splitPaneControls"><div class="off" id="splitPaneControlsOff" title="<?php echo $t['Single pane'];?>" onclick="ICEcoder.setSplitPane('off')" style="opacity: 0.8"><?php echo file_get_contents(dirname(__FILE__) . "/assets/images/icons/square.svg");?></div><div class="on" id="splitPaneControlsOn" title="<?php echo $t['Diff pane also'];?>" onclick="ICEcoder.setSplitPane('on')" style="opacity: 0.2"><?php echo file_get_contents(dirname(__FILE__) . "/assets/images/icons/layout-columns.svg");?></div></div>
|
||||
<div class="splitPaneNames" id="splitPaneNamesMain">Main Pane</div>
|
||||
<div class="splitPaneNames" id="splitPaneNamesDiff">Diff Pane</div>
|
||||
<div class="byteDisplay" id="byteDisplay" style="display: none" onClick="ICEcoder.showDisplay('char')"></div>
|
||||
|
||||