mirror of
https://github.com/JustArchiNET/ArchiSteamFarm.git
synced 2026-01-09 13:14:26 +00:00
* 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
260 lines
13 KiB
HTML
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>
|