@@ -99,12 +174,19 @@ import { debounce } from '../../../utilities/object';
const STOCK_URLS = [
'https://www.twitch.tv/sirstendec',
+ 'https://www.twitch.tv/videos/42968068',
+ 'https://www.twitch.tv/sirstendec/clip/HedonisticMagnificentSoymilkChocolateRain',
+ 'https://clips.twitch.tv/HedonisticMagnificentSoymilkChocolateRain',
'https://discord.gg/UrAkGhT',
'https://www.youtube.com/watch?v=CAL4WMpBNs0',
'https://xkcd.com/221/',
'https://github.com/FrankerFaceZ/FrankerFaceZ',
'https://twitter.com/frankerfacez',
- 'https://twitter.com/FrankerFaceZ/status/1240717057630625792'
+ 'https://twitter.com/FrankerFaceZ/status/1240717057630625792',
+ 'http://testsafebrowsing.appspot.com/apiv4/ANY_PLATFORM/MALWARE/URL/',
+ 'https://en.wikipedia.org/wiki/Emoji',
+ 'https://en.wikipedia.org/wiki/Naginata',
+ 'https://www.smbc-comics.com/comic/punishment'
]
export default {
@@ -118,13 +200,26 @@ export default {
props: ['item', 'context'],
data() {
+ const state = window.history.state;
+ let url = state?.ffz_lt_url,
+ is_custom = false;
+ if ( url )
+ is_custom = ! STOCK_URLS.includes(url);
+ else
+ url = STOCK_URLS[Math.floor(Math.random() * STOCK_URLS.length)];
+
return {
stock_urls: deep_copy(STOCK_URLS),
- raw_url: STOCK_URLS[Math.floor(Math.random() * STOCK_URLS.length)],
+ raw_url: url,
+ isCustomURL: is_custom,
rich_data: null,
- isCustomURL: false,
raw_loading: false,
raw_data: null,
+
+ force_media: state.ffz_lt_media ?? true,
+ force_unsafe: state.ffz_lt_unsafe ?? false,
+ force_tooltip: state.ffz_lt_tip ?? false,
+
events: {
on: (...args) => this.item.getChat().on(...args),
off: (...args) => this.item.getChat().off(...args)
@@ -143,24 +238,75 @@ export default {
},
watch: {
+ raw_url() {
+ if ( ! this.isCustomURL )
+ this.$refs.text.value = this.raw_url;
+ },
+
url() {
this.rebuildData();
+ this.saveState();
+
+ if ( this.force_tooltip ) {
+ const link = this.$refs.link;
+ if ( ! link || ! this.chat )
+ return;
+
+ const tips = this.chat.resolve('tooltips')?.tips;
+ if ( ! tips )
+ return;
+
+ tips._exit(link);
+ setTimeout(() => tips._enter(link), 250);
+ }
},
rich_data() {
this.refreshRaw();
+ },
+
+ force_tooltip() {
+ const link = this.$refs.link;
+ if ( ! link || ! this.chat )
+ return;
+
+ const tips = this.chat.resolve('tooltips')?.tips;
+ if ( ! tips )
+ return;
+
+ if ( this.force_tooltip )
+ tips._enter(link);
+ else
+ tips._exit(link);
+
}
},
created() {
this.rebuildData = debounce(this.rebuildData, 250);
this.refreshRaw = debounce(this.refreshRaw, 250);
+ this.onTextChange = debounce(this.onTextChange, 500);
},
mounted() {
this.chat = this.item.getChat();
this.chat.on('chat:update-link-resolver', this.checkRefreshRaw, this);
this.rebuildData();
+
+ this.$refs.text.value = this.raw_url;
+
+
+ if ( this.force_tooltip ) {
+ const link = this.$refs.link;
+ if ( ! link || ! this.chat )
+ return;
+
+ const tips = this.chat.resolve('tooltips')?.tips;
+ if ( ! tips )
+ return;
+
+ tips._enter(link);
+ }
},
beforeDestroy() {
@@ -169,6 +315,21 @@ export default {
},
methods: {
+ saveState() {
+ try {
+ window.history.replaceState({
+ ...window.history.state,
+ ffz_lt_url: this.raw_url,
+ ffz_lt_media: this.force_media,
+ ffz_lt_unsafe: this.force_unsafe,
+ ffz_lt_tip: this.force_tooltip
+ }, document.title);
+
+ } catch(err) {
+ /* no-op */
+ }
+ },
+
checkRefreshRaw(url) {
if ( ! url || (url && url === this.url) )
this.refreshRaw();
@@ -220,8 +381,26 @@ export default {
this.isCustomURL = true;
},
+ updateText() {
+ if ( this.isCustomURL )
+ this.raw_url = this.$refs.text.value;
+ },
+
onTextChange() {
- this.raw_url = this.$refs.text
+ this.updateText();
+ },
+
+ onCheck() {
+ this.force_media = this.$refs.force_media.checked;
+ this.force_unsafe = this.$refs.force_unsafe.checked;
+
+ this.saveState();
+ },
+
+ onTooltip() {
+ this.force_tooltip = this.$refs.force_tooltip.checked;
+
+ this.saveState();
}
}
diff --git a/src/modules/main_menu/components/main-menu.vue b/src/modules/main_menu/components/main-menu.vue
index 28513617..1dc6e8e3 100644
--- a/src/modules/main_menu/components/main-menu.vue
+++ b/src/modules/main_menu/components/main-menu.vue
@@ -194,6 +194,17 @@ export default {
this.markSeen(item);
this.currentItem = item;
+ this.restoredItem = true;
+
+ try {
+ window.history.replaceState({
+ ...window.history.state,
+ ffzcc: item.full_key
+ }, document.title)
+ } catch(err) {
+ /* no-op */
+ }
+
let current = item;
while(current = current.parent) // eslint-disable-line no-cond-assign
current.expanded = true;
diff --git a/src/modules/main_menu/index.js b/src/modules/main_menu/index.js
index 5d625cf3..87050eee 100644
--- a/src/modules/main_menu/index.js
+++ b/src/modules/main_menu/index.js
@@ -36,6 +36,7 @@ export default class MainMenu extends Module {
//this.should_enable = true;
+ this.exclusive = false;
this.new_seen = false;
this._settings_tree = null;
@@ -198,6 +199,12 @@ export default class MainMenu extends Module {
this.off('site.menu_button:clicked', this.dialog.toggleVisible, this.dialog);
}
+ openExclusive() {
+ this.exclusive = true;
+ this.dialog.exclusive = true;
+ this.enable().then(() => this.dialog.show());
+ }
+
runFix(amount) {
this.settings.updateContext({
force_chat_fix: (this.settings.get('context.force_chat_fix') || 0) + amount
@@ -278,14 +285,41 @@ export default class MainMenu extends Module {
const root = this._vue.$children[0],
item = root.currentItem,
key = item && item.full_key,
+ wants_old = ! root.restoredItem,
+ state = window.history.state,
tree = this.getSettingsTree();
root.nav = tree;
root.nav_keys = tree.keys;
- root.currentItem = tree.keys[key] || (this._wanted_page && tree.keys[this._wanted_page]) || (this.has_update ?
- tree.keys['home.changelog'] :
- tree.keys['home']);
+
+ let current, restored = true;
+
+ if ( this._wanted_page )
+ current = tree.keys[this._wanted_page];
+
+ if ( ! current && wants_old ) {
+ if ( state?.ffzcc )
+ current = tree.keys[state.ffzcc];
+ if ( ! current ) {
+ const params = new URL(window.location).searchParams,
+ key = params?.get?.('ffz-settings');
+ current = key && tree.keys[key];
+ }
+ if ( ! current )
+ restored = false;
+ }
+
+ if ( ! current )
+ current = tree.keys[key];
+
+ if ( ! current )
+ current = this.has_update ?
+ tree.keys['home.changelog'] :
+ tree.keys['home'];
+
+ root.currentItem = current;
+ root.restoredItem = restored;
this._wanted_page = null;
}
@@ -813,7 +847,26 @@ export default class MainMenu extends Module {
getData() {
const settings = this.getSettingsTree(),
context = this.getContext(),
- current = (this._wanted_page && settings.keys[this._wanted_page]) || (this.has_update ? settings.keys['home.changelog'] : settings.keys['home']);
+ state = window.history.state;
+
+ let current, restored = true;
+ if ( this._wanted_page )
+ current = settings.keys[this._wanted_page];
+ if ( ! current && state?.ffzcc ) {
+ current = settings.keys[state.ffzcc];
+ if ( ! current )
+ restored = false;
+ } if ( ! current ) {
+ const params = new URL(window.location).searchParams,
+ key = params?.get?.('ffz-settings');
+ current = key && settings.keys[key];
+ if ( ! current )
+ restored = false;
+ }
+ if ( ! current )
+ current = this.has_update ?
+ settings.keys['home.changelog'] :
+ settings.keys['home'];
this._wanted_page = null;
this.markSeen(current);
@@ -834,6 +887,7 @@ export default class MainMenu extends Module {
nav: settings,
currentItem: current,
+ restoredItem: true, // restored, -- Look into making this smoother later.
nav_keys: settings.keys,
has_unseen,
diff --git a/src/modules/tooltips.js b/src/modules/tooltips.js
index 6e59fada..485db13c 100644
--- a/src/modules/tooltips.js
+++ b/src/modules/tooltips.js
@@ -77,12 +77,12 @@ export default class TooltipProvider extends Module {
this.on(':cleanup', this.cleanup);
}
-
_createInstance(container, klass = 'ffz-tooltip', default_type) {
return new Tooltip(container, klass, {
html: true,
i18n: this.i18n,
live: true,
+ check_modifiers: true,
delayHide: this.checkDelayHide.bind(this, default_type),
delayShow: this.checkDelayShow.bind(this, default_type),
@@ -117,7 +117,6 @@ export default class TooltipProvider extends Module {
}
-
onFSChange() {
const tip_element = document.fullscreenElement || this.container;
if ( tip_element !== this.tip_element ) {
@@ -132,6 +131,7 @@ export default class TooltipProvider extends Module {
this.tips.cleanup();
}
+
delegatePopperConfig(default_type, target, tip, pop_opts) {
const type = target.dataset.tooltipType || default_type,
handler = this.types[type];
diff --git a/src/sites/twitch-twilight/index.js b/src/sites/twitch-twilight/index.js
index e32d6789..0a7b8f04 100644
--- a/src/sites/twitch-twilight/index.js
+++ b/src/sites/twitch-twilight/index.js
@@ -126,11 +126,8 @@ export default class Twilight extends BaseSite {
// settings window in exclusive mode.
const params = new URL(window.location).searchParams;
if ( params ) {
- if ( params.has('ffz-settings') ) {
- const main_menu = this.resolve('main_menu');
- main_menu.dialog.exclusive = true;
- main_menu.enable();
- }
+ if ( params.has('ffz-settings') )
+ this.resolve('main_menu').openExclusive();
if ( params.has('ffz-translate') ) {
const translation = this.resolve('translation_ui');
diff --git a/src/sites/twitch-twilight/modules/channel.jsx b/src/sites/twitch-twilight/modules/channel.jsx
index db54cdf0..167eb559 100644
--- a/src/sites/twitch-twilight/modules/channel.jsx
+++ b/src/sites/twitch-twilight/modules/channel.jsx
@@ -31,6 +31,7 @@ export default class Channel extends Module {
this.inject('metadata');
this.inject('socket');
+
this.settings.add('channel.panel-tips', {
default: true,
ui: {
@@ -39,7 +40,10 @@ export default class Channel extends Module {
component: 'setting-check-box'
},
- changed: () => this.updatePanelTips()
+ changed: val => {
+ this.updatePanelTips();
+ this.css_tweaks.toggle('panel-links', val);
+ }
});
this.settings.add('channel.auto-click-chat', {
@@ -107,6 +111,8 @@ export default class Channel extends Module {
onEnable() {
this.updateChannelColor();
+ this.css_tweaks.toggle('panel-links', this.settings.get('channel.panel-tips'));
+
this.on('i18n:update', this.updateLinks, this);
this.ChannelPanels.on('mount', this.updatePanelTips, this);
diff --git a/src/sites/twitch-twilight/modules/chat/line.js b/src/sites/twitch-twilight/modules/chat/line.js
index 1eb6f39e..c97ae887 100644
--- a/src/sites/twitch-twilight/modules/chat/line.js
+++ b/src/sites/twitch-twilight/modules/chat/line.js
@@ -56,6 +56,7 @@ export default class ChatLine extends Module {
async onEnable() {
this.on('chat.overrides:changed', id => this.updateLinesByUser(id), this);
this.on('chat:update-lines', this.updateLines, this);
+ this.on('i18n:update', this.updateLines, this);
this.chat.context.on('changed:chat.emoji.style', this.updateLines, this);
this.chat.context.on('changed:chat.bits.stack', this.updateLines, this);
diff --git a/src/sites/twitch-twilight/modules/chat/rich_content.jsx b/src/sites/twitch-twilight/modules/chat/rich_content.jsx
index bdefb6d4..3c58631b 100644
--- a/src/sites/twitch-twilight/modules/chat/rich_content.jsx
+++ b/src/sites/twitch-twilight/modules/chat/rich_content.jsx
@@ -6,7 +6,6 @@
import Module from 'utilities/module';
import {timeout, has} from 'utilities/object';
-import {ALLOWED_ATTRIBUTES, ALLOWED_TAGS} from 'utilities/constants';
const ERROR_IMAGE = 'https://static-cdn.jtvnw.net/emoticons/v1/58765/2.0';
@@ -14,10 +13,21 @@ export default class RichContent extends Module {
constructor(...args) {
super(...args);
+ this.inject('chat');
this.inject('i18n');
this.inject('site.web_munch');
this.RichContent = null;
+ this.has_tokenizer = false;
+ }
+
+ async loadTokenizer() {
+ if ( this.has_tokenizer )
+ return;
+
+ this.tokenizer = await import(/* webpack-chunk-name: 'rich_tokens' */ 'utilities/rich_tokens');
+ this.has_tokenizer = true;
+ return this.tokenizer;
}
async onEnable() {
@@ -34,8 +44,12 @@ export default class RichContent extends Module {
this.state = {
loaded: false,
- error: false
+ error: false,
+ has_tokenizer: t.has_tokenizer
}
+
+ if ( ! t.has_tokenizer )
+ t.loadTokenizer().then(() => this.setState({...this.state, has_tokenizer: true}));
}
async load() {
@@ -49,16 +63,26 @@ export default class RichContent extends Module {
data = await data;
}
+ console.log('data', data);
+
if ( ! data )
data = {
- error: true,
- title: t.i18n.t('card.error', 'An error occurred.'),
- desc_1: t.i18n.t('card.empty', 'No data was returned.')
+ error: {type: 'i18n', key: 'card.empty', phrase: 'No data was returned.'}
}
+ if ( data.error )
+ data = {
+ short: {
+ type: 'header',
+ image: {type: 'image', url: ERROR_IMAGE},
+ title: {type: 'i18n', key: 'card.error', phrase: 'An error occurred.'},
+ subtitle: data.error
+ }
+ };
+
this.setState(Object.assign({
loaded: true,
- url: this.props.url
+ url: this.props.url,
}, data));
} catch(err) {
@@ -66,11 +90,15 @@ export default class RichContent extends Module {
t.log.capture(err);
this.setState({
+ has_tokenizer: t.has_tokenizer,
loaded: true,
- error: true,
url: this.props.url,
- title: t.i18n.t('card.error', 'An error occurred.'),
- desc_1: String(err)
+ short: {
+ type: 'header',
+ image: {type: 'image', url: ERROR_IMAGE},
+ title: {type: 'i18n', key: 'card.error', phrase: 'An error occurred.'},
+ subtitle: String(err)
+ }
});
}
}
@@ -83,7 +111,8 @@ export default class RichContent extends Module {
reload() {
this.setState({
loaded: false,
- error: false
+ error: false,
+ has_tokenizer: t.has_tokenizer
}, () => this.load());
}
@@ -97,138 +126,83 @@ export default class RichContent extends Module {
t.off('chat:update-link-resolver', this.checkReload, this);
}
- renderCardImage() {
- return (
)
- }
-
- renderTokens(tokens) {
- let out = [];
- if ( ! Array.isArray(tokens) )
- tokens = [tokens];
-
- for(const token of tokens) {
- if ( Array.isArray(token) )
- out = out.concat(this.renderTokens(token));
-
- else if ( typeof token !== 'object' )
- out.push(token);
-
- else if ( token.type === 't' ) {
- const content = {};
- if ( token.content )
- for(const [key,val] of Object.entries(token.content))
- content[key] = this.renderTokens(val);
-
- out = out.concat(t.i18n.tList(token.key, token.phrase, content));
-
- } else {
- const tag = token.tag || 'span';
- if ( ! ALLOWED_TAGS.includes(tag) ) {
- console.log('Skipping disallowed tag', tag);
- continue;
- }
-
- const attrs = {};
- if ( token.attrs ) {
- for(const [key,val] of Object.entries(token.attrs)) {
- if ( ! ALLOWED_ATTRIBUTES.includes(key) && ! key.startsWith('data-') )
- console.log('Skipping disallowed attribute', key);
- else
- attrs[key] = val;
- }
- }
-
- const el = createElement(tag, {
- className: token.class,
- ...attrs
- }, this.renderTokens(token.content));
-
- out.push(el);
- }
- }
-
- return out;
- }
-
- renderCardDescription() {
- let title = this.state.title,
- title_tokens = this.state.title_tokens,
- desc_1 = this.state.desc_1,
- desc_1_tokens = this.state.desc_1_tokens,
- desc_2 = this.state.desc_2,
- desc_2_tokens = this.state.desc_2_tokens;
-
- if ( ! this.state.loaded ) {
- desc_1 = t.i18n.t('card.loading', 'Loading...');
- desc_1_tokens = desc_2 = desc_2_tokens = title = title_tokens = null;
- }
-
- return (
)
- }
-
renderCard() {
if ( this.props.renderBody )
return this.props.renderBody(this.state, this, createElement);
- if ( this.state.html )
- return
;
+ return [
+ this.renderUnsafe(),
+ this.renderBody()
+ ];
+ }
+
+ renderUnsafe() {
+ if ( ! this.state.unsafe )
+ return null;
+
+ const reasons = Array.from(new Set(this.state.urls.map(url => url.flags).flat())).join(', ').toLowerCase();
+
+ return (
);
+ }
+
+ renderBody() {
+ const doc = this.props.force_full ? this.state.full : this.state.short;
+ if ( t.has_tokenizer && this.state.loaded && doc ) {
+ return (
+ {t.tokenizer.renderTokens(doc, createElement, {
+ vue: false,
+ tList: (...args) => t.i18n.tList(...args),
+ i18n: t.i18n,
+
+ allow_media: t.chat.context.get('tooltip.link-images'),
+ allow_unsafe: t.chat.context.get('tooltip.link-nsfw-images')
+ })}
+
);
+
+ } else
+ return this.renderBasic();
+ }
+
+ renderBasic() {
+ let title, description;
+ if ( this.state.error ) {
+ title = t.i18n.t('card.error', 'An error occured.');
+ description = this.state.error;
+
+ } else if ( this.state.loaded && this.state.has_tokenizer ) {
+ title = this.state.title;
+ description = this.state.description;
+ } else {
+ description = t.i18n.t('card.loading', 'Loading...');
+ }
+
+ if ( ! title && ! description )
+ description = t.i18n.t('card.empty', 'No data was returned.');
+
+ description = description ? description.split(/\n+/).slice(0,2).map(desc =>
+
+ ) : [];
return [
- this.renderCardImage(),
- this.renderCardDescription()
+ ,
+ (
;
+ const tooltip = this.props.card_tooltip && this.state.full && ! this.props.force_full;
if ( this.state.url ) {
- const tooltip = this.props.card_tooltip;
content = (
diff --git a/src/sites/twitch-twilight/modules/css_tweaks/styles/panel-links.scss b/src/sites/twitch-twilight/modules/css_tweaks/styles/panel-links.scss
new file mode 100644
index 00000000..809eb5d2
--- /dev/null
+++ b/src/sites/twitch-twilight/modules/css_tweaks/styles/panel-links.scss
@@ -0,0 +1,11 @@
+.channel-panels {
+ .default-panel {
+ & > .tw-link {
+ display: block;
+
+ & > * {
+ pointer-events: none;
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/sites/twitch-twilight/modules/css_tweaks/styles/swap-sidebars.scss b/src/sites/twitch-twilight/modules/css_tweaks/styles/swap-sidebars.scss
index 83392b3b..c7041675 100644
--- a/src/sites/twitch-twilight/modules/css_tweaks/styles/swap-sidebars.scss
+++ b/src/sites/twitch-twilight/modules/css_tweaks/styles/swap-sidebars.scss
@@ -72,7 +72,9 @@ body .whispers--theatre-mode.whispers--right-column-expanded-beside {
right: 0 !important;
}
-.channel-root__scroll-area--theatre-mode .channel-info-bar {
- left: calc(var(--ffz-chat-width) + 5rem) !important;
- right: 25rem !important;
+.channel-root__scroll-area--theatre-mode {
+ .channel-info-content > div:first-child, .channel-info-bar {
+ left: calc(var(--ffz-chat-width) + 5rem) !important;
+ right: 40rem !important;
+ }
}
\ No newline at end of file
diff --git a/src/sites/twitch-twilight/modules/player.jsx b/src/sites/twitch-twilight/modules/player.jsx
index 2332a124..9fbfeed5 100644
--- a/src/sites/twitch-twilight/modules/player.jsx
+++ b/src/sites/twitch-twilight/modules/player.jsx
@@ -1517,6 +1517,9 @@ export default class Player extends Module {
if ( ! this.settings.get('player.theatre.auto-enter') || ! inst._ffz_mounted )
return;
+ if ( this.router.current_name === 'user-home' )
+ return;
+
if ( inst.props.channelHomeLive || inst.props.channelHomeCarousel || inst.props.theatreModeEnabled )
return;
diff --git a/src/sites/twitch-twilight/modules/theme/index.js b/src/sites/twitch-twilight/modules/theme/index.js
index d10adb0e..47cd7153 100644
--- a/src/sites/twitch-twilight/modules/theme/index.js
+++ b/src/sites/twitch-twilight/modules/theme/index.js
@@ -53,6 +53,28 @@ export default class ThemeEngine extends Module {
changed: () => this.updateCSS()
});
+ this.settings.add('theme.color.tooltip.background', {
+ default: '',
+ ui: {
+ path: 'Appearance > Theme >> Colors',
+ title: 'Tooltip Background',
+ description: 'If not set, the tooltip settings will be automatically adjusted based on the brightness of the background.',
+ component: 'setting-color-box',
+ alpha: true
+ },
+ changed: () => this.updateCSS()
+ });
+
+ this.settings.add('theme.color.tooltip.text', {
+ default: '',
+ ui: {
+ path: 'Appearance > Theme >> Colors',
+ title: 'Tooltip Text',
+ component: 'setting-color-box'
+ },
+ changed: () => this.updateCSS()
+ });
+
this.settings.add('theme.dark', {
requires: ['theme.is-dark'],
default: false,
@@ -176,6 +198,37 @@ The CSS loaded by this setting is far too heavy and can cause performance issues
bits.push(`--color-text-alt-2: ${hsla._a(alpha - 0.4).toCSS()};`);
}
+ // Tooltips
+ let tooltip_bg = Color.RGBA.fromCSS(this.settings.get('theme.color.tooltip.background')),
+ tooltip_dark;
+ if ( ! tooltip_bg && background )
+ tooltip_bg = Color.RGBA.fromCSS(dark ? '#FFF' : '#000');
+
+ if ( tooltip_bg ) {
+ bits.push(`--color-background-tooltip: ${tooltip_bg.toCSS()};`);
+
+ const hsla = tooltip_bg.toHSLA(),
+ luma = hsla.l;
+
+ tooltip_dark = luma < 0.5;
+ } else
+ tooltip_dark = ! dark;
+
+ let tooltip_text = Color.RGBA.fromCSS(this.settings.get('theme.color.tooltip.text'));
+ const has_tt_text = tooltip_text || tooltip_bg;
+ if ( ! tooltip_text )
+ tooltip_text = Color.RGBA.fromCSS(tooltip_dark ? '#FFF' : '#000');
+
+ if ( tooltip_text ) {
+ if ( has_tt_text )
+ bits.push(`--color-text-tooltip: ${tooltip_text.toCSS()};`);
+
+ const hsla = tooltip_text.toHSLA(),
+ alpha = hsla.a;
+
+ bits.push(`--color-text-tooltip-alt: ${hsla._a(alpha - 0.2).toCSS()};`);
+ bits.push(`--color-text-tooltip-alt-2: ${hsla._a(alpha - 0.4).toCSS()};`);
+ }
if ( bits.length ) {
this.css_tweaks.set('colors', `body {${bits.join('\n')}}`);
diff --git a/src/sites/twitch-twilight/styles/channel.scss b/src/sites/twitch-twilight/styles/channel.scss
index 517792ca..b8b298b9 100644
--- a/src/sites/twitch-twilight/styles/channel.scss
+++ b/src/sites/twitch-twilight/styles/channel.scss
@@ -34,18 +34,6 @@
}
}
-.channel-panels {
- .default-panel {
- & > .tw-link {
- display: block;
-
- & > * {
- pointer-events: none;
- }
- }
- }
-}
-
.tw-root--theme-ffz, .tw-root--theme-ffz.tw-root--theme-dark, .tw-root--theme-dark, body {
.ffz-stat > .tw-button--text,
.ffz-stat.tw-button--text {
diff --git a/src/sites/twitch-twilight/styles/chat.scss b/src/sites/twitch-twilight/styles/chat.scss
index e3cebe79..277dd867 100644
--- a/src/sites/twitch-twilight/styles/chat.scss
+++ b/src/sites/twitch-twilight/styles/chat.scss
@@ -66,14 +66,6 @@
border-right: .5rem solid var(--ffz-color-accent);
}
- .chat-card__preview-img.square {
- width: 4.5rem;
-
- .tw-aspect__spacer {
- padding-top: 100% !important;
- }
- }
-
.chat-card__title {
max-width: unset;
}
diff --git a/src/std-components/markdown.vue b/src/std-components/markdown.vue
index 881e50ce..50095240 100644
--- a/src/std-components/markdown.vue
+++ b/src/std-components/markdown.vue
@@ -22,8 +22,10 @@ export default {
md.use(MILA, {
attrs: {
+ class: 'ffz-tooltip',
target: '_blank',
- rel: 'noopener'
+ rel: 'noopener',
+ 'data-tooltip-type': 'link'
}
});
diff --git a/src/utilities/constants.js b/src/utilities/constants.js
index 3e102db1..7c1cd4c5 100644
--- a/src/utilities/constants.js
+++ b/src/utilities/constants.js
@@ -18,17 +18,11 @@ export const LV_SERVER = 'https://cbenni.com/api';
export const LV_SOCKET_SERVER = 'wss://cbenni.com/socket.io/';
-export const ALLOWED_TAGS = [
- 'strong', 'em', 'i', 'b', 'time', 'br', 'hr', 'div', 'span', 'img', 'figure', 'p', 'a', 'video', 'audio', 'blockquote', 'heading', 'section', 'nav', 'footer', 'aside', 'article', 'source', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6'
-];
-
-export const ALLOWED_ATTRIBUTES = [
- 'datetime', 'src', 'href', 'style', 'alt', 'title', 'height', 'width', 'srcset', 'autoplay', 'volume', 'muted', 'loop', 'poster', 'type'
-];
-
-
export const KEYS = {
Enter: 13,
+ Shift: 16,
+ Control: 17,
+ Alt: 18,
Escape: 27,
Space: 32,
PageUp: 33,
@@ -38,7 +32,9 @@ export const KEYS = {
ArrowLeft: 37,
ArrowUp: 38,
ArrowRight: 39,
- ArrowDown: 40
+ ArrowDown: 40,
+ Meta: 91,
+ Context: 93
};
diff --git a/src/utilities/data/user-fetch.gql b/src/utilities/data/user-fetch.gql
index 94c474af..4194b43d 100644
--- a/src/utilities/data/user-fetch.gql
+++ b/src/utilities/data/user-fetch.gql
@@ -3,11 +3,13 @@ query FFZ_FetchUser($id: ID, $login: String) {
id
login
displayName
+ description
profileImageURL(width: 50)
profileViewCount
primaryColorHex
broadcastSettings {
id
+ title
game {
id
displayName
@@ -15,6 +17,7 @@ query FFZ_FetchUser($id: ID, $login: String) {
}
stream {
id
+ previewImageURL
}
followers {
totalCount
diff --git a/src/utilities/dom.js b/src/utilities/dom.js
index 88f0d07c..b8f79432 100644
--- a/src/utilities/dom.js
+++ b/src/utilities/dom.js
@@ -13,7 +13,7 @@ const ATTRS = [
'hidden', 'high', 'href', 'hreflang', 'http-equiv', 'icon', 'id',
'integrity', 'ismap', 'itemprop', 'keytype', 'kind', 'label', 'lang',
'language', 'list', 'loop', 'low', 'manifest', 'max', 'maxlength',
- 'minlength', 'media', 'method', 'min', 'multiple', 'muted', 'name',
+ 'minlength', 'media', 'method', 'min', 'multiple', 'name',
'novalidate', 'open', 'optimum', 'pattern', 'ping', 'placeholder', 'poster',
'preload', 'radiogroup', 'readonly', 'rel', 'required', 'reversed', 'rows',
'rowspan', 'sandbox', 'scope', 'scoped', 'seamless', 'selected', 'shape',
@@ -22,6 +22,10 @@ const ATTRS = [
'title', 'type', 'usemap', 'value', 'width', 'wrap'
];
+const BOOLEAN_ATTRS = [
+ 'controls', 'autoplay', 'loop'
+];
+
const range = document.createRange();
@@ -95,8 +99,12 @@ export function createElement(tag, props, ...children) {
el.style.cssText = prop;
else
for(const k in prop)
- if ( has(prop, k) )
- el.style[k] = prop[k];
+ if ( has(prop, k) ) {
+ if ( has(el.style, k) )
+ el.style[k] = prop[k];
+ else
+ el.style.setProperty(k, prop[k]);
+ }
} else if ( lk === 'dataset' ) {
for(const k in prop)
@@ -114,11 +122,16 @@ export function createElement(tag, props, ...children) {
else if ( lk.startsWith('data-') )
el.dataset[camelCase(lk.slice(5))] = prop;
- else if ( lk.startsWith('aria-') || ATTRS.includes(lk) )
+ else if ( BOOLEAN_ATTRS.includes(lk) ) {
+ if ( prop && prop !== 'false' )
+ el.setAttribute(key, prop);
+ console.log('bool-attr', key, prop);
+
+ } else if ( lk.startsWith('aria-') || ATTRS.includes(lk) )
el.setAttribute(key, prop);
else
- el[key] = props[key];
+ el[key] = prop;
}
if ( children )
diff --git a/src/utilities/ffz-icons.js b/src/utilities/ffz-icons.js
index 9451a23c..89b97fe5 100644
--- a/src/utilities/ffz-icons.js
+++ b/src/utilities/ffz-icons.js
@@ -97,5 +97,8 @@ export default [
"viewers",
"move",
"chat-empty",
- "chat"
+ "chat",
+ "location",
+ "link",
+ "volume-off"
];
\ No newline at end of file
diff --git a/src/utilities/object.js b/src/utilities/object.js
index 2513e76f..cd41fe05 100644
--- a/src/utilities/object.js
+++ b/src/utilities/object.js
@@ -540,6 +540,51 @@ export function glob_to_regex(input) {
}
+/**
+ * Truncate a string. Tries to intelligently break the string in white-space
+ * if possible, without back-tracking. The returned string can be up to
+ * `ellipsis.length + target + overage` characters long.
+ * @param {String} str The string to truncate.
+ * @param {Number} target The target length for the result
+ * @param {Number} overage Accept up to this many additional characters for a better result
+ * @param {String} [ellipsis='…'] The string to append when truncating
+ * @param {Boolean} [break_line=true] If true, attempt to break at the first LF
+ * @param {Boolean} [trim=true] If true, runs trim() on the string before truncating
+ * @returns {String} The truncated string
+ */
+export function truncate(str, target = 100, overage = 15, ellipsis = '…', break_line = true, trim = true) {
+ if ( ! str || ! str.length )
+ return str;
+
+ if ( trim )
+ str = str.trim();
+
+ let idx = break_line ? str.indexOf('\n') : -1;
+ if ( idx === -1 || idx > target )
+ idx = target;
+
+ if ( str.length <= idx )
+ return str;
+
+ let out = str.slice(0, idx).trimRight();
+ if ( overage > 0 && out.length >= idx ) {
+ let next_space = str.slice(idx).search(/\s+/);
+ if ( next_space === -1 && overage + idx > str.length )
+ next_space = str.length - idx;
+
+ if ( next_space !== -1 && next_space <= overage ) {
+ if ( str.length <= (idx + next_space) )
+ return str;
+
+ out = str.slice(0, idx + next_space);
+ }
+ }
+
+ return out + ellipsis;
+}
+
+
+
export class SourcedSet {
constructor() {
this._cache = [];
diff --git a/src/utilities/rich_tokens.js b/src/utilities/rich_tokens.js
new file mode 100644
index 00000000..cba7c855
--- /dev/null
+++ b/src/utilities/rich_tokens.js
@@ -0,0 +1,946 @@
+'use strict';
+
+// ============================================================================
+// Rich Content Tokens
+// ============================================================================
+
+import {has} from 'utilities/object';
+
+export const TOKEN_TYPES = {};
+
+const validate = (input, valid) => valid.includes(input) ? input : null;
+
+const VALID_WEIGHTS = ['regular', 'bold', 'semibold'],
+ VALID_COLORS = ['base', 'alt', 'alt-2', 'link'],
+ VALID_SIZES = ['1', '2,' ,'3','4','5','6','7','8'],
+ VALID_WRAPS = ['nowrap', 'pre-wrap'],
+
+ VALID_PADDING = {
+ small: '05',
+ normal: 'normal',
+ large: 'large',
+ huge: 'huge'
+ };
+
+// ============================================================================
+// Render Tokens
+// ============================================================================
+
+function applySpacing(term, token, classes, styles) {
+ for(const mode of ['', '-x','-y','-t','-r','-b','-l']) {
+ const key = `${term}${mode}`,
+ value = token[key];
+ if ( value ) {
+ if ( VALID_PADDING[value] )
+ classes.push(`tw-${term}${mode}-${VALID_PADDING[value]}`);
+ else if ( styles ) {
+ const thing = term === 'pd' ? 'padding' : 'margin';
+ if ( mode === '' )
+ styles[thing] = value;
+ if ( mode === 'x' || mode === 'l' )
+ styles[`${thing}-left`] = value;
+
+ if ( mode === 'x' || mode === 'r' )
+ styles[`${thing}-right`] = value;
+
+ if ( mode === 'y' || mode === 't' )
+ styles[`${thing}-top`] = value;
+
+ if ( mode === 'y' || mode === 'b' )
+ styles[`${thing}-bottom`] = value;
+ }
+ }
+ }
+}
+
+
+export function getRoundClass(value) {
+ let klass;
+ if ( value === -1 )
+ klass = 'rounded';
+ else if ( value === 1 )
+ klass = 'small';
+ else if ( value === 2 )
+ klass = 'medium';
+ else if ( value === 3 )
+ klass = 'large';
+ return klass ? `tw-border-radius-${klass}` : '';
+}
+
+
+// TODO: Mess with this more.
+// (It's a function for wrapping React's createElement in a function
+// that accepts the same input as Vue's createElement, letting us
+// deduplicate a ton of code in here.)
+/*export function wrapReactCreate(createElement) {
+ return (tag, opts, children) => {
+ if ( typeof tag !== 'string' )
+ throw new Error('invalid tag');
+
+ if ( opts ) {
+ if ( opts.class ) {
+ if ( typeof opts.class === 'string' )
+ opts.className = opts.class;
+ else if ( Array.isArray(opts.class) )
+ opts.className = opts.class.join(' ');
+ else if ( typeof opts.class === 'object' ) {
+ const bits = [];
+ for(const [key, val] of Object.entries(opts.class))
+ if ( val )
+ bits.push(key);
+
+ opts.className = bits.join(' ');
+ }
+
+ opts.class = undefined;
+ }
+
+ if ( opts.attrs ) {
+ for(const [key, val] of Object.entries(opts.attrs) )
+ opts[key] = val;
+
+ opts.attrs = undefined;
+ }
+
+ if ( opts.props )
+ throw new Error('props unsupported');
+
+ if ( opts.domProps )
+ throw new Error('domProps unsupported');
+
+ if ( opts.nativeOn )
+ throw new Error('nativeOn unsupported');
+
+ if ( opts.on ) {
+ for(const [key, val] of Object.entries(opts.on) )
+ opts[`on${key.charAt(0).toUpperCase()}${key.slice(1)}`] = val;
+
+ opts.on = undefined;
+ }
+
+ if ( opts.style && typeof opts.style !== 'object' )
+ opts.style = undefined;
+ }
+
+ return createElement(tag, opts, children);
+ }
+}*/
+
+
+export function renderWithCapture(tokens, createElement, ctx) {
+ const old_capture = ctx.text_capture;
+ ctx.text_capture = [];
+
+ const content = renderTokens(tokens, createElement, ctx);
+
+ let title = ctx.text_capture.join('').trim();
+ if ( ! title.length )
+ title = null;
+
+ ctx.text_capture = old_capture;
+ return {
+ content,
+ title
+ }
+}
+
+
+export function renderTokens(tokens, createElement, ctx) {
+ if ( tokens == null )
+ return null;
+
+ let out = [];
+ if ( ! Array.isArray(tokens) )
+ tokens = [tokens];
+
+ for(const token of tokens) {
+ if ( token == null )
+ continue;
+
+ else if ( Array.isArray(token) )
+ out = out.concat(renderTokens(token, createElement, ctx));
+
+ else if ( typeof token !== 'object' ) {
+ const val = String(token);
+ if ( ctx.text_capture )
+ ctx.text_capture.push(val);
+ out.push(val);
+ }
+
+ else {
+ const type = token.type,
+ handler = TOKEN_TYPES[type];
+
+ if ( ! handler ) {
+ console.warn('Skipping unknown token type', type, token);
+ continue;
+ }
+
+ const result = handler(token, createElement, ctx);
+ if ( Array.isArray(result) )
+ out = out.concat(result);
+ else if ( result )
+ out.push(result);
+ }
+ }
+
+ if ( ! out.length )
+ return null;
+
+ return out;
+}
+
+export default renderTokens;
+
+
+// ============================================================================
+// Token Type: Box
+// ============================================================================
+
+TOKEN_TYPES.box = function(token, createElement, ctx) {
+ const classes = [], style = {};
+
+ if ( VALID_WRAPS.includes(token.wrap) )
+ classes.push(`tw-white-space-${token.wrap}`);
+
+ if ( token.ellipsis )
+ classes.push('tw-ellipsis');
+
+ if ( token.lines ) {
+ classes.push('ffz--line-clamp');
+ style['--ffz-lines'] = token.lines;
+ }
+
+ applySpacing('pd', token, classes, style);
+ applySpacing('mg', token, classes, style);
+
+ const capture = token.ellipsis || token.lines;
+ let content, title = null;
+
+ if ( capture ) {
+ const out = renderWithCapture(token.content, createElement, ctx);
+ content = out.content; title = out.title;
+ } else
+ content = renderTokens(token.content, createElement, ctx);
+
+ if ( ctx.vue )
+ return createElement('div', {class: classes, style, attrs: {title}}, content);
+
+ return createElement('div', {className: classes.join(' '), style, title}, content);
+}
+
+
+
+// ============================================================================
+// Token Type: Conditional
+// ============================================================================
+
+TOKEN_TYPES.conditional = function(token, createElement, ctx) {
+ let passed = true;
+
+ if ( has(token, 'media') && token.media != ctx.allow_media )
+ passed = false;
+
+ if ( token.nsfw && ! ctx.allow_unsafe )
+ passed = false;
+
+ if ( passed )
+ return renderTokens(token.content, createElement, ctx);
+
+ return renderTokens(token.alternative, createElement, ctx);
+}
+
+
+// ============================================================================
+// Token Type: Fieldset
+// ============================================================================
+
+TOKEN_TYPES.fieldset = function(token, createElement, ctx) {
+ if ( ! Array.isArray(token.fields) )
+ return null;
+
+ const fields = [];
+ for(const field of token.fields) {
+ if ( ! field )
+ continue;
+
+ const name = renderTokens(field.name, createElement, ctx),
+ value = renderTokens(field.value, createElement, ctx);
+
+ if ( name == null || value == null )
+ continue;
+
+ if ( ctx.vue )
+ fields.push(createElement('div', {
+ class: [
+ 'ffz--field',
+ field.inline ? 'ffz--field-inline' : false
+ ]
+ }, [
+ createElement('div', {
+ class: 'ffz--field__name tw-semibold'
+ }, name),
+ createElement('div', {
+ class: 'ffz--field__value tw-c-text-alt'
+ }, value)
+ ]));
+ else
+ fields.push(createElement('div', {
+ className: `ffz--field ${field.inline ? 'ffz--field-inline' : ''}`
+ }, [
+ createElement('div', {className: 'ffz--field__name tw-semibold'}, name),
+ createElement('div', {className: 'ffz--field__value tw-c-text-alt'}, value)
+ ]));
+ }
+
+ if ( ! fields.length )
+ return null;
+
+ if ( ctx.vue )
+ return createElement('div', {
+ class: 'ffz--fields'
+ }, fields);
+
+ return createElement('div', {
+ className: 'ffz--fields'
+ }, fields);
+}
+
+
+// ============================================================================
+// Token Type: Flex
+// ============================================================================
+
+const ALIGNMENTS = ['start', 'end', 'center', 'between', 'around'];
+
+TOKEN_TYPES.flex = function(token, createElement, ctx) {
+ const classes = [], style = {};
+
+ if ( token.inline )
+ classes.push('tw-flex-inline');
+ else
+ classes.push('tw-flex');
+
+ const overflow = validate(token.overflow, ['hidden', 'auto']);
+ if ( overflow )
+ classes.push(`tw-overflow-${overflow}`);
+
+ const direction = validate(token.direction, ['column', 'row', 'column-reverse', 'row-reverse']);
+ if ( direction )
+ classes.push(`tw-flex-${direction}`);
+
+ const wrap = validate(token.wrap, ['wrap', 'nowrap', 'wrap-reverse']);
+ if ( wrap )
+ classes.push(`tw-flex-${wrap}`);
+
+ let align = validate(token['align-content'], ALIGNMENTS)
+ if ( align )
+ classes.push(`tw-align-content-${align}`);
+
+ align = validate(token['justify-content'], ALIGNMENTS);
+ if ( align )
+ classes.push(`tw-justify-content-${align}`);
+
+ align = validate(token['align-items'], ALIGNMENTS)
+ if ( align )
+ classes.push(`tw-align-items-${align}`);
+
+ align = validate(token['align-self'], ALIGNMENTS)
+ if ( align )
+ classes.push(`tw-align-self-${align}`);
+
+ applySpacing('pd', token, classes, style);
+ applySpacing('mg', token, classes, style);
+
+ const content = renderTokens(token.content, createElement, ctx);
+ if ( ctx.vue )
+ return createElement('div', {class: classes, style}, content);
+
+ return createElement('div', {className: classes.join(' '), style}, content);
+}
+
+// ============================================================================
+// Token Type: Format
+// ============================================================================
+
+TOKEN_TYPES.format = function(token, createElement, ctx) {
+ const type = token.format, val = token.value, opt = token.options;
+
+ let out;
+
+ if ( type === 'date' )
+ out = ctx.i18n.formatDate(val, opt);
+ else if ( type === 'time' )
+ out = ctx.i18n.formatTime(val, opt);
+ else if ( type === 'datetime' )
+ out = ctx.i18n.formatDateTime(val, opt)
+ else if ( type === 'relative' )
+ out = ctx.i18n.toRelativeTime(val, opt);
+ else if ( type === 'duration' )
+ out = ctx.i18n.formatDuration(val, opt);
+ else if ( type === 'number' )
+ out = ctx.i18n.formatNumber(val, opt);
+ else {
+ console.warn('Unknown format type:', type);
+ out = String(val);
+ }
+
+ if ( ctx.text_capture )
+ ctx.text_capture.push(out);
+
+ return out;
+}
+
+
+// ============================================================================
+// Token Type: Gallery
+// ============================================================================
+
+TOKEN_TYPES.gallery = function(token, createElement, ctx) {
+ if ( ! token.items )
+ return null;
+
+ let items = token.items.map(item => renderTokens(item, createElement, ctx)).filter(x => x);
+ if ( ! items.length )
+ return null;
+
+ if ( items.length > 4 )
+ items = items.slice(0, 4);
+
+ const divisions = [],
+ count = items.length < 4 ? 1 : 2;
+
+ divisions.push(ctx.vue ?
+ createElement('div', {
+ class: 'ffz--gallery-column',
+ attrs: {
+ 'data-items': count
+ }
+ }, items.slice(0, count)) :
+ createElement('div', {
+ className: 'ffz--gallery-column',
+ 'data-items': count
+ }, items.slice(0, count))
+ );
+
+ if ( items.length > 1 )
+ divisions.push(ctx.vue ?
+ createElement('div', {
+ class: 'ffz--gallery-column',
+ attrs: {
+ 'data-items': items.length - count
+ }
+ }, items.slice(count)) :
+ createElement('div', {
+ className: 'ffz--gallery-column',
+ 'data-items': items.length - count
+ }, items.slice(count))
+ );
+
+ if ( ctx.vue )
+ return createElement('div', {
+ class: 'ffz--rich-gallery',
+ attrs: {
+ 'data-items': items.length
+ }
+ }, divisions);
+
+ return createElement('div', {
+ className: 'ffz--rich-gallery',
+ 'data-items': items.length
+ }, divisions);
+}
+
+
+// ============================================================================
+// Token Type: Heading
+// ============================================================================
+
+function header_vue(token, h, ctx) {
+ let content = [];
+
+ if ( token.title ) {
+ const out = renderWithCapture(token.title, h, ctx);
+ content.push(h('div', {
+ class: 'tw-ellipsis tw-semibold tw-mg-x-05',
+ attrs: {
+ title: out.title
+ }
+ }, out.content));
+ }
+
+ if ( token.subtitle ) {
+ const out = renderWithCapture(token.subtitle, h, ctx);
+ content.push(h('div', {
+ class: 'tw-ellipsis tw-c-text-alt-2 tw-mg-x-05',
+ attrs: {
+ title: out.title
+ }
+ }, out.content));
+ }
+
+ if ( token.extra ) {
+ const out = renderWithCapture(token.extra, h, ctx);
+ content.push(h('div', {
+ class: 'tw-ellipsis tw-c-text-alt-2 tw-mg-x-05',
+ attrs: {
+ title: out.title
+ }
+ }, out.content));
+ }
+
+ content = h('div', {
+ class: [
+ 'tw-flex tw-full-width tw-overflow-hidden',
+ token.compact ? 'ffz--rich-header ffz--compact-header tw-align-items-center' : 'tw-justify-content-center tw-flex-column tw-flex-grow-1'
+ ]
+ }, content);
+
+ if ( token.image ) {
+ const aspect = token.image.aspect;
+
+ let image = render_image({
+ ...token.image,
+ aspect: undefined
+ }, h, ctx);
+ const right = token.image_side === 'right';
+
+ if ( image ) {
+ image = h('div', {
+ class: [
+ 'ffz--header-image tw-flex-shrink-0 tw-mg-x-05',
+ aspect ? 'ffz--header-aspect' : null
+ ],
+ style: {
+ width: aspect ? `${aspect * (token.compact ? 2.4 : 4.8)}rem` : null
+ }
+ }, [image]);
+
+ if ( token.compact ) {
+ if ( right )
+ content.children.push(image);
+ else
+ content.children.unshift(image);
+
+ } else {
+ content = h('div', {
+ class: 'tw-flex ffz--rich-header'
+ }, [
+ right ? content : null,
+ image,
+ right ? null : content
+ ])
+ }
+ }
+ }
+
+ return content;
+}
+
+function header_normal(token, createElement, ctx) {
+ let content = [];
+
+ if ( token.title ) {
+ const out = renderWithCapture(token.title, createElement, ctx);
+ content.push(createElement('div', {
+ className: `tw-ellipsis tw-semibold ${token.compact ? 'tw-mg-r-1' : ''}`,
+ title: out.title
+ }, out.content));
+ }
+
+ if ( token.subtitle ) {
+ const out = renderWithCapture(token.subtitle, createElement, ctx);
+ content.push(createElement('div', {
+ className: `tw-ellipsis tw-c-text-alt-2`,
+ title: out.title
+ }, out.content));
+ }
+
+ if ( token.extra ) {
+ const out = renderWithCapture(token.extra, createElement, ctx);
+ content.push(createElement('div', {
+ className: 'tw-ellipsis tw-c-text-alt-2',
+ title: out.title
+ }, out.content));
+ }
+
+ content = createElement('div', {
+ className: `tw-flex tw-full-width tw-overflow-hidden ${token.compact ? 'ffz--rich-header ffz--compact-header tw-align-items-center' : 'tw-justify-content-center tw-flex-column tw-flex-grow-1'}`
+ }, content);
+
+ if ( token.image ) {
+ const aspect = token.image.aspect;
+
+ let image = render_image({
+ ...token.image,
+ aspect: undefined
+ }, createElement, ctx);
+ const right = token.image_side === 'right';
+
+ if ( image ) {
+ image = createElement('div', {
+ className: `ffz--header-image tw-flex-shrink-0 tw-mg-x-05${aspect ? ' ffz--header-aspect' : ''}`,
+ style: {
+ width: aspect ? `${aspect * (token.compact ? 2.4 : 4.8)}rem` : null
+ }
+ }, image);
+
+ if ( token.compact ) {
+ // We need to do some weird pushy stuff~
+ // This varies if we're running with React or native.
+ if ( content instanceof Node ) {
+ if ( right )
+ content.appendChild(image);
+ else
+ content.insertBefore(image, content.firstChild);
+ } else {
+ console.warn('Add React support!');
+ console.log(content);
+ }
+
+ } else {
+ content = createElement('div', {
+ className: 'tw-flex ffz--rich-header'
+ }, [right ? content : null, image, right ? null : content])
+ }
+ }
+ }
+
+ return content;
+
+}
+
+TOKEN_TYPES.header = function(token, createElement, ctx) {
+ if ( ! token.title && ! token.subtitle && ! token.image && ! token.extra )
+ return null;
+
+ return ctx.vue ?
+ header_vue(token, createElement, ctx) :
+ header_normal(token, createElement, ctx);
+}
+
+
+// ============================================================================
+// Token Type: Icon
+// ============================================================================
+
+TOKEN_TYPES.icon = function(token, createElement, ctx) {
+ if ( ! token.name )
+ return null;
+
+ return ctx.vue ?
+ createElement('span', {class: `ffz-i-${token.name}`}) :
+ createElement('span', {className: `ffz-i-${token.name}`});
+}
+
+
+// ============================================================================
+// Token Type: Image
+// ============================================================================
+
+function render_image(token, createElement, ctx) {
+ if ( ! token.url || (has(token, 'sfw') && ! token.sfw && ! ctx.allow_unsafe) )
+ return null;
+
+ const round = getRoundClass(token.rounding);
+ let aspect;
+ if ( token.aspect )
+ aspect = token.aspect
+ else if ( token.height > 0 && token.width > 0 )
+ aspect = token.width / token.height;
+
+ if ( ctx.vue ) {
+ const stuff = {
+ class: [
+ token.class,
+ round
+ ],
+
+ style: {
+ width: token.width,
+ height: token.height
+ },
+
+ attrs: {
+ src: token.url,
+ title: token.title
+ }
+ };
+
+ if ( ctx.onload )
+ stuff.on = {load: ctx.onload};
+
+ const image = createElement('img', stuff);
+
+ if ( ! aspect )
+ return image;
+
+ return createElement('aspect', {
+ props: {
+ ratio: aspect,
+ align: 'center'
+ }
+ }, [image]);
+ }
+
+ const image = createElement('img', {
+ className: `${token.class || ''} ${round}`,
+ src: token.url,
+ title: token.title || '',
+ onLoad: ctx.onload
+ });
+
+ if ( ! aspect )
+ return image;
+
+ return createElement('div', {
+ className: 'tw-aspect tw-aspect--align-center'
+ }, [
+ createElement('div', {
+ className: 'tw-aspect__spacer',
+ style: {
+ paddingTop: `${100 * (1 / (aspect || 1))}%`
+ }
+ }),
+ image
+ ]);
+}
+
+TOKEN_TYPES.image = render_image;
+
+
+// ============================================================================
+// Token Type: I18n
+// ============================================================================
+
+TOKEN_TYPES.i18n = function(token, createElement, ctx) {
+ if ( ! token.phrase ) {
+ console.warn('Skipping i18n tag with no phrase');
+ return null;
+ }
+
+ return renderTokens(
+ ctx.i18n.tList(token.key, token.phrase, token.content),
+ createElement,
+ ctx
+ );
+}
+
+
+// ============================================================================
+// Token Type: Link
+// ============================================================================
+
+TOKEN_TYPES.link = function(token, createElement, ctx) {
+ const content = renderTokens(token.content, createElement, ctx);
+
+ const klass = [];
+ if ( token.interactive )
+ klass.push(`tw-interactable tw-interactable--hover-enabled tw-interactable--alpha tw-interactive`);
+
+ if ( token.tooltip !== false )
+ klass.push('ffz-tooltip');
+
+ if ( token.embed )
+ klass.push(`tw-block tw-border tw-border-radius-large tw-mg-y-05 tw-pd-05`);
+
+ if ( token.no_color )
+ klass.push(`tw-link--inherit`);
+
+ if ( ctx.vue )
+ return createElement('a', {
+ class: klass,
+ attrs: {
+ rel: 'noopener noreferrer',
+ target: '_blank',
+ 'data-tooltip-type': 'link',
+ href: token.url
+ }
+ }, content);
+
+ return createElement('a', {
+ className: klass.join(' '),
+ rel: 'noopener noreferrer',
+ target: '_blank',
+ 'data-tooltip-type': 'link',
+ href: token.url
+ }, content);
+}
+
+
+// ============================================================================
+// Token Type: Overlay
+// ============================================================================
+
+TOKEN_TYPES.overlay = function(token, createElement, ctx) {
+ const content = renderTokens(token.content, createElement, ctx);
+ if ( ! content )
+ return null;
+
+ const corners = [];
+ for(const corner of ['top-left', 'top', 'top-right', 'left', 'center', 'right', 'bottom-left', 'bottom', 'bottom-right']) {
+ const stuff = renderTokens(token[corner], createElement, ctx);
+ if ( stuff )
+ corners.push(ctx.vue ?
+ createElement('div', {class: `ffz--overlay__bit`, attrs:{'data-side':corner}}, stuff) :
+ createElement('div', {className: `ffz--overlay__bit`, 'data-side':corner}, stuff)
+ );
+ }
+
+ if ( ctx.vue )
+ return createElement('div', {class: 'ffz--overlay'}, [
+ createElement('div', {class: 'ffz--overlay__content'}, content),
+ ...corners
+ ]);
+
+ return createElement('div', {className: 'ffz--overlay'}, [
+ createElement('div', {className: 'ffz--overlay__content'}, content),
+ ...corners
+ ]);
+}
+
+
+// ============================================================================
+// Token Type: Style
+// ============================================================================
+
+TOKEN_TYPES.style = function(token, createElement, ctx) {
+ const classes = [], style = {};
+
+ if ( token.weight ) {
+ if ( VALID_WEIGHTS.includes(token.weight) )
+ classes.push(`tw-${token.weight}`);
+ else
+ style.weight = token.weight;
+ }
+
+ if ( token.italic )
+ classes.push('tw-italic');
+
+ if ( token.strike )
+ classes.push('tw-strikethrough');
+
+ if ( token.underline )
+ classes.push('tw-underline');
+
+ if ( token.tabular )
+ classes.push('tw-tabular-nums');
+
+ if ( token.size ) {
+ if ( typeof token.size === 'string' ) {
+ if ( VALID_SIZES.includes(token.size) )
+ classes.push(`tw-font-size-${token.size}`);
+ else
+ style.fontSize = token.size;
+ } else
+ style.fontSize = `${token.size}px`;
+ }
+
+ if ( token.color ) {
+ if ( VALID_COLORS.includes(token.color) )
+ classes.push(`tw-c-text-${token.color}`);
+ else
+ style.color = token.color;
+ }
+
+ if ( VALID_WRAPS.includes(token.wrap) )
+ classes.push(`tw-white-space-${token.wrap}`);
+
+ if ( token.ellipsis )
+ classes.push('tw-ellipsis');
+
+ applySpacing('pd', token, classes, style);
+ applySpacing('mg', token, classes, style);
+
+ const capture = token.ellipsis;
+ let content, title = null;
+
+ if ( capture ) {
+ const out = renderWithCapture(token.content, createElement, ctx);
+ content = out.content; title = out.title;
+ } else
+ content = renderTokens(token.content, createElement, ctx);
+
+ if ( ctx.vue )
+ return createElement('span', {class: classes, style, attrs: {title}}, content);
+
+ return createElement('span', {className: classes.join(' '), style, title}, content);
+}
+
+
+// ============================================================================
+// Token Type: Tag (Deprecated)
+// ============================================================================
+
+export const ALLOWED_TAGS = [
+ 'a', 'abbr', 'article', 'aside', 'audio', 'b', 'bdi', 'bdo', 'blockquote', 'br',
+ 'caption', 'code', 'col', 'colgroup', 'data', 'dd', 'div', 'dl', 'dt', 'em',
+ 'figcaption', 'figure', 'footer', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'header',
+ 'hr', 'i', 'img', 'li', 'main', 'nav', 'ol', 'p', 'picture', 'pre', 's', 'section',
+ 'source', 'span', 'strong', 'sub', 'sup', 'table', 'tbody', 'td', 'tfoot',
+ 'th', 'thead', 'time', 'tr', 'track', 'u', 'ul', 'video', 'wbr'
+];
+
+export const ALLOWED_ATTRS = {
+ a: ['href'],
+ audio: ['autoplay', 'controls', 'loop', 'muted', 'preload', 'src'],
+ bdo: ['dir'],
+ col: ['span'],
+ colgroup: ['span'],
+ data: ['value'],
+ img: ['alt', 'height', 'sizes', 'src', 'srcset', 'width'],
+ source: ['src', 'srcset', 'type', 'media', 'sizes'],
+ td: ['colspan', 'headers', 'rowspan'],
+ th: ['abbr', 'colspan', 'headers', 'rowspan', 'scope'],
+ time: ['datetime'],
+ track: ['default', 'kind', 'label', 'src', 'srclang'],
+ video: ['autoplay', 'controls', 'height', 'loop', 'muted', 'poster', 'preload', 'src', 'width'],
+};
+
+export const PROPS = [
+ 'muted'
+];
+
+export const GLOBAL_ATTRS = ['style', 'title'];
+
+
+TOKEN_TYPES.tag = function(token, createElement, ctx) {
+ const tag = String(token.tag || 'span').toLowerCase();
+ if ( ! ALLOWED_TAGS.includes(tag) ) {
+ console.warn('Skipping disallowed tag:', tag);
+ return null;
+ }
+
+ const attrs = {}, props = {};
+ if ( token.attrs ) {
+ const allowed = ALLOWED_ATTRS[tag] || [];
+ for(const [key, val] of Object.entries(token.attrs)) {
+ if ( ! allowed.includes(key) && ! key.startsWith('data-') && ! GLOBAL_ATTRS.includes(key) )
+ console.warn(`Skipping disallowed attribute for tag ${tag}:`, key);
+ else if ( ctx.vue && PROPS.includes(key) )
+ props[key] = val;
+ else
+ attrs[key] = val;
+ }
+ }
+
+ if ( tag === 'img' || tag === 'picture' )
+ attrs.onload = ctx.onload;
+
+ if ( tag === 'video' || tag === 'audio' )
+ attrs.loadedmetadata = ctx.onload;
+
+ const content = renderTokens(token.content, createElement, ctx);
+
+ if ( ctx.vue )
+ return createElement(tag, {
+ class: token.class || '',
+ domProps: props,
+ attrs
+ }, content);
+
+ return createElement(tag, {
+ ...attrs,
+ className: token.class || ''
+ }, content);
+}
\ No newline at end of file
diff --git a/src/utilities/tooltip.js b/src/utilities/tooltip.js
index 100be35a..65f76a5e 100644
--- a/src/utilities/tooltip.js
+++ b/src/utilities/tooltip.js
@@ -42,10 +42,14 @@ export class Tooltip {
this.options = Object.assign({}, DefaultOptions, options);
this.live = this.options.live;
+ this.check_modifiers = this.options.check_modifiers;
this.parent = parent;
this.cls = cls;
+ if ( this.check_modifiers )
+ this.installModifiers();
+
if ( ! this.live ) {
if ( typeof cls === 'string' )
this.elements = parent.querySelectorAll(cls);
@@ -65,16 +69,18 @@ export class Tooltip {
this._accessor = `_ffz_tooltip$${last_id++}`;
- this._onMouseOut = e => this._exit(e.target);
+ this._onMouseOut = e => e.target && e.target.dataset.forceOpen !== 'true' && this._exit(e.target);
if ( this.options.manual ) {
// Do nothing~!
} else if ( this.live ) {
this._onMouseOver = e => {
+ this.updateShift(e.shiftKey);
const target = e.target;
- if ( target && target.classList && target.classList.contains(this.cls) )
+ if ( target && target.classList && target.classList.contains(this.cls) && target.dataset.forceOpen !== 'true' ) {
this._enter(target);
+ }
};
parent.addEventListener('mouseover', this._onMouseOver);
@@ -82,9 +88,11 @@ export class Tooltip {
} else {
this._onMouseOver = e => {
+ this.updateShift(e.shiftKey);
const target = e.target;
- if ( this.elements.has(target) )
+ if ( this.elements.has(target) && target.dataset.forceOpen !== 'true' ) {
this._enter(e.target);
+ }
}
if ( this.elements.size <= 5 )
@@ -102,6 +110,8 @@ export class Tooltip {
}
destroy() {
+ this.removeModifiers();
+
if ( this.options.manual ) {
// Do nothing~!
} else if ( this.live || this.elements.size > 5 ) {
@@ -128,6 +138,43 @@ export class Tooltip {
}
+ installModifiers() {
+ if ( this._keyUpdate )
+ return;
+
+ this._keyUpdate = e => this.updateShift(e.shiftKey);
+ window.addEventListener('keydown', this._keyUpdate);
+ window.addEventListener('keyup', this._keyUpdate);
+ }
+
+ removeModifiers() {
+ if ( ! this._keyUpdate )
+ return;
+
+ window.removeEventListener('keydown', this._keyUpdate);
+ window.removeEventListener('keyup', this._keyUpdate);
+ this._keyUpdate = null;
+ }
+
+ updateShift(state) {
+ if ( state === this.shift_state )
+ return;
+
+ this.shift_state = state;
+ if ( ! this._shift_af )
+ this._shift_af = requestAnimationFrame(() => {
+ this._shift_af = null;
+ for(const el of this.elements) {
+ const tip = el[this._accessor];
+ if ( tip && tip.outer ) {
+ tip.outer.dataset.shift = this.shift_state;
+ tip.update();
+ }
+ }
+ });
+ }
+
+
cleanup() {
if ( this.options.manual )
return;
@@ -238,7 +285,8 @@ export class Tooltip {
inner = tip.element = createElement('div', opts.innerClass),
el = tip.outer = createElement('div', {
- className: opts.tooltipClass
+ className: opts.tooltipClass,
+ 'data-shift': this.shift_state
}, [inner, arrow]);
arrow.setAttribute('x-arrow', true);
@@ -259,6 +307,7 @@ export class Tooltip {
if ( ! opts.manual || (hover_events && (opts.onHover || opts.onLeave || opts.onMove)) ) {
if ( hover_events && opts.onMove )
el.addEventListener('mousemove', el._ffz_move_handler = event => {
+ this.updateShift(event.shiftKey);
opts.onMove(target, tip, event);
});
@@ -273,7 +322,7 @@ export class Tooltip {
/* no-op */
} else if ( maybe_call(opts.interactive, null, target, tip) )
this._enter(target);
- else
+ else if ( target.dataset.forceOpen !== 'true' )
this._exit(target);
});
@@ -281,7 +330,7 @@ export class Tooltip {
if ( hover_events && opts.onLeave )
opts.onLeave(target, tip, event);
- if ( ! opts.manual )
+ if ( ! opts.manual && target.dataset.forceOpen !== 'true' )
this._exit(target);
});
}
diff --git a/src/utilities/translation-core.js b/src/utilities/translation-core.js
index 738da66d..003eb5db 100644
--- a/src/utilities/translation-core.js
+++ b/src/utilities/translation-core.js
@@ -50,8 +50,15 @@ export const DEFAULT_TYPES = {
},
number(val, node) {
- if ( typeof val !== 'number' )
- return val;
+ if ( typeof val !== 'number' ) {
+ let new_val = parseInt(val, 10);
+ if ( isNaN(new_val) || ! isFinite(new_val) )
+ new_val = parseFloat(val);
+ if ( isNaN(new_val) || ! isFinite(new_val) )
+ return val;
+
+ val = new_val;
+ }
return this.formatNumber(val, node.f);
},
@@ -105,6 +112,14 @@ export const DEFAULT_FORMATS = {
year: '2-digit'
},
+ default: {},
+
+ medium: {
+ month: 'short',
+ day: 'numeric',
+ year: 'numeric'
+ },
+
long: {
month: 'long',
day: 'numeric',
@@ -131,13 +146,6 @@ export const DEFAULT_FORMATS = {
second: 'numeric'
},
- long: {
- hour: 'numeric',
- minute: 'numeric',
- second: 'numeric',
- timeZoneName: 'short'
- },
-
full: {
hour: 'numeric',
minute: 'numeric',
@@ -155,14 +163,7 @@ export const DEFAULT_FORMATS = {
minute: 'numeric'
},
- medium: {
- month: 'numeric',
- day: 'numeric',
- year: '2-digit',
- hour: 'numeric',
- minute: 'numeric',
- second: 'numeric'
- },
+ medium: {},
long: {
month: 'long',
@@ -201,6 +202,10 @@ export default class TranslationCore {
this.defaultLocale = options.defaultLocale || this._locale;
this.transformation = null;
+ this.defaultDateFormat = options.defaultDateFormat;
+ this.defaultTimeFormat = options.defaultTimeFormat;
+ this.defaultDateTimeFormat = options.defaultDateTimeFormat;
+
this.phrases = new Map;
this.cache = new Map;
@@ -235,15 +240,14 @@ export default class TranslationCore {
return thing;
}
- formatRelativeTime(value) { // eslint-disable-line class-methods-use-this
- if ( !(value instanceof Date) )
- value = new Date(Date.now() + value * 1000);
+ formatRelativeTime(value, f) { // eslint-disable-line class-methods-use-this
+ const d = dayjs(value),
+ without_suffix = f === 'plain';
- const d = dayjs(value);
try {
- return d.locale(this._locale).fromNow(true);
+ return d.locale(this._locale).fromNow(without_suffix);
} catch(err) {
- return d.fromNow(true);
+ return d.fromNow(without_suffix);
}
}
@@ -262,13 +266,15 @@ export default class TranslationCore {
}
formatDate(value, format) {
- if ( typeof format === 'string' && format.startsWith('::') ) {
- const f = format.substr(2),
- d = dayjs(value);
+ if ( ! format )
+ format = this.defaultDateFormat;
+
+ if ( format && ! this.formats.date[format] ) {
+ const d = dayjs(value);
try {
- return d.locale(this._locale).format(f);
+ return d.locale(this._locale).format(format);
} catch(err) {
- return d.format(f);
+ return d.format(format);
}
}
@@ -279,13 +285,15 @@ export default class TranslationCore {
}
formatTime(value, format) {
- if ( typeof format === 'string' && format.startsWith('::') ) {
- const f = format.substr(2),
- d = dayjs(value);
+ if ( ! format )
+ format = this.defaultTimeFormat;
+
+ if ( format && ! this.formats.time[format] ) {
+ const d = dayjs(value);
try {
- return d.locale(this._locale).format(f);
+ return d.locale(this._locale).format(format);
} catch(err) {
- return d.format(f);
+ return d.format(format);
}
}
@@ -296,13 +304,15 @@ export default class TranslationCore {
}
formatDateTime(value, format) {
- if ( typeof format === 'string' && format.startsWith('::') ) {
- const f = format.substr(2),
- d = dayjs(value);
+ if ( ! format )
+ format = this.defaultDateTimeFormat;
+
+ if ( format && ! this.formats.datetime[format] ) {
+ const d = dayjs(value);
try {
- return d.locale(this._locale).format(f);
+ return d.locale(this._locale).format(format);
} catch(err) {
- return d.format(f);
+ return d.format(format);
}
}
diff --git a/src/utilities/vue.js b/src/utilities/vue.js
index 887f994c..56059e4c 100644
--- a/src/utilities/vue.js
+++ b/src/utilities/vue.js
@@ -194,6 +194,9 @@ export class Vue extends Module {
const router = t.resolve('site.router');
return router.getURL(route, data, opts, ...args);
},
+ getI18n() {
+ return t.i18n;
+ },
t(key, phrase, options) {
return this.$i18n.t_(key, phrase, options);
},
diff --git a/styles/chat.scss b/styles/chat.scss
index 2d92c860..e369b17b 100644
--- a/styles/chat.scss
+++ b/styles/chat.scss
@@ -26,6 +26,260 @@
vertical-align: middle;
}
+.ffz--line-clamp {
+ display: -webkit-box;
+ -webkit-line-clamp: var(--ffz-lines);
+ -webkit-box-orient: vertical;
+ overflow: hidden;
+}
+
+.ffz--rich-header {
+ line-height: 1.4;
+
+ margin-left: -0.5rem;
+ margin-right: -0.5rem;
+}
+
+.ffz--overlay {
+ position: relative;
+
+ & > :not(.ffz--overlay__content) {
+ position: absolute;
+ z-index: 1;
+
+ background-color: var(--color-background-overlay);
+ color: var(--color-text-overlay);
+
+ padding: 0 0.5rem;
+ border-radius: 4px;
+ }
+
+ .ffz--overlay__content {
+ width: 100%;
+ height: 100%;
+ }
+
+ .ffz--overlay__bit {
+ max-width: calc(100% - 1rem);
+
+ &[data-side="top-left"],
+ &[data-side="top"],
+ &[data-side="top-right"] {
+ top: 0.5rem;
+ }
+
+ &[data-side="bottom-left"],
+ &[data-side="bottom"],
+ &[data-side="bottom-right"] {
+ bottom: 0.5rem;
+ }
+
+ &[data-side="top-left"],
+ &[data-side="left"],
+ &[data-side="bottom-left"] {
+ left: 0.5rem;
+ }
+
+ &[data-side="top-right"],
+ &[data-side="right"],
+ &[data-side="bottom-right"] {
+ right: 0.5rem;
+ }
+
+ &[data-side="left"], &[data-side="right"] {
+ top: 50%;
+ transform: translateY(-50%);
+ }
+
+ &[data-side="top"], &[data-side="bottom"] {
+ left: 50%;
+ transform: translateX(-50%);
+ }
+
+ &[data-side="center"] {
+ top: 50%;
+ left: 50%;
+
+ transform: translate(-50%, -50%);
+ }
+
+ .ffz--rich-gallery & {
+ &[data-side="top-left"],
+ &[data-side="top"],
+ &[data-side="top-right"] {
+ top: 1rem;
+ }
+
+ &[data-side="bottom-left"],
+ &[data-side="bottom"],
+ &[data-side="bottom-right"] {
+ bottom: 1rem;
+ }
+ }
+ }
+
+}
+
+.ffz--header-image {
+ height: 4.8rem;
+ max-width: 25%;
+
+ img {
+ object-fit: contain;
+ height: 100%;
+ }
+
+ &.ffz--header-aspect img {
+ object-fit: cover;
+ width: 100%;
+ }
+}
+
+.ffz--compact-header .ffz--header-image {
+ height: 2.4rem;
+}
+
+.ffz--rich-gallery, .ffz--compact-header {
+ &:not(:first-child) {
+ margin-top: 0.5rem;
+ }
+
+ &:not(:last-child) {
+ margin-bottom: 0.5rem;
+ }
+}
+
+
+.ffz--corner-flag {
+ position: absolute;
+ top: 0;
+ right: 0;
+ border-color: transparent;
+ border-style: solid;
+ border-width: 0 3em 3em 0;
+ z-index: 100;
+
+ figure {
+ position: absolute;
+ top: 0;
+ right: -2.75em;
+ }
+}
+
+.ffz--corner-flag__warn {
+ border-right-color: #f33;
+ color: #fff;
+
+ .tw-root--theme-dark & {
+ border-right-color: #900;
+ }
+}
+
+.ffz--fields {
+ display: flex;
+ margin-top: -.5rem;
+ margin-left: -.5rem;
+ flex-flow: row wrap;
+
+ .ffz--field {
+ margin-top: 0.5rem;
+ margin-left: 0.5rem;
+ width: 100%;
+ }
+
+ .ffz--field-inline {
+ flex: 1;
+ width: unset;
+ min-width: 150px;
+ }
+}
+
+.ffz--twitter-badge {
+ height: 1.2rem;
+ width: 1.2rem;
+ background: url('//cdn.frankerfacez.com/static/twitter_sprites.png');
+ display: inline-block;
+ margin: 2px 0 -1px 0.5rem;
+
+ &.ffz--twitter-badge__verified {
+ background-position: 0 -15px;
+ }
+
+ &.ffz--twitter-badge__translator {
+ background-position: -12px -15px;
+ }
+
+ &.ffz--twitter-badge__protected {
+ background-position: -24px -15px;
+ width: 1.4rem;
+ }
+}
+
+.ffz--rich-gallery {
+ position: relative;
+ text-align: center;
+ max-height: 350px;
+
+ display: grid;
+ grid-column: 1/2;
+ grid-template-columns: 1fr 1fr;
+ column-gap: 4px;
+ border-radius: 4px;
+ overflow: hidden;
+
+ &[data-items="1"] {
+ display: flex;
+ justify-content: center;
+
+ .ffz--gallery-column {
+ width: 100%;
+ }
+ }
+
+ .ffz--gallery-column {
+ display: flex;
+ flex-direction: column;
+ overflow: hidden;
+ margin-top: -4px;
+ max-height: calc(100% + 4px);
+
+ &:only-child {
+ grid-column-start: 1;
+ grid-column-end: 3;
+
+ img, video {
+ object-fit:contain;
+ }
+
+ .tw-aspect { img, video { object-fit: cover; } }
+ }
+
+ > * {
+ width: 100%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ margin: 0;
+ padding: 0;
+ margin-top: 4px;
+ }
+
+ &[data-items="2"] > * {
+ min-height: calc(50% - 2px);
+ }
+
+ &[data-items="1"] > * {
+ min-height: 100%;
+ }
+
+ img, video {
+ height: 100%;
+ width: 100%;
+ object-fit: cover;
+ }
+ }
+}
+
.ffz-badge {
display: inline-block;
diff --git a/styles/fontello/ffz-fontello-codes.scss b/styles/fontello/ffz-fontello-codes.scss
index f52e4247..5a5a70a4 100644
--- a/styles/fontello/ffz-fontello-codes.scss
+++ b/styles/fontello/ffz-fontello-codes.scss
@@ -65,6 +65,9 @@
.ffz-i-comp-off:before { content: '\e83f'; } /* '' */
.ffz-i-viewers:before { content: '\e840'; } /* '' */
.ffz-i-chat:before { content: '\e841'; } /* '' */
+.ffz-i-location:before { content: '\e842'; } /* '' */
+.ffz-i-link:before { content: '\e843'; } /* '' */
+.ffz-i-volume-off:before { content: '\e845'; } /* '' */
.ffz-i-move:before { content: '\f047'; } /* '' */
.ffz-i-link-ext:before { content: '\f08e'; } /* '' */
.ffz-i-twitter:before { content: '\f099'; } /* '' */
diff --git a/styles/fontello/ffz-fontello-embedded.scss b/styles/fontello/ffz-fontello-embedded.scss
index 6047969c..672954e4 100644
--- a/styles/fontello/ffz-fontello-embedded.scss
+++ b/styles/fontello/ffz-fontello-embedded.scss
@@ -1,15 +1,15 @@
@font-face {
font-family: 'ffz-fontello';
- src: url('../font/ffz-fontello.eot?14932369');
- src: url('../font/ffz-fontello.eot?14932369#iefix') format('embedded-opentype'),
- url('../font/ffz-fontello.svg?14932369#ffz-fontello') format('svg');
+ src: url('../font/ffz-fontello.eot?95371171');
+ src: url('../font/ffz-fontello.eot?95371171#iefix') format('embedded-opentype'),
+ url('../font/ffz-fontello.svg?95371171#ffz-fontello') format('svg');
font-weight: normal;
font-style: normal;
}
@font-face {
font-family: 'ffz-fontello';
- src: url('data:application/octet-stream;base64,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') format('woff'),
- url('data:application/octet-stream;base64,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cgBzACAAQAAgAGYAbwBuAHQAZQBsAGwAbwAuAGMAbwBtAGYAZgB6AC0AZgBvAG4AdABlAGwAbABvAFIAZQBnAHUAbABhAHIAZgBmAHoALQBmAG8AbgB0AGUAbABsAG8AZgBmAHoALQBmAG8AbgB0AGUAbABsAG8AVgBlAHIAcwBpAG8AbgAgADEALgAwAGYAZgB6AC0AZgBvAG4AdABlAGwAbABvAEcAZQBuAGUAcgBhAHQAZQBkACAAYgB5ACAAcwB2AGcAMgB0AHQAZgAgAGYAcgBvAG0AIABGAG8AbgB0AGUAbABsAG8AIABwAHIAbwBqAGUAYwB0AC4AaAB0AHQAcAA6AC8ALwBmAG8AbgB0AGUAbABsAG8ALgBjAG8AbQAAAAACAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGABAgEDAQQBBQEGAQcBCAEJAQoBCwEMAQ0BDgEPARABEQESARMBFAEVARYBFwEYARkBGgEbARwBHQEeAR8BIAEhASIBIwEkASUBJgEnASgBKQEqASsBLAEtAS4BLwEwATEBMgEzATQBNQE2ATcBOAE5AToBOwE8AT0BPgE/AUABQQFCAUMBRAFFAUYBRwFIAUkBSgFLAUwBTQFOAU8BUAFRAVIBUwFUAVUBVgFXAVgBWQFaAVsBXAFdAV4BXwFgAWEABmNhbmNlbAh6cmVrbmFyZgZzZWFyY2gFY2xvY2sEc3RhcgpzdGFyLWVtcHR5CGRvd24tZGlyCXJpZ2h0LWRpcglhdHRlbnRpb24Cb2sDY29nBHBsdXMLZm9sZGVyLW9wZW4IZG93bmxvYWQGdXBsb2FkBmZsb3BweQVjcm93bgh2ZXJpZmllZAVoZWFydAtoZWFydC1lbXB0eQN0YWcEdGFncwdyZXR3ZWV0CXRodW1icy11cAt0aHVtYnMtZG93bgRiZWxsBnBlbmNpbARpbmZvBGhlbHAIY2FsZW5kYXIIbGVmdC1kaXIJaW52ZW50b3J5BGxvY2sJbG9jay1vcGVuCWFycm93cy1jdwZpZ25vcmUFYmxvY2sDcGluC3Bpbi1vdXRsaW5lBGdpZnQHZGlzY29yZANleWUHZXllLW9mZgV2aWV3cw1jb252ZXJzYXRpb25zCGNoYW5uZWxzBmNhbWVyYQJjdwZ1cC1kaXIGdXAtYmlnBHBsYXkE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') format('truetype');
+ src: url('data:application/octet-stream;base64,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') format('woff'),
+ url('data:application/octet-stream;base64,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bQBmAGYAegAtAGYAbwBuAHQAZQBsAGwAbwBSAGUAZwB1AGwAYQByAGYAZgB6AC0AZgBvAG4AdABlAGwAbABvAGYAZgB6AC0AZgBvAG4AdABlAGwAbABvAFYAZQByAHMAaQBvAG4AIAAxAC4AMABmAGYAegAtAGYAbwBuAHQAZQBsAGwAbwBHAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAHMAdgBnADIAdAB0AGYAIABmAHIAbwBtACAARgBvAG4AdABlAGwAbABvACAAcAByAG8AagBlAGMAdAAuAGgAdAB0AHAAOgAvAC8AZgBvAG4AdABlAGwAbABvAC4AYwBvAG0AAAAAAgAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABjAQIBAwEEAQUBBgEHAQgBCQEKAQsBDAENAQ4BDwEQAREBEgETARQBFQEWARcBGAEZARoBGwEcAR0BHgEfASABIQEiASMBJAElASYBJwEoASkBKgErASwBLQEuAS8BMAExATIBMwE0ATUBNgE3ATgBOQE6ATsBPAE9AT4BPwFAAUEBQgFDAUQBRQFGAUcBSAFJAUoBSwFMAU0BTgFPAVABUQFSAVMBVAFVAVYBVwFYAVkBWgFbAVwBXQFeAV8BYAFhAWIBYwFkAAZjYW5jZWwIenJla25hcmYGc2VhcmNoBWNsb2NrBHN0YXIKc3Rhci1lbXB0eQhkb3duLWRpcglyaWdodC1kaXIJYXR0ZW50aW9uAm9rA2NvZwRwbHVzC2ZvbGRlci1vcGVuCGRvd25sb2FkBnVwbG9hZAZmbG9wcHkFY3Jvd24IdmVyaWZpZWQFaGVhcnQLaGVhcnQtZW1wdHkDdGFnBHRhZ3MHcmV0d2VldAl0aHVtYnMtdXALdGh1bWJzLWRvd24EYmVsbAZwZW5jaWwEaW5mbwRoZWxwCGNhbGVuZGFyCGxlZnQtZGlyCWludmVudG9yeQRsb2NrCWxvY2stb3BlbglhcnJvd3MtY3cGaWdub3JlBWJsb2NrA3BpbgtwaW4tb3V0bGluZQRnaWZ0B2Rpc2NvcmQDZXllB2V5ZS1vZmYFdmlld3MNY29udmVyc2F0aW9ucwhjaGFubmVscwZjYW1lcmECY3cGdXAtZGlyBnVwLWJpZwRwbGF5BHVzZXIEY2xpcAVtaW51cwlsZWZ0LW9wZW4M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') format('truetype');
}
/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */
/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */
@@ -17,7 +17,7 @@
@media screen and (-webkit-min-device-pixel-ratio:0) {
@font-face {
font-family: 'ffz-fontello';
- src: url('../font/ffz-fontello.svg?14932369#ffz-fontello') format('svg');
+ src: url('../font/ffz-fontello.svg?95371171#ffz-fontello') format('svg');
}
}
*/
@@ -118,6 +118,9 @@
.ffz-i-comp-off:before { content: '\e83f'; } /* '' */
.ffz-i-viewers:before { content: '\e840'; } /* '' */
.ffz-i-chat:before { content: '\e841'; } /* '' */
+.ffz-i-location:before { content: '\e842'; } /* '' */
+.ffz-i-link:before { content: '\e843'; } /* '' */
+.ffz-i-volume-off:before { content: '\e845'; } /* '' */
.ffz-i-move:before { content: '\f047'; } /* '' */
.ffz-i-link-ext:before { content: '\f08e'; } /* '' */
.ffz-i-twitter:before { content: '\f099'; } /* '' */
diff --git a/styles/fontello/ffz-fontello-ie7-codes.scss b/styles/fontello/ffz-fontello-ie7-codes.scss
index 1af80bdc..247161b6 100644
--- a/styles/fontello/ffz-fontello-ie7-codes.scss
+++ b/styles/fontello/ffz-fontello-ie7-codes.scss
@@ -65,6 +65,9 @@
.ffz-i-comp-off { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
.ffz-i-viewers { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
.ffz-i-chat { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
+.ffz-i-location { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
+.ffz-i-link { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
+.ffz-i-volume-off { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
.ffz-i-move { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
.ffz-i-link-ext { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
.ffz-i-twitter { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
diff --git a/styles/fontello/ffz-fontello-ie7.scss b/styles/fontello/ffz-fontello-ie7.scss
index f1b0b29c..e5be40d4 100644
--- a/styles/fontello/ffz-fontello-ie7.scss
+++ b/styles/fontello/ffz-fontello-ie7.scss
@@ -76,6 +76,9 @@
.ffz-i-comp-off { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
.ffz-i-viewers { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
.ffz-i-chat { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
+.ffz-i-location { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
+.ffz-i-link { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
+.ffz-i-volume-off { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
.ffz-i-move { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
.ffz-i-link-ext { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
.ffz-i-twitter { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
diff --git a/styles/fontello/ffz-fontello.scss b/styles/fontello/ffz-fontello.scss
index 6d096e63..4bf73e81 100644
--- a/styles/fontello/ffz-fontello.scss
+++ b/styles/fontello/ffz-fontello.scss
@@ -1,11 +1,11 @@
@font-face {
font-family: 'ffz-fontello';
- src: url('../font/ffz-fontello.eot?13031397');
- src: url('../font/ffz-fontello.eot?13031397#iefix') format('embedded-opentype'),
- url('../font/ffz-fontello.woff2?13031397') format('woff2'),
- url('../font/ffz-fontello.woff?13031397') format('woff'),
- url('../font/ffz-fontello.ttf?13031397') format('truetype'),
- url('../font/ffz-fontello.svg?13031397#ffz-fontello') format('svg');
+ src: url('../font/ffz-fontello.eot?81632949');
+ src: url('../font/ffz-fontello.eot?81632949#iefix') format('embedded-opentype'),
+ url('../font/ffz-fontello.woff2?81632949') format('woff2'),
+ url('../font/ffz-fontello.woff?81632949') format('woff'),
+ url('../font/ffz-fontello.ttf?81632949') format('truetype'),
+ url('../font/ffz-fontello.svg?81632949#ffz-fontello') format('svg');
font-weight: normal;
font-style: normal;
}
@@ -15,7 +15,7 @@
@media screen and (-webkit-min-device-pixel-ratio:0) {
@font-face {
font-family: 'ffz-fontello';
- src: url('../font/ffz-fontello.svg?13031397#ffz-fontello') format('svg');
+ src: url('../font/ffz-fontello.svg?81632949#ffz-fontello') format('svg');
}
}
*/
@@ -121,6 +121,9 @@
.ffz-i-comp-off:before { content: '\e83f'; } /* '' */
.ffz-i-viewers:before { content: '\e840'; } /* '' */
.ffz-i-chat:before { content: '\e841'; } /* '' */
+.ffz-i-location:before { content: '\e842'; } /* '' */
+.ffz-i-link:before { content: '\e843'; } /* '' */
+.ffz-i-volume-off:before { content: '\e845'; } /* '' */
.ffz-i-move:before { content: '\f047'; } /* '' */
.ffz-i-link-ext:before { content: '\f08e'; } /* '' */
.ffz-i-twitter:before { content: '\f099'; } /* '' */
diff --git a/styles/tooltips.scss b/styles/tooltips.scss
index 96667bce..872e6edd 100644
--- a/styles/tooltips.scss
+++ b/styles/tooltips.scss
@@ -181,299 +181,24 @@ body {
text-align: left;
position: relative;
padding: 8px;
-
- /*.stats:after, .heading:after {
- content: '';
- display: table;
- clear: both;
- }
-
- .tweet-heading {
- &:before {
- content: '';
- position: absolute;
- top: 24px;
- right: 24px;
- width: 20px;
- height: 16px;
- background: url("//cdn.frankerfacez.com/script/twitter_sprites.png") -38px -15px;
- }
-
- .avatar {
- border-radius: 50%;
- }
- }
-
- .heading {
- .title {
- font-weight: bold;
- display: block;
- text-align: justify;
- }
- }
-
- .display-name {
- padding-top: 3px;
- font-size: 14px;
- display: block;
-
- &.big-name {
- font-size: 20px;
- padding-top: 18px;
- }
- }
-
- .quoted {
- .display-name {
- padding: 0 5px 0 0;
- display: inline;
- font-size: 12px;
- }
- }
-
- .avatar {
- float: left;
- margin-right: 8px;
- max-height: 48px;
- max-width: 100px;
- }*/
+ line-height: 1.2em;
}
-.ffz--chat-card,
-.ffz-rich-tip {
- .body { line-height: 1.5em }
+.ffz__tooltip {
+ --color-border-base: var(--color-text-tooltip);
- .tweet-heading:before {
- content: '';
- position: absolute;
- top: 24px;
- right: 24px;
- width: 20px;
- height: 16px;
- background: url("//cdn.frankerfacez.com/script/twitter_sprites.png") -38px -15px;
+ &:not([data-shift="true"]) .ffz--shift-show,
+ &[data-shift="true"] .ffz--shift-hide { display: none !important; }
+
+ .tw-c-text-base {
+ color: var(--color-text-tooltip) !important;
}
- .stats:after, .heading:after {
- content: '';
- display: table;
- clear: both;
+ .tw-c-text-alt {
+ color: var(--color-text-tooltip-alt) !important;
}
- .avatar {
- float: left;
- margin-right: 8px;
- max-height: 48px;
- max-width: 100px;
- }
- .tweet-heading .avatar {
- border-radius: 50%;
- }
- .heading .title {
- font-weight: bold;
- display: block;
- text-align: justify;
- }
- .display-name {
- padding-top: 3px;
- font-size: 14px;
- display: block;
- &.big-name {
- font-size: 20px;
- padding-top: 18px;
- }
- }
- .quoted .display-name {
- padding: 0 5px 0 0;
- display: inline;
- font-size: 12px;
- }
- .twitch-heading {
- .tip-badge.verified {
- height: 12px;
- width: 12px;
- margin: 2px 0 -1px 5px;
- background: url("https://static-cdn.jtvnw.net/badges/v1/d12a2e27-16f6-41d0-ab77-b780518f00a3/1");
- background-size: contain;
- display: inline-block;
- }
- .big-name .tip-badge.verified {
- height: 18px;
- width: 18px;
- margin: 1px 0 0 10px;
- }
- }
- .tweet-heading .tip-badge {
- height: 12px;
- width: 12px;
- margin: 2px 0 -1px 5px;
- background: url("//cdn.frankerfacez.com/script/twitter_sprites.png");
- display: inline-block;
- }
- .tip-badge {
- &.verified {
- background-position: 0 -15px;
- }
- &.translator {
- background-position: -12px -15px;
- }
- &.protected {
- background-position: -24px -15px;
- width: 14px;
- }
- }
- .emoji {
- height: 1em;
- vertical-align: middle;
- }
- .quoted > div:not(:first-child), > div:not(:first-child) {
- margin-top: 8px;
- }
- .quote-heading + .body {
- margin-top: 0 !important;
- }
- .replying {
- + .body {
- margin-top: 0 !important;
- }
- opacity: 0.6;
- font-size: 10px;
- }
- .subtitle, .quoted .body, .stats, .username {
- opacity: 0.6;
- }
- .stats {
- display: flex;
- .wide-stat {
- flex-grow: 1;
- }
- }
- time {
- flex-grow: 1;
- }
- .tweet-stats .stat:before {
- .tw-root--theme-dark & {
- filter: invert(100%);
- }
-
- content: '';
- display: inline-block;
- background: url("//cdn.frankerfacez.com/script/twitter_sprites.png");
- margin: 0 5px 0 10px;
- }
- .stat {
- &.likes:before {
- width: 17px;
- height: 14px;
- margin-bottom: -3px;
- }
- &.retweets:before {
- width: 20px;
- height: 12px;
- background-position: -34px 0;
- margin-bottom: -2px;
- }
- }
- .media {
- position: relative;
- text-align: center;
- &[data-count]:not([data-count="1"]) {
- display: flex;
- margin: 8px -5px -5px 0;
- flex-flow: column wrap;
- height: 329px;
- }
- .duration {
- position: absolute;
- bottom: 0;
- right: 0;
- margin: 4px;
- background: #000;
- color: #fff;
- opacity: .8;
- padding: 2px 4px;
- border-radius: 2px;
- z-index: 10;
- font-weight: 500;
- }
- }
- .sixteen-nine {
- width: 100%;
- overflow: hidden;
- margin: 0;
- padding-top: 56.25%;
- position: relative;
- img {
- position: absolute;
- top: 50%;
- left: 50%;
- width: 100%;
- transform: translate(-50%, -50%);
- }
- }
- .media {
- video {
- width: 100%;
- max-height: 324px;
- }
- &[data-count="4"] {
- flex-flow: row wrap;
- }
- &[data-count="2"] {
- height: 164.5px;
- }
- img {
- max-height: 324px;
- }
- }
- .quoted .media {
- &[data-count]:not([data-count="1"]), &[data-count="2"] {
- height: 150px;
- }
- video, img {
- max-height: 150px;
- }
- }
- .media {
- span {
- background: no-repeat center center;
- background-size: cover;
- }
- &[data-count="2"] span, &[data-count="3"] span, &[data-count="4"] span {
- width: calc(50% - 5px);
- height: calc(50% - 5px);
- margin: 0 5px 5px 0;
- }
- &[data-count="2"] span, &[data-count="3"] span:first-of-type {
- height: 100%;
- }
- }
- .profile-stats {
- display: flex;
- flex-flow: row;
- flex-wrap: wrap;
- div {
- flex-grow: 1;
- font-size: 16px;
- margin-right: 10px;
- }
- span {
- display: block;
- font-size: 12px;
- opacity: 0.7;
- }
- }
- .quoted {
- border: 1px solid #474747;
- border-radius: 5px;
- padding: 8px;
- }
- .media[data-type="video"]:after {
- position: absolute;
- content: '';
- width: 64px;
- height: 64px;
- top: calc(50% - 32px);
- left: calc(50% - 32px);
- background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='%23FFF' d='M15 10.001c0 .299-.305.514-.305.514l-8.561 5.303C5.51 16.227 5 15.924 5 15.149V4.852c0-.777.51-1.078 1.135-.67l8.561 5.305c-.001 0 .304.215.304.514z'/%3E%3C/svg%3E");
+ .tw-c-text-alt-2 {
+ color: var(--color-text-tooltip-alt-2) !important;
}
}
\ No newline at end of file