# Pull Request Template ## Description This PR will replace the usage of `alertMixin` from the code base with the `useAlert` composable. Fixes https://linear.app/chatwoot/issue/CW-3462/replace-alertmixin-usage-with-usealert ## Type of change - [x] Breaking change (fix or feature that would cause existing functionality not to work as expected) ## How Has This Been Tested? Please refer this issue description https://linear.app/chatwoot/issue/CW-3462/replace-alertmixin-usage-with-usealert ## Checklist: - [x] My code follows the style guidelines of this project - [x] I have performed a self-review of my code - [ ] I have commented on my code, particularly in hard-to-understand areas - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [x] I have added tests that prove my fix is effective or that my feature works - [x] New and existing unit tests pass locally with my changes - [ ] Any dependent changes have been merged and published in downstream modules --------- Co-authored-by: Sojan Jose <sojan@pepalo.com>
55 lines
1.4 KiB
Vue
55 lines
1.4 KiB
Vue
<template>
|
|
<div
|
|
class="border border-slate-25 dark:border-slate-800/60 bg-white dark:bg-slate-900 h-full p-6 w-full max-w-full md:w-3/4 md:max-w-[75%] flex-shrink-0 flex-grow-0"
|
|
>
|
|
<div class="login-init h-full text-center">
|
|
<form @submit.prevent="requestAuthorization">
|
|
<woot-submit-button
|
|
icon="brand-twitter"
|
|
button-text="Sign in with Twitter"
|
|
type="submit"
|
|
:loading="isRequestingAuthorization"
|
|
/>
|
|
</form>
|
|
<p>{{ $t('INBOX_MGMT.ADD.TWITTER.HELP') }}</p>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
<script>
|
|
import { useAlert } from 'dashboard/composables';
|
|
import twitterClient from '../../../../../api/channel/twitterClient';
|
|
|
|
export default {
|
|
data() {
|
|
return { isRequestingAuthorization: false };
|
|
},
|
|
methods: {
|
|
async requestAuthorization() {
|
|
try {
|
|
this.isRequestingAuthorization = true;
|
|
const response = await twitterClient.generateAuthorization();
|
|
const {
|
|
data: { url },
|
|
} = response;
|
|
window.location.href = url;
|
|
} catch (error) {
|
|
useAlert(this.$t('INBOX_MGMT.ADD.TWITTER.ERROR_MESSAGE'));
|
|
} finally {
|
|
this.isRequestingAuthorization = false;
|
|
}
|
|
},
|
|
},
|
|
};
|
|
</script>
|
|
<style scoped lang="scss">
|
|
.login-init {
|
|
@apply pt-[30%] text-center;
|
|
p {
|
|
@apply p-6;
|
|
}
|
|
> a > img {
|
|
@apply w-60;
|
|
}
|
|
}
|
|
</style>
|