import { useState } from 'react'
import { PHASE2_FEATURE_DEFS, isFeatureEnabled, setFeatureEnabled, usePhase2Features } from '../../../hooks/usePhase2Features'
const SECRET = '4034'
function PinGate({ onUnlock }) {
const [pin, setPin] = useState('')
const [error, setError] = useState(false)
function submit() {
if (pin === SECRET) {
onUnlock()
} else {
setError(true)
setPin('')
setTimeout(() => setError(false), 1500)
}
}
return (
🔒
Περιορισμένη πρόσβαση
Εισάγετε τον κωδικό για να συνεχίσετε
setPin(e.target.value)}
onKeyDown={e => e.key === 'Enter' && submit()}
autoFocus
maxLength={8}
placeholder="••••"
className={`w-full text-center text-xl tracking-[0.4em] border rounded-xl px-4 py-3 outline-none transition-colors ${
error ? 'border-red-400 bg-red-50 text-red-600' : 'border-slate-200 focus:border-sky-400'
}`}
/>
{error &&
Λάθος κωδικός
}
Είσοδος
)
}
function Toggle({ checked, onChange }) {
return (
onChange(!checked)}
style={{
width: 44, height: 24, borderRadius: 999, border: 'none', cursor: 'pointer',
background: checked ? '#16a34a' : '#d1d5db',
position: 'relative', transition: 'background 150ms', flexShrink: 0,
}}
>
)
}
export default function Phase2FeaturesTab() {
const [unlocked, setUnlocked] = useState(false)
const features = usePhase2Features()
if (!unlocked) return setUnlocked(true)} />
const allOn = features.every(f => f.enabled)
const allOff = features.every(f => !f.enabled)
function toggleAll(value) {
PHASE2_FEATURE_DEFS.forEach(f => setFeatureEnabled(f.id, value))
}
return (
Αυτές οι επιλογές ελέγχουν ποιες σελίδες Phase 2 εμφανίζονται στο πλαϊνό μενού.
Απενεργοποίηση δεν σβήνει δεδομένα — απλώς κρύβει τον σύνδεσμο.
Χρήσιμο για να κρατάτε σελίδες σε εξέλιξη κρυφές από πελάτες.
{/* Master toggle row */}
Όλες οι λειτουργίες
toggleAll(true)}
disabled={allOn}
className="text-xs font-semibold px-3 py-1 rounded-full border border-green-300 text-green-700 hover:bg-green-50 disabled:opacity-40 disabled:cursor-default"
>
Ενεργοποίηση όλων
toggleAll(false)}
disabled={allOff}
className="text-xs font-semibold px-3 py-1 rounded-full border border-red-300 text-red-600 hover:bg-red-50 disabled:opacity-40 disabled:cursor-default"
>
Απενεργοποίηση όλων
{features.map(f => (
setFeatureEnabled(f.id, val)}
/>
))}
Οι ρυθμίσεις αποθηκεύονται τοπικά στον browser. Ισχύουν αμέσως χωρίς ανανέωση.
)
}