41f07b6ad8
Browser-based feed selection layered on top of config/feeds.php: - manage.php (password + CSRF gated, session based): add subreddits (name / r/name / URL) and YouTube channels (@handle / UC id / URL, handle resolved to channel_id once, youtube.com only); enable/disable toggles; remove manual feeds; config feeds are hidden, not deleted. - New feeds are validated with one immediate fetch (bypassing the per-refresh host cap): HTTP 404 rejects the entry, 429 keeps it for a later refresh. YouTube labels adopt the real channel title. - feeds table gains origin (config|manual) and enabled columns, with a guarded ALTER migration for existing databases. - Only enabled feeds are refreshed and served: getItems/countItems filter by feed_url in enabled feeds, so deselected feeds' cached stories are hidden, not deleted; re-adding a URL re-enables it. - Dashboard header gets a Manage link; manage page styled with the existing design tokens; README documents the feature.
12 lines
308 B
JavaScript
12 lines
308 B
JavaScript
(function () {
|
|
'use strict';
|
|
|
|
document.querySelectorAll('form[data-confirm]').forEach(function (form) {
|
|
form.addEventListener('submit', function (event) {
|
|
if (!window.confirm(form.dataset.confirm)) {
|
|
event.preventDefault();
|
|
}
|
|
});
|
|
});
|
|
})();
|