Skip to content

Commit d5b72a5

Browse files
authored
Revert "FEATURE: Add post language on creating a new post (#33001)" (#33157)
This reverts commit b55af38.
1 parent b55af38 commit d5b72a5

19 files changed

+65
-228
lines changed

app/assets/javascripts/discourse/app/components/composer-action-title.gjs

Lines changed: 0 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
11
import Component from "@ember/component";
22
import { hash } from "@ember/helper";
33
import { alias } from "@ember/object/computed";
4-
import { service } from "@ember/service";
54
import { htmlSafe } from "@ember/template";
65
import { classNames } from "@ember-decorators/component";
7-
import PostLanguageSelector from "discourse/components/post-language-selector";
86
import discourseComputed from "discourse/lib/decorators";
97
import escape from "discourse/lib/escape";
108
import { iconHTML } from "discourse/lib/icon-library";
@@ -30,9 +28,6 @@ const TITLES = {
3028

3129
@classNames("composer-action-title")
3230
export default class ComposerActionTitle extends Component {
33-
@service currentUser;
34-
@service siteSettings;
35-
3631
@alias("model.replyOptions") options;
3732
@alias("model.action") action;
3833

@@ -69,20 +64,6 @@ export default class ComposerActionTitle extends Component {
6964
}
7065
}
7166

72-
get showPostLanguageSelector() {
73-
const allowedActions = [CREATE_TOPIC, EDIT, REPLY];
74-
if (
75-
this.currentUser &&
76-
this.siteSettings.experimental_content_localization &&
77-
this.currentUser.can_localize_content &&
78-
allowedActions.includes(this.model.action)
79-
) {
80-
return true;
81-
}
82-
83-
return false;
84-
}
85-
8667
_formatEditUserPost(userAvatar, userLink, postLink, originalUser) {
8768
let editTitle = `
8869
<a class="post-link" href="${postLink.href}">${postLink.anchor}</a>
@@ -133,12 +114,5 @@ export default class ComposerActionTitle extends Component {
133114
<span class="action-title" role="heading" aria-level="1">
134115
{{this.actionTitle}}
135116
</span>
136-
137-
{{#if this.showPostLanguageSelector}}
138-
<PostLanguageSelector
139-
@composerModel={{this.model}}
140-
@selectedLanguage={{this.model.locale}}
141-
/>
142-
{{/if}}
143117
</template>
144118
}

app/assets/javascripts/discourse/app/components/edit-category-localizations.gjs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ export default class EditCategoryLocalizations extends buildCategoryPanel(
1010
@service siteSettings;
1111

1212
get availableLocales() {
13-
return this.siteSettings.available_content_localization_locales;
13+
return JSON.parse(this.siteSettings.available_locales);
1414
}
1515

1616
<template>

app/assets/javascripts/discourse/app/components/language-switcher.gjs

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,21 @@ export default class LanguageSwitcher extends Component {
1212
@service siteSettings;
1313
@service router;
1414

15+
get localeOptions() {
16+
const targetLanguages = (
17+
this.siteSettings.experimental_content_localization_supported_locales ||
18+
""
19+
).split("|");
20+
return JSON.parse(this.siteSettings.available_locales)
21+
.filter(({ value }) => targetLanguages.includes(value))
22+
.map(({ name, value }) => {
23+
return {
24+
label: name,
25+
value,
26+
};
27+
});
28+
}
29+
1530
@action
1631
async changeLocale(locale) {
1732
cookie("locale", locale, { path: "/" });
@@ -36,16 +51,13 @@ export default class LanguageSwitcher extends Component {
3651
>
3752
<:content>
3853
<DropdownMenu as |dropdown|>
39-
{{#each
40-
this.siteSettings.available_content_localization_locales
41-
as |option|
42-
}}
54+
{{#each this.localeOptions as |option|}}
4355
<dropdown.item
4456
class="locale-options"
4557
data-menu-option-id={{option.value}}
4658
>
4759
<DButton
48-
@translatedLabel={{option.name}}
60+
@translatedLabel={{option.label}}
4961
@action={{fn this.changeLocale option.value}}
5062
/>
5163
</dropdown.item>

app/assets/javascripts/discourse/app/components/modal/post-translations.gjs

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -62,20 +62,14 @@ export default class PostTranslationsModal extends Component {
6262

6363
this.args.closeModal();
6464

65-
const composerOpts = {
65+
await this.composer.open({
6666
action: Composer.ADD_TRANSLATION,
6767
draftKey: "translation",
6868
warningsDisabled: true,
6969
hijackPreview: this.originalPostContent,
7070
post: this.args.model.post,
7171
selectedTranslationLocale: locale.locale,
72-
};
73-
74-
if (locale?.topic_localization) {
75-
composerOpts.topicTitle = locale.topic_localization?.title;
76-
}
77-
78-
await this.composer.open(composerOpts);
72+
});
7973
this.composer.model.set("reply", locale.raw);
8074
}
8175

app/assets/javascripts/discourse/app/components/post-language-selector.gjs

Lines changed: 0 additions & 54 deletions
This file was deleted.

app/assets/javascripts/discourse/app/components/post-translation-editor.gjs

Lines changed: 23 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -5,28 +5,36 @@ import { service } from "@ember/service";
55
import DEditor from "discourse/components/d-editor";
66
import TextField from "discourse/components/text-field";
77
import lazyHash from "discourse/helpers/lazy-hash";
8-
import { popupAjaxError } from "discourse/lib/ajax-error";
9-
import PostLocalization from "discourse/models/post-localization";
108
import { i18n } from "discourse-i18n";
119
import DropdownSelectBox from "select-kit/components/dropdown-select-box";
1210

1311
export default class PostTranslationEditor extends Component {
1412
@service composer;
1513
@service siteSettings;
1614

17-
async findCurrentLocalization() {
18-
try {
19-
const { post_localizations } = await PostLocalization.find(
20-
this.composer.model.post.id
15+
get availableLocales() {
16+
const allAvailableLocales = JSON.parse(this.siteSettings.available_locales);
17+
const supportedLocales =
18+
this.siteSettings.experimental_content_localization_supported_locales.split(
19+
"|"
2120
);
2221

23-
return post_localizations.find(
24-
(localization) =>
25-
localization.locale === this.composer.selectedTranslationLocale
26-
);
27-
} catch (error) {
28-
popupAjaxError(error);
22+
if (!supportedLocales.includes(this.siteSettings.default_locale)) {
23+
supportedLocales.push(this.siteSettings.default_locale);
2924
}
25+
26+
const filtered = allAvailableLocales.filter((locale) => {
27+
return supportedLocales.includes(locale.value);
28+
});
29+
30+
return filtered;
31+
}
32+
33+
findCurrentLocalization() {
34+
return this.composer.model.post.post_localizations.find(
35+
(localization) =>
36+
localization.locale === this.composer.selectedTranslationLocale
37+
);
3038
}
3139

3240
@action
@@ -35,25 +43,13 @@ export default class PostTranslationEditor extends Component {
3543
}
3644

3745
@action
38-
async updateSelectedLocale(locale) {
46+
updateSelectedLocale(locale) {
3947
this.composer.selectedTranslationLocale = locale;
4048

41-
const currentLocalization = await this.findCurrentLocalization();
49+
const currentLocalization = this.findCurrentLocalization();
4250

4351
if (currentLocalization) {
4452
this.composer.model.set("reply", currentLocalization.raw);
45-
46-
if (currentLocalization?.topic_localization) {
47-
this.composer.model.set(
48-
"title",
49-
currentLocalization.topic_localization.title
50-
);
51-
}
52-
} else {
53-
this.composer.model.setProperties({
54-
reply: "",
55-
title: "",
56-
});
5753
}
5854
}
5955

@@ -63,7 +59,7 @@ export default class PostTranslationEditor extends Component {
6359
@nameProperty="name"
6460
@valueProperty="value"
6561
@value={{this.composer.selectedTranslationLocale}}
66-
@content={{this.siteSettings.available_content_localization_locales}}
62+
@content={{this.availableLocales}}
6763
@onChange={{this.updateSelectedLocale}}
6864
@options={{hash
6965
icon="globe"

app/assets/javascripts/discourse/app/models/composer.js

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -73,13 +73,11 @@ const CLOSED = "closed",
7373
shared_draft: "sharedDraft",
7474
no_bump: "noBump",
7575
draft_key: "draftKey",
76-
locale: "locale",
7776
},
7877
_update_serializer = {
7978
raw: "reply",
8079
topic_id: "topic.id",
8180
original_text: "originalText",
82-
locale: "locale",
8381
},
8482
_edit_topic_serializer = {
8583
title: "topic.title",
@@ -88,7 +86,6 @@ const CLOSED = "closed",
8886
featuredLink: "topic.featured_link",
8987
original_title: "originalTitle",
9088
original_tags: "originalTags",
91-
locale: "locale",
9289
},
9390
_draft_serializer = {
9491
reply: "reply",
@@ -106,7 +103,6 @@ const CLOSED = "closed",
106103
original_text: "originalText",
107104
original_title: "originalTitle",
108105
original_tags: "originalTags",
109-
locale: "locale",
110106
},
111107
_add_draft_fields = {},
112108
FAST_REPLY_LENGTH_THRESHOLD = 10000;
@@ -118,7 +114,6 @@ export const SAVE_LABELS = {
118114
[PRIVATE_MESSAGE]: "composer.create_pm",
119115
[CREATE_SHARED_DRAFT]: "composer.create_shared_draft",
120116
[EDIT_SHARED_DRAFT]: "composer.save_edit",
121-
[ADD_TRANSLATION]: "composer.translations.save",
122117
};
123118

124119
export const SAVE_ICONS = {
@@ -209,7 +204,6 @@ export default class Composer extends RestModel {
209204
@tracked post;
210205
@tracked reply;
211206
@tracked whisper;
212-
@tracked locale = this.post?.locale || this.siteSettings.default_locale;
213207

214208
unlistTopic = false;
215209
noBump = false;
@@ -1182,7 +1176,6 @@ export default class Composer extends RestModel {
11821176
typingTime: this.typingTime,
11831177
composerTime: this.composerTime,
11841178
metaData: this.metaData,
1185-
locale: this.locale,
11861179
});
11871180

11881181
this.serialize(_create_serializer, createdPost);

app/assets/javascripts/discourse/app/services/composer.js

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -367,6 +367,8 @@ export default class ComposerService extends Service {
367367
return "composer.create_whisper";
368368
} else if (privateMessage && modelAction === Composer.REPLY) {
369369
return "composer.create_pm";
370+
} else if (modelAction === Composer.ADD_TRANSLATION) {
371+
return "composer.translations.save";
370372
}
371373

372374
return SAVE_LABELS[modelAction];
@@ -1385,7 +1387,6 @@ export default class ComposerService extends Service {
13851387
this.set("hijackPreview", opts.hijackPreview);
13861388
}
13871389

1388-
// TODO: fix this not working anymore? need to use `opts.locale` instead?
13891390
if (opts.selectedTranslationLocale) {
13901391
this.selectedTranslationLocale = opts.selectedTranslationLocale;
13911392
}
@@ -1475,7 +1476,6 @@ export default class ComposerService extends Service {
14751476
action: CREATE_TOPIC,
14761477
draftKey: this.topicDraftKey,
14771478
draftSequence: 0,
1478-
locale: this.siteSettings.default_locale,
14791479
});
14801480
}
14811481

@@ -1518,8 +1518,6 @@ export default class ComposerService extends Service {
15181518
isWarning: false,
15191519
hasTargetGroups: opts.hasGroups,
15201520
warningsDisabled: opts.warningsDisabled,
1521-
locale:
1522-
opts?.locale || opts?.post?.locale || this.siteSettings.default_locale,
15231521
});
15241522

15251523
if (!this.model.targetRecipients) {

app/assets/stylesheets/common/components/post-translations.scss

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,3 @@
99
color: var(--quaternary);
1010
}
1111
}
12-
13-
.post-language-selector-content {
14-
z-index: z("composer", "dropdown");
15-
}
16-
17-
.post-language-selector-trigger {
18-
margin-left: 1rem;
19-
20-
.d-button-label {
21-
text-transform: uppercase;
22-
}
23-
}

0 commit comments

Comments
 (0)