Skip to content

Commit

Permalink
update docs for 2.4.0 release
Browse files Browse the repository at this point in the history
  • Loading branch information
rohanb10 committed May 15, 2021
1 parent 516c77a commit eec9bc2
Show file tree
Hide file tree
Showing 5 changed files with 39 additions and 25 deletions.
20 changes: 16 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
</p>

<div align="center">
<img src="https://img.shields.io/badge/crx%20size-55.9kb-brightgreen" alt="Total file size">
<img src="https://img.shields.io/badge/crx%20size-89kb-brightgreen" alt="Total file size">
<a target="_blank" href="https://addons.mozilla.org/en-US/firefox/addon/snoozz/">
<img src="https://img.shields.io/amo/v/snoozz?color=orange&logo=firefox-browser&label=firefox%20add-on" alt="Mozilla Add-on">
</a>
Expand All @@ -28,7 +28,17 @@
-------------


A Web Extension to *snoozz* tabs and windows now and have them reopen automatically later.
A Web Extension to *snoozz* tabs and windows now and have them reopen automatically later.

Features:
- Snooze individual tabs, selected tabs, or full windows in just two clicks
- Configure keyboard shortcuts and context menu items to snooze tabs even quicker
- View your currently sleeping and already awoken tabs on the dashboard
- Edit Sleeping Tabs to wake up at a different time (still inn beta)
- Works completely offline - None of your data is transmitted anywhere, and the extension is entirely self contained
- Tiny file size - Less than a 100kb (including icons). Try finding another extension which can do all these things with a smaller footprint
- Dark mode, Import/Export data, automatically clear extension history annd many more configurable user settings


