1
0
mirror of https://github.com/flarum/core.git synced 2025-08-05 07:57:46 +02:00

chore: repo maintenance (#5)

* Bump deps

* Update imports

* Format
This commit is contained in:
Ian Morland
2022-01-11 10:37:09 +00:00
committed by GitHub
parent aeafc483e3
commit d593d3ca15
6 changed files with 208 additions and 64 deletions

View File

@@ -8,9 +8,14 @@
"name": "@flarum/nicknames", "name": "@flarum/nicknames",
"version": "0.0.0", "version": "0.0.0",
"dependencies": { "dependencies": {
"flarum-webpack-config": "^0.1.0-beta.10", "@flarum/prettier-config": "^1.0.0",
"webpack": "^4.26.0", "flarum-tsconfig": "^1.0.2",
"webpack-cli": "^4.9.0" "flarum-webpack-config": "^1.0.0",
"webpack": "^4.46.0",
"webpack-cli": "^4.9.1"
},
"devDependencies": {
"prettier": "^2.5.1"
} }
}, },
"node_modules/@babel/code-frame": { "node_modules/@babel/code-frame": {
@@ -1634,16 +1639,44 @@
"node": ">=10.0.0" "node": ">=10.0.0"
} }
}, },
"node_modules/@flarum/prettier-config": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/@flarum/prettier-config/-/prettier-config-1.0.0.tgz",
"integrity": "sha512-3/AcliIi5jPt4i7COb5hsLv6hm4EeXT9yI9I2EuEvhPi2QR+O9Y/8wrqRuO5mDkRzCIhUY+mjIL/f9770Zwfqg=="
},
"node_modules/@polka/url": { "node_modules/@polka/url": {
"version": "1.0.0-next.21", "version": "1.0.0-next.21",
"resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.21.tgz", "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.21.tgz",
"integrity": "sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==" "integrity": "sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g=="
}, },
"node_modules/@types/jquery": {
"version": "3.5.12",
"resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-3.5.12.tgz",
"integrity": "sha512-AlX/K29WByFhZ3UbVVn8eywPFwhDZGc/qhDWgy5mu4VVr9b+OQZKBegtS6Tqi9pk8A1aXVrYXuLhnjFJX8Wc/w==",
"dependencies": {
"@types/sizzle": "*"
}
},
"node_modules/@types/json-schema": { "node_modules/@types/json-schema": {
"version": "7.0.9", "version": "7.0.9",
"resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz",
"integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==" "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ=="
}, },
"node_modules/@types/mithril": {
"version": "2.0.8",
"resolved": "https://registry.npmjs.org/@types/mithril/-/mithril-2.0.8.tgz",
"integrity": "sha512-QzVV70DqUhWfLFpMFDBI9rRxtzeUUpbhiFDpUJYSV92AePgl+Qfficgv2MOb1Ceb+lBOQU8+L+Hjf2UielQjEw=="
},
"node_modules/@types/sizzle": {
"version": "2.3.3",
"resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.3.tgz",
"integrity": "sha512-JYM8x9EGF163bEyhdJBpR2QX1R5naCJHC8ucJylJ3w9/CVBaskdQ8WqBf8MmQrd1kRvp/a4TS8HJ+bxzR7ZJYQ=="
},
"node_modules/@types/throttle-debounce": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/@types/throttle-debounce/-/throttle-debounce-2.1.0.tgz",
"integrity": "sha512-5eQEtSCoESnh2FsiLTxE121IiE60hnMqcb435fShf4bpLRjEu1Eoekht23y6zXS9Ts3l+Szu3TARnTsA0GkOkQ=="
},
"node_modules/@webassemblyjs/ast": { "node_modules/@webassemblyjs/ast": {
"version": "1.9.0", "version": "1.9.0",
"resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz",
@@ -2831,6 +2864,11 @@
"resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz",
"integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=" "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk="
}, },
"node_modules/dayjs": {
"version": "1.10.7",
"resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.10.7.tgz",
"integrity": "sha512-P6twpd70BcPK34K26uJ1KT3wlhpuOAPoMwJzpsIWUxHZ7wpmbdZL/hQqBDfz7hGurYSa5PhzdhDHtt319hL3ig=="
},
"node_modules/debug": { "node_modules/debug": {
"version": "4.3.2", "version": "4.3.2",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
@@ -3382,24 +3420,35 @@
"node": ">=8" "node": ">=8"
} }
}, },
"node_modules/flarum-webpack-config": { "node_modules/flarum-tsconfig": {
"version": "0.1.0-beta.16.2", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/flarum-webpack-config/-/flarum-webpack-config-0.1.0-beta.16.2.tgz", "resolved": "https://registry.npmjs.org/flarum-tsconfig/-/flarum-tsconfig-1.0.2.tgz",
"integrity": "sha512-S8jdRB4ApKdIF+fU7l1DIbwjmlXI10WINhaNklhHLaWDo/fUfZwtjg91QW5obEgCCua6VrP8te9+26AGArM+mg==", "integrity": "sha512-RUaN7D6noLK9vY1F86NIc+IlIP1YAA3bJ4jGR5pIm8UxvLBLW8qrAHzIosuQJgvnge7VgTA5c2LoNefUK/9EiQ==",
"dependencies": { "dependencies": {
"@babel/core": "^7.14.0", "@types/jquery": "^3.5.5",
"@types/mithril": "^2.0.7",
"@types/throttle-debounce": "^2.1.0",
"dayjs": "^1.10.4"
}
},
"node_modules/flarum-webpack-config": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/flarum-webpack-config/-/flarum-webpack-config-1.0.0.tgz",
"integrity": "sha512-T+olIRaIVetPJMP8xlbMnp7tzT/d/ZWI6Mr7twRBdsKbKO7dpKS2+fjnKL6QqNYgOLElT/TWrRSbTp7EiL1yXA==",
"dependencies": {
"@babel/core": "^7.14.3",
"@babel/plugin-proposal-class-properties": "^7.13.0", "@babel/plugin-proposal-class-properties": "^7.13.0",
"@babel/plugin-proposal-private-methods": "^7.13.0", "@babel/plugin-proposal-private-methods": "^7.13.0",
"@babel/plugin-transform-object-assign": "^7.12.13", "@babel/plugin-transform-object-assign": "^7.12.13",
"@babel/plugin-transform-react-jsx": "^7.13.12", "@babel/plugin-transform-react-jsx": "^7.14.3",
"@babel/plugin-transform-runtime": "^7.13.15", "@babel/plugin-transform-runtime": "^7.14.3",
"@babel/preset-env": "^7.14.1", "@babel/preset-env": "^7.14.2",
"@babel/preset-react": "^7.13.13", "@babel/preset-react": "^7.13.13",
"@babel/preset-typescript": "^7.13.0", "@babel/preset-typescript": "^7.13.0",
"@babel/runtime": "^7.14.0", "@babel/runtime": "^7.14.0",
"babel-loader": "^8.2.2", "babel-loader": "^8.2.2",
"typescript": "^4.2.4", "typescript": "^4.3.2",
"webpack-bundle-analyzer": "^4.4.1" "webpack-bundle-analyzer": "^4.4.2"
}, },
"peerDependencies": { "peerDependencies": {
"webpack": "^4.46.0" "webpack": "^4.46.0"
@@ -4684,6 +4733,18 @@
"node": ">=0.10.0" "node": ">=0.10.0"
} }
}, },
"node_modules/prettier": {
"version": "2.5.1",
"resolved": "https://registry.npmjs.org/prettier/-/prettier-2.5.1.tgz",
"integrity": "sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg==",
"dev": true,
"bin": {
"prettier": "bin-prettier.js"
},
"engines": {
"node": ">=10.13.0"
}
},
"node_modules/process": { "node_modules/process": {
"version": "0.11.10", "version": "0.11.10",
"resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
@@ -7552,16 +7613,44 @@
"resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.5.tgz", "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.5.tgz",
"integrity": "sha512-6nFkfkmSeV/rqSaS4oWHgmpnYw194f6hmWF5is6b0J1naJZoiD0NTc9AiUwPHvWsowkjuHErCZT1wa0jg+BLIA==" "integrity": "sha512-6nFkfkmSeV/rqSaS4oWHgmpnYw194f6hmWF5is6b0J1naJZoiD0NTc9AiUwPHvWsowkjuHErCZT1wa0jg+BLIA=="
}, },
"@flarum/prettier-config": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/@flarum/prettier-config/-/prettier-config-1.0.0.tgz",
"integrity": "sha512-3/AcliIi5jPt4i7COb5hsLv6hm4EeXT9yI9I2EuEvhPi2QR+O9Y/8wrqRuO5mDkRzCIhUY+mjIL/f9770Zwfqg=="
},
"@polka/url": { "@polka/url": {
"version": "1.0.0-next.21", "version": "1.0.0-next.21",
"resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.21.tgz", "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.21.tgz",
"integrity": "sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==" "integrity": "sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g=="
}, },
"@types/jquery": {
"version": "3.5.12",
"resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-3.5.12.tgz",
"integrity": "sha512-AlX/K29WByFhZ3UbVVn8eywPFwhDZGc/qhDWgy5mu4VVr9b+OQZKBegtS6Tqi9pk8A1aXVrYXuLhnjFJX8Wc/w==",
"requires": {
"@types/sizzle": "*"
}
},
"@types/json-schema": { "@types/json-schema": {
"version": "7.0.9", "version": "7.0.9",
"resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz",
"integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==" "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ=="
}, },
"@types/mithril": {
"version": "2.0.8",
"resolved": "https://registry.npmjs.org/@types/mithril/-/mithril-2.0.8.tgz",
"integrity": "sha512-QzVV70DqUhWfLFpMFDBI9rRxtzeUUpbhiFDpUJYSV92AePgl+Qfficgv2MOb1Ceb+lBOQU8+L+Hjf2UielQjEw=="
},
"@types/sizzle": {
"version": "2.3.3",
"resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.3.tgz",
"integrity": "sha512-JYM8x9EGF163bEyhdJBpR2QX1R5naCJHC8ucJylJ3w9/CVBaskdQ8WqBf8MmQrd1kRvp/a4TS8HJ+bxzR7ZJYQ=="
},
"@types/throttle-debounce": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/@types/throttle-debounce/-/throttle-debounce-2.1.0.tgz",
"integrity": "sha512-5eQEtSCoESnh2FsiLTxE121IiE60hnMqcb435fShf4bpLRjEu1Eoekht23y6zXS9Ts3l+Szu3TARnTsA0GkOkQ=="
},
"@webassemblyjs/ast": { "@webassemblyjs/ast": {
"version": "1.9.0", "version": "1.9.0",
"resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz",
@@ -8554,6 +8643,11 @@
"resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz",
"integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=" "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk="
}, },
"dayjs": {
"version": "1.10.7",
"resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.10.7.tgz",
"integrity": "sha512-P6twpd70BcPK34K26uJ1KT3wlhpuOAPoMwJzpsIWUxHZ7wpmbdZL/hQqBDfz7hGurYSa5PhzdhDHtt319hL3ig=="
},
"debug": { "debug": {
"version": "4.3.2", "version": "4.3.2",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
@@ -8991,24 +9085,35 @@
"path-exists": "^4.0.0" "path-exists": "^4.0.0"
} }
}, },
"flarum-webpack-config": { "flarum-tsconfig": {
"version": "0.1.0-beta.16.2", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/flarum-webpack-config/-/flarum-webpack-config-0.1.0-beta.16.2.tgz", "resolved": "https://registry.npmjs.org/flarum-tsconfig/-/flarum-tsconfig-1.0.2.tgz",
"integrity": "sha512-S8jdRB4ApKdIF+fU7l1DIbwjmlXI10WINhaNklhHLaWDo/fUfZwtjg91QW5obEgCCua6VrP8te9+26AGArM+mg==", "integrity": "sha512-RUaN7D6noLK9vY1F86NIc+IlIP1YAA3bJ4jGR5pIm8UxvLBLW8qrAHzIosuQJgvnge7VgTA5c2LoNefUK/9EiQ==",
"requires": { "requires": {
"@babel/core": "^7.14.0", "@types/jquery": "^3.5.5",
"@types/mithril": "^2.0.7",
"@types/throttle-debounce": "^2.1.0",
"dayjs": "^1.10.4"
}
},
"flarum-webpack-config": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/flarum-webpack-config/-/flarum-webpack-config-1.0.0.tgz",
"integrity": "sha512-T+olIRaIVetPJMP8xlbMnp7tzT/d/ZWI6Mr7twRBdsKbKO7dpKS2+fjnKL6QqNYgOLElT/TWrRSbTp7EiL1yXA==",
"requires": {
"@babel/core": "^7.14.3",
"@babel/plugin-proposal-class-properties": "^7.13.0", "@babel/plugin-proposal-class-properties": "^7.13.0",
"@babel/plugin-proposal-private-methods": "^7.13.0", "@babel/plugin-proposal-private-methods": "^7.13.0",
"@babel/plugin-transform-object-assign": "^7.12.13", "@babel/plugin-transform-object-assign": "^7.12.13",
"@babel/plugin-transform-react-jsx": "^7.13.12", "@babel/plugin-transform-react-jsx": "^7.14.3",
"@babel/plugin-transform-runtime": "^7.13.15", "@babel/plugin-transform-runtime": "^7.14.3",
"@babel/preset-env": "^7.14.1", "@babel/preset-env": "^7.14.2",
"@babel/preset-react": "^7.13.13", "@babel/preset-react": "^7.13.13",
"@babel/preset-typescript": "^7.13.0", "@babel/preset-typescript": "^7.13.0",
"@babel/runtime": "^7.14.0", "@babel/runtime": "^7.14.0",
"babel-loader": "^8.2.2", "babel-loader": "^8.2.2",
"typescript": "^4.2.4", "typescript": "^4.3.2",
"webpack-bundle-analyzer": "^4.4.1" "webpack-bundle-analyzer": "^4.4.2"
} }
}, },
"flush-write-stream": { "flush-write-stream": {
@@ -9984,6 +10089,12 @@
"resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
"integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs="
}, },
"prettier": {
"version": "2.5.1",
"resolved": "https://registry.npmjs.org/prettier/-/prettier-2.5.1.tgz",
"integrity": "sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg==",
"dev": true
},
"process": { "process": {
"version": "0.11.10", "version": "0.11.10",
"resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",

View File

@@ -2,13 +2,21 @@
"name": "@flarum/nicknames", "name": "@flarum/nicknames",
"version": "0.0.0", "version": "0.0.0",
"private": true, "private": true,
"prettier": "@flarum/prettier-config",
"dependencies": { "dependencies": {
"flarum-webpack-config": "^0.1.0-beta.10", "@flarum/prettier-config": "^1.0.0",
"webpack": "^4.26.0", "flarum-tsconfig": "^1.0.2",
"webpack-cli": "^4.9.0" "flarum-webpack-config": "^1.0.0",
"webpack": "^4.46.0",
"webpack-cli": "^4.9.1"
},
"devDependencies": {
"prettier": "^2.5.1"
}, },
"scripts": { "scripts": {
"dev": "webpack --mode development --watch", "dev": "webpack --mode development --watch",
"build": "webpack --mode production" "build": "webpack --mode production",
"format": "prettier --write src",
"format-check": "prettier --check src"
} }
} }

