动漫订阅增加排除关键词

This commit is contained in:
mtvpls
2026-07-17 09:56:33 +08:00
parent 9f63e18550
commit bd779b237c
6 changed files with 59 additions and 5 deletions
+24 -1
View File
@@ -179,6 +179,7 @@ export default function AnimeSubscriptionComponent({
const [formData, setFormData] = useState({
title: '',
filterText: '',
excludeText: '',
source: 'mikan' as 'acgrip' | 'mikan' | 'dmhy' | 'nyaa',
lastEpisode: 0,
enabled: true,
@@ -198,6 +199,7 @@ export default function AnimeSubscriptionComponent({
setFormData({
title: '',
filterText: '',
excludeText: '',
source: 'mikan',
lastEpisode: 0,
enabled: true,
@@ -273,6 +275,7 @@ export default function AnimeSubscriptionComponent({
setFormData({
title: sub.title,
filterText: sub.filterText,
excludeText: sub.excludeText || '',
source: sub.source,
lastEpisode: sub.lastEpisode,
enabled: sub.enabled,
@@ -489,6 +492,7 @@ export default function AnimeSubscriptionComponent({
<p> </p>
<p> OpenList离线下载根目录//</p>
<p> </p>
<p> ,,PV</p>
<p> </p>
</div>
</div>
@@ -534,10 +538,25 @@ export default function AnimeSubscriptionComponent({
className='w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-700 text-gray-900 dark:text-gray-100 focus:outline-none focus:ring-2 focus:ring-green-500'
/>
<p className='mt-1 text-xs text-gray-500 dark:text-gray-400'>
</p>
</div>
</div>
<div>
<label className='block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1'>
</label>
<input
type='text'
value={formData.excludeText}
onChange={(e) => setFormData({ ...formData, excludeText: e.target.value })}
placeholder='先行版,预告,PV'
className='w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-700 text-gray-900 dark:text-gray-100 focus:outline-none focus:ring-2 focus:ring-green-500'
/>
<p className='mt-1 text-xs text-gray-500 dark:text-gray-400'>
</p>
</div>
<div className='grid grid-cols-1 md:grid-cols-2 gap-4'>
<div>
<label className='block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1'>
@@ -625,6 +644,7 @@ export default function AnimeSubscriptionComponent({
</div>
<div className='text-sm text-gray-600 dark:text-gray-400 space-y-1'>
<p>{sub.filterText}</p>
{sub.excludeText ? <p>{sub.excludeText}</p> : null}
<p> {sub.lastEpisode} </p>
<p>{formatTime(sub.lastCheckTime)}</p>
</div>
@@ -687,6 +707,9 @@ export default function AnimeSubscriptionComponent({
</div>
<div className='text-sm text-gray-600 dark:text-gray-400 space-y-1'>
<p className='break-all'>{sub.filterText}</p>
{sub.excludeText ? (
<p className='break-all'>{sub.excludeText}</p>
) : null}
<p> {sub.lastEpisode} · {formatTime(sub.lastCheckTime)}</p>
</div>
<div className='flex items-center gap-2 pt-1'>