Available on [Chrome](https://chrome.google.com/webstore/detail/snoozz-snooze-tabs-window/lklendgldejcnkkaldoggoapclkepgfb), [Firefox](https://addons.mozilla.org/en-US/firefox/addon/snoozz/), [Edge](https://microsoftedge.microsoft.com/addons/detail/ifofnjpbldmdcbkaalbdgaopphhlopok) and as a custom build for [Safari](https://github.com/rohanb10/snoozz-tab-snoozing/blob/master/docs/safari.md).

Expand All @@ -49,16 +59,18 @@ Some features and colours of icons have been altered to be compatible with small

| Author | Icons |
|--|--|
| [Freepik](https://www.flaticon.com/authors/freepik) | Alarm, Arrow, Bathtub, Calendar, Coffee, Egg, Porthole, Octopus, Sheep
| [Freepik](https://www.flaticon.com/authors/freepik) | Alarm, Arrow, Bathtub, Calendar, Coffee, Egg, Pencil, Porthole, Octopus, Rocket, Sheep
| [Justicon](https://dribbble.com/Justicon) | Chai
| [Octopocto](https://www.flaticon.com/authors/octopocto) | Coffee Machine
| [Icon Box](https://www.flaticon.com/authors/icon-box) | Gear
| [Kiran Shastry](https://dribbble.com/kiranshastry) | Magnet
| [Those Icons](https://www.flaticon.com/authors/those-icons) | Magnifying Glass
| [photo3idea](https://www.behance.net/Photo3idea) | Oven
| [Smashicons](https://smashicons.com/) | Sheep
| [Alfredo Hernandez](https://www.alfredocreates.com/) | Sun
| [dDara](https://www.flaticon.com/authors/ddara) | Wii Fit Trainer

Also would like to credit [Joni Trythall](https://jonitrythall.com/) for the CSS alarm clock used in the dashboard - [codepen](https://codepen.io/jonitrythall/pen/slvmi). I wrote my own JS to set the clock to the current time.
Thank you to [Joni Trythall](https://jonitrythall.com/) for the CSS alarm clock used in the dashboard - [codepen](https://codepen.io/jonitrythall/pen/slvmi). I have modified the clock to be in sync with the current time.


------
Expand Down
15 changes: 10 additions & 5 deletions docs/changelog.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,22 @@
## Roadmap
*In no particular order*
- Snooze again + recurring snoozes
- Cloud sync
- Firefox date + time picker for popup
- Make contextMenu + allTabs permissions optional
- Edit snooze times (maybe a snoozz again / recurring feature?)
- Make accessibile
- Tab groups (Chrome only) (if API ever opens up)
- Favicon compression

PRs and other ideas welcome.
PRs and other ideas are welcome.

## Changes ##

**May 2021**
#### 2.4.0
- Edit Snoozz times for sleeping tabs
- New Date and Time picker for custom snooze time selection
- Snooze selected tabs (and a new UI for selecting snooze targets)
- New options: "One Hour From Now" and "On Next Startup"
- Export and Smart Import tabs to use across different devices (No duplicates, the most recently updated tab will be saved to your device)

**January 2021**
#### 2.3.3
- Make entire extension keyboard navigable
Expand Down
2 changes: 1 addition & 1 deletion manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "Snoozz - Snooze Tabs & Windows for later",
"short_name": "Snoozz",
"description": "Declutter your browser by snoozing tabs and windows until you actually need them.",
"version": "2.3.3",
"version": "2.4.0",

"icons": {
"128": "icons/ext-icon-128.png",
Expand Down
5 changes: 1 addition & 4 deletions scripts/dashboard.js
Original file line number Diff line number Diff line change
Expand Up @@ -273,8 +273,6 @@ function buildTab(t) {
var removeBtn = Object.assign(document.createElement('img'), {className:'remove-button', src: '../icons/close.svg', tabIndex: 0});
var removeBtnContainer = wrapInDiv('remove-btn-container tooltip', removeBtn)

// tab.addEventListener('click', _ => openEditModal(t.id));

tab.append(iconContainer, titleContainer, wakeUpTimeContainer, editBtnContainer, wakeUpBtnContainer, removeBtnContainer, littleTabs);
return tab;
}
Expand All @@ -296,10 +294,9 @@ function getTimeGroup(tab, timeType = 'wakeUpTime', searchQuery = false) {
var group = [];
if (!tab.opened && !tab[timeType]) return group;
var now = dayjs(), time = searchQuery && tab.opened ? dayjs(tab.opened) : dayjs(tab[timeType]);
// if (tab.startUp) group.push('next_startup');
if (time.week() === now.subtract(1, 'week').week()) group.push('last_week');
if (time.dayOfYear() === now.subtract(1, 'd').dayOfYear()) group.push('yesterday');
if (time.dayOfYear() === now.dayOfYear()) group.push('today');
if (time.dayOfYear() === now.dayOfYear() && time.year() == now.year()) group.push('today');
if (time.dayOfYear() === now.add(1, 'd').dayOfYear()) group.push('tomorrow');
if (time.week() === now.week()) group.push('this_week');
if (time.week() === now.add(1, 'week').week()) group.push('next_week');
Expand Down
22 changes: 11 additions & 11 deletions scripts/popup.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
var closeDelay = 1000, colorList = [], isInEditMode = false, editTabId;
var closeDelay = 1000, colorList = [], isInEditMode = false;
async function init() {
isInEditMode = getUrlParam('edit') && getUrlParam('edit') == 'true';

Expand Down Expand Up @@ -49,7 +49,7 @@ async function init() {
if (e.which === 84) document.getElementById('tab').click();
if (e.which === 87) document.getElementById('window').click();
if (e.which === 83) document.getElementById('selection').click();
if (e.which === 71) document.getElementById('group').click();
// if (e.which === 71) document.getElementById('group').click();
});
if (isInEditMode && parent && parent.resizeIframe) parent.resizeIframe();
}
Expand Down Expand Up @@ -90,8 +90,8 @@ async function buildTargets() {
document.getElementById('window').classList.add('active');
} else if (isSelectionValid) {
document.getElementById('selection').classList.add('active');
} else if (isGroupValid) {
document.getElementById('group').classList.add('active');
// } else if (isGroupValid) {
// document.getElementById('group').classList.add('active');
} else {
document.querySelectorAll('.choice, .custom-choice, h3').forEach(c => {c.classList.add('disabled');c.setAttribute('tabindex','-1')});
return document.getElementById('preview-text').innerText = `Can't snooze this tab`;
Expand Down Expand Up @@ -125,11 +125,11 @@ async function generatePreview(type) {
var validTabs = allTabs.filter(t => !isDefault(t) && isValid(t) && t.highlighted);
previewText.innerText = `${validTabs.length} selected tabs from ${getSiteCountLabel(validTabs)}`;
previewIcon.src = '../icons/magnet.png';
} else if (type == 'group') {
var currentTabGroup = allTabs.find(at => at.active).groupId;
var validTabs = allTabs.filter(t => currentTabGroup && currentTabGroup != -1 && !isDefault(t) && isValid(t) && t.groupId && t.groupId == currentTabGroup);
previewText.innerText = `${validTabs.length} grouped tabs from ${getSiteCountLabel(validTabs)}`;
previewIcon.src = '../icons/octopus.png';
// } else if (type == 'group') {
// var currentTabGroup = allTabs.find(at => at.active).groupId;
// var validTabs = allTabs.filter(t => currentTabGroup && currentTabGroup != -1 && !isDefault(t) && isValid(t) && t.groupId && t.groupId == currentTabGroup);
// previewText.innerText = `${validTabs.length} grouped tabs from ${getSiteCountLabel(validTabs)}`;
// previewIcon.src = '../icons/octopus.png';
} else {
previewText.innerText = `Can't snooze this tab`;
}
Expand Down Expand Up @@ -269,8 +269,8 @@ async function snooze(time, choice) {
response = await snoozeWindow(time);
} else if (target.id == 'selection') {
response = await snoozeSelectedTabs(time);
} else if (target.id == 'group') {
// response = await snoozeGroupedTabs(time);
// } else if (target.id == 'group') {
// response = await snoozeGroupedTabs(time);
}
if (response && !(response.tabId || response.windowId)) return;
await chrome.runtime.sendMessage(Object.assign(response, {close: true, delay: closeDelay}));
Expand Down

0 comments on commit eec9bc2

Please sign in to comment.