vsc-material-theme/extensions/helpers/messages.ts
Alessio Occhipinti 48c6feaf75 Ux/reload notification (#232)
* chore: check on installation type now as single module

* feat(Reload notification): added support for after-install notification

* feat(Reload notification): added support never show again notification
2018-08-12 19:09:36 +02:00

53 lines
1.7 KiB
TypeScript

import {
window as Window
} from 'vscode';
const MESSAGES = {
INFO: {
message: 'Do you want to reload to apply Material Theme Icons to enjoy the full experience?',
options: {ok: 'Yeah, reload', autoreload: 'Yes and enable auto-reload', cancel: 'No, thank you', nomore: 'Never show again'}
},
CHANGELOG: {
message: 'Material Theme was updated. Check the release notes for more details.',
options: {ok: 'Show me', cancel: 'Maybe later'}
},
INSTALLATION: {
message: 'Thank you for installing Material Theme! Would you like to enable the auto-application (with window reload when needed) of the Material Theme icons?',
options: {ok: 'Sure!', cancel: 'Nope :('}
}
};
export const infoMessage = async () => {
const result = await Window.showInformationMessage(
MESSAGES.INFO.message,
MESSAGES.INFO.options.ok,
MESSAGES.INFO.options.autoreload,
MESSAGES.INFO.options.cancel,
MESSAGES.INFO.options.nomore
);
switch (result) {
case MESSAGES.INFO.options.ok:
return {reload: true};
case MESSAGES.INFO.options.autoreload:
return {reload: true, autoreload: true};
case MESSAGES.INFO.options.nomore:
return {nomore: true};
default:
return {};
}
};
export const changelogMessage = async () =>
await Window.showInformationMessage(
MESSAGES.CHANGELOG.message,
MESSAGES.CHANGELOG.options.ok,
MESSAGES.CHANGELOG.options.cancel
) === MESSAGES.CHANGELOG.options.ok;
export const installationMessage = async () =>
await Window.showInformationMessage(
MESSAGES.INSTALLATION.message,
MESSAGES.INSTALLATION.options.ok,
MESSAGES.INSTALLATION.options.cancel,
) === MESSAGES.INSTALLATION.options.ok;