mirror of
https://github.com/ksyasuda/SubMiner.git
synced 2026-02-28 06:22:45 -08:00
266 lines
9.8 KiB
HTML
266 lines
9.8 KiB
HTML
<!--
|
|
SubMiner - All-in-one sentence mining overlay
|
|
Copyright (C) 2024 sudacode
|
|
|
|
This program is free software: you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation, either version 3 of the License, or
|
|
(at your option) any later version.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
-->
|
|
<!doctype html>
|
|
<html lang="ja">
|
|
<head>
|
|
<meta charset="UTF-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
<meta
|
|
http-equiv="Content-Security-Policy"
|
|
content="default-src 'self' 'unsafe-inline' chrome-extension:; script-src 'self' 'unsafe-inline' chrome-extension:; style-src 'self' 'unsafe-inline' chrome-extension:; worker-src 'self' blob:;"
|
|
/>
|
|
<title>SubMiner</title>
|
|
<link rel="stylesheet" href="style.css" />
|
|
</head>
|
|
<body>
|
|
<div id="overlay">
|
|
<div id="secondarySubContainer" class="secondary-sub-hidden">
|
|
<div id="secondarySubRoot"></div>
|
|
</div>
|
|
<div id="subtitleContainer">
|
|
<div id="subtitleRoot"></div>
|
|
</div>
|
|
<div id="jimakuModal" class="modal hidden" aria-hidden="true">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<div class="modal-title">Jimaku Subtitles</div>
|
|
<button id="jimakuClose" class="modal-close" type="button">
|
|
Close
|
|
</button>
|
|
</div>
|
|
<div class="modal-body">
|
|
<div class="jimaku-form">
|
|
<label class="jimaku-field">
|
|
<span>Title</span>
|
|
<input id="jimakuTitle" type="text" placeholder="Anime title" />
|
|
</label>
|
|
<label class="jimaku-field">
|
|
<span>Season</span>
|
|
<input
|
|
id="jimakuSeason"
|
|
type="number"
|
|
min="1"
|
|
placeholder="1"
|
|
/>
|
|
</label>
|
|
<label class="jimaku-field">
|
|
<span>Episode</span>
|
|
<input
|
|
id="jimakuEpisode"
|
|
type="number"
|
|
min="1"
|
|
placeholder="1"
|
|
/>
|
|
</label>
|
|
<button id="jimakuSearch" class="jimaku-button" type="button">
|
|
Search
|
|
</button>
|
|
</div>
|
|
<div id="jimakuStatus" class="jimaku-status"></div>
|
|
<div id="jimakuEntriesSection" class="jimaku-section hidden">
|
|
<div class="jimaku-section-title">Entries</div>
|
|
<ul id="jimakuEntries" class="jimaku-list"></ul>
|
|
</div>
|
|
<div id="jimakuFilesSection" class="jimaku-section hidden">
|
|
<div class="jimaku-section-title">Files</div>
|
|
<ul id="jimakuFiles" class="jimaku-list"></ul>
|
|
<button
|
|
id="jimakuBroaden"
|
|
class="jimaku-link hidden"
|
|
type="button"
|
|
>
|
|
Broaden search (all files)
|
|
</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div id="kikuFieldGroupingModal" class="modal hidden" aria-hidden="true">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<div class="modal-title">Duplicate Card Detected</div>
|
|
</div>
|
|
<div class="modal-body">
|
|
<div id="kikuSelectionStep">
|
|
<div class="kiku-info-text">
|
|
A card with the same expression already exists. Select which
|
|
card to keep. The other card's content will be merged using Kiku
|
|
field grouping. You can choose whether to delete the duplicate.
|
|
</div>
|
|
<div class="kiku-cards-container">
|
|
<div id="kikuCard1" class="kiku-card active" tabindex="0">
|
|
<div class="kiku-card-label">1 — Original Card</div>
|
|
<div
|
|
class="kiku-card-expression"
|
|
id="kikuCard1Expression"
|
|
></div>
|
|
<div class="kiku-card-sentence" id="kikuCard1Sentence"></div>
|
|
<div class="kiku-card-meta" id="kikuCard1Meta"></div>
|
|
</div>
|
|
<div id="kikuCard2" class="kiku-card" tabindex="0">
|
|
<div class="kiku-card-label">2 — New Card</div>
|
|
<div
|
|
class="kiku-card-expression"
|
|
id="kikuCard2Expression"
|
|
></div>
|
|
<div class="kiku-card-sentence" id="kikuCard2Sentence"></div>
|
|
<div class="kiku-card-meta" id="kikuCard2Meta"></div>
|
|
</div>
|
|
</div>
|
|
<div class="kiku-footer">
|
|
<label class="kiku-delete-toggle">
|
|
<input id="kikuDeleteDuplicate" type="checkbox" checked />
|
|
Delete duplicate card after merge
|
|
</label>
|
|
<button
|
|
id="kikuConfirmButton"
|
|
class="kiku-confirm-button"
|
|
type="button"
|
|
>
|
|
Continue
|
|
</button>
|
|
<button
|
|
id="kikuCancelButton"
|
|
class="kiku-cancel-button"
|
|
type="button"
|
|
>
|
|
Cancel
|
|
</button>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="kikuPreviewStep" class="hidden">
|
|
<div class="kiku-preview-header">
|
|
<div class="kiku-preview-title">Final Merge Preview</div>
|
|
<div class="kiku-preview-toggle">
|
|
<button id="kikuPreviewCompact" type="button">Compact</button>
|
|
<button id="kikuPreviewFull" type="button">Full</button>
|
|
</div>
|
|
</div>
|
|
<div
|
|
id="kikuPreviewError"
|
|
class="kiku-preview-error hidden"
|
|
></div>
|
|
<pre id="kikuPreviewJson" class="kiku-preview-json"></pre>
|
|
<div class="kiku-footer">
|
|
<button
|
|
id="kikuBackButton"
|
|
class="kiku-cancel-button"
|
|
type="button"
|
|
>
|
|
Back
|
|
</button>
|
|
<button
|
|
id="kikuFinalConfirmButton"
|
|
class="kiku-confirm-button"
|
|
type="button"
|
|
>
|
|
Confirm Merge
|
|
</button>
|
|
<button
|
|
id="kikuFinalCancelButton"
|
|
class="kiku-cancel-button"
|
|
type="button"
|
|
>
|
|
Cancel
|
|
</button>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="kikuHint" class="kiku-hint">
|
|
Press 1 or 2 to select · Enter to confirm · Esc to
|
|
cancel
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div id="runtimeOptionsModal" class="modal hidden" aria-hidden="true">
|
|
<div class="modal-content runtime-modal-content">
|
|
<div class="modal-header">
|
|
<div class="modal-title">Runtime Options</div>
|
|
<button
|
|
id="runtimeOptionsClose"
|
|
class="modal-close"
|
|
type="button"
|
|
>
|
|
Close
|
|
</button>
|
|
</div>
|
|
<div class="modal-body">
|
|
<div id="runtimeOptionsHint" class="runtime-options-hint">
|
|
Arrow keys: select/change · Enter or double-click: apply · Esc:
|
|
close
|
|
</div>
|
|
<ul id="runtimeOptionsList" class="runtime-options-list"></ul>
|
|
<div id="runtimeOptionsStatus" class="runtime-options-status"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div id="subsyncModal" class="modal hidden" aria-hidden="true">
|
|
<div class="modal-content subsync-modal-content">
|
|
<div class="modal-header">
|
|
<div class="modal-title">Auto Subtitle Sync</div>
|
|
<button id="subsyncClose" class="modal-close" type="button">
|
|
Close
|
|
</button>
|
|
</div>
|
|
<div class="modal-body">
|
|
<div class="subsync-form">
|
|
<div class="subsync-field">
|
|
<span>Engine</span>
|
|
<label class="subsync-radio">
|
|
<input
|
|
id="subsyncEngineAlass"
|
|
type="radio"
|
|
name="subsyncEngine"
|
|
checked
|
|
/>
|
|
alass
|
|
</label>
|
|
<label class="subsync-radio">
|
|
<input
|
|
id="subsyncEngineFfsubsync"
|
|
type="radio"
|
|
name="subsyncEngine"
|
|
/>
|
|
ffsubsync
|
|
</label>
|
|
</div>
|
|
<label id="subsyncSourceLabel" class="subsync-field">
|
|
<span>Source Subtitle (for alass)</span>
|
|
<select id="subsyncSourceSelect"></select>
|
|
</label>
|
|
</div>
|
|
<div id="subsyncStatus" class="runtime-options-status"></div>
|
|
<div class="subsync-footer">
|
|
<button
|
|
id="subsyncRun"
|
|
class="kiku-confirm-button"
|
|
type="button"
|
|
>
|
|
Run Sync
|
|
</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<script type="module" src="renderer.js"></script>
|
|
</body>
|
|
</html>
|