feat: Exit Button

This commit is contained in:
Unanemouslyanonymous 2024-11-16 10:21:12 +05:30
parent e30bdd844d
commit c7c28d47c3
11 changed files with 40 additions and 4 deletions

View file

@ -643,7 +643,7 @@
"right": [
["importexport", "timeslider", "savedrevision"],
["settings", "embed"],
["showusers"]
["showusers","exit"]
],
"timeslider": [
["timeslider_export", "timeslider_returnToPad"]

View file

@ -642,7 +642,7 @@
"right": [
["importexport", "timeslider", "savedrevision"],
["settings", "embed"],
["showusers"]
["showusers"],["exit"]
],
"timeslider": [
["timeslider_export", "timeslider_returnToPad"]

View file

@ -54,6 +54,7 @@
"pad.toolbar.settings.title": "Settings",
"pad.toolbar.embed.title": "Share and Embed this pad",
"pad.toolbar.showusers.title": "Show the users on this pad",
"pad.toolbar.help.title": "Exit to Home",
"pad.colorpicker.save": "Save",
"pad.colorpicker.cancel": "Cancel",

View file

@ -246,7 +246,7 @@ exports.toolbar = {
right: [
['importexport', 'timeslider', 'savedrevision'],
['settings', 'embed'],
['showusers'],
['showusers','exit'],
],
timeslider: [
['timeslider_export', 'timeslider_settings', 'timeslider_returnToPad'],

View file

@ -258,6 +258,11 @@ module.exports = {
localizationId: 'timeslider.toolbar.returnbutton',
class: 'buttontext',
},
exit:{
command: 'exit',
localizationId: 'pad.toolbar.exit.title',
class: 'buttonicon buttonicon-exit',
},
},
registerButton(buttonName: string, buttonInfo: any) {

View file

@ -12,6 +12,7 @@
@import url("pad/gritter.css");
@import url("pad/loadingbox.css");
@import url("pad/form.css");
@import url("pad/exit-button.css");
html {
font-size: 15px;

View file

@ -0,0 +1,8 @@
.buttonicon-exit:before {
content: "\2715";
margin-right: 5px;
}
#exit-button {
cursor: pointer;
}

View file

@ -381,6 +381,10 @@ exports.padeditbar = new class {
$('.exportlink').first().trigger('focus');
}
});
this.registerCommand('exit', () => {
console.log('Exit button clicked');
window.location.href = '/';
});
this.registerCommand('showusers', () => {
this.toggleDropDown('users');
@ -478,5 +482,8 @@ exports.padeditbar = new class {
.substring(0, document.location.href.lastIndexOf('/'));
}
});
}
}();

View file

@ -217,3 +217,7 @@ exports.focusOnLine = (ace) => {
}
// End of setSelection / set Y position of editor
};
// toolbar.registerCommand('exit', () => {
// window.location.href = '/';
// });

View file

@ -25,7 +25,9 @@ export const setUserName = async (page: Page, userName: string) => {
await page.click("input[data-l10n-id='pad.userlist.entername']");
await page.keyboard.type(userName);
}
export const exitPad = async (page: Page) => {
await page.locator("button[data-l10n-id='pad.toolbar.exit.title']").click();
}
export const showChat = async (page: Page) => {
const chatIcon = page.locator("#chaticon")

View file

@ -85,6 +85,14 @@ helper.toggleUserList = async () => {
await helper.waitForPromise(() => !isVisible);
};
helper.exitButton = () => helper.padChrome$("button[data-l10n-id='pad.toolbar.exit.title']");
helper.exitPad = async () => {
const button = helper.exitButton();
button.trigger('click');
await helper.waitForPromise(() => window.location.pathname === '/');
};
/**
* Gets the user name input field
*