summaryrefslogtreecommitdiff
path: root/src/misc
diff options
context:
space:
mode:
authorMeiMei <30769358+mei23@users.noreply.github.com>2019-02-05 03:01:36 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2019-02-05 03:01:36 +0900
commitf014b7ae0ece886ef0cff2366b9925e23b34ba6f (patch)
treec35760467278da408348fcd459415af7a63e08e9 /src/misc
parentRefactor: Better type definition (diff)
downloadsharkey-f014b7ae0ece886ef0cff2366b9925e23b34ba6f.tar.gz
sharkey-f014b7ae0ece886ef0cff2366b9925e23b34ba6f.tar.bz2
sharkey-f014b7ae0ece886ef0cff2366b9925e23b34ba6f.zip
アニメーションを自動再生しないオプション (#4131)
* Refactor * settings * Media Proxy * Replace API response
Diffstat (limited to 'src/misc')
-rw-r--r--src/misc/wrap-url.ts20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/misc/wrap-url.ts b/src/misc/wrap-url.ts
new file mode 100644
index 0000000000..25fda4d96a
--- /dev/null
+++ b/src/misc/wrap-url.ts
@@ -0,0 +1,20 @@
+import { URL } from 'url';
+import config from '../config';
+
+/**
+ * avatar, thumbnail, custom-emoji 等のURLをクライアント設定等によって置き換える
+ */
+export default function(url: string, me: any) {
+ if (url == null) return url;
+
+ // アニメーション再生無効
+ if (me && me.clientSettings && me.clientSettings.doNotAutoplayAnimation) {
+ const u = new URL(url);
+ const dummy = `${u.host}${u.pathname}`; // 拡張子がないとキャッシュしてくれないCDNがあるので
+ let result = `${config.url}/proxy/${dummy}?url=${encodeURI(u.href)}`;
+ result += '&static=1';
+ return result;
+ }
+
+ return url;
+}