86 lines
1.8 KiB
HTML
86 lines
1.8 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<style>
|
|
body {
|
|
font: 13px system-ui, sans-serif;
|
|
width: 320px;
|
|
margin: 0;
|
|
padding: 12px;
|
|
}
|
|
header {
|
|
display: flex;
|
|
gap: 8px;
|
|
align-items: center;
|
|
margin-bottom: 8px;
|
|
}
|
|
header h1 {
|
|
font-size: 14px;
|
|
margin: 0;
|
|
flex: 1;
|
|
}
|
|
button {
|
|
font: inherit;
|
|
padding: 4px 8px;
|
|
cursor: pointer;
|
|
}
|
|
#status {
|
|
min-height: 16px;
|
|
margin: 6px 0;
|
|
white-space: pre-wrap;
|
|
word-break: break-word;
|
|
}
|
|
.muted { color: #777; }
|
|
.ok { color: #137333; }
|
|
.err { color: #c5221f; }
|
|
|
|
#log {
|
|
list-style: none;
|
|
margin: 0;
|
|
padding: 0;
|
|
max-height: 320px;
|
|
overflow-y: auto;
|
|
}
|
|
#log li {
|
|
display: flex;
|
|
gap: 8px;
|
|
align-items: flex-start;
|
|
border-top: 1px solid #e0e0e0;
|
|
padding: 6px 0;
|
|
}
|
|
.entry-body { flex: 1; min-width: 0; }
|
|
.entry-del {
|
|
flex: none;
|
|
padding: 2px 6px;
|
|
line-height: 1.2;
|
|
color: #c5221f;
|
|
}
|
|
.entry-text {
|
|
word-break: break-all;
|
|
font-weight: 600;
|
|
}
|
|
.entry-meta {
|
|
color: #888;
|
|
font-size: 11px;
|
|
margin-top: 2px;
|
|
word-break: break-all;
|
|
}
|
|
.empty { color: #999; padding: 12px 0; }
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<header>
|
|
<h1>QR Clip</h1>
|
|
<button id="scan">Scan</button>
|
|
<button id="clear">Clear All</button>
|
|
</header>
|
|
<div id="status" class="muted"></div>
|
|
<ul id="log"></ul>
|
|
|
|
<!-- jsQR exposes a global `jsQR` (UMD). Must load before popup.js. -->
|
|
<script src="vendor/jsQR.js"></script>
|
|
<script src="popup.js"></script>
|
|
</body>
|
|
</html>
|