Files
ArchiSteamFarm/ArchiSteamFarm/www/pages/log.html
SKANKHUNTER 4b57a36749 IPC GUI Update Nr.8 (#771)
* Move fav-icons to img folder

* Renaming vars

* Remove unimplemented code

* Misc

* Add utils.js

* Improve i18n

* Misc

* Add i18n to index.html

* Improve i18n

* Add i18n support for all strings

* Add translation for placeholder and title

* Misc

* [Global] Links in Footer should open in new tab
[Bots] Open steam profile on click on avatar

* Misc
2018-05-25 22:21:53 +02:00

260 lines
13 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<title data-i18n="log-title">ASF | Log</title>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
<script defer src="https://use.fontawesome.com/releases/v5.0.6/js/all.js"></script> <!--Change to cdnjs once available-->
<link rel="icon" href="../img/favicon.png" type="image/png">
<link rel="shortcut icon" href="../img/favicon.ico" type="img/x-icon">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-sweetalert/1.0.1/sweetalert.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/admin-lte/2.4.2/css/AdminLTE.min.css">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700,300italic,400italic,600italic">
<link rel="stylesheet" href="../css/_all-skins.min.css">
<link rel="stylesheet" href="../css/app.css">
<link rel="stylesheet" href="../css/_nightmode.min.css">
</head>
<body class="hold-transition skin-blue sidebar-mini fixed">
<div class="wrapper">
<!-- Header -->
<header class="main-header">
<!-- Logo -->
<a href="javascript:void(0)" class="logo">
<span class="logo-mini"><b>A</b>SF</span>
<span class="logo-lg"><b>Archi</b>SteamFarm</span>
</a>
<nav class="navbar navbar-static-top" role="navigation">
<!-- Left Sidebar Toggle Button-->
<a href="javascript:void(0)" class="sidebar-toggle" id="leftSidebar" data-toggle="push-menu" role="button">
<i class="fas fa-bars"></i>
<span class="sr-only" data-i18n="global-navigation">Toggle navigation</span>
</a>
<div class="navbar-custom-menu">
<ul class="nav navbar-nav">
<!-- Right Sidebar Toggle Button -->
<li><a href="javascript:void(0)" data-toggle="control-sidebar"><i class="fas fa-cogs"></i></a></li>
</ul>
</div>
</nav>
</header>
<!-- Left Sidebar -->
<aside class="main-sidebar">
<section class="sidebar">
<ul class="sidebar-menu" data-widget="tree">
<li class="header" data-i18n="global-home">Home</li>
<li><a href="commands.html"><i class="fas fa-laptop fa-fw"></i> <span data-i18n="global-commands">Commands</span></a></li>
<li>
<a href="bots.html">
<i class="fas fa-users fa-fw"></i> <span data-i18n="global-bots">Bots</span>
<span class="pull-right-container bot-status">
<small class="label pull-right bg-gray" id="offlineBots">0</small>
<small class="label pull-right bg-yellow" id="onlineBots">0</small>
<small class="label pull-right bg-olive" id="farmingBots">0</small>
</span>
</a>
</li>
<li class="active"><a href="log.html"><i class="far fa-file-alt fa-fw"></i> <span data-i18n="global-log">Log</span></a></li>
<li class="header" data-i18n="global-config">Config</li>
<li><a href="editor.html"><i class="far fa-edit fa-fw"></i> <span data-i18n="global-editor">Editor</span></a></li>
<li><a href="generator.html"><i class="far fa-copy fa-fw"></i> <span data-i18n="global-generator">Generator</span></a></li>
<li class="header" data-i18n="global-information">Information</li>
<li class="info-overview">
<a>
<i class="fas fa-tachometer-alt fa-fw"></i> <span data-i18n="global-ram-usage">RAM Usage</span>
<span class="pull-right-container">
<small class="label pull-right bg-blue" id="ramUsage">0.00 MB</small>
</span>
</a>
</li>
<li class="info-overview">
<a>
<i class="far fa-clock fa-fw"></i> <span data-i18n="global-uptime">Uptime</span>
<span class="pull-right-container">
<small class="label pull-right bg-blue" id="uptime">0d 0h 0m</small>
</span>
</a>
</li>
</ul>
</section>
</aside>
<!-- Content -->
<div class="content-wrapper">
<section class="content-header">
<h1>
<span data-i18n="global-log">Log</span>
<small data-i18n="global-control-panel">Control Panel</small>
</h1>
<ol class="breadcrumb">
<li><i class="fas fa-home"></i> <span data-i18n="global-home">Home</span></li>
<li class="active"><i class="far fa-file-alt"></i> <span data-i18n="global-log">Log</span></li>
</ol>
</section>
<!-- Content Body -->
<section class="content container-fluid">
<div class="box">
<div class="box-header with-border">
<i class="far fa-file-alt"></i>
<h3 class="box-title" data-i18n="global-log">Log</h3>
<div class="box-tools pull-right">
<button data-i18n="title-log-auto-scroll" title="Toggle auto scroll" type="button" class="btn btn-box-tool text-olive" id="toggleAutoScroll"><i class="fas fa-toggle-on fa-2x"></i></button>
</div>
</div>
<div class="box-body">
<div class="box-content-log">
<div class="overlay"><i class="fas fa-sync fa-spin" style="color:white"></i></div>
</div>
</div>
</div>
</section>
</div>
<!-- Footer -->
<footer class="main-footer">
<div class="pull-right"><strong data-i18n="global-version">Version</strong> <span id="version">0.0.0.0</span></div>
<strong>
<a target="_blank" href="https://github.com/JustArchi/ArchiSteamFarm">GitHub</a> -
<a target="_blank" href="https://github.com/JustArchi/ArchiSteamFarm/wiki"><span data-i18n="global-wiki">Wiki</span></a> -
<a target="_blank" href="https://github.com/JustArchi/ArchiSteamFarm/commits/master" id="changelog"><span data-i18n="global-changelog">Changelog</span></a>
</strong>
</footer>
<!-- Right Sidebar -->
<aside class="control-sidebar control-sidebar-dark">
<div class="tab-content">
<div class="tab-pane" id="control-right-sidebar"></div>
</div>
</aside>
<div class="control-sidebar-bg"></div>
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/interact.js/1.2.9/interact.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-sweetalert/1.0.1/sweetalert.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/admin-lte/2.4.2/js/adminlte.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.i18n/1.0.4/jquery.i18n.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.i18n/1.0.4/jquery.i18n.messagestore.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.i18n/1.0.4/jquery.i18n.fallbacks.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.i18n/1.0.4/jquery.i18n.language.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.i18n/1.0.4/jquery.i18n.parser.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.i18n/1.0.4/jquery.i18n.emitter.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.i18n/1.0.4/jquery.i18n.emitter.bidi.min.js"></script>
<script src="../js/utils.js"></script>
<script src="../js/i18n.js"></script>
<script src="../js/app.js"></script>
<script>
$(function () {
'use strict';
store('CurrentPage', 'pages/log.html');
var lastScrollPosition = 0,
ws;
startWebSocket();
function startWebSocket() {
if (!'WebSocket' in window) window.alert('Please use a modern browser to properly view ASF GUI!')
var loc = window.location,
new_uri = (loc.protocol === 'https:') ? 'wss:' : 'ws:';
new_uri += '//' + loc.host + '/Api/Log?password=' + encodeURIComponent(tmpIPCPassword);
ws = new WebSocket(new_uri);
ws.onopen = function (event) {
$('.overlay').remove();
$('.box-content-log').text(''); // Clear log
};
ws.onmessage = function (event) {
var msg = JSON.parse(event.data)['Result'] + '\n';
$('.box-content-log').append(msg);
$('.box-content-log').stop().animate({ scrollTop: $('.box-content-log')[0].scrollHeight }, 1000);
};
ws.onclose = function (event) {
if (event.code !== 1000) { // Code 1000 means that the connection was closed normally
swal({
title: $.i18n('global-error-title'),
text: $.i18n('log-event-code', event.code),
type: 'error'
}, function () { swal.close(); });
}
}
window.onbeforeunload = function () { ws.close() };
}
$('#toggleAutoScroll').click(function () {
if (ws.readyState === ws.CLOSED) {
startWebSocket();
$('#toggleAutoScroll').removeClass('text-grey');
$('#toggleAutoScroll').addClass('text-olive');
$('#toggleAutoScroll').html('<i class="fas fa-toggle-on fa-2x"></i>');
$('#toggleAutoScroll').blur();
} else if (ws.readyState === ws.OPEN) {
ws.close();
$('#toggleAutoScroll').removeClass('text-olive');
$('#toggleAutoScroll').addClass('text-grey');
$('#toggleAutoScroll').html('<i class="fas fa-toggle-on fa-2x fa-rotate-180"></i>');
$('#toggleAutoScroll').blur();
}
});
$('.box-content-log').on('scroll', function () {
var newScrollPosition = $(this).scrollTop();
if (newScrollPosition < lastScrollPosition) {
if (ws.readyState === ws.OPEN) {
ws.close();
$('#toggleAutoScroll').removeClass('text-olive');
$('#toggleAutoScroll').addClass('text-grey');
$('#toggleAutoScroll').html('<i class="fas fa-toggle-on fa-2x fa-rotate-180"></i>');
$('#toggleAutoScroll').blur();
}
}
lastScrollPosition = newScrollPosition;
});
$('.box-content-log').ready(function () {
var tmpLogHeight = get('logHeight');
if (tmpLogHeight) {
$('.box-content-log').css('height', tmpLogHeight + 'px');
} else {
$('.box-content-log').css('height', 400 + 'px');
}
});
interact('.box-content-log')
.resizable({
edges: { left: false, right: false, bottom: true, top: false },
restrictEdges: {
outer: 'parent',
endOnly: true,
},
inertia: true,
})
.on('resizemove', function (event) {
var target = event.target;
target.style.height = event.rect.height + 'px';
})
.on('resizeend', function (event) {
var currentHeight = parseInt(event.target.style.height, 10);
store('logHeight', currentHeight);
});
})
</script>
</body>
</html>