diff --git a/frontend/src/pages/Settings.jsx b/frontend/src/pages/Settings.jsx index 468a59c5..9f59efbf 100644 --- a/frontend/src/pages/Settings.jsx +++ b/frontend/src/pages/Settings.jsx @@ -3,7 +3,7 @@ import { useAuth } from '../contexts/AuthContext'; import api from '../services/api'; import UsersTab from '../components/settings/UsersTab'; import AuditLogTab from '../components/settings/AuditLogTab'; -import { Github, FileText, HelpCircle, MessageSquare, Bug, Check, Layers, Download, CheckCircle, RefreshCw, ExternalLink } from 'lucide-react'; +import { Github, FileText, HelpCircle, MessageSquare, Bug, Check, Layers, Download, CheckCircle, RefreshCw, ExternalLink, Star, X } from 'lucide-react'; const Settings = () => { const [activeTab, setActiveTab] = useState('profile'); @@ -1647,10 +1647,15 @@ const SystemInfo = () => { ); }; +const STAR_PROMPT_KEY = 'serverkit-star-prompt-dismissed'; + const AboutSection = () => { const [version, setVersion] = useState('...'); const [updateInfo, setUpdateInfo] = useState(null); const [checkingUpdate, setCheckingUpdate] = useState(false); + const [showStarPrompt, setShowStarPrompt] = useState(() => { + return localStorage.getItem(STAR_PROMPT_KEY) !== 'true'; + }); useEffect(() => { const fetchVersion = async () => { @@ -1664,6 +1669,11 @@ const AboutSection = () => { fetchVersion(); }, []); + const dismissStarPrompt = () => { + setShowStarPrompt(false); + localStorage.setItem(STAR_PROMPT_KEY, 'true'); + }; + const checkForUpdate = async () => { setCheckingUpdate(true); try { @@ -1733,6 +1743,30 @@ const AboutSection = () => { + {showStarPrompt && ( +
+ +
+ +
+
+

Enjoying ServerKit?

+

If you find ServerKit useful, consider starring the repository on GitHub. It helps others discover the project!

+ + + Star on GitHub + +
+
+ )} +

Features