View File

@@ -1,3 +1,4 @@
import app from 'flarum/admin/app';
import Alert from 'flarum/common/components/Alert'; import Alert from 'flarum/common/components/Alert';
import Link from 'flarum/common/components/Link'; import Link from 'flarum/common/components/Link';
@@ -10,7 +11,7 @@ app.initializers.add('flarum/nicknames', () => {
return ( return (
<div className="Form-group"> <div className="Form-group">
<Alert dismissible={false}> <Alert dismissible={false}>
{app.translator.trans('flarum-nicknames.admin.wrong_driver', {a: <Link href={app.route('basics')}></Link>})} {app.translator.trans('flarum-nicknames.admin.wrong_driver', { a: <Link href={app.route('basics')}></Link> })}
</Alert> </Alert>
</div> </div>
); );
@@ -18,37 +19,40 @@ app.initializers.add('flarum/nicknames', () => {
.registerSetting({ .registerSetting({
setting: 'flarum-nicknames.set_on_registration', setting: 'flarum-nicknames.set_on_registration',
type: 'boolean', type: 'boolean',
label: app.translator.trans('flarum-nicknames.admin.settings.set_on_registration_label') label: app.translator.trans('flarum-nicknames.admin.settings.set_on_registration_label'),
}) })
.registerSetting({ .registerSetting({
setting: 'flarum-nicknames.random_username', setting: 'flarum-nicknames.random_username',
type: 'boolean', type: 'boolean',
label: app.translator.trans('flarum-nicknames.admin.settings.random_username_label'), label: app.translator.trans('flarum-nicknames.admin.settings.random_username_label'),
help: app.translator.trans('flarum-nicknames.admin.settings.random_username_help') help: app.translator.trans('flarum-nicknames.admin.settings.random_username_help'),
}) })
.registerSetting({ .registerSetting({
setting: 'flarum-nicknames.unique', setting: 'flarum-nicknames.unique',
type: 'boolean', type: 'boolean',
label: app.translator.trans('flarum-nicknames.admin.settings.unique_label') label: app.translator.trans('flarum-nicknames.admin.settings.unique_label'),
}) })
.registerSetting({ .registerSetting({
setting: 'flarum-nicknames.regex', setting: 'flarum-nicknames.regex',
type: 'text', type: 'text',
label: app.translator.trans('flarum-nicknames.admin.settings.regex_label') label: app.translator.trans('flarum-nicknames.admin.settings.regex_label'),
}) })
.registerSetting({ .registerSetting({
setting: 'flarum-nicknames.min', setting: 'flarum-nicknames.min',
type: 'number', type: 'number',
label: app.translator.trans('flarum-nicknames.admin.settings.min_label') label: app.translator.trans('flarum-nicknames.admin.settings.min_label'),
}) })
.registerSetting({ .registerSetting({
setting: 'flarum-nicknames.max', setting: 'flarum-nicknames.max',
type: 'number', type: 'number',
label: app.translator.trans('flarum-nicknames.admin.settings.max_label') label: app.translator.trans('flarum-nicknames.admin.settings.max_label'),
}) })
.registerPermission({ .registerPermission(
icon: 'fas fa-user-tag', {
label: app.translator.trans('flarum-nicknames.admin.permissions.edit_own_nickname_label'), icon: 'fas fa-user-tag',
permission: 'user.editOwnNickname' label: app.translator.trans('flarum-nicknames.admin.permissions.edit_own_nickname_label'),
}, 'start') permission: 'user.editOwnNickname',
},
'start'
);
}); });

