mirror of
https://github.com/cheeaun/phanpy.git
synced 2025-02-02 14:16:39 +01:00
Make auto inline translation as a setting, turned off by default
This commit is contained in:
parent
d8b385a742
commit
32a853ecc0
3 changed files with 67 additions and 36 deletions
|
@ -59,6 +59,9 @@
|
||||||
#settings-container div {
|
#settings-container div {
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
}
|
}
|
||||||
|
#settings-container section > ul > li .sub-section hr {
|
||||||
|
margin: 8px 0;
|
||||||
|
}
|
||||||
|
|
||||||
#settings-container section select {
|
#settings-container section select {
|
||||||
padding: 4px;
|
padding: 4px;
|
||||||
|
|
|
@ -255,6 +255,7 @@ function Settings({ onClose }) {
|
||||||
: ''
|
: ''
|
||||||
}`}
|
}`}
|
||||||
>
|
>
|
||||||
|
<div>
|
||||||
<label>
|
<label>
|
||||||
Translate to{' '}
|
Translate to{' '}
|
||||||
<select
|
<select
|
||||||
|
@ -274,11 +275,12 @@ function Settings({ onClose }) {
|
||||||
))}
|
))}
|
||||||
</select>
|
</select>
|
||||||
</label>
|
</label>
|
||||||
|
</div>
|
||||||
|
<hr />
|
||||||
<p class="checkbox-fieldset">
|
<p class="checkbox-fieldset">
|
||||||
<small>
|
|
||||||
Hide "Translate" button for
|
Hide "Translate" button for
|
||||||
{snapStates.settings.contentTranslationHideLanguages
|
{snapStates.settings.contentTranslationHideLanguages.length >
|
||||||
.length > 0 && (
|
0 && (
|
||||||
<>
|
<>
|
||||||
{' '}
|
{' '}
|
||||||
(
|
(
|
||||||
|
@ -290,7 +292,6 @@ function Settings({ onClose }) {
|
||||||
</>
|
</>
|
||||||
)}
|
)}
|
||||||
:
|
:
|
||||||
</small>
|
|
||||||
<div class="checkbox-fields">
|
<div class="checkbox-fields">
|
||||||
{targetLanguages.map((lang) => (
|
{targetLanguages.map((lang) => (
|
||||||
<label>
|
<label>
|
||||||
|
@ -318,7 +319,7 @@ function Settings({ onClose }) {
|
||||||
))}
|
))}
|
||||||
</div>
|
</div>
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p class="insignificant">
|
||||||
<small>
|
<small>
|
||||||
Note: This feature uses an external API to translate,
|
Note: This feature uses an external API to translate,
|
||||||
powered by{' '}
|
powered by{' '}
|
||||||
|
@ -331,6 +332,28 @@ function Settings({ onClose }) {
|
||||||
.
|
.
|
||||||
</small>
|
</small>
|
||||||
</p>
|
</p>
|
||||||
|
<hr />
|
||||||
|
<div>
|
||||||
|
<label>
|
||||||
|
<input
|
||||||
|
type="checkbox"
|
||||||
|
checked={snapStates.settings.contentTranslationAutoInline}
|
||||||
|
disabled={!snapStates.settings.contentTranslation}
|
||||||
|
onChange={(e) => {
|
||||||
|
states.settings.contentTranslationAutoInline =
|
||||||
|
e.target.checked;
|
||||||
|
}}
|
||||||
|
/>{' '}
|
||||||
|
Auto inline translation
|
||||||
|
</label>
|
||||||
|
<p class="insignificant">
|
||||||
|
<small>
|
||||||
|
Automatically show translation for posts in timeline. Only
|
||||||
|
works for <b>short</b> posts without content warning,
|
||||||
|
media and poll.
|
||||||
|
</small>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
|
|
|
@ -52,6 +52,8 @@ const states = proxy({
|
||||||
store.account.get('settings-contentTranslationTargetLanguage') || null,
|
store.account.get('settings-contentTranslationTargetLanguage') || null,
|
||||||
contentTranslationHideLanguages:
|
contentTranslationHideLanguages:
|
||||||
store.account.get('settings-contentTranslationHideLanguages') || [],
|
store.account.get('settings-contentTranslationHideLanguages') || [],
|
||||||
|
contentTranslationAutoInline:
|
||||||
|
store.account.get('settings-contentTranslationAutoInline') ?? false,
|
||||||
cloakMode: store.account.get('settings-cloakMode') ?? false,
|
cloakMode: store.account.get('settings-cloakMode') ?? false,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
@ -80,6 +82,9 @@ subscribe(states, (changes) => {
|
||||||
if (path.join('.') === 'settings.contentTranslation') {
|
if (path.join('.') === 'settings.contentTranslation') {
|
||||||
store.account.set('settings-contentTranslation', !!value);
|
store.account.set('settings-contentTranslation', !!value);
|
||||||
}
|
}
|
||||||
|
if (path.join('.') === 'settings.contentTranslationAutoInline') {
|
||||||
|
store.account.set('settings-contentTranslationAutoInline', !!value);
|
||||||
|
}
|
||||||
if (path.join('.') === 'settings.contentTranslationTargetLanguage') {
|
if (path.join('.') === 'settings.contentTranslationTargetLanguage') {
|
||||||
console.log('SET', value);
|
console.log('SET', value);
|
||||||
store.account.set('settings-contentTranslationTargetLanguage', value);
|
store.account.set('settings-contentTranslationTargetLanguage', value);
|
||||||
|
|
Loading…
Reference in a new issue