safer-indie-wiki-buddy/settings.html

627 lines
19 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta charset="UTF-8" />
<link rel="icon" href="images/logo.png" />
<title>Indie Wiki Buddy settings</title>
<style>
#togglesKey > div {
position: relative;
}
#togglesKey > div:hover::after {
content: attr(data-title);
padding: 5px;
width: fit-content;
border: 1px solid #000;
position: absolute;
color: #fff;
background: #000;
z-index: 999999;
transform: translateX(calc(-100% - 24px));
opacity: 80%;
top: 30px;
}
/* ELEMENTS */
body {
max-width: 700px;
margin: 0 auto;
padding: 20px;
background-color: #2b2a33;
font-family: Helvetica, Sans-Serif;
font-size: .9rem;
}
a {
text-decoration-style: dotted;
text-decoration-thickness: 1px;
color: #005799;
}
a:visited {
color: #005799;
}
hr {
height: 1px;
border: none;
color: #005799;
background-color: #005799;
margin: 1rem 0 .5rem 0;
}
h1 {
font-size: 1.3rem;
padding: .5rem 0;
margin: 0;
}
h2 {
font-size: 1.2rem;
text-align: center;
padding: .8rem;
margin: 0;
}
fieldset {
background-color: #f5fbff;
border: 1px solid #ccc;
border-radius: 5px;
padding: 3px 0 8px 0;
margin: 0;
margin-bottom: .5em;
}
fieldset+fieldset {
margin-top: 1rem;
}
fieldset>div {
margin: .4rem .5rem;
}
fieldset>span {
margin: .4rem .8rem 0;
display: block;
}
legend {
margin-left: .5rem;
}
.container {
background: #fff;
}
/* HEADER */
#header {
line-height: 1.5rem;
padding: .5rem 1rem;
box-sizing: border-box;
background-color: #005799;
color: #fff;
width: 100%;
}
#header .settingToggle label {
background-color: #fff;
border-radius: 20px;
height: fit-content;
width: fit-content;
}
#version {
float: right;
font-size: 1.2rem;
margin: .5rem 0;
}
#links {
background-color: #e5f4ff;
padding: .5rem 1rem;
}
#firstInstallInfo {
display: none;
text-align: center;
}
/* CONTENT */
#content {
background-color: #fff;
box-sizing: border-box;
padding: 1rem .75rem;
}
/* FOOTER */
#footer {
padding-bottom: 1.5rem;
text-align: center;
line-height: 1.6rem;
box-sizing: border-box;
}
#footer a {
padding: 5px 0px;
color: #005799;
}
/* NOTIFICATIONS */
#notificationBannerContainer {
background-color: #f8f3d6;
font-size: .9em;
line-height: 1.3em;
}
#notificationBannerContainer span {
padding: .5rem 1rem;
display: none;
}
/* GLOBAL SETTINGS SECTION */
.options {
box-sizing: border-box;
padding-bottom: .5rem;
user-select: none;
width: 100%;
}
/* GLOBAL SETTING TOGGLES */
#power input {
height: 0;
width: 0;
margin: 0;
border: none;
appearance: none;
}
#power img {
margin-left: -8px;
}
.two-col {
display: flex;
flex-wrap: wrap;
gap: 1em;
padding-bottom: .5rem;
}
.two-col>div {
flex: 1;
}
@media (max-width: 600px) {
.two-col>div {
flex: 100%;
}
}
.settingToggle {
cursor: pointer;
width: fit-content;
}
.settingToggle input,
.settingToggle label {
cursor: pointer;
}
.settingToggle img {
vertical-align: middle;
}
#searchFilteringSettings>div {
display: inline-block;
}
#breezewikiHost {
display: none;
padding: 0 0 0 1rem;
}
#breezewikiHost label {
cursor: default;
}
/* WIKI CONTROLS */
#wikiControls {
margin: 0 auto;
padding-bottom: .5rem;
}
#wikiControls button {
background: #ffffff;
border: 1px solid #333333;
color: #333333;
border-radius: 5px;
padding: 3px 5px;
margin: 3px 5px;
}
#wikiControls button:hover {
cursor: pointer;
background: #005799;
border: 1px solid#005799;
color: #ffffff;
}
#wikiControls button:hover img {
filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(288deg) brightness(100%) contrast(100%);
}
#individualWikiSettings {
text-align: center;
}
#individualWikiSettings legend {
text-align: left;
}
#langSelectContainer {
margin: 1em 0;
text-align: center;
}
.toggles {
font-size: 0.8rem;
white-space: nowrap;
position: relative;
}
.toggles label {
display: flex;
align-items: center;
}
.toggles>div:hover {
background-color: #e8f0fe;
}
.toggles input {
cursor: pointer;
margin: 0;
}
.toggles>div {
line-height: 2rem;
display: flex;
flex-direction: row;
padding: 0 1rem;
}
.toggles .inputsContainer {
display: flex;
float: right;
}
.inputsContainer>label,
.inputsContainer>div {
width: 20px;
justify-content: center;
text-align: center;
}
#togglesKey img {
width: auto;
max-width: 17px;
height: auto;
max-height: 18px;
vertical-align: middle;
}
.toggles img {
line-height: 1.2rem;
}
.toggles a img {
padding-right: .5rem;
}
.toggles span {
flex-grow: 1;
overflow: hidden;
text-overflow: ellipsis;
}
#defaultToggles {
border-bottom: 1px solid #ccc;
background-color: #f5fbff;
position: sticky;
top: 0;
z-index: 999;
}
#togglesKey>div:nth-child(3),
.toggles>div>div>label:nth-child(3) {
padding-right: .4rem;
}
#togglesKey>div:nth-child(4),
.toggles>div>div>label:nth-child(4) {
padding-left: .4rem;
border-left: 1px solid #333;
}
/* CONTROL CLASSES */
.visuallyHidden {
position: absolute !important;
width: 1px !important;
height: 1px !important;
padding: 0 !important;
margin: -1px !important;
overflow: hidden !important;
clip: rect(0, 0, 0, 0) !important;
white-space: nowrap !important;
border: 0 !important;
}
.text-sm {
font-size: .85em;
}
</style>
</head>
<body>
<div id="container">
<div id="header">
<span id="version"></span>
<h1>Indie Wiki Buddy</h1>
</div>
<div id="links">
<a href="guide.html">Guide</a>
&nbsp;&nbsp;&nbsp;
<a href="https://getindie.wiki" target="_blank">Website</a>
&nbsp;&nbsp;&nbsp;
<a href="https://getindie.wiki/changelog/" target="_blank">Changelog</a>
&nbsp;&nbsp;&nbsp;
<a href="https://getindie.wiki/#submit" target="_blank">Submit&nbsp;a&nbsp;Wiki</a>
&nbsp;&nbsp;&nbsp;
<a href="https://github.com/KevinPayravi/indie-wiki-buddy" target="_blank">Source&nbsp;Code</a>
</div>
<div id="notificationBannerContainer">
<span id="notificationBannerChromeBug">
Chromium users: Due to a <a href="https://bugs.chromium.org/p/chromium/issues/detail?id=1271154"
target="_blank">browser bug</a>,
this extension may stop working after an update. If this happens, try turning the extension off
and on via your browser's extension settings (chrome://extensions/).
<a id="chromeBugHideLink" href="#">Hide this message</a>
</span>
<span id="notificationBannerOpera">
Opera users: By default, Opera will block extensions from running on search engines.
Search engine access can be enabled per-extension by going to "about:extensions"
and selecting the "Allow access to search page results" option under Indie Wiki Buddy.
<a id="operaPermsHideLink" href="#">Hide this message</a>
</span>
<span id="notificationBannerReview">
Enjoying Indie Wiki Buddy? Please leave a review!
<br />
<a id="reviewReminderChromeLink" target="_blank"
href="https://chrome.google.com/webstore/detail/indie-wiki-buddy/fkagelmloambgokoeokbpihmgpkbgbfm">Chrome</a>
&nbsp;&nbsp;|&nbsp;&nbsp;
<a id="reviewReminderFirefoxLink" target="_blank"
href="https://addons.mozilla.org/en-US/firefox/addon/indie-wiki-buddy/">Firefox</a>
&nbsp;&nbsp;|&nbsp;&nbsp;
<a id="reviewReminderHideLink" href="#">Hide this message</a>
<br /><br />
Having issues or ideas for improvement? Please <a target="_blank" href="https://getindie.wiki/#contact">contact
me</a>!
</span>
</div>
<div id="content">
<div id="firstInstallInfo">
Thanks for installing Indie Wiki Buddy! Let's get you set up.
<br /><br />
Use the links above to see the full guide, submit new wikis, or contact the developer.
<br /><br />
In the settings below, you can toggle features on and off.
By default, search engine filtering and notifications when you are redirected are turned on.
You can also turn on <a href="https://breezewiki.com/" target="_blank">BreezeWiki</a>, which will render Fandom
wikis without ads or bloat.
<br /><br />
Below that, you can configure what happens when you visit each Fandom and Fextralife wiki that has an
independent alternative.
This includes whether you want to be
<img src="images/toggle-alert.png" width="12" alt="" /> alerted (default)
or
<img src="images/toggle-redirect.png" width="12" alt="" />
automatically redirected.
You can also toggle whether you want to
<img src="images/toggle-search-filter.png" width="12" alt="" />
filter the non-indie wikis from search engines (on by default).
<br /><br />
You can access these settings in the future via the extension's icon
<img src="./images/logo-32.png" width="15" alt="icon of an arrow pointing to the right" />
at the top right of your browser. If you don't see the icon,
it may be in the extension dropdown, which can be opened via the jigsaw icon
<img src="./images/jigsaw.png" width="15" alt="" /> (also at the top right of your browser).
<hr />
</div>
<form name="options" class="options">
<fieldset id="generalSettings">
<legend><span aria-hidden="true">⚙️</span> General settings</legend>
<div class="settingToggle">
<label>
<input id="powerCheckbox" type="checkbox" />
<span id="powerIcon" aria-hidden="true"></span>
<span id="powerText"></span>
</label>
</div>
<div class="settingToggle">
<label>
<input id="notificationsCheckbox" type="checkbox" />
<span id="notificationsIcon" aria-hidden="true"></span>
<span id="notificationsText">Desktop notifications for
redirections</span>
</label>
</div>
</fieldset>
<fieldset id="breezewikiSettings">
<legend>
<span aria-hidden="true"></span> BreezeWiki settings (<a href="https://breezewiki.com/"
target="_blank">learn&nbsp;more</a>)
</legend>
<div class="settingToggle">
<label>
<input id="breezewikiCheckbox" type="checkbox" />
<span id="breezewikiText">Use BreezeWiki alternative frontend on Fandom</span>
</label>
</div>
<div id="breezewikiHost" class="settingToggle">
<label for="breezewikiHostSelect">BreezeWiki host:&nbsp;</label>
<select name="breezewikiHost" id="breezewikiHostSelect"></select>
</div>
</fieldset>
<div id="wikiControls">
<h2>Individual wiki settings</h2>
<fieldset id="defaultBehaviorSettings">
<legend>
<span aria-hidden="true">📥</span> Default settings for future wikis
</legend>
<div class="two-col">
<div>
<span class="text-sm">When visiting a Fandom or Fextralife wiki:</span>
<div class="settingToggle">
<label for="defaultWikiActionDisabledRadio">
<input id="defaultWikiActionDisabledRadio" type="radio" name="defaultWikiAction" value="disabled" />
<span id="defaultWikiActionDisabledText">
<img src="images/toggle-disabled.png" width="16" alt="" /> Do nothing
</span>
</label>
</div>
<div class="settingToggle">
<label for="defaultWikiActionRedirectRadio">
<input id="defaultWikiActionRedirectRadio" type="radio" name="defaultWikiAction" value="redirect" />
<span id="defaultWikiActionRedirectText">
<img src="images/toggle-redirect.png" width="16" alt="" /> Redirect to indie wiki
</span>
</label>
</div>
<div class="settingToggle">
<label for="defaultWikiActionAlertRadio">
<input id="defaultWikiActionAlertRadio" type="radio" name="defaultWikiAction" value="alert" />
<span id="defaultWikiActionAlertText">
<img src="images/toggle-alert.png" width="16" alt="" /> Display banner linking to indie wiki
</span>
</label>
</div>
</div>
<div>
<span class="text-sm">When using search engines:</span>
<div class="settingToggle">
<label for="defaultSearchActionDisabledRadio">
<input id="defaultSearchActionDisabledRadio" type="radio" name="defaultSearchAction"
value="disabled" />
<span id="defaultSearchActionDisabledText">
<img src="images/toggle-disabled.png" width="16" alt="" /> Do nothing
</span>
</label>
</div>
<div class="settingToggle">
<label for="defaultSearchActionHideRadio">
<input id="defaultSearchActionHideRadio" type="radio" name="defaultSearchAction" value="hide" />
<span id="defaultSearchActionHideText">
<img src="images/toggle-hide.png" width="16" alt="" /> Hide non-indie results
</span>
</label>
</div>
<div class="settingToggle">
<label for="defaultSearchActionReplaceRadio">
<input id="defaultSearchActionReplaceRadio" type="radio" name="defaultSearchAction"
value="replace" />
<span id="defaultSearchActionReplaceText">
<img src="images/toggle-replace.png" width="16" alt="" /> Replace non-indie results
</span>
</label>
</div>
</div>
</div>
<span class="text-sm">Tip: These settings are for wikis added in the future. To change settings for current wikis, use the settings below.</span>
</fieldset>
<fieldset id="individualWikiSettings">
<legend>
<span aria-hidden="true">🎛</span>
Change settings for all wikis displayed below
</legend>
<span class="text-sm">When visiting a Fandom or Fextralife wiki:</span>
<button id="setAllDisabled" type="button">
<img src="images/toggle-disabled.png" width="12" height="12" alt="" /> Do nothing
</button>
<button id="setAllRedirect" type="button">
<img src="images/toggle-redirect.png" width="12" height="12" alt="" /> Redirect to
indie wiki
</button>
<button id="setAllAlert" type="button">
<img src="images/toggle-alert.png" width="12" height="12" alt="" /> Display banner
linking to indie wiki
</button>
<br />
<span class="text-sm">When using search engines:</span>
<button id="setAllSearchEngineDisabled" type="button">
<img src="images/toggle-search-filter.png" width="12" height="12" alt="" /> Do nothing
</button>
<button id="setAllSearchEngineHide" type="button">
<img src="images/toggle-hide.png" width="12" height="12" alt="" /> Hide non-indie results
</button>
<button id="setAllSearchEngineReplace" type="button">
<img src="images/toggle-replace.png" width="12" height="12" alt="" /> Replace non-indie results
</button>
</fieldset>
<div id="langSelectContainer">
Filter wikis by language:&nbsp;
<select name="lang" id="langSelect">
<option value="ALL" selected>All languages</option>
<option value="DE">Deutsch (DE)</option>
<option value="EN">English (EN)</option>
<option value="ES">Español (ES)</option>
<option value="FR">Français (FR)</option>
<option value="IT">Italiano (IT)</option>
<option value="PL">Polski (PL)</option>
<option value="TOK">Toki Pona (TOK)</option>
</select>
</div>
</div>
<div id="defaultToggles" class="toggles">
<div>
<span></span>
<div id="togglesKey" class="inputsContainer">
<div data-title="Do nothing when visiting non-indie wiki">
<img src="images/toggle-disabled.png" width="15" alt="Do nothing" />
</div>
<div data-title="Automatically redirect to indie wiki">
<img src="images/toggle-redirect.png" width="15" alt="Automatically redirect to indie wiki" />
</div>
<div data-title="Show banner when indie wiki is available">
<img src="images/toggle-alert.png" width="15"
alt="Show banner when indie wiki is available" />
</div>
<div data-title="Do nothing on search engines">
<img src="images/toggle-search-filter.png" width="15" alt="Do nothing" />
</div>
<div data-title="Hide non-indie wiki from search results">
<img src="images/toggle-hide.png" width="15" alt="Hide non-indie wiki from search results" />
</div>
<div data-title="Replace non-indie search results">
<img src="images/toggle-replace.png" width="15" alt="Replace non-indie search results" />
</div>
</div>
</div>
</div>
<div id="toggles" class="toggles"></div>
</form>
<br />
<div id="footer">
<h2>Fun Stats</h2>
Alerted to indie wikis <span id="countAlerts"></span> times
<br />
Automatically redirected to indie wikis <span id="countRedirects"></span> times
<br />
Automatically redirected to BreezeWiki <span id="countBreezeWiki"></span> times
<br />
<span id="countSearchFilters"></span> search engine results filtered
</div>
</div>
</div>
</body>
<script type="text/javascript" src="settings.js"></script>
</html>