summaryrefslogtreecommitdiff
path: root/src/SMAPI.Web/Views/LogParser/Index.cshtml
blob: 49688d787fbd00003f65a4e88a75f877e4166de5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
@{
    ViewData["Title"] = "SMAPI log parser";
}
@model StardewModdingAPI.Web.ViewModels.LogParserModel
@section Head {
    <link rel="stylesheet" href="~/Content/css/log-parser.css" />
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js" crossorigin="anonymous"></script>
    <script src="~/Content/js/log-parser.js"></script>
    <style type="text/css" id="modflags"></style>
    <script>
        $(function() {
            smapi.logParser('@Model.SectionUrl', '@Model.PasteID');
        });
    </script>
}

@*********
** Intro
*********@
<p id="blurb">This page lets you upload, view, and share a SMAPI log to help troubleshoot mod issues.</p>
<input type="button" id="upload-button" value="Share a new log" />

@if (Model.PasteID != null)
{
    <h2>Parsed log</h2>
    <ul id="tabs">
        <li>TRACE</li>
        <li>DEBUG</li>
        <li class="active">INFO</li>
        <li class="active">ALERT</li>
        <li class="active">WARN</li>
        <li class="active">ERROR</li>
        <li class="notice">Click tabs to toggle message visibility</li>
    </ul>
}
<div id="output" class="trace debug"></div>
<script class="template" id="template-body" type="text/html">
    <div class="always">
        <table id="gameinfo">
            <caption>Game info:</caption>
            <tr>
                <td>SMAPI Version</td>
                <td>{0}</td>
            </tr>
            <tr>
                <td>Game Version</td>
                <td>{1}</td>
            </tr>
            <tr>
                <td>Platform</td>
                <td>{2}</td>
            </tr>
            <tr>
                <td>Mods path</td>
                <td>{4}</td>
            </tr>
            <tr>
                <td>Log started</td>
                <td>{3}</td>
            </tr>
        </table>
        <br />
        <table id="modslist">
            <caption>Installed Mods: <span id="modlink-r" class="notice btn">Remove all mod filters</span><span class="notice txt"><i>Click any mod to filter</i></span> <span id="modlink-a" class="notice btn txt">Select all</span></caption>
        </table>
    </div>
    <table id="log"></table>
</script>
<script class="template" id="template-css" type="text/html">
    #output.modfilter:not(.mod-{0}) .mod-{0} { display:none; } #output.modfilter.mod-{0} #modslist tr { background:#ffeeee; } #output.modfilter.mod-{0} #modslist tr#modlink-{0} { background:#eeffee; }
</script>
<script class="template" id="template-modentry" type="text/html">
    <tr id="modlink-{0}">
        <td>{1}</td>
        <td>{2}</td>
        <td>{3}</td>
        <td class={4}>{5}</td>
    </tr>
</script>
<script class="template" id="template-logentry" type="text/html">
    <tr class="{0} mod mod-{1}">
        <td>{2}</td>
        <td>{3}</td>
        <td data-title="{4}">{4}</td>
        <td>{5}</td>
    </tr>
</script>
<script class="template" id="template-lognotice" type="text/html">
    <tr class="{0} mod-repeat mod mod-{1}">
        <td colspan="3"></td>
        <td><i>repeats [{2}] times.</i></td>
    </tr>
</script>
<div id="popup-upload" class="popup">
    <h1>Upload log file</h1>
    <div class="frame">
        <ol>
            <li><a href="https://stardewvalleywiki.com/Modding:Player_FAQs#SMAPI_log" target="_blank">Find your SMAPI log</a>.</li>
            <li>Drag the file onto the textbox below (or paste the text in).</li>
            <li>Click <em>Parse</em>.</li>
            <li>Share the URL of the new page.</li>
        </ol>
        <textarea id="input" placeholder="Paste or drag the log here"></textarea>
        <div class="buttons">
            <input type="button" id="submit" value="Parse"/>
            <input type="button" id="cancel" value="Cancel"/>
        </div>
    </div>
</div>
<div id="popup-raw" class="popup">
    <h1>Raw log file</h1>
    <div class="frame">
        <textarea id="dataraw"></textarea>
        <div class="buttons">
            <input type="button" id="closeraw" value="Close" />
        </div>
    </div>
</div>
<div id="uploader"></div>