Merge branch 'dev'
This commit is contained in:
commit
c83656d74b
|
|
@ -209,9 +209,12 @@ class FolkCampaignsDashboard extends HTMLElement {
|
||||||
<div class="cd-empty">
|
<div class="cd-empty">
|
||||||
<div class="cd-empty__icon">📋</div>
|
<div class="cd-empty__icon">📋</div>
|
||||||
<div class="cd-empty__title">No campaign workflows yet</div>
|
<div class="cd-empty__title">No campaign workflows yet</div>
|
||||||
<div class="cd-empty__subtitle">Create your first workflow to automate social media campaigns</div>
|
<div class="cd-empty__subtitle">Use the AI wizard for guided campaign creation, or start a blank workflow</div>
|
||||||
|
<div class="cd-header__actions" style="justify-content:center">
|
||||||
|
<button class="cd-btn cd-btn--wizard cd-btn--new-empty" id="btn-wizard-empty">\uD83E\uDDD9 Campaign Wizard</button>
|
||||||
<button class="cd-btn cd-btn--primary cd-btn--new-empty">+ New Workflow</button>
|
<button class="cd-btn cd-btn--primary cd-btn--new-empty">+ New Workflow</button>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
` : '';
|
` : '';
|
||||||
|
|
||||||
const loadingState = this.loading ? `
|
const loadingState = this.loading ? `
|
||||||
|
|
@ -233,6 +236,12 @@ class FolkCampaignsDashboard extends HTMLElement {
|
||||||
}
|
}
|
||||||
.cd-btn--primary { background: var(--rs-primary, #3b82f6); color: #fff; }
|
.cd-btn--primary { background: var(--rs-primary, #3b82f6); color: #fff; }
|
||||||
.cd-btn--primary:hover { background: var(--rs-primary-hover, #2563eb); }
|
.cd-btn--primary:hover { background: var(--rs-primary-hover, #2563eb); }
|
||||||
|
.cd-btn--wizard {
|
||||||
|
background: linear-gradient(135deg, var(--rs-accent, #14b8a6), #0d9488);
|
||||||
|
color: #fff; font-weight: 600;
|
||||||
|
}
|
||||||
|
.cd-btn--wizard:hover { opacity: 0.9; }
|
||||||
|
.cd-header__actions { display: flex; gap: 0.5rem; align-items: center; }
|
||||||
|
|
||||||
.cd-grid {
|
.cd-grid {
|
||||||
display: grid;
|
display: grid;
|
||||||
|
|
@ -284,8 +293,11 @@ class FolkCampaignsDashboard extends HTMLElement {
|
||||||
<div class="cd-root">
|
<div class="cd-root">
|
||||||
<div class="cd-header">
|
<div class="cd-header">
|
||||||
<h2>Campaign Workflows</h2>
|
<h2>Campaign Workflows</h2>
|
||||||
|
<div class="cd-header__actions">
|
||||||
|
<button class="cd-btn cd-btn--wizard" id="btn-wizard">\uD83E\uDDD9 Campaign Wizard</button>
|
||||||
${!this.loading && this.workflows.length > 0 ? '<button class="cd-btn cd-btn--primary" id="btn-new">+ New Workflow</button>' : ''}
|
${!this.loading && this.workflows.length > 0 ? '<button class="cd-btn cd-btn--primary" id="btn-new">+ New Workflow</button>' : ''}
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
${loadingState}
|
${loadingState}
|
||||||
${emptyState}
|
${emptyState}
|
||||||
${!this.loading && this.workflows.length > 0 ? `<div class="cd-grid">${cards}</div>` : ''}
|
${!this.loading && this.workflows.length > 0 ? `<div class="cd-grid">${cards}</div>` : ''}
|
||||||
|
|
@ -308,8 +320,15 @@ class FolkCampaignsDashboard extends HTMLElement {
|
||||||
const btnNew = this.shadow.getElementById('btn-new');
|
const btnNew = this.shadow.getElementById('btn-new');
|
||||||
if (btnNew) btnNew.addEventListener('click', () => this.createWorkflow());
|
if (btnNew) btnNew.addEventListener('click', () => this.createWorkflow());
|
||||||
|
|
||||||
const btnNewEmpty = this.shadow.querySelector('.cd-btn--new-empty');
|
const btnNewEmpty = this.shadow.querySelector('.cd-btn--new-empty:not(#btn-wizard-empty)');
|
||||||
if (btnNewEmpty) btnNewEmpty.addEventListener('click', () => this.createWorkflow());
|
if (btnNewEmpty) btnNewEmpty.addEventListener('click', () => this.createWorkflow());
|
||||||
|
|
||||||
|
// Wizard buttons
|
||||||
|
const wizardUrl = `${this.basePath}campaign-wizard`;
|
||||||
|
const btnWizard = this.shadow.getElementById('btn-wizard');
|
||||||
|
if (btnWizard) btnWizard.addEventListener('click', () => { window.location.href = wizardUrl; });
|
||||||
|
const btnWizardEmpty = this.shadow.getElementById('btn-wizard-empty');
|
||||||
|
if (btnWizardEmpty) btnWizardEmpty.addEventListener('click', () => { window.location.href = wizardUrl; });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue