Files
Wolfnova-WebTools/linkedin-ai.js
2026-01-19 15:50:27 +00:00

311 lines
9.3 KiB
JavaScript

/**
* LinkedIn AI-Text Generator v2.0
* Wolfnova Innovation
*
* Detta script körs när bookmarklet aktiveras
*/
(function() {
'use strict';
// Hämta markerad text
const selectedText = window.getSelection().toString().trim();
if (!selectedText) {
alert('❌ Markera text först innan du använder LinkedIn AI!');
return;
}
// Definiera alla prompts
const prompts = [
{
emoji: '🧠',
name: 'Generera LinkedIn Text',
description: 'Filosofiskt och djupgående innehåll',
prompt: `📱 Använd linkedin-content-system skillen för att skapa djupgående LinkedIn-innehåll.
🎯 Basera innehållet på denna text/idé:
"""
${selectedText}
"""
Skapa ett filosofiskt, substansfullt LinkedIn-inlägg som:
- Utforskar teknologi och samhälle från ett djupare perspektiv
- Tänker i civilisatoriska tidsskalor, inte kvartalsmått
- Bygger trovärdighet genom substans, inte buzz
- Är anti-hype och djupt reflekterande
- Ställer existentiella frågor
✨ Inkludera relevanta emojis där det känns naturligt.`
},
{
emoji: '💡',
name: 'Skapa från idé',
description: 'Utforska och utveckla en tanke',
prompt: `💡 Använd linkedin-content-system skillen.
Jag har denna tanke/idé:
"""
${selectedText}
"""
Hjälp mig att utforska och utveckla detta till ett genomtänkt LinkedIn-inlägg som:
- Går djupare än ytan
- Kopplar till större sammanhang
- Balanserar flera perspektiv
- Bygger på filosofi och historia där relevant
- Talar till beslutsfattare och systemtänkare
✨ Inkludera emojis där passande.`
},
{
emoji: '🔄',
name: 'Omarbeta',
description: 'Anpassa befintlig text',
prompt: `🔄 Använd linkedin-content-system skillen.
Omarbeta denna text till LinkedIn-format som följer Wolfnovas filosofi:
"""
${selectedText}
"""
Behåll kärnbudskapet men fördjupa perspektivet:
- Mer filosofisk reflektion
- Långsiktigt tänkande
- Systemiskt perspektiv
- Mindre hype, mer substans
- Ställ djupare frågor
✨ Inkludera emojis där naturligt.`
},
{
emoji: '⚡',
name: 'Analysera (Bionic Reading)',
description: 'Komprimerad analys i skannbart format',
prompt: `⚡ KOMPRIMERAD ANALYS I BIONIC READING FORMAT
Analysera denna text/rapport och presentera essensen i bionic reading-format:
"""
${selectedText}
"""
📊 INSTRUKTIONER:
1. EXTRAHERA ESSENSEN:
- Identifiera kärnbudskap och huvudpoänger
- Ta bort fluff och upprepningar
- Komprimera till det väsentliga (max 30% av originallängd)
2. STRUKTURERA TYDLIGT:
- Börja med 1-mening sammanfattning
- Bullet points för huvudpoänger
- Viktigaste insikter först
3. FORMATERA I BIONIC READING:
- **Fet**stil på första delen av varje viktigt ord
- Gör texten **skan**nbar och **snabb**läst
- Hjäl**per** öga**t** att fix**a** snab**bare**
- Exemp**el:** "Syst**em** kräv**er** helhets**syn** för **att** funk**era** stab**ilt**"
4. INKLUDERA:
- 🎯 Huvudbudskap (1 mening)
- 💡 Nyckelinsikter (3-5 punkter)
- ⚠️ Varningar/risker (om relevanta)
- ✅ Slutsats/rekommendation
5. ANVÄND EMOJIS för visuell struktur
Målet: Läsaren ska kunna skanna texten på 30 sekunder och få ALL viktig information!`
}
];
// Skapa modal
const modal = createModal(prompts);
document.body.appendChild(modal);
/**
* Skapa modal UI
*/
function createModal(prompts) {
const modal = document.createElement('div');
modal.id = 'wolfnova-linkedin-ai-modal';
modal.style.cssText = `
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
background: white;
border-radius: 12px;
box-shadow: 0 8px 32px rgba(0,0,0,0.3);
padding: 24px;
z-index: 999999;
min-width: 420px;
max-width: 90vw;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
`;
// Header
const header = document.createElement('h3');
header.style.cssText = `
margin: 0 0 16px;
color: #333;
font-size: 18px;
display: flex;
align-items: center;
justify-content: space-between;
`;
header.innerHTML = `
<span>✨ AI-Text Generator</span>
<span style="font-size: 12px; color: #999;">v2.0 - Wolfnova</span>
`;
modal.appendChild(header);
// Buttons för varje prompt
prompts.forEach((promptData, index) => {
const button = createButton(promptData, () => {
document.body.removeChild(modal);
openClaude(promptData.prompt);
});
modal.appendChild(button);
});
// Close button
const closeBtn = document.createElement('button');
closeBtn.textContent = '✕ Stäng';
closeBtn.style.cssText = `
width: 100%;
padding: 8px;
margin-top: 16px;
border: 1px solid #ddd;
border-radius: 6px;
background: #f5f5f5;
cursor: pointer;
font-size: 12px;
transition: background 0.2s;
`;
closeBtn.onmouseover = () => closeBtn.style.background = '#e0e0e0';
closeBtn.onmouseout = () => closeBtn.style.background = '#f5f5f5';
closeBtn.onclick = () => document.body.removeChild(modal);
modal.appendChild(closeBtn);
return modal;
}
/**
* Skapa knapp för varje alternativ
*/
function createButton(promptData, onClick) {
const button = document.createElement('button');
button.style.cssText = `
width: 100%;
padding: 12px 16px;
margin: 8px 0;
border: 2px solid #e0e0e0;
border-radius: 8px;
background: #fff;
cursor: pointer;
text-align: left;
font-size: 14px;
transition: all 0.2s;
display: flex;
flex-direction: column;
gap: 4px;
`;
button.innerHTML = `
<div style="display: flex; align-items: center; gap: 10px;">
<span style="font-size: 20px;">${promptData.emoji}</span>
<strong style="flex: 1;">${promptData.name}</strong>
</div>
<div style="font-size: 11px; color: #666; margin-left: 30px;">
${promptData.description}
</div>
`;
button.onmouseover = () => {
button.style.background = '#f0f7ff';
button.style.borderColor = '#2c5aa0';
};
button.onmouseout = () => {
button.style.background = '#fff';
button.style.borderColor = '#e0e0e0';
};
button.onclick = onClick;
return button;
}
/**
* Öppna Claude med prompt
*/
function openClaude(prompt) {
const claudeUrl = `https://claude.ai/new?q=${encodeURIComponent(prompt)}`;
window.open(claudeUrl, '_blank');
// Visa notifikation
showNotification('✨ Öppnar Claude AI med din markerade text!');
}
/**
* Visa notifikation
*/
function showNotification(message) {
const notification = document.createElement('div');
notification.style.cssText = `
position: fixed;
top: 20px;
right: 20px;
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
color: white;
padding: 16px 24px;
border-radius: 8px;
box-shadow: 0 4px 12px rgba(0,0,0,0.3);
z-index: 9999999;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
font-size: 14px;
font-weight: 500;
animation: slideIn 0.3s ease-out;
`;
notification.textContent = message;
document.body.appendChild(notification);
// Auto-remove efter 3 sekunder
setTimeout(() => {
notification.style.animation = 'slideOut 0.3s ease-out';
setTimeout(() => notification.remove(), 300);
}, 3000);
}
// Lägg till CSS för animationer (om inte redan finns)
if (!document.getElementById('wolfnova-animations')) {
const style = document.createElement('style');
style.id = 'wolfnova-animations';
style.textContent = `
@keyframes slideIn {
from {
transform: translateX(400px);
opacity: 0;
}
to {
transform: translateX(0);
opacity: 1;
}
}
@keyframes slideOut {
from {
transform: translateX(0);
opacity: 1;
}
to {
transform: translateX(400px);
opacity: 0;
}
}
`;
document.head.appendChild(style);
}
console.log('✅ LinkedIn AI-Text Generator v2.0 aktiverad!');
})();