workflwo guide issue fix
This commit is contained in:
@@ -66,12 +66,13 @@ type ViewType = 'table' | 'grid';
|
|||||||
export default function SiteList() {
|
export default function SiteList() {
|
||||||
const navigate = useNavigate();
|
const navigate = useNavigate();
|
||||||
const toast = useToast();
|
const toast = useToast();
|
||||||
const { toggleGuide, isGuideVisible } = useOnboardingStore();
|
const { toggleGuide, isGuideVisible, showGuide, dismissGuide } = useOnboardingStore();
|
||||||
const [sites, setSites] = useState<Site[]>([]);
|
const [sites, setSites] = useState<Site[]>([]);
|
||||||
const [filteredSites, setFilteredSites] = useState<Site[]>([]);
|
const [filteredSites, setFilteredSites] = useState<Site[]>([]);
|
||||||
const [loading, setLoading] = useState(true);
|
const [loading, setLoading] = useState(true);
|
||||||
const [viewType, setViewType] = useState<ViewType>('grid');
|
const [viewType, setViewType] = useState<ViewType>('grid');
|
||||||
const [showFilters, setShowFilters] = useState(false);
|
const [showFilters, setShowFilters] = useState(false);
|
||||||
|
const [previousSiteCount, setPreviousSiteCount] = useState<number>(0);
|
||||||
|
|
||||||
// Site Management Modals
|
// Site Management Modals
|
||||||
const [selectedSite, setSelectedSite] = useState<Site | null>(null);
|
const [selectedSite, setSelectedSite] = useState<Site | null>(null);
|
||||||
@@ -91,6 +92,19 @@ export default function SiteList() {
|
|||||||
loadSites();
|
loadSites();
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
|
// Auto-show guide when no sites, auto-hide ONLY when first site is added
|
||||||
|
useEffect(() => {
|
||||||
|
if (sites.length === 0) {
|
||||||
|
// Always show guide when no sites exist
|
||||||
|
showGuide();
|
||||||
|
} else if (previousSiteCount === 0 && sites.length > 0 && isGuideVisible) {
|
||||||
|
// Auto-collapse guide ONLY when transitioning from 0 to 1+ sites
|
||||||
|
dismissGuide();
|
||||||
|
}
|
||||||
|
// Update previous count
|
||||||
|
setPreviousSiteCount(sites.length);
|
||||||
|
}, [sites.length]);
|
||||||
|
|
||||||
const loadUserPreferences = async () => {
|
const loadUserPreferences = async () => {
|
||||||
// User preferences are now loaded from site/account data, not from a separate endpoint
|
// User preferences are now loaded from site/account data, not from a separate endpoint
|
||||||
// This function is kept for backward compatibility but does nothing
|
// This function is kept for backward compatibility but does nothing
|
||||||
@@ -547,8 +561,8 @@ export default function SiteList() {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{/* Welcome Guide - Shows when user clicks Add New Website button OR when no sites exist */}
|
{/* Welcome Guide - Shows when no sites exist (always) OR when user toggles it (when sites exist) */}
|
||||||
{(isGuideVisible || sites.length === 0) && (
|
{(sites.length === 0 || (sites.length > 0 && isGuideVisible)) && (
|
||||||
<div className="mb-6">
|
<div className="mb-6">
|
||||||
<WorkflowGuide
|
<WorkflowGuide
|
||||||
onSiteAdded={() => {
|
onSiteAdded={() => {
|
||||||
|
|||||||
Reference in New Issue
Block a user