mirror of
https://github.com/FrankerFaceZ/FrankerFaceZ.git
synced 2025-09-17 10:16:57 +00:00
4.0.0-rc14.2
* Added: Social media buttons to the FFZ Control Center. * Fixed: Check boxes in settings UI. * Fixed: Use word wrap for usernames in grouped mass gift sub messages. * Fixed: Bug with tab completion breaking chat if Twitch's tab completion handler returns null.
This commit is contained in:
parent
e9d99f0e1c
commit
d1cd145b8a
19 changed files with 197 additions and 47 deletions
|
@ -149,7 +149,7 @@ ${typeof x[1] === 'string' ? x[1] : JSON.stringify(x[1], null, 4)}`
|
|||
FrankerFaceZ.Logger = Logger;
|
||||
|
||||
const VER = FrankerFaceZ.version_info = {
|
||||
major: 4, minor: 0, revision: 0, extra: '-rc14.1',
|
||||
major: 4, minor: 0, revision: 0, extra: '-rc14.2',
|
||||
commit: __git_commit__,
|
||||
build: __webpack_hash__,
|
||||
toString: () =>
|
||||
|
|
|
@ -70,7 +70,36 @@ const FFZ_ICONS = [
|
|||
'clock',
|
||||
'eye',
|
||||
'eye-off',
|
||||
'trash'
|
||||
'trash',
|
||||
'discord',
|
||||
'star',
|
||||
'star-empty',
|
||||
'twitch',
|
||||
'twitter',
|
||||
'download',
|
||||
'upload',
|
||||
'download-cloud',
|
||||
'upload-cloud',
|
||||
'tag',
|
||||
'tags',
|
||||
'retweet',
|
||||
'thumbs-up',
|
||||
'thumbs-down',
|
||||
'bell',
|
||||
'bell-off',
|
||||
'pencil',
|
||||
'info',
|
||||
'help',
|
||||
'calendar',
|
||||
'lock',
|
||||
'lock-open',
|
||||
'arrows-cw',
|
||||
'pin',
|
||||
'pin-outline',
|
||||
'gift',
|
||||
'eyedropper',
|
||||
'github',
|
||||
'user-secret'
|
||||
];
|
||||
|
||||
const FFZ_ALIASES = {
|
||||
|
|
|
@ -35,7 +35,7 @@
|
|||
v-for="i in sort(sec.badges)"
|
||||
:key="i.id"
|
||||
:class="{default: badgeDefault(i.id)}"
|
||||
class="ffz--badge-info tw-pd-y-1 tw-pd-r-1 tw-flex"
|
||||
class="ffz--badge-info tw-pd-y-1 tw-pd-r-1 tw-flex tw-checkbox"
|
||||
>
|
||||
<input
|
||||
:checked="badgeChecked(i.id)"
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
<div class="tw-flex tw-align-items-center ffz--inline">
|
||||
{{ t('setting.actions.preview', 'Preview:') }}
|
||||
|
||||
<div class="tw-pd-x-1">
|
||||
<div class="tw-pd-x-1 tw-checkbox">
|
||||
<input
|
||||
id="as_mod"
|
||||
ref="as_mod"
|
||||
|
@ -27,7 +27,7 @@
|
|||
</label>
|
||||
</div>
|
||||
|
||||
<div v-if="item.inline" class="tw-pd-x-1">
|
||||
<div v-if="item.inline" class="tw-pd-x-1 tw-checkbox">
|
||||
<input
|
||||
id="is_deleted"
|
||||
ref="is_deleted"
|
||||
|
@ -42,7 +42,7 @@
|
|||
</label>
|
||||
</div>
|
||||
|
||||
<div v-if="item.inline" class="tw-pd-x-1">
|
||||
<div v-if="item.inline" class="tw-pd-x-1 tw-checkbox">
|
||||
<input
|
||||
id="with_mod_icons"
|
||||
ref="with_mod_icons"
|
||||
|
@ -57,7 +57,7 @@
|
|||
</label>
|
||||
</div>
|
||||
|
||||
<div class="tw-pd-x-1">
|
||||
<div class="tw-pd-x-1 tw-checkbox">
|
||||
<input
|
||||
id="show_all"
|
||||
ref="show_all"
|
||||
|
|
|
@ -53,6 +53,42 @@
|
|||
|
||||
</div>
|
||||
<div class="tw-mg-l-1 tw-flex-shrink-0 tweet-column">
|
||||
<div class="tw-flex tw-mg-b-1">
|
||||
<a
|
||||
:data-title="t('home.website', 'FrankerFaceZ Website')"
|
||||
class="tw-flex-grow-1 tw-button ffz-tooltip ffz--ffz-button tw-mg-r-1"
|
||||
href="https://www.frankerfacez.com/"
|
||||
target="_blank"
|
||||
rel="noopener"
|
||||
>
|
||||
<span class="tw-button__icon tw-pd-05">
|
||||
<figure class="ffz-i-zreknarf tw-font-size-3" />
|
||||
</span>
|
||||
</a>
|
||||
<a
|
||||
:data-title="t('home.discord', 'Discord')"
|
||||
class="tw-flex-grow-1 tw-button ffz-tooltip ffz--discord-button tw-mg-r-1"
|
||||
href="https://discord.gg/UrAkGhT"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
>
|
||||
<span class="tw-button__icon tw-pd-05-1">
|
||||
<figure class="ffz-i-discord tw-font-size-3" />
|
||||
</span>
|
||||
</a>
|
||||
<a
|
||||
:data-title="t('home.twitter', 'Twitter')"
|
||||
class="tw-flex-grow-1 tw-button ffz-tooltip ffz--twitter-button"
|
||||
href="https://twitter.com/frankerfacez"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
>
|
||||
<span class="tw-button__icon tw-pd-05">
|
||||
<figure class="ffz-i-twitter tw-font-size-3" />
|
||||
</span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<a class="twitter-timeline" data-width="300" data-theme="dark" href="https://twitter.com/FrankerFaceZ?ref_src=twsrc%5Etfw">
|
||||
Tweets by FrankerFaceZ
|
||||
</a>
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
:class="{inherits: isInherited, default: isDefault}"
|
||||
class="ffz--widget ffz--checkbox"
|
||||
>
|
||||
<div class="tw-flex tw-align-items-center">
|
||||
<div class="tw-flex tw-align-items-center tw-checkbox">
|
||||
<input
|
||||
ref="control"
|
||||
:id="item.full_key"
|
||||
|
@ -27,12 +27,14 @@
|
|||
</span>
|
||||
</button>
|
||||
|
||||
<button v-if="has_value" class="tw-mg-l-05 tw-button tw-button--text tw-tooltip-wrapper" @click="clear">
|
||||
<span class="tw-button__text ffz-i-cancel" />
|
||||
<div class="tw-tooltip tw-tooltip--down tw-tooltip--align-right">
|
||||
{{ t('setting.reset', 'Reset to Default') }}
|
||||
</div>
|
||||
</button>
|
||||
<div class="ffz--reset-button">
|
||||
<button v-if="has_value" class="tw-mg-l-05 tw-button tw-button--text tw-tooltip-wrapper" @click="clear">
|
||||
<span class="tw-button__text ffz-i-cancel" />
|
||||
<div class="tw-tooltip tw-tooltip--down tw-tooltip--align-right">
|
||||
{{ t('setting.reset', 'Reset to Default') }}
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<section
|
||||
v-if="item.description"
|
||||
|
|
|
@ -425,7 +425,7 @@ export default class ChatLine extends Module {
|
|||
|
||||
the_list.push(e('span', {
|
||||
role: 'button',
|
||||
className: 'chatter-name',
|
||||
className: 'ffz--giftee-name',
|
||||
onClick: this.ffz_user_click_handler,
|
||||
'data-user': JSON.stringify(x)
|
||||
}, e('span', {
|
||||
|
@ -453,7 +453,7 @@ export default class ChatLine extends Module {
|
|||
sub_msg
|
||||
]),
|
||||
mystery ? e('div', {
|
||||
className: 'tw-mg-l-05 tw-border-l tw-pd-l-05 ffz--sub-expando'
|
||||
className: 'tw-pd-l-05 tw-font-size-4'
|
||||
}, e('figure', {
|
||||
className: `ffz-i-${this.state.ffz_expanded ? 'down' : 'right'}-dir tw-pd-y-1`
|
||||
})) : null
|
||||
|
|
|
@ -115,31 +115,38 @@ export default class TabCompletion extends Module {
|
|||
inst.getMatchedEmotes = function(input) {
|
||||
let results = old_get_matched.call(this, input);
|
||||
|
||||
if ( t.chat.context.get('chat.tab-complete.ffz-emotes') )
|
||||
results = results.concat(t.getEmoteSuggestions(input, this));
|
||||
if ( t.chat.context.get('chat.tab-complete.ffz-emotes') ) {
|
||||
const ffz_emotes = t.getEmoteSuggestions(input, this);
|
||||
if ( Array.isArray(ffz_emotes) && ffz_emotes.length )
|
||||
results = Array.isArray(results) ? results.concat(ffz_emotes) : ffz_emotes;
|
||||
}
|
||||
|
||||
if ( ! t.chat.context.get('chat.tab-complete.emoji') )
|
||||
return results;
|
||||
|
||||
return results.concat(t.getEmojiSuggestions(input, this));
|
||||
const emoji = t.getEmojiSuggestions(input, this);
|
||||
if ( Array.isArray(emoji) && emoji.length )
|
||||
results = Array.isArray(results) ? results.concat(emoji) : emoji;
|
||||
|
||||
return results;
|
||||
}
|
||||
|
||||
const React = this.web_munch.getModule('react'),
|
||||
createElement = React && React.createElement;
|
||||
|
||||
inst.renderFFZEmojiSuggestion = function(data) {
|
||||
return [
|
||||
return (<React.Fragment>
|
||||
<div class="tw-pd-r-05">
|
||||
<img
|
||||
class="emote-autocomplete-provider__image ffz-emoji"
|
||||
src={data.src}
|
||||
srcSet={data.srcset}
|
||||
/>
|
||||
</div>,
|
||||
</div>
|
||||
<div>
|
||||
{data.token}
|
||||
</div>
|
||||
]
|
||||
</React.Fragment>);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -66,7 +66,7 @@
|
|||
<div class="simplebar-content">
|
||||
<div class="tw-pd-1">
|
||||
<div class="ffz--widget ffz--checkbox">
|
||||
<div class="tw-flex tw-align-items-center">
|
||||
<div class="tw-flex tw-align-items-center tw-checkbox">
|
||||
<input
|
||||
id="autoHostSettings:enabled"
|
||||
:checked="autoHostSettings.enabled"
|
||||
|
@ -85,7 +85,7 @@
|
|||
</section>
|
||||
</div>
|
||||
<div class="ffz--widget ffz--checkbox">
|
||||
<div class="tw-flex tw-align-items-center">
|
||||
<div class="tw-flex tw-align-items-center tw-checkbox">
|
||||
<input
|
||||
id="autoHostSettings:team_host"
|
||||
:checked="autoHostSettings.team_host"
|
||||
|
@ -105,7 +105,7 @@
|
|||
</section>
|
||||
</div>
|
||||
<div class="ffz--widget ffz--checkbox">
|
||||
<div class="tw-flex tw-align-items-center">
|
||||
<div class="tw-flex tw-align-items-center tw-checkbox">
|
||||
<input
|
||||
id="autoHostSettings:vodcast_hosting"
|
||||
:checked="!autoHostSettings.deprioritize_vodcast"
|
||||
|
@ -124,7 +124,7 @@
|
|||
</section>
|
||||
</div>
|
||||
<div class="ffz--widget ffz--checkbox">
|
||||
<div class="tw-flex tw-align-items-center">
|
||||
<div class="tw-flex tw-align-items-center tw-checkbox">
|
||||
<input
|
||||
id="autoHostSettings:recommended_host"
|
||||
:checked="autoHostSettings.recommended_host"
|
||||
|
@ -142,7 +142,7 @@
|
|||
</section>
|
||||
</div>
|
||||
<div class="ffz--widget ffz--checkbox">
|
||||
<div class="tw-flex tw-align-items-center">
|
||||
<div class="tw-flex tw-align-items-center tw-checkbox">
|
||||
<input
|
||||
id="autoHostSettings:strategy"
|
||||
:checked="autoHostSettings.strategy === 'random'"
|
||||
|
|
|
@ -12,11 +12,6 @@
|
|||
pointer-events: none;
|
||||
}
|
||||
|
||||
.ffz--sub-expando {
|
||||
font-size: 150%;
|
||||
margin-right: -.5rem;
|
||||
}
|
||||
|
||||
.chat-list__lines .simplebar-scrollbar {
|
||||
will-change: opacity;
|
||||
}
|
||||
|
@ -128,7 +123,17 @@
|
|||
}
|
||||
|
||||
|
||||
.chat-line__username:hover {
|
||||
.ffz--giftee-name {
|
||||
cursor: pointer;
|
||||
outline: none;
|
||||
|
||||
&:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
}
|
||||
|
||||
.chat-line__username:hover,
|
||||
.chatter-name:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue