1.0.0-rc2 RC2
This commit is contained in:
@@ -57,8 +57,7 @@ const ALWAYS_HIDDEN_SETTING_KEYS = new Set([
|
||||
'makemkv_rip_mode',
|
||||
'makemkv_rip_mode_bluray',
|
||||
'makemkv_rip_mode_dvd',
|
||||
'makemkv_backup_mode',
|
||||
'handbrake_pre_metadata_scan_enabled'
|
||||
'makemkv_backup_mode'
|
||||
]);
|
||||
const EXPERT_ONLY_SETTING_KEYS = new Set([
|
||||
'pushover_device',
|
||||
@@ -727,6 +726,42 @@ function MakeMKVBetaKeyHint({ onApply, disabled = false }) {
|
||||
);
|
||||
}
|
||||
|
||||
function ActivationBytesCacheBox({ entries = [] }) {
|
||||
const list = Array.isArray(entries) ? entries : [];
|
||||
return (
|
||||
<section className="settings-section grouped activation-bytes-cache-box">
|
||||
<div className="settings-section-head">
|
||||
<h4>Activation Bytes Cache</h4>
|
||||
<small>Lokal gespeicherte AAX-Activation Bytes. Werden beim ersten Upload automatisch über die Audible-Tools API ermittelt.</small>
|
||||
</div>
|
||||
{list.length === 0 ? (
|
||||
<p>Keine Einträge vorhanden.</p>
|
||||
) : (
|
||||
<div className="activation-bytes-table-wrap">
|
||||
<table className="activation-bytes-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Checksum</th>
|
||||
<th>Activation Bytes</th>
|
||||
<th>Gespeichert am</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{list.map((entry, index) => (
|
||||
<tr key={String(entry?.checksum || `activation-bytes-${index}`)}>
|
||||
<td>{String(entry?.checksum || '-')}</td>
|
||||
<td>{String(entry?.activation_bytes || '-')}</td>
|
||||
<td>{entry?.created_at ? new Date(entry.created_at).toLocaleString('de-DE') : '-'}</td>
|
||||
</tr>
|
||||
))}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
)}
|
||||
</section>
|
||||
);
|
||||
}
|
||||
|
||||
function SettingField({
|
||||
setting,
|
||||
value,
|
||||
@@ -1124,6 +1159,7 @@ export default function DynamicSettingsForm({
|
||||
dirtyKeys,
|
||||
onChange,
|
||||
effectivePaths,
|
||||
activationBytes = [],
|
||||
onNotify
|
||||
}) {
|
||||
const safeCategories = Array.isArray(categories) ? categories : [];
|
||||
@@ -1217,6 +1253,7 @@ export default function DynamicSettingsForm({
|
||||
const pushoverEnabled = toBoolean(values?.[PUSHOVER_ENABLED_SETTING_KEY]);
|
||||
|
||||
const isDriveCategory = normalizeText(category?.category) === 'laufwerk';
|
||||
const isToolsCategory = normalizeText(category?.category) === 'tools';
|
||||
return (
|
||||
<div className="settings-sections">
|
||||
{isDriveCategory && <DetectedDrivesInfo expertModeEnabled={expertModeEnabled} onNotify={onNotify} />}
|
||||
@@ -1345,6 +1382,7 @@ export default function DynamicSettingsForm({
|
||||
})()}
|
||||
</section>
|
||||
))}
|
||||
{isToolsCategory ? <ActivationBytesCacheBox entries={activationBytes} /> : null}
|
||||
</div>
|
||||
);
|
||||
})()}
|
||||
|
||||
Reference in New Issue
Block a user