mirror of
https://activitypub.software/TransFem-org/Sharkey.git
synced 2024-12-14 10:05:46 +01:00
commit
6590f1ad01
14 changed files with 54 additions and 33 deletions
52
gulpfile.ts
52
gulpfile.ts
|
@ -159,7 +159,7 @@ gulp.task('build:client:scripts', () => new Promise(async (ok) => {
|
||||||
const StringReplacePlugin = require('string-replace-webpack-plugin');
|
const StringReplacePlugin = require('string-replace-webpack-plugin');
|
||||||
|
|
||||||
/* webpack options */
|
/* webpack options */
|
||||||
const pack = {
|
const pack: Webpack.Configuration = {
|
||||||
entry: {
|
entry: {
|
||||||
'client': './src/web/app/client/script.js',
|
'client': './src/web/app/client/script.js',
|
||||||
'desktop': './src/web/app/desktop/script.js',
|
'desktop': './src/web/app/desktop/script.js',
|
||||||
|
@ -168,27 +168,18 @@ gulp.task('build:client:scripts', () => new Promise(async (ok) => {
|
||||||
'auth': './src/web/app/auth/script.js'
|
'auth': './src/web/app/auth/script.js'
|
||||||
},
|
},
|
||||||
module: {
|
module: {
|
||||||
preLoaders: [
|
rules: [
|
||||||
{
|
{
|
||||||
test: /\.(tag|js|styl)$/,
|
enforce: 'pre',
|
||||||
|
test: /\.tag$/,
|
||||||
exclude: /node_modules/,
|
exclude: /node_modules/,
|
||||||
loader: StringReplacePlugin.replace({
|
loader: StringReplacePlugin.replace({
|
||||||
replacements: [
|
replacements: [
|
||||||
{ pattern: /VERSION/g, replacement: () => `'${commit ? commit.hash : 'null'}'` },
|
|
||||||
{ pattern: /\$theme\-color\-foreground/g, replacement: () => '#fff' },
|
{ pattern: /\$theme\-color\-foreground/g, replacement: () => '#fff' },
|
||||||
{ pattern: /\$theme\-color/g, replacement: () => config.themeColor },
|
{ pattern: /\$theme\-color/g, replacement: () => config.themeColor },
|
||||||
{ pattern: /CONFIG\.theme\-color/g, replacement: () => `'${config.themeColor}'` },
|
]
|
||||||
{ pattern: /CONFIG\.themeColor/g, replacement: () => `'${config.themeColor}'` },
|
})
|
||||||
{ pattern: /CONFIG\.api\.url/g, replacement: () => `'${config.api_url}'` },
|
|
||||||
{ pattern: /CONFIG\.urls\.about/g, replacement: () => `'${config.about_url}'` },
|
|
||||||
{ pattern: /CONFIG\.urls\.dev/g, replacement: () => `'${config.dev_url}'` },
|
|
||||||
{ pattern: /CONFIG\.url/g, replacement: () => `'${config.url}'` },
|
|
||||||
{ pattern: /CONFIG\.host/g, replacement: () => `'${config.host}'` },
|
|
||||||
{ pattern: /CONFIG\.recaptcha\.siteKey/g, replacement: () => `'${config.recaptcha.siteKey}'` },
|
|
||||||
]})
|
|
||||||
},
|
},
|
||||||
],
|
|
||||||
loaders: [
|
|
||||||
{
|
{
|
||||||
test: /\.tag$/,
|
test: /\.tag$/,
|
||||||
exclude: /node_modules/,
|
exclude: /node_modules/,
|
||||||
|
@ -208,12 +199,37 @@ gulp.task('build:client:scripts', () => new Promise(async (ok) => {
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
test: /\.styl$/,
|
test: /\.styl$/,
|
||||||
loaders: ['style', 'css', 'stylus']
|
exclude: /node_modules/,
|
||||||
|
use: [
|
||||||
|
{
|
||||||
|
loader: 'style-loader'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
loader: 'css-loader'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
loader: 'stylus-loader'
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
plugins: [
|
plugins: [
|
||||||
new StringReplacePlugin()
|
new Webpack.DefinePlugin({
|
||||||
|
VERSION: JSON.stringify(commit ? commit.hash : null),
|
||||||
|
CONFIG: {
|
||||||
|
themeColor: JSON.stringify(config.themeColor),
|
||||||
|
apiUrl: JSON.stringify(config.api_url),
|
||||||
|
aboutUrl: JSON.stringify(config.about_url),
|
||||||
|
devUrl: JSON.stringify(config.dev_url),
|
||||||
|
host: JSON.stringify(config.host),
|
||||||
|
url: JSON.stringify(config.url),
|
||||||
|
recaptcha: {
|
||||||
|
siteKey: JSON.stringify(config.recaptcha.siteKey),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
new StringReplacePlugin(),
|
||||||
],
|
],
|
||||||
output: {
|
output: {
|
||||||
filename: '[name]/script.js'
|
filename: '[name]/script.js'
|
||||||
|
@ -226,7 +242,7 @@ gulp.task('build:client:scripts', () => new Promise(async (ok) => {
|
||||||
//pack.plugins.push(new Webpack.optimize.UglifyJsPlugin())
|
//pack.plugins.push(new Webpack.optimize.UglifyJsPlugin())
|
||||||
}
|
}
|
||||||
|
|
||||||
let stream = webpack(pack);
|
let stream = webpack(pack, Webpack);
|
||||||
|
|
||||||
// TODO: remove this block
|
// TODO: remove this block
|
||||||
if (isProduction) {
|
if (isProduction) {
|
||||||
|
|
|
@ -17,6 +17,11 @@ require('./common/tags');
|
||||||
|
|
||||||
document.domain = CONFIG.host;
|
document.domain = CONFIG.host;
|
||||||
|
|
||||||
|
// Set global configration
|
||||||
|
riot.mixin({
|
||||||
|
CONFIG: CONFIG
|
||||||
|
});
|
||||||
|
|
||||||
// ↓ iOS待ちPolyfill (SEE: http://caniuse.com/#feat=fetch)
|
// ↓ iOS待ちPolyfill (SEE: http://caniuse.com/#feat=fetch)
|
||||||
require('whatwg-fetch');
|
require('whatwg-fetch');
|
||||||
|
|
||||||
|
@ -109,7 +114,7 @@ function fetchme(token, cb) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Fetch user
|
// Fetch user
|
||||||
fetch(CONFIG.api.url + '/i', {
|
fetch(CONFIG.apiUrl + '/i', {
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
body: JSON.stringify({
|
body: JSON.stringify({
|
||||||
i: token
|
i: token
|
||||||
|
|
|
@ -24,7 +24,7 @@ module.exports = (i, endpoint, data = {}) => {
|
||||||
|
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
// Send request
|
// Send request
|
||||||
fetch(endpoint.indexOf('://') > -1 ? endpoint : `${CONFIG.api.url}/${endpoint}`, {
|
fetch(endpoint.indexOf('://') > -1 ? endpoint : `${CONFIG.apiUrl}/${endpoint}`, {
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
body: JSON.stringify(data),
|
body: JSON.stringify(data),
|
||||||
credentials: endpoint === 'signin' ? 'include' : 'omit'
|
credentials: endpoint === 'signin' ? 'include' : 'omit'
|
||||||
|
|
|
@ -12,7 +12,7 @@ class Connection {
|
||||||
this.event = riot.observable();
|
this.event = riot.observable();
|
||||||
this.me = me;
|
this.me = me;
|
||||||
|
|
||||||
const host = CONFIG.api.url.replace('http', 'ws');
|
const host = CONFIG.apiUrl.replace('http', 'ws');
|
||||||
this.socket = new ReconnectingWebSocket(`${host}/messaging?i=${me.token}&otherparty=${otherparty}`);
|
this.socket = new ReconnectingWebSocket(`${host}/messaging?i=${me.token}&otherparty=${otherparty}`);
|
||||||
this.socket.addEventListener('open', this.onOpen);
|
this.socket.addEventListener('open', this.onOpen);
|
||||||
this.socket.addEventListener('message', this.onMessage);
|
this.socket.addEventListener('message', this.onMessage);
|
||||||
|
|
|
@ -5,7 +5,7 @@ module.exports = me => {
|
||||||
let state = 'initializing';
|
let state = 'initializing';
|
||||||
const stateEv = riot.observable();
|
const stateEv = riot.observable();
|
||||||
const event = riot.observable();
|
const event = riot.observable();
|
||||||
const host = CONFIG.api.url.replace('http', 'ws');
|
const host = CONFIG.apiUrl.replace('http', 'ws');
|
||||||
const socket = new ReconnectingWebSocket(`${host}?i=${me.token}`);
|
const socket = new ReconnectingWebSocket(`${host}?i=${me.token}`);
|
||||||
|
|
||||||
socket.onopen = () => {
|
socket.onopen = () => {
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
<h1>Misskeyとは?</h1><p><ruby>Misskey<rt>みすきー</rt></ruby>は、<a href="http://syuilo.com" target="_blank">syuilo</a>が2014年くらいから<a href="https://github.com/syuilo/misskey" target="_blank">オープンソースで</a>開発・運営を行っている、ミニブログベースのSNSです。</p>
|
<h1>Misskeyとは?</h1><p><ruby>Misskey<rt>みすきー</rt></ruby>は、<a href="http://syuilo.com" target="_blank">syuilo</a>が2014年くらいから<a href="https://github.com/syuilo/misskey" target="_blank">オープンソースで</a>開発・運営を行っている、ミニブログベースのSNSです。</p>
|
||||||
<p>Twitter, Facebook, LINE, Google+ などを<del>パクって</del><i>参考にして</i>います。</p>
|
<p>Twitter, Facebook, LINE, Google+ などを<del>パクって</del><i>参考にして</i>います。</p>
|
||||||
<p>無料で誰でも利用でき、広告は一切掲載していません。</p>
|
<p>無料で誰でも利用でき、広告は一切掲載していません。</p>
|
||||||
<p><a href={ CONFIG.urls.about } target="_blank">もっと知りたい方はこちら</a></p>
|
<p><a href={ CONFIG.aboutUrl } target="_blank">もっと知りたい方はこちら</a></p>
|
||||||
</article>
|
</article>
|
||||||
<style>
|
<style>
|
||||||
:scope
|
:scope
|
||||||
|
|
|
@ -34,7 +34,7 @@
|
||||||
</label>
|
</label>
|
||||||
<label class="agree-tou">
|
<label class="agree-tou">
|
||||||
<input name="agree-tou" type="checkbox" autocomplete="off" required="required"/>
|
<input name="agree-tou" type="checkbox" autocomplete="off" required="required"/>
|
||||||
<p><a href={ CONFIG.urls.about + '/tou' } target="_blank">利用規約</a>に同意する</p>
|
<p><a href={ CONFIG.aboutUrl + '/tou' } target="_blank">利用規約</a>に同意する</p>
|
||||||
</label>
|
</label>
|
||||||
<button onclick={ onsubmit }>アカウント作成</button>
|
<button onclick={ onsubmit }>アカウント作成</button>
|
||||||
</form>
|
</form>
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
<mk-twitter-setting>
|
<mk-twitter-setting>
|
||||||
<p>お使いのTwitterアカウントをお使いのMisskeyアカウントに接続しておくと、プロフィールでTwitterアカウント情報が表示されるようになったり、Twitterを用いた便利なサインインを利用できるようになります。<a href={ CONFIG.urls.about + '/link-to-twitter' } target="_blank">詳細...</a></p>
|
<p>お使いのTwitterアカウントをお使いのMisskeyアカウントに接続しておくと、プロフィールでTwitterアカウント情報が表示されるようになったり、Twitterを用いた便利なサインインを利用できるようになります。<a href={ CONFIG.aboutUrl + '/link-to-twitter' } target="_blank">詳細...</a></p>
|
||||||
<p class="account" if={ I.twitter } title={ 'Twitter ID: ' + I.twitter.user_id }>次のTwitterアカウントに接続されています: <a href={ 'https://twitter.com/' + I.twitter.screen_name } target="_blank">@{ I.twitter.screen_name }</a></p>
|
<p class="account" if={ I.twitter } title={ 'Twitter ID: ' + I.twitter.user_id }>次のTwitterアカウントに接続されています: <a href={ 'https://twitter.com/' + I.twitter.screen_name } target="_blank">@{ I.twitter.screen_name }</a></p>
|
||||||
<p>
|
<p>
|
||||||
<a href={ CONFIG.api.url + '/connect/twitter' } target="_blank">{ I.twitter ? '再接続する' : 'Twitterと接続する' }</a>
|
<a href={ CONFIG.apiUrl + '/connect/twitter' } target="_blank">{ I.twitter ? '再接続する' : 'Twitterと接続する' }</a>
|
||||||
<span if={ I.twitter }> or </span>
|
<span if={ I.twitter }> or </span>
|
||||||
<a href={ CONFIG.api.url + '/disconnect/twitter' } target="_blank" if={ I.twitter }>切断する</a>
|
<a href={ CONFIG.apiUrl + '/disconnect/twitter' } target="_blank" if={ I.twitter }>切断する</a>
|
||||||
</p>
|
</p>
|
||||||
<p class="id" if={ I.twitter }>Twitter ID: { I.twitter.user_id }</p>
|
<p class="id" if={ I.twitter }>Twitter ID: { I.twitter.user_id }</p>
|
||||||
<style>
|
<style>
|
||||||
|
|
|
@ -171,7 +171,7 @@
|
||||||
data.append \folder_id folder
|
data.append \folder_id folder
|
||||||
|
|
||||||
xhr = new XMLHttpRequest!
|
xhr = new XMLHttpRequest!
|
||||||
xhr.open \POST CONFIG.api.url + '/drive/files/create' true
|
xhr.open \POST CONFIG.apiUrl + '/drive/files/create' true
|
||||||
xhr.onload = (e) ~>
|
xhr.onload = (e) ~>
|
||||||
drive-file = JSON.parse e.target.response
|
drive-file = JSON.parse e.target.response
|
||||||
|
|
||||||
|
|
|
@ -43,7 +43,7 @@ module.exports = (I, cb, file = null) => {
|
||||||
if (folder) data.append('folder_id', folder.id);
|
if (folder) data.append('folder_id', folder.id);
|
||||||
|
|
||||||
const xhr = new XMLHttpRequest();
|
const xhr = new XMLHttpRequest();
|
||||||
xhr.open('POST', CONFIG.api.url + '/drive/files/create', true);
|
xhr.open('POST', CONFIG.apiUrl + '/drive/files/create', true);
|
||||||
xhr.onload = e => {
|
xhr.onload = e => {
|
||||||
const file = JSON.parse(e.target.response);
|
const file = JSON.parse(e.target.response);
|
||||||
progress.close();
|
progress.close();
|
||||||
|
|
|
@ -43,7 +43,7 @@ module.exports = (I, cb, file = null) => {
|
||||||
if (folder) data.append('folder_id', folder.id);
|
if (folder) data.append('folder_id', folder.id);
|
||||||
|
|
||||||
const xhr = new XMLHttpRequest();
|
const xhr = new XMLHttpRequest();
|
||||||
xhr.open('POST', CONFIG.api.url + '/drive/files/create', true);
|
xhr.open('POST', CONFIG.apiUrl + '/drive/files/create', true);
|
||||||
xhr.onload = e => {
|
xhr.onload = e => {
|
||||||
const file = JSON.parse(e.target.response);
|
const file = JSON.parse(e.target.response);
|
||||||
progress.close();
|
progress.close();
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
<mk-nav-home-widget><a href={ CONFIG.urls.about }>Misskeyについて</a><i>・</i><a href={ CONFIG.urls.about + '/status' }>ステータス</a><i>・</i><a href="https://github.com/syuilo/misskey">リポジトリ</a><i>・</i><a href={ CONFIG.urls.dev }>開発者</a><i>・</i><a href="https://twitter.com/misskey_xyz" target="_blank">Follow us on <i class="fa fa-twitter"></i></a>
|
<mk-nav-home-widget><a href={ CONFIG.aboutUrl }>Misskeyについて</a><i>・</i><a href={ CONFIG.aboutUrl + '/status' }>ステータス</a><i>・</i><a href="https://github.com/syuilo/misskey">リポジトリ</a><i>・</i><a href={ CONFIG.devUrl }>開発者</a><i>・</i><a href="https://twitter.com/misskey_xyz" target="_blank">Follow us on <i class="fa fa-twitter"></i></a>
|
||||||
<style>
|
<style>
|
||||||
:scope
|
:scope
|
||||||
display block
|
display block
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
<mk-entrance-signin><a class="help" href={ CONFIG.urls.about + '/help' } title="お困りですか?"><i class="fa fa-question"></i></a>
|
<mk-entrance-signin><a class="help" href={ CONFIG.aboutUrl + '/help' } title="お困りですか?"><i class="fa fa-question"></i></a>
|
||||||
<div class="form">
|
<div class="form">
|
||||||
<h1><img if={ user } src={ user.avatar_url + '?thumbnail&size=32' }/>
|
<h1><img if={ user } src={ user.avatar_url + '?thumbnail&size=32' }/>
|
||||||
<p>{ user ? user.name : 'アカウント' }</p>
|
<p>{ user ? user.name : 'アカウント' }</p>
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
<li class="settings"><a href="/i/settings"><i class="icon fa fa-cog"></i>設定<i class="angle fa fa-angle-right"></i></a></li>
|
<li class="settings"><a href="/i/settings"><i class="icon fa fa-cog"></i>設定<i class="angle fa fa-angle-right"></i></a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<p class="about" href={ CONFIG.urls.about }><a>Misskeyについて</a></p>
|
<p class="about" href={ CONFIG.aboutUrl }><a>Misskeyについて</a></p>
|
||||||
</div>
|
</div>
|
||||||
<style>
|
<style>
|
||||||
:scope
|
:scope
|
||||||
|
|
Loading…
Reference in a new issue