Files
yusufipek 0ed9dbf41a Add badge menu and library
Clicking a badge now opens a menu instead of the video: copy a
YouTube-style card image (thumbnail + title) to the clipboard, copy the
title and link as text, download the card image, or save the video into
the extension's own library page. The library groups entries into
projects, supports search, moving, two-step deletes, JSON export with a
field-level lossless import merge, and re-scores stale entries on open.

Badge clicks are swallowed at window capture so YouTube's own handlers
(notably on Shorts cards) never see them, and a fixed-position ghost
copy of the badge keeps it visible and clickable above the hover
preview overlay. Score tier colors and labels now live in one place
(OBParse) shared by the badge, the watch panel, and the library.
2026-08-30 16:43:32 +03:00

63 lines
1.5 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="popup.css">
</head>
<body>
<h1>Outlier Badge</h1>
<div id="permission" class="warn" hidden>
<span data-i18n="popupPermission"></span>
<button id="grant" type="button" data-i18n="popupGrant"></button>
</div>
<label class="row">
<span data-i18n="popupEnabled"></span>
<input type="checkbox" id="enabled">
</label>
<label class="row">
<span data-i18n="popupScoreShorts"></span>
<input type="checkbox" id="scoreShorts">
</label>
<label class="row">
<span data-i18n="popupShowPanel"></span>
<input type="checkbox" id="showPanel">
</label>
<label class="row">
<span data-i18n="popupBaselineSize"></span>
<select id="baselineSize"></select>
</label>
<label class="row">
<span data-i18n="popupMinScore"></span>
<select id="minScore"></select>
</label>
<label class="row">
<span data-i18n="popupTtl"></span>
<select id="ttlHours"></select>
</label>
<label class="row">
<span data-i18n="popupLanguage"></span>
<select id="language"></select>
</label>
<button id="library" type="button" class="wide" data-i18n="popupLibrary"></button>
<div class="stats" id="stats"></div>
<button id="clear" type="button" class="wide" data-i18n="popupClear"></button>
<p class="note" data-i18n="popupNote"></p>
<script src="../src/i18n.js"></script>
<script src="../src/store.js"></script>
<script src="popup.js"></script>
</body>
</html>