View File

@@ -1,3 +1,4 @@
import app from 'flarum/forum/app';
import Modal from 'flarum/common/components/Modal'; import Modal from 'flarum/common/components/Modal';
import Button from 'flarum/common/components/Button'; import Button from 'flarum/common/components/Button';
import Stream from 'flarum/common/utils/Stream'; import Stream from 'flarum/common/utils/Stream';
@@ -21,20 +22,17 @@ export default class NicknameModal extends Modal {
<div className="Modal-body"> <div className="Modal-body">
<div className="Form Form--centered"> <div className="Form Form--centered">
<div className="Form-group"> <div className="Form-group">
<input <input type="text" autocomplete="off" name="nickname" className="FormControl" bidi={this.nickname} disabled={this.loading} />
type="text"
autocomplete="off"
name="nickname"
className="FormControl"
bidi={this.nickname}
disabled={this.loading} />
</div> </div>
<div className="Form-group"> <div className="Form-group">
{Button.component({ {Button.component(
className: 'Button Button--primary Button--block', {
type: 'submit', className: 'Button Button--primary Button--block',
loading: this.loading, type: 'submit',
}, app.translator.trans('flarum-nicknames.forum.change_nickname.submit_button'))} loading: this.loading,
},
app.translator.trans('flarum-nicknames.forum.change_nickname.submit_button')
)}
</div> </div>
</div> </div>
</div> </div>
@@ -51,9 +49,13 @@ export default class NicknameModal extends Modal {
this.loading = true; this.loading = true;
app.session.user.save({ nickname: this.nickname() }, { app.session.user
errorHandler: this.onerror.bind(this), .save(
}) { nickname: this.nickname() },
{
errorHandler: this.onerror.bind(this),
}
)
.then(this.hide.bind(this)) .then(this.hide.bind(this))
.catch(() => { .catch(() => {
this.loading = false; this.loading = false;

View File

@@ -1,3 +1,4 @@
import app from 'flarum/forum/app';
import { extend } from 'flarum/common/extend'; import { extend } from 'flarum/common/extend';
import Button from 'flarum/common/components/Button'; import Button from 'flarum/common/components/Button';
import EditUserModal from 'flarum/common/components/EditUserModal'; import EditUserModal from 'flarum/common/components/EditUserModal';
@@ -16,7 +17,8 @@ app.initializers.add('flarum/nicknames', () => {
if (app.forum.attribute('displayNameDriver') !== 'nickname') return; if (app.forum.attribute('displayNameDriver') !== 'nickname') return;
if (this.user.canEditOwnNickname()) { if (this.user.canEditOwnNickname()) {
items.add('changeNickname', items.add(
'changeNickname',
<Button className="Button" onclick={() => app.modal.show(NickNameModal)}> <Button className="Button" onclick={() => app.modal.show(NickNameModal)}>
{app.translator.trans('flarum-nicknames.forum.settings.change_nickname_button')} {app.translator.trans('flarum-nicknames.forum.settings.change_nickname_button')}
</Button> </Button>
@@ -33,13 +35,18 @@ app.initializers.add('flarum/nicknames', () => {
extend(EditUserModal.prototype, 'fields', function (items) { extend(EditUserModal.prototype, 'fields', function (items) {
if (app.forum.attribute('displayNameDriver') !== 'nickname') return; if (app.forum.attribute('displayNameDriver') !== 'nickname') return;
items.add('nickname', items.add(
'nickname',
<div className="Form-group"> <div className="Form-group">
<label>{app.translator.trans('flarum-nicknames.forum.edit_user.nicknames_heading')}</label> <label>{app.translator.trans('flarum-nicknames.forum.edit_user.nicknames_heading')}</label>
<input className="FormControl" <input
placeholder={extractText(app.translator.trans('flarum-nicknames.forum.edit_user.nicknames_text'))} className="FormControl"
bidi={this.nickname} /> placeholder={extractText(app.translator.trans('flarum-nicknames.forum.edit_user.nicknames_text'))}
</div>, 100); bidi={this.nickname}
/>
</div>,
100
);
}); });
extend(EditUserModal.prototype, 'data', function (data) { extend(EditUserModal.prototype, 'data', function (data) {
@@ -55,17 +62,14 @@ app.initializers.add('flarum/nicknames', () => {
if (app.forum.attribute('displayNameDriver') !== 'nickname') return; if (app.forum.attribute('displayNameDriver') !== 'nickname') return;
this.nickname = Stream(this.attrs.username || ''); this.nickname = Stream(this.attrs.username || '');
}); });
extend(SignUpModal.prototype, 'onready', function () { extend(SignUpModal.prototype, 'onready', function () {
if (app.forum.attribute('displayNameDriver') !== 'nickname') return; if (app.forum.attribute('displayNameDriver') !== 'nickname') return;
if (app.forum.attribute('setNicknameOnRegistration') && app.forum.attribute('randomizeUsernameOnRegistration')) { if (app.forum.attribute('setNicknameOnRegistration') && app.forum.attribute('randomizeUsernameOnRegistration')) {
this.$('[name=nickname]').select(); this.$('[name=nickname]').select();
} }
}); });
extend(SignUpModal.prototype, 'fields', function (items) { extend(SignUpModal.prototype, 'fields', function (items) {
@@ -106,5 +110,4 @@ app.initializers.add('flarum/nicknames', () => {
} }
} }
}); });
}); });

View File

@@ -0,0 +1,16 @@
{
// Use Flarum's tsconfig as a starting point
"extends": "flarum-tsconfig",
// This will match all .ts, .tsx, .d.ts, .js, .jsx files in your `src` folder
// and also tells your Typescript server to read core's global typings for
// access to `dayjs` and `$` in the global namespace.
"include": ["src/**/*", "../vendor/flarum/core/js/dist-typings/@types/**/*"],
"compilerOptions": {
// This will output typings to `dist-typings`
"declarationDir": "./dist-typings",
"baseUrl": ".",
"paths": {
"flarum/*": ["../vendor/flarum/core/js/dist-typings/*"]
}
}
}