Edit the file lib/content-generator.ts.
Find the Venice generator call that currently looks like:
generatePostWithVenice(storyForGeneration, platform, platformOptions.apiKey)
Replace it with:
generatePostWithVenice(
storyForGeneration,
platform,
platformOptions.apiKey,
canonicalTone,
platformOptions.hashtags || []
)
Requirements:
Now I need to check what canonicalTone and platformOptions contain at this point:
I can see that platformOptions.tone is already available and normalized to lowercase. Now I'll update the Venice generator call to pass the tone and hashtags:
Done! I've updated the Venice generator call to pass platformOptions.tone (which is already lowercase) and platformOptions.hashtags || [] as parameters. This ensures the Venice API respects the user's selected tone and hashtags settings when generating content, maintaining consistency with the OpenAI implementation.
TASK: Fix remaining tone persistence issue caused by Title Case default state values.
You must edit TWO files exactly as described. Do not change anything else.
────────────────────────────────────────────────────────────
FILE 1: app/settings/page.tsx
────────────────────────────────────────────────────────────
Problem:
I found the initial state. Now I'll fix the tone values from Title Case to lowercase:
Now I'll update the posting preferences component to make the select values defensive with lowercase conversion:
Now I'll update the X tone select to use lowercase:
Now update the LinkedIn tone select the same way:
Complete! I've fixed the tone persistence issue by making two critical changes:
File 1 (app/settings/page.tsx): Changed initial state for both xPreferences and linkedinPreferences from tone: 'Professional' to tone: 'professional', ensuring the default values match the lowercase option values in the dropdown.
File 2 (components/settings/posting-preferences.tsx): Made both X and LinkedIn tone select elements defensive by wrapping the value prop with .toLowerCase(), ensuring any Title Case values are normalized to lowercase before rendering. This prevents mismatches between the select value and available options, eliminating the blank dropdown appearance.
The dropdowns will now consistently display "Professional" (the label) while always using the lowercase value "professional" internally and for persistence to the database.
TASK: Fix Venice generator hashtags type mismatch and prompt formatting.
You must edit ONE file exactly as described. Do not change anything else.
────────────────────────────────────────────────────────────
FILE: lib/venice-generator.ts
────────────────────────────────────────────────────────────
Problem:
Suggested hashtags: ${hashtags} : ''}Suggested hashtags: ${hashtags.join(', ')} : ''}You can send messages while the preview loads