trypost/app/Http/Controllers/App
Paulo Castellano f7ef13c116 Centralize supported content languages in a ContentLanguage enum
The new content-language options were hand-duplicated across request
validation, the UI picker, and homepage detection, while the brand
analyzer's structured-output enum and the AI image prompt's language
name still only knew about en/pt-BR/es. That left autofill unable to
detect the new languages and made image text fall back to English for
them.

Introduce App\Enums\Workspace\ContentLanguage as the single source of
truth and derive every site from it:

- Store/UpdateWorkspaceRequest validate against ContentLanguage::values()
- BrandAnalyzer's language enum uses ContentLanguage::values()
- AiImageClient::languageName() resolves via the enum's englishName()
- HomepageMetaExtractor detects through ContentLanguage::fromHtmlLang()
- BrandForm consumes availableContentLanguages from the backend, like
  availableFonts/availableImageStyles, instead of a hardcoded list

Also fix two labels: nl "Nederlandse" -> "Nederlands", zh -> "中文".
2026-07-03 14:12:25 -03:00
..
Settings chore(settings): drop the language-changed flash banner 2026-06-22 12:32:11 -03:00
AnalyticsController.php fix(permissions): enforce workspace roles across backend and UI 2026-06-22 16:31:54 -03:00
ApiKeyController.php feat: migrate custom API token implementation to Laravel Passport for authentication and token management 2026-05-03 18:38:17 -03:00
AssetController.php refactor: centralize media size limits in config + drop Document type 2026-05-04 14:54:47 -03:00
AutomationController.php fix(permissions): enforce workspace roles across backend and UI 2026-06-22 16:31:54 -03:00
BillingController.php feat(billing): attach persona to conversion tracking and polish annual banner 2026-06-22 12:32:03 -03:00
Controller.php refactor: restructure to Actions, subdomain routes (app/api), API tokens 2026-03-29 19:24:28 -03:00
DiscordController.php feat(channels): add Discord as a social channel 2026-06-16 14:44:00 -03:00
GiphyController.php feat: complete AI assistant with custom services and brand config 2026-04-16 09:25:08 -03:00
NotificationController.php refactor: code review fixes — policies, enums, data_get, tests 2026-03-31 00:40:18 -03:00
OnboardingController.php refactor(onboarding): send goals to PostHog exactly like persona 2026-06-25 21:06:27 -03:00
PostAiCreateController.php feat(ai-templates): task 3 - template-driven generator + job 2026-06-17 17:23:33 -03:00
PostAiGenerateController.php refactor(posts): centralize post editing status checks with PostStatusGuard 2026-05-21 19:27:19 -03:00
PostAiRegenerateMediaController.php refactor(posts): replace PostStatusGuard with PostStatusRules for editing and deletion checks 2026-05-21 19:32:42 -03:00
PostAiReviewController.php refactor(posts): centralize post editing status checks with PostStatusGuard 2026-05-21 19:27:19 -03:00
PostCommentController.php feat: @mentions in comments, AI Action layer + MCP tools, settings tabs 2026-05-01 20:59:03 -03:00
PostController.php fix(permissions): address code-review findings 2026-06-22 18:00:36 -03:00
PostTemplateController.php refactor: drop RenderedSlide DTO and content_language null fallbacks 2026-05-08 19:32:51 -03:00
PresenceController.php feat: @mentions in comments, AI Action layer + MCP tools, settings tabs 2026-05-01 20:59:03 -03:00
UnsplashController.php feat: complete AI assistant with custom services and brand config 2026-04-16 09:25:08 -03:00
WorkspaceController.php Centralize supported content languages in a ContentLanguage enum 2026-07-03 14:12:25 -03:00
WorkspaceInviteController.php fix(members): block self role-change/removal and lock role rules with tests 2026-06-22 14:41:11 -03:00
WorkspaceLabelController.php refactor: code review fixes — policies, enums, data_get, tests 2026-03-31 00:40:18 -03:00
WorkspaceSignatureController.php chore: remove deprecated localization files 2026-05-03 15:23:25 -03:00