Skip to content

Commit

Permalink
Mithril 2 update (#9)
Browse files Browse the repository at this point in the history
  • Loading branch information
askvortsov1 authored Sep 24, 2020
1 parent 48a0a6c commit d3c7f0a
Show file tree
Hide file tree
Showing 8 changed files with 182 additions and 193 deletions.
2 changes: 1 addition & 1 deletion composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
"type": "flarum-extension",
"license": "MIT",
"require": {
"flarum/core": "^0.1.0-beta.8"
"flarum/core": "^0.1.0-beta.14"
},
"conflict": {
"minishlink/web-push": "<5.2.5 || >=6"
Expand Down
41 changes: 22 additions & 19 deletions js/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

35 changes: 18 additions & 17 deletions js/src/admin/components/PWALogoUploadButton.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,12 @@ import Button from "flarum/components/Button";
import UploadImageButton from "flarum/components/UploadImageButton";

export default class PWALogoUploadButton extends UploadImageButton {
view() {
this.props.loading = this.loading;
this.props.className = (this.props.className || "") + " Button";
view(vnode) {
vnode.attrs.loading = this.loading;
vnode.attrs.className = (this.attrs.className || "") + " Button";

if (app.data.settings["askvortsov-pwa.icon_" + this.props.name + "_path"]) {
this.props.onclick = this.remove.bind(this);
this.props.children = app.translator.trans(
"core.admin.upload_image.remove_button"
);
if (app.data.settings["askvortsov-pwa.icon_" + this.attrs.name + "_path"]) {
vnode.attrs.onclick = this.remove.bind(this);

return (
<div>
Expand All @@ -20,28 +17,32 @@ export default class PWALogoUploadButton extends UploadImageButton {
app.forum.attribute("basePath").trimRight("/") +
"/assets/" +
app.data.settings[
"askvortsov-pwa.icon_" + this.props.name + "_path"
"askvortsov-pwa.icon_" + this.attrs.name + "_path"
] +
"?" +
performance.now()
}
alt=""
/>
</p>
<p>{Button.prototype.view.call(this)}</p>
<p>
{Button.prototype.view.call(this, {
...vnode,
children: app.translator.trans(
"core.admin.upload_image.remove_button"
),
})}
</p>
</div>
);
} else {
this.props.onclick = this.upload.bind(this);
this.props.children = app.translator.trans(
"core.admin.upload_image.upload_button"
);
}

return super.view();
vnode.attrs.onclick = this.upload.bind(this);

return super.view(vnode);
}

resourceUrl() {
return app.forum.attribute("apiUrl") + "/pwa/logo/" + this.props.name;
return app.forum.attribute("apiUrl") + "/pwa/logo/" + this.attrs.name;
}
}
36 changes: 9 additions & 27 deletions js/src/admin/components/PWAPage.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ import saveSettings from "flarum/utils/saveSettings";
import PWALogoUploadButton from "./PWALogoUploadButton";

export default class PWAPage extends Page {
init() {
super.init();
oninit(vnode) {
super.oninit(vnode);

this.saving = false;
this.refresh();
Expand All @@ -27,13 +27,13 @@ export default class PWAPage extends Page {
this.fields = ["askvortsov-pwa.longName", "askvortsov-pwa.backgroundColor"];
this.fields.forEach(
(key) =>
(this.values[key] = m.prop(
(this.values[key] = m.stream(
settings[key] !== undefined ? settings[key] : ""
))
);

// if (Array.isArray(settings['askvortsov-pwa.categories'])) {
// this.values['askvortsov-pwa.categories'] = m.prop(settings['askvortsov-pwa.categories'].join(','));
// this.values['askvortsov-pwa.categories'] = m.stream(settings['askvortsov-pwa.categories'].join(','));
// }

app
Expand Down Expand Up @@ -120,11 +120,7 @@ export default class PWAPage extends Page {
</div>
<input
className="FormControl"
value={this.values["askvortsov-pwa.longName"]()}
oninput={m.withAttr(
"value",
this.values["askvortsov-pwa.longName"]
)}
bidi={this.values["askvortsov-pwa.longName"]}
required={true}
/>
</fieldset>
Expand All @@ -142,14 +138,6 @@ export default class PWAPage extends Page {
{this.manifest.description}
</textarea>
</fieldset>
{/* <fieldset>
<div className="helpText">
{app.translator.trans('askvortsov-pwa.admin.pwa.about.categories_text')}
</div>
<textarea className="FormControl" value={this.values['askvortsov-pwa.categories']()} oninput={m.withAttr('value', this.values['askvortsov-pwa.categories'])}>
{this.manifest.description}
</textarea>
</fieldset> */}
</fieldset>

<fieldset class="parent">
Expand Down Expand Up @@ -182,11 +170,7 @@ export default class PWAPage extends Page {
className="FormControl"
type="text"
placeholder="#aaaaaa"
value={this.values["askvortsov-pwa.backgroundColor"]()}
oninput={m.withAttr(
"value",
this.values["askvortsov-pwa.backgroundColor"]
)}
bidi={this.values["askvortsov-pwa.backgroundColor"]}
required={true}
/>
</fieldset>
Expand Down Expand Up @@ -249,11 +233,9 @@ export default class PWAPage extends Page {

saveSettings(settings)
.then(() => {
app.alerts.show(
(this.successAlert = new Alert({
type: "success",
children: app.translator.trans("core.admin.basics.saved_message"),
}))
this.successAlert = app.alerts.show(
{ type: "success" },
app.translator.trans("core.admin.basics.saved_message")
);
})
.catch(() => {})
Expand Down
4 changes: 2 additions & 2 deletions js/src/admin/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@ import AdminLinkButton from "flarum/components/AdminLinkButton";
import PWAPage from "./components/PWAPage";

app.initializers.add("askvortsov/flarum-pwa", () => {
app.routes.pwa = { path: "/pwa", component: PWAPage.component() };
app.routes.pwa = { path: "/pwa", component: PWAPage };

app.extensionSettings["askvortsov-pwa"] = () => m.route(app.route("pwa"));
app.extensionSettings["askvortsov-pwa"] = () => m.route.set(app.route("pwa"));

extend(AdminNav.prototype, "items", (items) => {
items.add(
Expand Down
Loading

0 comments on commit d3c7f0a

Please sign in to comment.