feat: Jellyfin/Emby recommendations + piracy disclaimer + TOTP fix + AI chat
This commit is contained in:
@@ -53,11 +53,14 @@ const INTENT_PATTERNS = [
|
|||||||
message: 'For media streaming, I recommend:',
|
message: 'For media streaming, I recommend:',
|
||||||
recommendations: [
|
recommendations: [
|
||||||
{ app: 'plex', reason: 'Stream movies and TV shows to any device' },
|
{ app: 'plex', reason: 'Stream movies and TV shows to any device' },
|
||||||
|
{ app: 'jellyfin', reason: 'Free open-source alternative to Plex, no premium features locked' },
|
||||||
|
{ app: 'emby', reason: 'Media server with live TV and parental controls' },
|
||||||
{ app: 'sonarr', reason: 'Automatically download TV shows' },
|
{ app: 'sonarr', reason: 'Automatically download TV shows' },
|
||||||
{ app: 'radarr', reason: 'Automatically download movies' },
|
{ app: 'radarr', reason: 'Automatically download movies' },
|
||||||
{ app: 'qbittorrent', reason: 'Download client for media files' },
|
{ app: 'qbittorrent', reason: 'Download client for media files' },
|
||||||
],
|
],
|
||||||
question: 'Would you like me to deploy any of these?',
|
question: 'Would you like me to deploy any of these?',
|
||||||
|
disclaimer: 'DashCaddy provides deployment tools only. Users are responsible for complying with all applicable copyright and intellectual property laws. Always stream content you own or have rights to access.',
|
||||||
}),
|
}),
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
@@ -71,6 +71,12 @@
|
|||||||
if (extra) {
|
if (extra) {
|
||||||
const extraDiv = document.createElement('div');
|
const extraDiv = document.createElement('div');
|
||||||
extraDiv.style.cssText = 'align-self:flex-start; max-width:85%; margin-top:4px;';
|
extraDiv.style.cssText = 'align-self:flex-start; max-width:85%; margin-top:4px;';
|
||||||
|
if (extra.disclaimer) {
|
||||||
|
const disc = document.createElement('div');
|
||||||
|
disc.style.cssText = 'font-size:0.7rem; color:var(--text-muted,#666); padding:6px 8px; line-height:1.4; margin-top:4px;';
|
||||||
|
disc.textContent = '⚠️ ' + extra.disclaimer;
|
||||||
|
extraDiv.appendChild(disc);
|
||||||
|
}
|
||||||
if (extra.recommendations) {
|
if (extra.recommendations) {
|
||||||
extra.recommendations.forEach(rec => {
|
extra.recommendations.forEach(rec => {
|
||||||
const btn = document.createElement('button');
|
const btn = document.createElement('button');
|
||||||
|
|||||||
Reference in New Issue
Block a user