Mercurial > addons > firefox-addons > feed-preview
diff options/options.css @ 10:ff5e5e3eba32
Implement feed subscription for web-based feed readers
Add options page for configuring web-based feed readers which allow for
subscribing to feeds via GET requests.
Track tabs containing feed previews and inject a content script which
retrieves the configured feed readers and keeps them in sync.
author | Guido Berhoerster <guido+feed-preview@berhoerster.name> |
---|---|
date | Fri, 07 Dec 2018 23:00:41 +0100 |
parents | |
children | 688d75e554e0 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/options/options.css Fri Dec 07 23:00:41 2018 +0100 @@ -0,0 +1,165 @@ +/* + * Copyright (C) 2018 Guido Berhoerster <guido+feed-preview@berhoerster.name> + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +@import url("chrome://browser/content/extension.css"); +@import url("../web_resources/style/photon-colors.css"); + +:root { + --blue-50-a30: rgba(10, 132, 255, 0.3); + --red-50-a30: rgba(255, 0, 57, 0.3); + --selection-item-background-color: var(--grey-90-a10); + --selection-selected-background-color: var(--blue-50); + --selection-selected-color: var(--white-100); + --text-input-border-color: var(--grey-90-a30); + --text-input-hover-border-color: var(--grey-90-a50); + --text-input-focus-border-color: var(--blue-50); + --text-input-invalid-border-color: var(--red-50); + --secondary-color: var(--grey-50); + --text-input-shadow: 0 0 0 4px var(--blue-50-a30); + --invalid-shadow: 0 0 0 4px var(--red-50-a30); + --selection-border: 1px solid var(--grey-90-a30); +} + +body { + padding: 0 4px; +} + +h1 { + margin: 0 0 16px 0; + font-size: 1.29em; + font-weight: bold; +} + +input[type="text"] { + border-radius: 2px; + font-size: 15px; + padding: 8px; + min-height: 32px; +} + +.browser-style > input[type=text] { + border-color: var(--text-input-border-color); + box-shadow: none; +} + +.browser-style > input[type=text]:hover { + border-color: var(--text-input-hover-border-color); + box-shadow: none; +} + +.browser-style > input[type=text]:focus, +.browser-style > input[type=text]:focus:hover { + border-color: var(--text-input-focus-border-color); + box-shadow: var(--text-input-shadow); +} + +.browser-style > input[type=text]:invalid, +.browser-style > input[type=text]:invalid:hover, +.browser-style > input[type=text]:invalid:focus:hover, +.browser-style > input[type=text]:invalid:focus { + border-color: var(--text-input-invalid-border-color); + box-shadow: var(--invalid-shadow); +} + +button.browser-style { + border-radius: 2px; + padding: 2px 16px; +} + +#feed-reader-selection { + margin: 4px 0; + padding: 0; + border: var(--selection-border); + border-radius: 2px; + width: 100%; + height: 10em; + overflow: auto; +} + +#feed-reader-selection:focus-within { + border: 1px dotted var(--selection-selected-background-color); +} + +.feed-reader-item { + list-style: none; +} + +.feed-reader-item label { + position: relative; +} + +.feed-reader-item input[type=radio] { + /* + * take the actual radio button out of the page flow and make it invisible + * without hiding it (using "display: none" or "visibility: hidden") so that + * keyboard focus handling keeps working as expected + */ + position: absolute; + -moz-appearance: none; + appearance: none; + width: 0; + height: 0; + opacity: 0; +} + +.feed-reader-item input[type=radio]:checked + .feed-reader-content { + background-color: var(--selection-selected-background-color); + color: var(--selection-selected-color); +} + +.feed-reader-content { + padding: 4px 8px; + white-space: nowrap; +} + +.feed-reader-item:nth-child(even) .feed-reader-content { + background-color: var(--selection-item-background-color); +} + +.feed-reader-content .feed-reader-title, +.feed-reader-content .feed-reader-url-template { + display: inline-block; + overflow: hidden; + text-overflow: ellipsis; +} + +.feed-reader-content .feed-reader-title { + width: 30%; +} + +.feed-reader-content .feed-reader-url-template { + width: 70%; +} + +.button-box { + border: none; + padding: 0; + margin: 4px 0 0 0; + text-align: right; +} + +.button-box button + button { + margin-left: 8px; +} + +#add-feed-reader label { + display: block; + font-size: 13px; + margin: 4px 0; +} + +#add-feed-reader input[type="text"] { + display: block; + width: 100%; +} + +.caption { + font-size: 11px; + margin: 4px 0; + color: var(--secondary-color); +}