Update placeholders in WelcomeForm and DiscordEmbedBuilder for improved user guidance

- Changed placeholder text in WelcomeForm to use more descriptive keys for leave content.
- Enhanced DiscordEmbedBuilder to accept custom title and description placeholders, improving flexibility for embed creation.
- Updated localization files in English and German to include new placeholder texts, ensuring consistency and clarity for users.
This commit is contained in:
TheOnlyMace
2026-07-22 22:19:16 +02:00
parent 8cfb149a18
commit e7a3162494
4 changed files with 20 additions and 6 deletions

View File

@@ -238,7 +238,7 @@ export function WelcomeForm({ guildId, initialValue }: WelcomeFormProps) {
<Textarea
value={value.leaveContent ?? ''}
onChange={(event) => setValue((prev) => ({ ...prev, leaveContent: event.target.value || null }))}
placeholder={t('modulePages.welcome.contentPlaceholder')}
placeholder={t('modulePages.welcome.leaveContentPlaceholder')}
/>
<PlaceholderHelp preset="welcome" />
</div>
@@ -251,6 +251,8 @@ export function WelcomeForm({ guildId, initialValue }: WelcomeFormProps) {
onChange={(leaveEmbed) => setValue((prev) => ({ ...prev, leaveEmbed }))}
previewVars={WELCOME_PREVIEW_VARS}
placeholderPreset="welcome"
titlePlaceholder={t('modulePages.welcome.leaveEmbedTitlePlaceholder')}
descriptionPlaceholder={t('modulePages.welcome.leaveEmbedDescriptionPlaceholder')}
/>
</div>
</FieldAnchor>

View File

@@ -73,6 +73,10 @@ interface DiscordEmbedBuilderProps {
showClearHint?: boolean;
/** Which placeholders apply to this embed context. */
placeholderPreset?: PlaceholderPresetId;
/** Override default embed title input placeholder. */
titlePlaceholder?: string;
/** Override default embed description input placeholder. */
descriptionPlaceholder?: string;
}
export function DiscordEmbedBuilder({
@@ -81,7 +85,9 @@ export function DiscordEmbedBuilder({
className,
previewVars,
showClearHint = true,
placeholderPreset = 'welcome'
placeholderPreset = 'welcome',
titlePlaceholder,
descriptionPlaceholder
}: DiscordEmbedBuilderProps) {
const t = useTranslations();
const draft = value ?? emptyEmbed();
@@ -112,7 +118,7 @@ export function DiscordEmbedBuilder({
id="embed-title"
value={draft.title ?? ''}
maxLength={256}
placeholder={t('embedBuilder.titlePlaceholder')}
placeholder={titlePlaceholder ?? t('embedBuilder.titlePlaceholder')}
onChange={(event) => patch({ title: event.target.value })}
/>
</div>
@@ -123,7 +129,7 @@ export function DiscordEmbedBuilder({
rows={5}
maxLength={4096}
value={draft.description ?? ''}
placeholder={t('embedBuilder.descriptionPlaceholder')}
placeholder={descriptionPlaceholder ?? t('embedBuilder.descriptionPlaceholder')}
onChange={(event) => patch({ description: event.target.value })}
/>
</div>