Ghost/ghost/admin/app/components/modal-impersonate-member.js
Naz ff4fd2fc9a Added member impersonation (#1497)
refs b0ff1e7cac

- Adds "impersonate" button which would be triggering a popup window with "login url" that allows to log in as a member
2020-02-27 11:50:15 +08:00

34 lines
922 B
JavaScript

import ModalComponent from 'ghost-admin/components/modal-base';
import copyTextToClipboard from 'ghost-admin/utils/copy-text-to-clipboard';
import {alias} from '@ember/object/computed';
import {inject as service} from '@ember/service';
import {task, timeout} from 'ember-concurrency';
export default ModalComponent.extend({
config: service(),
store: service(),
classNames: 'modal-impersonate-member',
signinUrl: null,
member: alias('model'),
didInsertElement() {
this._super(...arguments);
this._signinUrlUpdateTask.perform();
},
copySigninUrl: task(function* () {
copyTextToClipboard(this.get('signinUrl'));
yield timeout(1000);
return true;
}),
_signinUrlUpdateTask: task(function*() {
const memberSigninURL = yield this.member.fetchSigninUrl.perform();
this.set('signinUrl', memberSigninURL.url);
}).drop()
});