Skip to content

Commit

Permalink
Preview/Configure buttons for New Tab settings
Browse files Browse the repository at this point in the history
Signed-off-by: Philipp <philipp.koenig@redeviation.com>
  • Loading branch information
Kiuryy committed Jun 7, 2021
1 parent 7cb15d7 commit fba1686
Show file tree
Hide file tree
Showing 12 changed files with 241 additions and 8 deletions.
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,13 +20,13 @@
"concat": "^1.0.3",
"create-file": "^1.0.1",
"del": "^6.0.0",
"eslint": "^7.27.0",
"eslint": "^7.28.0",
"fs-extra": "^10.0.0",
"glob-concat": "^1.0.2",
"html-minifier": "^4.0.0",
"jsonminify": "^0.4.1",
"node-sass": "^6.0.0",
"npm-check-updates": "^11.5.13",
"npm-check-updates": "^11.6.0",
"read-file": "^0.2.0",
"request": "^2.88.2",
"terser": "^5.7.0",
Expand Down
8 changes: 7 additions & 1 deletion src/_locales/de/messages.json
Original file line number Diff line number Diff line change
Expand Up @@ -747,7 +747,7 @@
"message": "Informationen teilen"
},
"settings_tips_tricks_share_data_desc": {
"message": "Du kannst deine Einstellungen anonym \u00fcbermitteln. Dies hilft mir um popul\u00e4re Einstellungen zu identifizieren und herauszufinden, was ich in Zukunft verbessern oder \u00e4ndern muss.\r\n\r\nDie Erweiterung sammelt keinerlei pers\u00f6nliche Daten und liest auch keine Lesezeichen. Ohne explizite Einwilligung wird keine deiner Einstellungen geteilt."
"message": "Du kannst deine Einstellungen anonym \u00fcbermitteln. Dies hilft mir um popul\u00e4re Einstellungen zu identifizieren und herauszufinden, was ich in Zukunft verbessern oder \u00e4ndern muss. Die Erweiterung sammelt keinerlei pers\u00f6nliche Daten und liest auch keine Lesezeichen. Ohne explizite Einwilligung wird keine deiner Einstellungen geteilt."
},
"settings_tips_tricks_multiselect": {
"message": "Mehrere Elemente ausw\u00e4hlen"
Expand Down Expand Up @@ -1181,6 +1181,12 @@
"settings_newtab_override_desc": {
"message": "Soll die Erweiterung die aktuelle New-Tab-Seite mit entweder einer angepassten Seite, oder einer Webseite die geladen wird wenn ein neuer Tab ge\u00f6ffnet wird, \u00fcberschreiben?"
},
"settings_newtab_override_preview": {
"message": "Vorschau"
},
"settings_newtab_override_configure": {
"message": "Konfigurieren"
},
"settings_newtab_sidebar_auto_open": {
"message": "Sidebar automatisch \u00f6ffnen"
},
Expand Down
6 changes: 6 additions & 0 deletions src/_locales/en/messages.json
Original file line number Diff line number Diff line change
Expand Up @@ -1232,6 +1232,12 @@
"settings_newtab_override_desc": {
"message": "Should the extension override your current new tab page with either 1) a custom made page or 2) a website page which should be loaded when opening a new tab?"
},
"settings_newtab_override_preview": {
"message": "Preview"
},
"settings_newtab_override_configure": {
"message": "Configure"
},
"settings_newtab_sidebar_auto_open": {
"message": "Open sidebar automatically"
},
Expand Down
8 changes: 7 additions & 1 deletion src/_locales/en_US/messages.json
Original file line number Diff line number Diff line change
Expand Up @@ -747,7 +747,7 @@
"message": "Share information"
},
"settings_tips_tricks_share_data_desc": {
"message": "You can share your configuration anonymously which helps me to identify popular settings and to identify what to improve or change in future releases.\r\n\r\nThe extension is not collecting any personal data or reading bookmarks. Without explicit permission, the extension is also not sharing any configuration."
"message": "You can share your configuration anonymously which helps me to identify popular settings and to identify what to improve or change in future releases. The extension is not collecting any personal data or reading bookmarks. Without explicit permission, the extension is also not sharing any configuration."
},
"settings_tips_tricks_multiselect": {
"message": "Select multiple entries"
Expand Down Expand Up @@ -1181,6 +1181,12 @@
"settings_newtab_override_desc": {
"message": "Should the extension override your current new tab page with either 1) a custom made page or 2) a website page which should be loaded when opening a new tab?"
},
"settings_newtab_override_preview": {
"message": "Preview"
},
"settings_newtab_override_configure": {
"message": "Configure"
},
"settings_newtab_sidebar_auto_open": {
"message": "Open sidebar automatically"
},
Expand Down
72 changes: 72 additions & 0 deletions src/_locales/pl/messages.json
Original file line number Diff line number Diff line change
Expand Up @@ -644,6 +644,78 @@
"settings_expert_save_error": {
"message": "Nie uda\u0142o si\u0119 zapisa\u0107 ustawie\u0144. Upewnij si\u0119, \u017ce wprowadzone dane s\u0105 prawid\u0142owe."
},
"settings_dashboard_sidebar_options": {
"message": "Skonfiguruj zachowanie paska bocznego"
},
"settings_dashboard_sidebar_options_desc": {
"message": "Istnieje wiele opcji, kt\u00f3re mo\u017cesz zmieni\u0107, aby kontrolowa\u0107 ten dodatek. Na przyk\u0142ad mo\u017cesz zmieni\u0107 spos\u00f3b przesuwania paska bocznego lub spos\u00f3b otwierania zak\u0142adek. Je\u015bli nie chcesz, aby pasek boczny by\u0142 wczytywany na ka\u017cdej stronie, mo\u017cesz to r\u00f3wnie\u017c skonfigurowa\u0107, korzystaj\u0105c z odpowiednich regu\u0142."
},
"settings_dashboard_appearance_options": {
"message": "Zmie\u0144 wygl\u0105d paska bocznego"
},
"settings_dashboard_appearance_options_desc": {
"message": "Mo\u017cesz ca\u0142kowicie zmieni\u0107 wygl\u0105d paska bocznego, aby dopasowa\u0107 go do swoich potrzeb. Istniej\u0105 r\u00f3\u017cne opcje zmiany rozmiaru czcionki, odst\u0119p\u00f3w mi\u0119dzy wierszami, kolor\u00f3w, ikon i wiele innych. Mo\u017cesz tak\u017ce wybiera\u0107 spo\u015br\u00f3d wst\u0119pnie zdefiniowanych projekt\u00f3w i gotowych opcji, aby szybko nada\u0107 bocznemu paskowi po\u017c\u0105dany wygl\u0105d."
},
"settings_tips_tricks_facts": {
"message": "Czy wiesz, \u017ce?"
},
"settings_tips_tricks_next": {
"message": "Nast\u0119pna porada"
},
"settings_tips_tricks_quick_search": {
"message": "Szybkie wyszukiwanie"
},
"settings_tips_tricks_quick_search_desc": {
"message": "Je\u015bli otworzysz pasek boczny, mo\u017cesz wyszukiwa\u0107 zak\u0142adki po prostu zaczynaj\u0105c pisa\u0107. Nie musisz najpierw klika\u0107 ikony wyszukiwania w nag\u0142\u00f3wku paska bocznego."
},
"settings_tips_tricks_activation_area": {
"message": "Obszar aktywacji"
},
"settings_tips_tricks_activation_area_desc": {
"message": "Domy\u015blnie ca\u0142\u0105 kraw\u0119d\u017a okna przegl\u0105darki mo\u017cna najecha\u0107 kursorem, aby otworzy\u0107 pasek boczny. Mo\u017cesz zmniejszy\u0107 obszar aktywacji, zezwalaj\u0105c na otwieranie paska bocznego tylko na cz\u0119\u015bci wysoko\u015bci okna przegl\u0105darki. Na przyk\u0142ad mo\u017cesz zmieni\u0107 pasek boczny, aby by\u0142 wy\u015bwietlany tylko po klikni\u0119ciu obszaru aktywacji w lewym dolnym rogu okna przegl\u0105darki. Mo\u017ce to by\u0107 pomocne, aby zapobiec niezamierzonemu wy\u015bwietlaniu paska bocznego podczas klikania link\u00f3w w witrynie."
},
"settings_tips_tricks_quick_bookmarking": {
"message": "Szybkie tworzenia zak\u0142adek"
},
"settings_tips_tricks_quick_bookmarking_desc": {
"message": "Mo\u017cesz przeci\u0105gn\u0105\u0107 dowolny adres URL bezpo\u015brednio na pasek boczny i upu\u015bci\u0107 go w \u017c\u0105danym miejscu. Mo\u017cesz nawet zaznaczy\u0107 i przeci\u0105gn\u0105\u0107 w ten spos\u00f3b aktualny adres URL karty przegl\u0105darki. Mo\u017cesz tak\u017ce przeci\u0105gn\u0105\u0107 symbol {1} z lewej strony paska adresu na pasek boczny, aby doda\u0107 zak\u0142adk\u0119 do bie\u017c\u0105cej strony bez zaznaczania najpierw ca\u0142ego paska adresu."
},
"settings_tips_tricks_separators": {
"message": "Separatory"
},
"settings_tips_tricks_quick_url_copy": {
"message": "Szybkie kopiowanie adresu URL"
},
"settings_tips_tricks_open_all_bookmarks": {
"message": "Otw\u00f3rz wszystkie zak\u0142adki"
},
"settings_tips_tricks_hide_entries": {
"message": "Ukryj wpisy"
},
"settings_tips_tricks_expand_all_subfolders": {
"message": "Otw\u00f3rz wszystkie podfoldery"
},
"settings_tips_tricks_keyboard_shortcuts": {
"message": "Skr\u00f3ty klawiaturowe"
},
"settings_tips_tricks_synchronization": {
"message": "Synchronizacja"
},
"settings_tips_tricks_version_desc": {
"message": "Pierwsza wersja tego rozszerzenia zosta\u0142a wydana w listopadzie 2016."
},
"settings_tips_tricks_right_click": {
"message": "Prawy przycisk"
},
"settings_tips_tricks_share_data": {
"message": "Udost\u0119pnianie informacji"
},
"settings_tips_tricks_newtab": {
"message": "Nowa karta"
},
"settings_tips_tricks_privacy": {
"message": "Prywatno\u015b\u0107"
},
"settings_open_action": {
"message": "Otw\u00f3rz boczn\u0105 list\u0119 zak\u0142adek"
},
Expand Down
3 changes: 3 additions & 0 deletions src/_locales/pt_BR/messages.json
Original file line number Diff line number Diff line change
Expand Up @@ -764,6 +764,9 @@
"settings_tips_tricks_privacy": {
"message": "Privacidade"
},
"settings_tips_tricks_privacy_desc": {
"message": "Os Favoritos mostrados em sua barra lateral s\u00e3o sincronizados e gerenciados por {browserName}. A extens\u00e3o n\u00e3o armazena ou analisa esses favoritos, somente mostra aquelas escolhidas no navegador em sua barra lateral."
},
"settings_open_action": {
"message": "Abrir barra lateral"
},
Expand Down
45 changes: 45 additions & 0 deletions src/_locales/tr/messages.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,9 @@
"header_bookmarks_single": {
"message": "Yer i\u015fareti"
},
"header_selected_entries": {
"message": "se\u00e7ilmi\u015f"
},
"sidebar_dir_children": {
"message": "\u00d6\u011feler"
},
Expand Down Expand Up @@ -116,6 +119,21 @@
"contextmenu_keyboard_shortcuts": {
"message": "Klavye k\u0131sayollar\u0131"
},
"contextmenu_select_entries": {
"message": "Birden \u00e7ok giri\u015f se\u00e7in"
},
"contextmenu_select_bookmark": {
"message": "Yer imi se\u00e7in"
},
"contextmenu_deselect_bookmark": {
"message": "Yer i\u015faretinin se\u00e7imini kald\u0131r"
},
"contextmenu_select_dir": {
"message": "Klas\u00f6r se\u00e7"
},
"contextmenu_deselect_dir": {
"message": "Klas\u00f6r se\u00e7imini kald\u0131r"
},
"sort_label_custom": {
"message": "Kullan\u0131c\u0131 tan\u0131ml\u0131"
},
Expand Down Expand Up @@ -161,6 +179,9 @@
"overlay_update": {
"message": "G\u00fcncelle"
},
"overlay_confirm_open_selected": {
"message": "Se\u00e7ilen klas\u00f6rlerin alt klas\u00f6r yer imleri de dahil olmak \u00fczere t\u00fcm {1} yer imlerini ger\u00e7ekten a\u00e7mak istiyor musunuz?"
},
"overlay_open_children": {
"message": "Hepsini a\u00e7"
},
Expand Down Expand Up @@ -227,6 +248,12 @@
"overlay_dir_children_dirs": {
"message": "Dizinler"
},
"overlay_delete_selected": {
"message": "Se\u00e7ili giri\u015fleri sil"
},
"overlay_delete_selected_confirm": {
"message": "Se\u00e7ilen giri\u015fleri ger\u00e7ekten silmek istiyor musunuz? Se\u00e7ilen klas\u00f6rlerin t\u00fcm alt klas\u00f6r yer imleri de silinecektir."
},
"overlay_check_bookmarks_menu_changed": {
"message": "De\u011fi\u015ftirildi"
},
Expand Down Expand Up @@ -719,12 +746,27 @@
"settings_tips_tricks_share_data": {
"message": "Bilgi payla\u015f"
},
"settings_tips_tricks_share_data_desc": {
"message": "Yap\u0131land\u0131rman\u0131z\u0131 anonim olarak payla\u015fabilirsiniz; bu, pop\u00fcler ayarlar\u0131 belirlememe ve gelecekteki s\u00fcr\u00fcmlerde nelerin iyile\u015ftirilece\u011fini veya de\u011fi\u015ftirilece\u011fini belirlememe yard\u0131mc\u0131 olur. Uzant\u0131, herhangi bir ki\u015fisel veri toplamaz veya yer imlerini okumaz. A\u00e7\u0131k izin olmadan, uzant\u0131 herhangi bir yap\u0131land\u0131rmay\u0131 da payla\u015fmaz."
},
"settings_tips_tricks_multiselect": {
"message": "Birden \u00e7ok giri\u015f se\u00e7in"
},
"settings_tips_tricks_multiselect_desc": {
"message": "Kenar \u00e7ubu\u011funda birden fazla yer imi veya klas\u00f6r\u00fc se\u00e7erek tek seferde s\u00fcr\u00fckleyip b\u0131rakarak a\u00e7abilir, silebilir ve hatta ta\u015f\u0131yabilirsiniz."
},
"settings_tips_tricks_newtab": {
"message": "Yeni sekme"
},
"settings_tips_tricks_newtab_desc": {
"message": "Alt k\u00f6\u015fedeki {1} d\u00fc\u011fmesini t\u0131klayarak Yeni Sekme Sayfas\u0131n\u0131n g\u00f6r\u00fcn\u00fcm\u00fcn\u00fc do\u011frudan sayfada yap\u0131land\u0131rabilirsiniz. Ard\u0131ndan \u0131zgara \u00f6\u011felerini, arama motorunu, arka plan resmini veya \u00fcstteki ba\u011flant\u0131lar\u0131 de\u011fi\u015ftirebilirsiniz."
},
"settings_tips_tricks_privacy": {
"message": "Gizlilik"
},
"settings_tips_tricks_privacy_desc": {
"message": "Kenar \u00e7ubu\u011funuzda g\u00f6r\u00fcnt\u00fclenen yer i\u015faretleri, {browserName} taraf\u0131ndan senkronize edilir ve y\u00f6netilir. Uzant\u0131, bu yer imlerini saklamaz veya analiz etmez ve yaln\u0131zca taray\u0131c\u0131n\u0131z\u0131n kenar \u00e7ubu\u011fundakilerini g\u00f6r\u00fcnt\u00fcler."
},
"settings_open_action": {
"message": "Kenar \u00e7ubu\u011funu a\u00e7"
},
Expand Down Expand Up @@ -1331,6 +1373,9 @@
"premium_feature_themes_desc": {
"message": "Ba\u015fka bir tema y\u00fckleyerek kenar \u00e7ubu\u011funun t\u00fcm tasar\u0131m\u0131n\u0131 tek bir t\u0131klamayla de\u011fi\u015ftirebilirsiniz. Ayr\u0131ca tasar\u0131mlar, mevcut kayd\u0131r\u0131c\u0131lar ve renk se\u00e7enekleri ile \u00f6zelle\u015ftirilebilir."
},
"premium_pay_intro_payment_method": {
"message": "A\u015fa\u011f\u0131dan bir \u00f6deme y\u00f6ntemi se\u00e7in ve bir sonraki ad\u0131mda \u00f6demek istedi\u011finiz tutar\u0131 se\u00e7in."
},
"premium_pay_select_payment_method": {
"message": "\u00d6deme Y\u00f6ntemini Se\u00e7in"
},
Expand Down
11 changes: 8 additions & 3 deletions src/html/settings.html
Original file line number Diff line number Diff line change
Expand Up @@ -478,18 +478,23 @@ <h3 data-i18n="settings_advanced"></h3>
<div class="boxWrapper">
<div class="box">
<div class="formElement" data-type="checkbox" data-name="override" data-i18n="settings_newtab_override"></div>

<p class="buttons">
<a class="button" data-name="preview" data-i18n="settings_newtab_override_preview"></a>
<a class="button" data-name="styling" data-i18n="settings_newtab_override_configure"></a>
</p>
</div>

<div class="box hideable">
<div class="formElement" data-type="checkbox" data-name="autoOpen" data-i18n="settings_newtab_sidebar_auto_open"></div>
<div class="formElement" data-type="text" data-name="website" data-placeholder="https://example.com" data-i18n="settings_newtab_website"></div>
</div>

<div class="box hideable">
<div class="formElement" data-type="checkbox" data-name="focusOmnibox" data-i18n="settings_newtab_focus_omnibox"></div>
<div class="formElement" data-type="checkbox" data-name="autoOpen" data-i18n="settings_newtab_sidebar_auto_open"></div>
</div>

<div class="box hideable">
<div class="formElement" data-type="text" data-name="website" data-placeholder="https://example.com" data-i18n="settings_newtab_website"></div>
<div class="formElement" data-type="checkbox" data-name="focusOmnibox" data-i18n="settings_newtab_focus_omnibox"></div>
</div>
</div>

Expand Down
1 change: 1 addition & 0 deletions src/js/settings.js
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@
},
newtab: {
content: $("div.tab[data-name='newtab']"),
buttons: $("div.tab[data-name='newtab'] p.buttons"),
faviconPreview: $("div.faviconOptions > aside > canvas")
},
importExport: {
Expand Down
32 changes: 31 additions & 1 deletion src/js/settings/newtab.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
$.NewtabHelper = function (s) {

let overrideCheckboxInited = false;
let overrideWithWebsite = false;
const faviconInputs = [];
const faviconPadding = {regular: 18, transparent: 10};
const updateFaviconPreviewState = {running: false, awaitUpdate: false};
Expand All @@ -16,6 +17,7 @@
this.init = async () => {
initEvents();
s.elm.newtab.content.find("div." + $.cl.settings.newtab.hideable).addClass($.cl.hidden);
s.elm.newtab.buttons.addClass($.cl.hidden);

["override", "autoOpen", "focusOmnibox"].forEach((field) => {
if (s.helper.model.getData("n/" + field) === true) {
Expand Down Expand Up @@ -51,6 +53,7 @@

["website"].forEach((field) => {
s.elm.field[field][0].value = s.helper.model.getData("n/" + field);
overrideWithWebsite = s.elm.field[field][0].value.length > 0;
});
};

Expand Down Expand Up @@ -111,23 +114,50 @@

if (override) {
hideableBoxes.removeClass($.cl.hidden);
showHideButtons();
} else {
hideableBoxes.addClass($.cl.hidden);
s.elm.newtab.buttons.addClass($.cl.hidden);
}
});
} else {
hideableBoxes.removeClass($.cl.hidden);
showHideButtons();
}
} else {
hideableBoxes.addClass($.cl.hidden);
s.elm.newtab.buttons.addClass($.cl.hidden);
}
});

s.elm.newtab.content.find("input").on("change input", (e) => {
if (faviconInputs.indexOf(e.currentTarget)) { // updated one of the favicon options -> update preview as well
if (faviconInputs.indexOf(e.currentTarget) > -1) { // updated one of the favicon options -> update preview as well
updateFaviconPreview();
} else if (s.elm.field.website[0] === e.currentTarget) {
overrideWithWebsite = s.elm.field.website[0].value.length > 0;
showHideButtons();
}
});

s.elm.newtab.buttons.children("a").on("click", (e) => {
e.preventDefault();
s.helper.model.call("openLink", {
href: $.api.extension.getURL("html/newtab.html") + ($(e.currentTarget).attr($.attr.name) === "styling" ? "#edit" : ""),
newTab: true,
active: true
});
});
};

/**
* Shows the buttons to open the preview or edit mode of the custom new tab page in case newtabOverride = true and the user did not enter an URL as new tab replacement
*/
const showHideButtons = () => {
if (overrideWithWebsite) {
s.elm.newtab.buttons.addClass($.cl.hidden);
} else {
s.elm.newtab.buttons.removeClass($.cl.hidden);
}
};

/**
Expand Down
Loading

0 comments on commit fba1686

Please sign in to comment.