`); printWindow.document.close(); printWindow.print(); }; const tabs = [ { id: 'role', label: 'Your Role & Info' }, { id: 'other-party', label: 'Other Party' }, { id: 'agreement', label: 'Agreement Details' }, { id: 'dispute', label: 'Dispute Details' }, { id: 'evidence', label: 'Evidence' }, { id: 'demands', label: 'Your Demands' }, { id: 'next-steps', label: 'Next Steps' } ]; return (
{tabs.map(tab => ( ))}
{activeTab === 'role' && ( <>
Who is this for? This tool helps influencers demand payment or stop unauthorized content use, UGC creators protect their copyright, and brands address influencer non-compliance or FTC issues.
handleInputChange('role', 'influencer')} />
handleInputChange('role', 'ugc')} />
handleInputChange('role', 'brand')} />
handleInputChange('yourName', e.target.value)} placeholder={formData.role === 'brand' ? 'Your Company LLC' : 'Your Full Name'} />
handleInputChange('yourEmail', e.target.value)} placeholder="you@example.com" />
handleInputChange('yourPhone', e.target.value)} placeholder="(555) 123-4567" />
handleInputChange('yourAddress', e.target.value)} placeholder="Street, City, State ZIP" />
{formData.role !== 'brand' && ( <>
handleInputChange('yourHandle', e.target.value)} placeholder="@yourusername" />
)} )} {activeTab === 'other-party' && ( <>
handleInputChange('otherPartyName', e.target.value)} placeholder={formData.role === 'brand' ? 'Influencer name' : 'Brand name'} />
handleInputChange('otherPartyRepName', e.target.value)} placeholder="Name of contact person" />
handleInputChange('otherPartyEmail', e.target.value)} placeholder="contact@company.com" />
handleInputChange('otherPartyContact', e.target.value)} placeholder="Address or other contact information" />
{formData.role !== 'brand' && (
handleInputChange('otherPartyWebsite', e.target.value)} placeholder="https://brandwebsite.com" />
)} )} {activeTab === 'agreement' && ( <> {formData.role === 'ugc' ? (
UGC Note: As a UGC creator, you may not have a formal agreement. Skip this tab if the brand used your content without ever contacting you. Proceed if you did communicate with the brand about usage.
) : ( <>
handleInputChange('agreementDate', e.target.value)} />
{formData.agreementType === 'dm' && (
handleInputChange('agreementPlatform', e.target.value)} placeholder="e.g., Instagram, TikTok" />
)}
handleInputChange('numberOfPosts', e.target.value)} placeholder="e.g., 3 Instagram posts, 5 TikToks" />
{['Instagram', 'TikTok', 'YouTube', 'Facebook', 'Twitter/X', 'LinkedIn', 'Blog'].map(platform => (
handleCheckboxChange('platforms', platform)} />
))}