diff --git a/app/components/button.js b/app/components/button.js
index e798b97..a5e74b4 100644
--- a/app/components/button.js
+++ b/app/components/button.js
@@ -14,8 +14,8 @@ export const sizes = {
export const iconSizes = {
sm: 18,
- md: 22,
- lg: 24,
+ md: 20,
+ lg: 22,
};
export const styles = {
@@ -37,10 +37,12 @@ export default class ButtonComponent extends Component {
...attributes
{{on 'click' this.handleClick}}
>
- {{#if this.isPending}}
-
- {{else if @icon}}
- <@icon @size={{get iconSizes this.size}} />
+ {{#if this.icon}}
+
{{/if}}
{{#if (has-block)}}
@@ -53,6 +55,10 @@ export default class ButtonComponent extends Component {
@tracked _state = 'default';
+ get icon() {
+ return this.isPending ? Loading : this.args?.icon;
+ }
+
get style() {
return this.args.style ?? 'default';
}
@@ -84,6 +90,7 @@ export default class ButtonComponent extends Component {
get state() {
return this.args.state ?? this._state;
}
+
set state(state) {
this._state = state;
}
diff --git a/app/controllers/admin/indexes/item/edit.js b/app/controllers/admin/indexes/item/edit.js
index 991e287..dec98b6 100644
--- a/app/controllers/admin/indexes/item/edit.js
+++ b/app/controllers/admin/indexes/item/edit.js
@@ -1,11 +1,14 @@
import Controller from '@ember/controller';
import { action } from '@ember/object';
import { inject as service } from '@ember/service';
+import { tracked } from '@glimmer/tracking';
export default class AdminIndexesItemEditController extends Controller {
@service router;
@service toasts;
+ @tracked isSaving;
+
@action
async save(event) {
event.preventDefault();
@@ -13,8 +16,12 @@ export default class AdminIndexesItemEditController extends Controller {
const formData = new FormData(event.currentTarget);
const data = Object.fromEntries(formData.entries());
+ this.isSaving = true;
+
const task = await this.model.save(data);
+ this.isSaving = false;
+
this.toasts.taskToast(task);
}
diff --git a/app/templates/admin/indexes/item/edit.hbs b/app/templates/admin/indexes/item/edit.hbs
index 130ec11..8e6391b 100644
--- a/app/templates/admin/indexes/item/edit.hbs
+++ b/app/templates/admin/indexes/item/edit.hbs
@@ -14,6 +14,8 @@
@required={{true}}
/>
-
-
+
+
+
+