mirror of
https://github.com/nimbold/Firelink.git
synced 2026-08-05 08:59:05 +00:00
fix(downloads): correct extension metadata and list UI
This commit is contained in:
@@ -451,7 +451,7 @@ export const DownloadTable: React.FC<DownloadTableProps> = ({ filter }) => {
|
||||
className={`${index === 5 ? 'download-cell-right' : ''} ${filter.startsWith('queue:') ? 'opacity-70 cursor-default' : 'cursor-pointer hover:text-text-primary transition-colors'} flex items-center justify-between`}
|
||||
onClick={() => handleSort(label)}
|
||||
>
|
||||
<div className={`flex items-center gap-1 w-full h-full select-none ${index > 0 ? 'justify-center' : ''}`}>
|
||||
<div className="flex items-center gap-1 w-full h-full select-none">
|
||||
<span>{label}</span>
|
||||
{sortConfig?.column === label && (
|
||||
sortConfig.direction === 'asc' ? <ChevronUp size={14} /> : <ChevronDown size={14} />
|
||||
|
||||
@@ -60,11 +60,6 @@ const browserCookieSourceOptions = [
|
||||
{ value: 'whale', label: 'Whale' },
|
||||
] as const;
|
||||
|
||||
const normalizeBrowserCookieSource = (source: string) => {
|
||||
const trimmed = source.trim();
|
||||
return trimmed.length > 0 ? trimmed : 'none';
|
||||
};
|
||||
|
||||
type EngineCheck = typeof engineChecks[number];
|
||||
|
||||
const engineStatusCache = new Map<string, EngineStatusItem>();
|
||||
@@ -1121,32 +1116,18 @@ className="app-button px-3 py-1.5 text-[12px] flex items-center gap-1.5 disabled
|
||||
</div>
|
||||
))}
|
||||
|
||||
<div className="grid grid-cols-[180px_1fr] items-start gap-4 text-[13px] border-t border-border-modal/50 pt-3 mt-2">
|
||||
<label className="text-text-secondary font-semibold pt-1.5">Browser Cookies Source:</label>
|
||||
<div className="space-y-2">
|
||||
<div className="grid grid-cols-[180px_1fr] items-center gap-4 text-[13px] border-t border-border-modal/50 pt-3 mt-2">
|
||||
<label className="text-text-secondary font-semibold pt-1.5">Browser Cookies Source:</label>
|
||||
<select
|
||||
value={browserCookieSourceOptions.some(option => option.value === settings.mediaCookieSource) ? settings.mediaCookieSource : 'custom'}
|
||||
onChange={(e) => {
|
||||
if (e.target.value !== 'custom') {
|
||||
settings.setMediaCookieSource(e.target.value);
|
||||
}
|
||||
}}
|
||||
value={browserCookieSourceOptions.some(option => option.value === settings.mediaCookieSource) ? settings.mediaCookieSource : 'none'}
|
||||
onChange={(e) => settings.setMediaCookieSource(e.target.value)}
|
||||
className="bg-bg-input border border-border-modal rounded-lg p-1.5 text-[13px] text-text-primary focus:outline-none focus:border-accent w-full"
|
||||
>
|
||||
{browserCookieSourceOptions.map(option => (
|
||||
<option key={option.value} value={option.value}>{option.label}</option>
|
||||
))}
|
||||
<option value="custom">Custom yt-dlp source</option>
|
||||
</select>
|
||||
<input
|
||||
value={settings.mediaCookieSource === 'none' ? '' : settings.mediaCookieSource}
|
||||
onChange={(e) => settings.setMediaCookieSource(normalizeBrowserCookieSource(e.target.value))}
|
||||
placeholder="firefox:/path/to/profile or chrome:Profile 1"
|
||||
className="app-control w-full px-3 py-1.5 bg-surface-overlay/50 border-border-color/50 focus:border-accent-color focus:bg-surface-overlay text-[13px]"
|
||||
aria-label="Custom yt-dlp browser cookie source"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<p className="text-text-muted text-xs mt-1">yt-dlp reads browser cookies to bypass video download limits or access restricted media. Firelink does not save browser cookies.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
+26
-7
@@ -1667,6 +1667,7 @@ html[data-list-density="relaxed"] {
|
||||
box-sizing: border-box;
|
||||
width: 100%;
|
||||
min-width: 0;
|
||||
--download-column-padding-x: 14px;
|
||||
}
|
||||
|
||||
.download-table-header > div {
|
||||
@@ -1676,6 +1677,15 @@ html[data-list-density="relaxed"] {
|
||||
align-items: center;
|
||||
min-width: 0;
|
||||
overflow: hidden;
|
||||
padding-inline: var(--download-column-padding-x);
|
||||
}
|
||||
|
||||
.download-table-header > div:first-child {
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
.download-table-header > div:last-child {
|
||||
padding-right: 0;
|
||||
}
|
||||
|
||||
.download-table-header > div > span {
|
||||
@@ -1686,7 +1696,7 @@ html[data-list-density="relaxed"] {
|
||||
}
|
||||
|
||||
.download-table-header > div:not(:first-child) {
|
||||
padding-left: 0;
|
||||
padding-left: var(--download-column-padding-x);
|
||||
}
|
||||
|
||||
.column-resize-handle {
|
||||
@@ -1766,6 +1776,15 @@ html[data-list-density="relaxed"] .download-ghost-row {
|
||||
.download-row > div {
|
||||
min-width: 0;
|
||||
overflow: hidden;
|
||||
padding-inline: var(--download-column-padding-x);
|
||||
}
|
||||
|
||||
.download-row > div:first-child {
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
.download-row > div:last-child {
|
||||
padding-right: 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -1805,7 +1824,7 @@ html[data-list-density="relaxed"] .download-ghost-row {
|
||||
.download-cell-truncate {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
justify-content: flex-start;
|
||||
min-width: 0;
|
||||
overflow: hidden;
|
||||
}
|
||||
@@ -1813,7 +1832,7 @@ html[data-list-density="relaxed"] .download-ghost-row {
|
||||
.download-cell-truncate > span,
|
||||
.download-cell-right > span {
|
||||
display: block;
|
||||
text-align: center;
|
||||
text-align: left;
|
||||
max-width: 100%;
|
||||
min-width: 0;
|
||||
overflow: hidden;
|
||||
@@ -1826,9 +1845,9 @@ html[data-list-density="relaxed"] .download-ghost-row {
|
||||
}
|
||||
|
||||
.download-cell-right {
|
||||
text-align: center;
|
||||
text-align: left;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
min-width: 0;
|
||||
overflow: hidden;
|
||||
@@ -1858,7 +1877,7 @@ html[data-list-density="relaxed"] .download-ghost-row {
|
||||
.download-status-cell {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
justify-content: flex-start;
|
||||
gap: var(--download-status-gap);
|
||||
min-width: 0;
|
||||
overflow: hidden;
|
||||
@@ -1868,7 +1887,7 @@ html[data-list-density="relaxed"] .download-ghost-row {
|
||||
min-width: 0;
|
||||
max-width: 100%;
|
||||
flex: 0 0 auto;
|
||||
text-align: center;
|
||||
text-align: left;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
|
||||
Reference in New Issue
Block a user