Skip to content

Commit 6484654

Browse files
authored
Merge pull request #180 from Stardown-app/feature-local-notepad
Add a setting for whether to store the notepad's content locally
2 parents f86efa0 + 0dbadc8 commit 6484654

File tree

5 files changed

+222
-65
lines changed

5 files changed

+222
-65
lines changed

src/getSetting.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ import { browser } from './browserSpecific.js';
1919
const defaultSettings = {
2020
markupLanguage: 'markdown',
2121
createTextFragment: true,
22+
notepadAppendOrInsert: 'append',
23+
notepadStorageLocation: 'sync',
2224
extractMainContent: true,
2325
omitNav: true,
2426
omitFooter: true,
@@ -27,7 +29,6 @@ const defaultSettings = {
2729
notifyOnSuccess: false,
2830
selectionFormat: 'Copy selection',
2931
copyTabsWindows: 'current',
30-
notepadAppendOrInsert: 'append',
3132
notepadContent: '',
3233
lastUpboardVersion: null,
3334

src/settings.html

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -131,13 +131,6 @@ <h4>General</h4>
131131
</select>
132132
<br />
133133
<br />
134-
<label for="notepadAppendOrInsert">Copying into Stardown's notepad</label>
135-
<select id="notepadAppendOrInsert" name="notepadAppendOrInsert">
136-
<option value="append">appends</option>
137-
<option value="insert">inserts where the cursor is</option>
138-
</select>
139-
<br />
140-
<br />
141134
<input id="createTextFragment" type="checkbox" checked />
142135
<label for="createTextFragment">Include a
143136
<a href="https://developer.mozilla.org/en-US/docs/Web/URI/Fragment/Text_fragments" target="_blank">
@@ -155,6 +148,22 @@ <h4>General</h4>
155148
<br />
156149
<br />
157150
<hr />
151+
<h4>Notepad</h4>
152+
<label for="notepadAppendOrInsert">Copying into Stardown's notepad</label>
153+
<select id="notepadAppendOrInsert" name="notepadAppendOrInsert">
154+
<option value="append">appends</option>
155+
<option value="insert">inserts where the cursor is</option>
156+
</select>
157+
<br />
158+
<br />
159+
<label for="notepadStorageLocation">Store Stardown's notepad content in</label>
160+
<select id="notepadStorageLocation" name="notepadStorageLocation">
161+
<option value="sync">sync storage (8,100 character limit, syncs between devices)</option>
162+
<option value="local">local storage (10,485,000 character limit, does not sync)</option>
163+
</select>
164+
<br />
165+
<br />
166+
<hr />
158167
<h4>Readability</h4>
159168
<input id="extractMainContent" type="checkbox" checked />
160169
<label for="extractMainContent">When copying an entire page, try to extract the main content of the page</label>

src/settings.js

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,9 @@ const form = document.querySelector('form');
2626
const markupLanguageEl = document.querySelector('#markupLanguage');
2727
const selectionFormatEl = document.querySelector('#selectionFormat');
2828
const copyTabsWindowsEl = document.querySelector('#copyTabsWindows');
29-
const notepadAppendOrInsertEl = document.querySelector('#notepadAppendOrInsert');
3029
const createTextFragmentEl = document.querySelector('#createTextFragment');
30+
const notepadAppendOrInsertEl = document.querySelector('#notepadAppendOrInsert');
31+
const notepadStorageLocationEl = document.querySelector('#notepadStorageLocation');
3132
const extractMainContentEl = document.querySelector('#extractMainContent');
3233
const omitNavEl = document.querySelector('#omitNav');
3334
const omitFooterEl = document.querySelector('#omitFooter');
@@ -50,8 +51,15 @@ const resetButton = document.querySelector('#reset');
5051
initAutosave('markupLanguage', markupLanguageEl, 'value');
5152
initAutosave('selectionFormat', selectionFormatEl, 'value');
5253
initAutosave('copyTabsWindows', copyTabsWindowsEl, 'value');
53-
initAutosave('notepadAppendOrInsert', notepadAppendOrInsertEl, 'value');
5454
initAutosave('createTextFragment', createTextFragmentEl, 'checked');
55+
initAutosave('notepadAppendOrInsert', notepadAppendOrInsertEl, 'value');
56+
initAutosave('notepadStorageLocation', notepadStorageLocationEl, 'value', () => {
57+
browser.runtime.sendMessage({
58+
destination: 'sidebar',
59+
category: 'notepadStorageLocation',
60+
notepadStorageLocation: notepadStorageLocationEl.value,
61+
});
62+
});
5563
initAutosave('extractMainContent', extractMainContentEl, 'checked');
5664
initAutosave('omitNav', omitNavEl, 'checked');
5765
initAutosave('omitFooter', omitFooterEl, 'checked');
@@ -69,7 +77,7 @@ initAutosave('jsonDestination', jsonDestinationEl, 'value', () => {
6977
browser.runtime.sendMessage({
7078
destination: 'background',
7179
category: 'jsonDestination',
72-
jsonDestination: jsonDestinationEl.value
80+
jsonDestination: jsonDestinationEl.value,
7381
});
7482
});
7583

@@ -98,8 +106,9 @@ async function loadSettings() {
98106
markupLanguageEl.value = await getSetting('markupLanguage');
99107
selectionFormatEl.value = await getSetting('selectionFormat');
100108
copyTabsWindowsEl.value = await getSetting('copyTabsWindows');
101-
notepadAppendOrInsertEl.value = await getSetting('notepadAppendOrInsert');
102109
createTextFragmentEl.checked = await getSetting('createTextFragment');
110+
notepadAppendOrInsertEl.value = await getSetting('notepadAppendOrInsert');
111+
notepadStorageLocationEl.value = await getSetting('notepadStorageLocation');
103112
extractMainContentEl.checked = await getSetting('extractMainContent');
104113
omitNavEl.checked = await getSetting('omitNav');
105114
omitFooterEl.checked = await getSetting('omitFooter');

src/sidebar.html

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,9 @@
5454
<textarea id="notepad"></textarea>
5555
</div>
5656
<p id="char-count"></p>
57+
<button id="sync-limit-button" type="button" style="visibility: hidden">
58+
Where does syncing stop?
59+
</button>
5760
</main>
5861
<script src="./sidebar.js"></script>
5962
</body>

0 commit comments

Comments
 (0)