Merge branch 'master' of https://github.com/seaweedchan/4chan-x into v3
Conflicts: CHANGELOG.md LICENSE builds/4chan-X.user.js builds/crx/script.js package.json src/General/css/font-awesome.css
This commit is contained in:
commit
9478dabdad
20
CHANGELOG.md
20
CHANGELOG.md
@ -1,4 +1,7 @@
|
||||
<<<<<<< HEAD
|
||||
<<<<<<< HEAD
|
||||
=======
|
||||
>>>>>>> 5682df5a2a366e5c5f4362395574179a2de68bb9
|
||||
**MayhemYDG**:
|
||||
- **New option**: `Auto-hide header on scroll`.
|
||||
- Added support for `4cdn.org`.
|
||||
@ -24,8 +27,8 @@
|
||||
- New setting: `Refreshed Navigation`, disabled by default. When enabled, navigating through pages will refresh the index.
|
||||
- The last index refresh timer will now indicate the last time the index changed from 4chan's side, instead of the last time you refreshed the index.
|
||||
- You can now refresh the index page you are on with the refresh shortcut in the header bar or the same keybind for refreshing threads.
|
||||
- You can now switch between paged and all-threads index modes via the "Index Navigation" header sub-menu:<br>
|
||||

|
||||
- You can now switch between paged and all-threads index modes via the "Index Navigation" header sub-menu (note that this replaces infinite scrolling):<br>
|
||||

|
||||
- Threads in the index can now be sorted by:
|
||||
<ul>
|
||||
<li> Bump order
|
||||
@ -41,9 +44,19 @@
|
||||
- You cannot post an image reply immediately after a non-image reply anymore.
|
||||
- Various minor fixes
|
||||
|
||||
**seaweedchan**:
|
||||
- Various fixes and improvements for the JSONified index
|
||||
- Removed index refresh notifications
|
||||
|
||||
**Zixaphir**:
|
||||
- FappeTyme and WerkTyme now persist across sessions.
|
||||
<<<<<<< HEAD
|
||||
=======
|
||||
=======
|
||||
- Various fixes and improvements for the JSONified index
|
||||
|
||||
|
||||
>>>>>>> 5682df5a2a366e5c5f4362395574179a2de68bb9
|
||||
### v1.2.45
|
||||
*2014-01-07*
|
||||
|
||||
@ -54,7 +67,10 @@
|
||||
|
||||
**Zixaphir**:
|
||||
- Fix optional increase for thread updater
|
||||
<<<<<<< HEAD
|
||||
>>>>>>> 08ae1daee8d4a2dfa272b00a62f78aa56092dfd4
|
||||
=======
|
||||
>>>>>>> 5682df5a2a366e5c5f4362395574179a2de68bb9
|
||||
|
||||
### v1.2.44
|
||||
*2013-12-06*
|
||||
|
||||
2
LICENSE
2
LICENSE
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* 4chan X - Version 1.2.45 - 2014-01-07
|
||||
* 4chan X - Version 1.2.45 - 2014-01-09
|
||||
*
|
||||
* Licensed under the MIT license.
|
||||
* https://github.com/seaweedchan/4chan-x/blob/master/LICENSE
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1325
changelog-old
1325
changelog-old
File diff suppressed because it is too large
Load Diff
971
css/style.css
971
css/style.css
@ -1,971 +0,0 @@
|
||||
/* General */
|
||||
.dialog {
|
||||
box-shadow: 0 1px 2px rgba(0, 0, 0, .15);
|
||||
border: 1px solid;
|
||||
display: block;
|
||||
padding: 0;
|
||||
}
|
||||
.field {
|
||||
background-color: #FFF;
|
||||
border: 1px solid #CCC;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
color: #333;
|
||||
font-family: inherit;
|
||||
font-size: 13px;
|
||||
margin: 0;
|
||||
padding: 2px 4px 3px;
|
||||
outline: none;
|
||||
transition: color .25s, border-color .25s, flex .25s;
|
||||
}
|
||||
.field::-moz-placeholder,
|
||||
.field:hover::-moz-placeholder {
|
||||
color: #AAA !important;
|
||||
}
|
||||
.field:hover {
|
||||
border-color: #999;
|
||||
}
|
||||
.field:hover, .field:focus {
|
||||
color: #000;
|
||||
}
|
||||
.field[disabled] {
|
||||
background-color: #F2F2F2;
|
||||
color: #888;
|
||||
}
|
||||
.field::-webkit-search-decoration {
|
||||
display: none;
|
||||
}
|
||||
.move {
|
||||
cursor: move;
|
||||
}
|
||||
label, .watcher-toggler {
|
||||
cursor: pointer;
|
||||
}
|
||||
a[href="javascript:;"] {
|
||||
text-decoration: none;
|
||||
}
|
||||
.warning {
|
||||
color: red;
|
||||
}
|
||||
|
||||
/* 4chan style fixes */
|
||||
.opContainer, .op {
|
||||
display: block !important;
|
||||
}
|
||||
.post {
|
||||
overflow: visible !important;
|
||||
}
|
||||
.reply > .file > .fileText {
|
||||
margin: 0 20px;
|
||||
}
|
||||
[hidden] {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
/* fixed, z-index */
|
||||
#overlay,
|
||||
#qp, #ihover,
|
||||
#updater, #thread-stats,
|
||||
#navlinks, #header,
|
||||
#qr {
|
||||
position: fixed;
|
||||
}
|
||||
#overlay {
|
||||
z-index: 999;
|
||||
}
|
||||
#notifications {
|
||||
z-index: 70;
|
||||
}
|
||||
#qp, #ihover {
|
||||
z-index: 60;
|
||||
}
|
||||
#menu {
|
||||
z-index: 50;
|
||||
}
|
||||
#navlinks, #updater, #thread-stats {
|
||||
z-index: 40;
|
||||
}
|
||||
#qr {
|
||||
z-index: 30;
|
||||
}
|
||||
#thread-watcher:hover {
|
||||
z-index: 20;
|
||||
}
|
||||
#header {
|
||||
z-index: 10;
|
||||
}
|
||||
#thread-watcher {
|
||||
z-index: 5;
|
||||
}
|
||||
|
||||
/* Header */
|
||||
:root.top-header body {
|
||||
margin-top: 2em;
|
||||
}
|
||||
:root.bottom-header body {
|
||||
margin-bottom: 2em;
|
||||
}
|
||||
:root.fourchan-x #navtopright,
|
||||
:root.fourchan-x #navbotright,
|
||||
:root.fourchan-x:not(.show-original-top-board-list) #boardNavDesktop,
|
||||
:root.fourchan-x:not(.show-original-bot-board-list) #boardNavDesktopFoot {
|
||||
display: none !important;
|
||||
}
|
||||
#header {
|
||||
right: 0;
|
||||
left: 0;
|
||||
}
|
||||
#header.top {
|
||||
top: 0;
|
||||
}
|
||||
#header.bottom {
|
||||
bottom: 0;
|
||||
}
|
||||
#header-bar {
|
||||
border-width: 0;
|
||||
display: flex;
|
||||
padding: 3px;
|
||||
position: relative;
|
||||
transition: all .1s .05s ease-in-out;
|
||||
}
|
||||
#header.top #header-bar {
|
||||
border-bottom-width: 1px;
|
||||
}
|
||||
#header.bottom #header-bar {
|
||||
box-shadow: 0 -1px 2px rgba(0, 0, 0, .15);
|
||||
border-top-width: 1px;
|
||||
}
|
||||
#board-list {
|
||||
flex: 1;
|
||||
align-self: center;
|
||||
text-align: center;
|
||||
}
|
||||
#header-bar.autohide:not(:hover) {
|
||||
box-shadow: none;
|
||||
transition: all .8s .6s cubic-bezier(.55, .055, .675, .19);
|
||||
}
|
||||
#header-bar.scroll:not(:hover) {
|
||||
transition: -webkit-transform .2s !important;
|
||||
transition: transform .2s !important;
|
||||
}
|
||||
#header.top #header-bar.autohide:not(:hover) {
|
||||
margin-bottom: -1em;
|
||||
-webkit-transform: translateY(-100%);
|
||||
transform: translateY(-100%);
|
||||
}
|
||||
#header.bottom #header-bar.autohide:not(:hover) {
|
||||
-webkit-transform: translateY(100%);
|
||||
transform: translateY(100%);
|
||||
}
|
||||
#toggle-header-bar {
|
||||
left: 0;
|
||||
right: 0;
|
||||
height: 10px;
|
||||
position: absolute;
|
||||
}
|
||||
#header.top #toggle-header-bar {
|
||||
cursor: n-resize;
|
||||
bottom: -10px;
|
||||
}
|
||||
#header.bottom #toggle-header-bar {
|
||||
cursor: s-resize;
|
||||
top: -10px;
|
||||
}
|
||||
#header.top #header-bar.autohide #toggle-header-bar {
|
||||
cursor: s-resize;
|
||||
}
|
||||
#header.bottom #header-bar.autohide #toggle-header-bar {
|
||||
cursor: n-resize;
|
||||
}
|
||||
#header-bar a:not(.entry) {
|
||||
text-decoration: none;
|
||||
padding: 1px;
|
||||
}
|
||||
.shortcut:not(:last-child)::after {
|
||||
content: " / ";
|
||||
}
|
||||
.brackets-wrap::before {
|
||||
content: " [ ";
|
||||
}
|
||||
.brackets-wrap::after {
|
||||
content: " ] ";
|
||||
}
|
||||
|
||||
/* Notifications */
|
||||
#notifications {
|
||||
height: 0;
|
||||
text-align: center;
|
||||
}
|
||||
#header.bottom #notifications {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
}
|
||||
.notification {
|
||||
color: #FFF;
|
||||
font-weight: 700;
|
||||
text-shadow: 0 1px 2px rgba(0, 0, 0, .5);
|
||||
box-shadow: 0 1px 2px rgba(0, 0, 0, .15);
|
||||
border-radius: 2px;
|
||||
margin: 1px auto;
|
||||
width: 500px;
|
||||
max-width: 100%;
|
||||
position: relative;
|
||||
transition: all .25s ease-in-out;
|
||||
}
|
||||
.notification.error {
|
||||
background-color: hsla(0, 100%, 38%, .9);
|
||||
}
|
||||
.notification.warning {
|
||||
background-color: hsla(36, 100%, 38%, .9);
|
||||
}
|
||||
.notification.info {
|
||||
background-color: hsla(200, 100%, 38%, .9);
|
||||
}
|
||||
.notification.success {
|
||||
background-color: hsla(104, 100%, 38%, .9);
|
||||
}
|
||||
.notification a {
|
||||
color: white;
|
||||
}
|
||||
.notification > .close {
|
||||
padding: 7px;
|
||||
top: 0;
|
||||
right: 0;
|
||||
position: absolute;
|
||||
}
|
||||
.message {
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
padding: 6px 20px;
|
||||
max-height: 200px;
|
||||
width: 100%;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
/* Settings */
|
||||
:root.fourchan-x body {
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
#overlay {
|
||||
background-color: rgba(0, 0, 0, .5);
|
||||
display: flex;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
}
|
||||
#fourchanx-settings {
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
box-shadow: 0 0 15px rgba(0, 0, 0, .15);
|
||||
height: 600px;
|
||||
max-height: 100%;
|
||||
width: 900px;
|
||||
max-width: 100%;
|
||||
margin: auto;
|
||||
padding: 3px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
#fourchanx-settings > nav {
|
||||
display: flex;
|
||||
padding: 2px 2px 0;
|
||||
}
|
||||
#fourchanx-settings > nav a {
|
||||
text-decoration: underline;
|
||||
}
|
||||
#fourchanx-settings > nav a.close {
|
||||
text-decoration: none;
|
||||
padding: 0 2px;
|
||||
}
|
||||
.sections-list {
|
||||
flex: 1;
|
||||
}
|
||||
.tab-selected {
|
||||
font-weight: 700;
|
||||
}
|
||||
.section-container {
|
||||
flex: 1;
|
||||
position: relative;
|
||||
}
|
||||
.section-container > section {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
overflow: auto;
|
||||
}
|
||||
.section-sauce ul,
|
||||
.section-rice ul {
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding: 8px;
|
||||
}
|
||||
.section-sauce li,
|
||||
.section-rice li {
|
||||
padding-left: 4px;
|
||||
}
|
||||
.section-main label {
|
||||
text-decoration: underline;
|
||||
}
|
||||
.section-filter ul,
|
||||
.section-qr ul {
|
||||
padding: 0;
|
||||
}
|
||||
.section-filter li,
|
||||
.section-qr li {
|
||||
margin: 10px 40px;
|
||||
}
|
||||
.section-filter textarea {
|
||||
height: 500px;
|
||||
}
|
||||
.section-qr textarea {
|
||||
height: 200px;
|
||||
}
|
||||
.section-sauce textarea {
|
||||
height: 350px;
|
||||
}
|
||||
.section-rice .field[name="boardnav"] {
|
||||
width: 100%;
|
||||
}
|
||||
.section-rice textarea {
|
||||
height: 150px;
|
||||
}
|
||||
.section-archives table {
|
||||
width: 100%;
|
||||
}
|
||||
.section-archives th:not(:first-child) {
|
||||
width: 30%;
|
||||
}
|
||||
.section-archives td {
|
||||
text-align: center;
|
||||
}
|
||||
.section-archives select {
|
||||
width: 90%;
|
||||
}
|
||||
.section-keybinds .field {
|
||||
font-family: monospace;
|
||||
}
|
||||
#fourchanx-settings fieldset {
|
||||
border: 1px solid;
|
||||
border-radius: 3px;
|
||||
}
|
||||
#fourchanx-settings legend {
|
||||
font-weight: 700;
|
||||
}
|
||||
#fourchanx-settings textarea {
|
||||
font-family: monospace;
|
||||
min-width: 100%;
|
||||
max-width: 100%;
|
||||
}
|
||||
#fourchanx-settings code {
|
||||
color: #000;
|
||||
background-color: #FFF;
|
||||
padding: 0 2px;
|
||||
}
|
||||
.unscroll {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
/* Index */
|
||||
:root.index-loading .navLinks,
|
||||
:root.index-loading .board,
|
||||
:root.index-loading .pagelist {
|
||||
display: none;
|
||||
}
|
||||
#index-search {
|
||||
padding-right: 1.5em;
|
||||
width: 100px;
|
||||
transition: color .25s, border-color .25s, width .25s;
|
||||
}
|
||||
#index-search:focus,
|
||||
#index-search[data-searching] {
|
||||
width: 200px;
|
||||
}
|
||||
#index-search-clear {
|
||||
color: gray;
|
||||
margin-left: -1.25em;
|
||||
}
|
||||
<% if (type === 'crx') { %>
|
||||
/* ``::-webkit-*'' selectors break selector lists on Firefox. */
|
||||
#index-search::-webkit-search-cancel-button,
|
||||
<% } %>
|
||||
#index-search:not([data-searching]) + #index-search-clear {
|
||||
display: none;
|
||||
}
|
||||
.summary {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
/* Announcement Hiding */
|
||||
:root.hide-announcement #globalMessage,
|
||||
:root.hide-announcement-enabled #toggleMsgBtn {
|
||||
display: none;
|
||||
}
|
||||
a.hide-announcement {
|
||||
float: left;
|
||||
}
|
||||
|
||||
/* Unread */
|
||||
#unread-line {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
/* Thread Updater */
|
||||
#updater:not(:hover) {
|
||||
background: none;
|
||||
border: none;
|
||||
box-shadow: none;
|
||||
}
|
||||
#updater > .move {
|
||||
padding: 0 3px;
|
||||
}
|
||||
#updater > div:last-child {
|
||||
text-align: center;
|
||||
}
|
||||
#updater input[type=number] {
|
||||
width: 4em;
|
||||
}
|
||||
#updater:not(:hover) > div:not(.move) {
|
||||
display: none;
|
||||
}
|
||||
#updater input[type="button"] {
|
||||
width: 100%;
|
||||
}
|
||||
.new {
|
||||
color: limegreen;
|
||||
}
|
||||
|
||||
/* Thread Watcher */
|
||||
#thread-watcher {
|
||||
max-width: 200px;
|
||||
min-width: 150px;
|
||||
padding: 3px;
|
||||
position: absolute;
|
||||
}
|
||||
#thread-watcher > div:first-child {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
#thread-watcher .move {
|
||||
flex: 1;
|
||||
}
|
||||
#watcher-status:not(:empty)::before {
|
||||
content: "(";
|
||||
}
|
||||
#watcher-status:not(:empty)::after {
|
||||
content: ")";
|
||||
}
|
||||
#watched-threads:not(:hover) {
|
||||
max-height: 150px;
|
||||
overflow: hidden;
|
||||
}
|
||||
#watched-threads div {
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
#watched-threads .current {
|
||||
font-weight: 700;
|
||||
}
|
||||
#watched-threads a {
|
||||
text-decoration: none;
|
||||
}
|
||||
#watched-threads .dead-thread a[title] {
|
||||
text-decoration: line-through;
|
||||
}
|
||||
|
||||
/* Thread Stats */
|
||||
#thread-stats {
|
||||
background: none;
|
||||
border: none;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
/* Quote */
|
||||
.deadlink {
|
||||
text-decoration: none !important;
|
||||
}
|
||||
.backlink.deadlink:not(.forwardlink),
|
||||
.quotelink.deadlink:not(.forwardlink) {
|
||||
text-decoration: underline !important;
|
||||
}
|
||||
.inlined {
|
||||
opacity: .5;
|
||||
}
|
||||
#qp input, .forwarded {
|
||||
display: none;
|
||||
}
|
||||
.quotelink.forwardlink,
|
||||
.backlink.forwardlink {
|
||||
text-decoration: none;
|
||||
border-bottom: 1px dashed;
|
||||
}
|
||||
.filtered {
|
||||
text-decoration: underline line-through;
|
||||
}
|
||||
.inline {
|
||||
border: 1px solid;
|
||||
display: table;
|
||||
margin: 2px 0;
|
||||
}
|
||||
.inline .post {
|
||||
border: 0 !important;
|
||||
background-color: transparent !important;
|
||||
display: table !important;
|
||||
margin: 0 !important;
|
||||
padding: 1px 2px !important;
|
||||
}
|
||||
#qp > .opContainer::after {
|
||||
content: '';
|
||||
clear: both;
|
||||
display: table;
|
||||
}
|
||||
#qp .post {
|
||||
border: none;
|
||||
margin: 0;
|
||||
padding: 2px 2px 5px;
|
||||
}
|
||||
#qp img {
|
||||
max-height: 80vh;
|
||||
max-width: 50vw;
|
||||
}
|
||||
.qphl {
|
||||
outline: 2px solid rgba(216, 94, 49, .7);
|
||||
}
|
||||
|
||||
/* File */
|
||||
.file-info:hover .fntrunc,
|
||||
.file-info:not(:hover) .fnfull,
|
||||
.expanded-image > .post > .file > .fileThumb > img[data-md5],
|
||||
:not(.expanded-image) > .post > .file > .fileThumb > .full-image {
|
||||
display: none;
|
||||
}
|
||||
.expanding {
|
||||
opacity: .5;
|
||||
}
|
||||
.expanded-image {
|
||||
clear: both;
|
||||
}
|
||||
.expanded-image > .op > .file::after {
|
||||
content: '';
|
||||
clear: both;
|
||||
display: table;
|
||||
}
|
||||
:root.fit-height .full-image {
|
||||
max-height: 100vh;
|
||||
}
|
||||
:root.fit-width .full-image {
|
||||
max-width: 100%;
|
||||
}
|
||||
:root.gecko.fit-width .full-image {
|
||||
width: 100%;
|
||||
}
|
||||
#ihover {
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
max-height: 100%;
|
||||
max-width: 75%;
|
||||
padding-bottom: 16px;
|
||||
}
|
||||
|
||||
/* Index/Reply Navigation */
|
||||
#navlinks {
|
||||
font-size: 16px;
|
||||
top: 25px;
|
||||
right: 10px;
|
||||
}
|
||||
|
||||
/* Filter */
|
||||
.opContainer.filter-highlight {
|
||||
box-shadow: inset 5px 0 rgba(255, 0, 0, .5);
|
||||
}
|
||||
.filter-highlight > .reply {
|
||||
box-shadow: -5px 0 rgba(255, 0, 0, .5);
|
||||
}
|
||||
|
||||
/* Thread & Reply Hiding */
|
||||
.hide-thread-button,
|
||||
.hide-reply-button {
|
||||
float: left;
|
||||
margin-right: 2px;
|
||||
}
|
||||
.stub ~ * {
|
||||
display: none !important;
|
||||
}
|
||||
.stub input {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
/* QR */
|
||||
:root.hide-original-post-form #postForm,
|
||||
:root.hide-original-post-form .postingMode,
|
||||
:root.hide-original-post-form #togglePostForm,
|
||||
#qr.autohide:not(.has-focus):not(:hover) > form {
|
||||
display: none;
|
||||
}
|
||||
#qr select, #dump-button, .remove, .captcha-img {
|
||||
cursor: pointer;
|
||||
}
|
||||
#qr > div {
|
||||
min-width: 300px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
#qr .move {
|
||||
align-self: stretch;
|
||||
flex: 1;
|
||||
}
|
||||
#qr select[data-name=thread] {
|
||||
margin: 0;
|
||||
-webkit-appearance: none;
|
||||
-moz-appearance: none;
|
||||
appearance: none;
|
||||
border: none;
|
||||
background: none;
|
||||
font: inherit;
|
||||
}
|
||||
#qr option {
|
||||
color: #000;
|
||||
background-color: #F7F7F7;
|
||||
}
|
||||
#qr .close {
|
||||
padding: 0 3px;
|
||||
}
|
||||
#qr > form {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
.persona {
|
||||
display: flex;
|
||||
}
|
||||
.persona .field {
|
||||
flex: 1;
|
||||
}
|
||||
.persona .field:hover,
|
||||
.persona .field:focus {
|
||||
flex: 3;
|
||||
}
|
||||
#dump-button {
|
||||
background: linear-gradient(#EEE, #CCC);
|
||||
border: 1px solid #CCC;
|
||||
margin: 0;
|
||||
padding: 2px 4px 3px;
|
||||
outline: none;
|
||||
width: 30px;
|
||||
}
|
||||
#dump-button:hover,
|
||||
#dump-button:focus {
|
||||
background: linear-gradient(#FFF, #DDD);
|
||||
}
|
||||
#dump-button:active,
|
||||
.dump #dump-button:not(:hover):not(:focus) {
|
||||
background: linear-gradient(#CCC, #DDD);
|
||||
}
|
||||
:root.gecko #dump-button {
|
||||
padding: 0;
|
||||
}
|
||||
#qr:not(.dump) #dump-list-container {
|
||||
display: none;
|
||||
}
|
||||
#dump-list-container {
|
||||
height: 100px;
|
||||
position: relative;
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
#dump-list {
|
||||
counter-reset: qrpreviews;
|
||||
top: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
overflow: hidden;
|
||||
position: absolute;
|
||||
white-space: nowrap;
|
||||
}
|
||||
#dump-list:hover {
|
||||
bottom: -12px;
|
||||
overflow-x: auto;
|
||||
z-index: 1;
|
||||
}
|
||||
#dump-list::-webkit-scrollbar {
|
||||
height: 12px;
|
||||
}
|
||||
#dump-list::-webkit-scrollbar-thumb {
|
||||
border: 1px solid;
|
||||
}
|
||||
.qr-preview {
|
||||
background-position: 50% 20%;
|
||||
background-size: cover;
|
||||
border: 1px solid #808080;
|
||||
color: #FFF !important;
|
||||
font-size: 12px;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
cursor: move;
|
||||
display: inline-block;
|
||||
height: 92px;
|
||||
width: 92px;
|
||||
margin: 4px;
|
||||
padding: 2px;
|
||||
opacity: .6;
|
||||
outline: none;
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
text-shadow: 0 0 2px #000;
|
||||
transition: opacity .25s ease-in-out;
|
||||
vertical-align: top;
|
||||
white-space: pre;
|
||||
}
|
||||
.qr-preview:hover,
|
||||
.qr-preview:focus {
|
||||
opacity: .9;
|
||||
color: #FFF !important;
|
||||
}
|
||||
.qr-preview#selected {
|
||||
opacity: 1;
|
||||
}
|
||||
.qr-preview::before {
|
||||
counter-increment: qrpreviews;
|
||||
content: counter(qrpreviews);
|
||||
font-weight: 700;
|
||||
text-shadow: 0 0 3px #000, 0 0 5px #000;
|
||||
position: absolute;
|
||||
top: 3px;
|
||||
right: 3px;
|
||||
}
|
||||
.qr-preview.drag {
|
||||
border-color: red;
|
||||
border-style: dashed;
|
||||
opacity: 1;
|
||||
}
|
||||
.qr-preview.over {
|
||||
border-color: #FFF;
|
||||
border-style: dashed;
|
||||
opacity: 1;
|
||||
}
|
||||
a.remove {
|
||||
color: #E00 !important;
|
||||
padding: 1px;
|
||||
}
|
||||
.qr-preview > label {
|
||||
background: rgba(0, 0, 0, .5);
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
position: absolute;
|
||||
text-align: center;
|
||||
}
|
||||
.qr-preview > label > input {
|
||||
margin: 1px 0;
|
||||
vertical-align: bottom;
|
||||
}
|
||||
#add-post {
|
||||
font-size: 20px;
|
||||
height: 20px;
|
||||
width: 20px;
|
||||
text-align: center;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
z-index: 1;
|
||||
}
|
||||
#qr textarea {
|
||||
min-height: 160px;
|
||||
min-width: 100%;
|
||||
display: block;
|
||||
}
|
||||
#qr.has-captcha textarea {
|
||||
min-height: 120px;
|
||||
}
|
||||
.textarea {
|
||||
position: relative;
|
||||
}
|
||||
#char-count {
|
||||
color: #000;
|
||||
background: hsla(0, 0%, 100%, .5);
|
||||
font-size: 8pt;
|
||||
position: absolute;
|
||||
bottom: 1px;
|
||||
right: 1px;
|
||||
pointer-events: none;
|
||||
}
|
||||
#char-count.warning {
|
||||
color: red;
|
||||
}
|
||||
.captcha-img {
|
||||
background: #FFF;
|
||||
outline: 1px solid #CCC;
|
||||
outline-offset: -1px;
|
||||
}
|
||||
.captcha-img > img {
|
||||
display: block;
|
||||
height: 57px;
|
||||
width: 300px;
|
||||
}
|
||||
#file-n-submit-container {
|
||||
position: relative;
|
||||
}
|
||||
#file-n-submit {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
#file-n-submit-container input[type='file'] {
|
||||
/* Keep it to set an appropriate height to the container. */
|
||||
visibility: hidden;
|
||||
}
|
||||
#file-n-submit-container input {
|
||||
margin: 0;
|
||||
}
|
||||
#file-n-submit input[type='submit'] {
|
||||
order: 1;
|
||||
}
|
||||
#file-n-submit.has-file #qr-no-file,
|
||||
#file-n-submit:not(.has-file) #qr-filename,
|
||||
#file-n-submit:not(.has-file) #qr-filesize,
|
||||
#file-n-submit:not(.has-file) #qr-file-spoiler,
|
||||
#file-n-submit:not(.has-file) #qr-filerm,
|
||||
#qr-filename:focus ~ #qr-filesize {
|
||||
display: none;
|
||||
}
|
||||
#qr-no-file,
|
||||
#qr-filename,
|
||||
#qr-filesize,
|
||||
#qr-file-spoiler {
|
||||
margin: 0 2px !important;
|
||||
}
|
||||
#qr-no-file {
|
||||
cursor: default;
|
||||
flex: 1;
|
||||
}
|
||||
#qr-filename {
|
||||
-webkit-appearance: none;
|
||||
-moz-appearance: none;
|
||||
appearance: none;
|
||||
background: none;
|
||||
border: none !important;
|
||||
color: inherit;
|
||||
font: inherit;
|
||||
flex: 1;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
#qr-filesize {
|
||||
font-size: .8em;
|
||||
}
|
||||
#qr-filesize::before {
|
||||
content: " (";
|
||||
}
|
||||
#qr-filesize::after {
|
||||
content: ")";
|
||||
}
|
||||
|
||||
/* Menu */
|
||||
.menu-button {
|
||||
position: relative;
|
||||
}
|
||||
.menu-button i:not(.fa-bars) {
|
||||
border-top: 6px solid;
|
||||
border-right: 4px solid transparent;
|
||||
border-left: 4px solid transparent;
|
||||
display: inline-block;
|
||||
margin: 2px;
|
||||
vertical-align: middle;
|
||||
}
|
||||
@media screen and (resolution: 1dppx) {
|
||||
.fa-bars {
|
||||
font-size: 14px;
|
||||
}
|
||||
#shortcuts .fa-bars {
|
||||
vertical-align: -1px;
|
||||
}
|
||||
}
|
||||
#menu {
|
||||
border-bottom: 0;
|
||||
display: flex;
|
||||
margin: 2px 0;
|
||||
flex-direction: column;
|
||||
position: absolute;
|
||||
outline: none;
|
||||
}
|
||||
#menu.top {
|
||||
top: 100%;
|
||||
}
|
||||
#menu.bottom {
|
||||
bottom: 100%;
|
||||
}
|
||||
#menu.left {
|
||||
left: 0;
|
||||
}
|
||||
#menu.right {
|
||||
right: 0;
|
||||
}
|
||||
.entry {
|
||||
cursor: pointer;
|
||||
outline: none;
|
||||
padding: 3px 7px;
|
||||
position: relative;
|
||||
text-decoration: none;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.entry.disabled {
|
||||
color: graytext !important;
|
||||
}
|
||||
.entry.has-submenu {
|
||||
padding-right: 20px;
|
||||
}
|
||||
.has-submenu::after {
|
||||
content: '';
|
||||
border-left: 6px solid;
|
||||
border-top: 4px solid transparent;
|
||||
border-bottom: 4px solid transparent;
|
||||
display: inline-block;
|
||||
margin: 4px;
|
||||
position: absolute;
|
||||
right: 3px;
|
||||
}
|
||||
.has-submenu:not(.focused) > .submenu {
|
||||
display: none;
|
||||
}
|
||||
.submenu {
|
||||
border-bottom: 0;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
position: absolute;
|
||||
margin: -1px 0;
|
||||
}
|
||||
.submenu.top {
|
||||
top: 0;
|
||||
}
|
||||
.submenu.bottom {
|
||||
bottom: 0;
|
||||
}
|
||||
.submenu.left {
|
||||
left: 100%;
|
||||
}
|
||||
.submenu.right {
|
||||
right: 100%;
|
||||
}
|
||||
.entry input {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
/* colored uid */
|
||||
|
||||
.posteruid.painted {
|
||||
padding: 0 5px;
|
||||
border-radius: 1em;
|
||||
font-size: 0.8em;
|
||||
cursor: pointer;
|
||||
}
|
||||
@ -1,18 +0,0 @@
|
||||
<div id="fourchanx-settings" class="dialog">
|
||||
<nav>
|
||||
<div class="sections-list"></div>
|
||||
<div class="credits">
|
||||
<a href="<%= meta.page %>" target="_blank"><%= meta.name %></a>
|
||||
|
|
||||
<a href="<%= meta.repo %>blob/<%= meta.mainBranch %>/CHANGELOG.md" target="_blank">#{g.VERSION}</a>
|
||||
|
|
||||
<a href="<%= meta.repo %>blob/<%= meta.mainBranch %>/CONTRIBUTING.md#reporting-bugs-and-suggestions" target="_blank">Issues</a>
|
||||
|
|
||||
<a href="javascript:;" class="close fa fa-times" title="Close"></a>
|
||||
</div>
|
||||
</nav>
|
||||
<hr>
|
||||
<div class="section-container">
|
||||
<section></section>
|
||||
</div>
|
||||
</div>
|
||||
@ -1,17 +0,0 @@
|
||||
<div class="move">
|
||||
<span id="update-status"></span> <span id="update-timer"></span>
|
||||
</div>
|
||||
#{html}
|
||||
<div>
|
||||
<label title="Controls whether *this* thread automatically updates or not">
|
||||
<input type="checkbox" name="Auto Update This" #{if Conf['Auto Update'] then "checked" else ""}> Auto Update This
|
||||
</label>
|
||||
</div>
|
||||
<div>
|
||||
<label>
|
||||
<input type="number" name="Interval" class="field" min="5" value="#{Conf['Interval']}"> Refresh rate (s)
|
||||
</label>
|
||||
</div>
|
||||
<div>
|
||||
<input value="Refresh thread" type="button" name="Update">
|
||||
</div>
|
||||
@ -1,5 +0,0 @@
|
||||
<div>
|
||||
<span class="move">Thread Watcher <span id="watcher-status"></span></span>
|
||||
<a class="menu-button" href="javascript:;"><i class="fa fa-bars"></i></a>
|
||||
</div>
|
||||
<div id="watched-threads"></div>
|
||||
@ -1,39 +0,0 @@
|
||||
<div>
|
||||
<input type="checkbox" id="autohide" title="Auto-hide">
|
||||
<select data-name="thread" title="Create a new thread / Reply">
|
||||
<option value="new">New thread</option>
|
||||
</select>
|
||||
<span class="move"></span>
|
||||
<a href="javascript:;" class="close fa fa-times" title="Close"></a>
|
||||
</div>
|
||||
<form>
|
||||
<div class="persona">
|
||||
<input type="button" id="dump-button" title="Dump list" value="+">
|
||||
<input data-name="name" list="list-name" placeholder="Name" class="field" size="1">
|
||||
<input data-name="email" list="list-email" placeholder="E-mail" class="field" size="1">
|
||||
<input data-name="sub" list="list-sub" placeholder="Subject" class="field" size="1">
|
||||
</div>
|
||||
<div id="dump-list-container">
|
||||
<div id="dump-list"></div>
|
||||
<a href="javascript:;" id="add-post" class="fa fa-plus" title="Add a post"></a>
|
||||
</div>
|
||||
<div class="textarea">
|
||||
<textarea data-name="com" placeholder="Comment" class="field"></textarea>
|
||||
<span id="char-count"></span>
|
||||
</div>
|
||||
<div id="file-n-submit-container">
|
||||
<input type="file" multiple>
|
||||
<div id="file-n-submit">
|
||||
<input type="submit">
|
||||
<input type="button" id="qr-file-button" value="Choose files">
|
||||
<span id="qr-no-file">No selected file</span>
|
||||
<input id="qr-filename" data-name="filename" spellcheck="false">
|
||||
<span id="qr-filesize"></span>
|
||||
<a href="javascript:;" id="qr-filerm" class="fa fa-times-circle" title="Remove file"></a>
|
||||
<input type="checkbox" id="qr-file-spoiler" title="Spoiler image">
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<datalist id="list-name"></datalist>
|
||||
<datalist id="list-email"></datalist>
|
||||
<datalist id="list-sub"></datalist>
|
||||
@ -1,92 +0,0 @@
|
||||
[{
|
||||
"uid": 0,
|
||||
"name": "Foolz",
|
||||
"domain": "archive.foolz.us",
|
||||
"http": true,
|
||||
"https": true,
|
||||
"software": "foolfuuka",
|
||||
"boards": ["a", "co", "gd", "jp", "m", "sp", "tg", "tv", "v", "vg", "vp", "vr", "wsg"],
|
||||
"files": ["a", "gd", "jp", "m", "tg", "vg", "vp", "vr", "wsg"]
|
||||
}, {
|
||||
"uid": 1,
|
||||
"name": "NSFW Foolz",
|
||||
"domain": "nsfw.foolz.us",
|
||||
"http": true,
|
||||
"https": true,
|
||||
"software": "foolfuuka",
|
||||
"boards": ["u"],
|
||||
"files": ["u"]
|
||||
}, {
|
||||
"uid": 2,
|
||||
"name": "The Dark Cave",
|
||||
"domain": "archive.thedarkcave.org",
|
||||
"http": true,
|
||||
"https": true,
|
||||
"software": "foolfuuka",
|
||||
"boards": ["c", "int", "out", "po"],
|
||||
"files": ["c", "po"]
|
||||
}, {
|
||||
"uid": 3,
|
||||
"name": "4plebs",
|
||||
"domain": "archive.4plebs.org",
|
||||
"http": true,
|
||||
"https": true,
|
||||
"software": "foolfuuka",
|
||||
"boards": ["hr", "pol", "s4s", "tg", "tv", "x"],
|
||||
"files": ["hr", "pol", "s4s", "tg", "tv", "x"]
|
||||
}, {
|
||||
"uid": 4,
|
||||
"name": "Nyafuu",
|
||||
"domain": "archive.nyafuu.org",
|
||||
"http": true,
|
||||
"https": true,
|
||||
"software": "foolfuuka",
|
||||
"boards": ["c", "w", "wg"],
|
||||
"files": ["c", "w", "wg"]
|
||||
}, {
|
||||
"uid": 7,
|
||||
"name": "Install Gentoo",
|
||||
"domain": "archive.installgentoo.net",
|
||||
"http": false,
|
||||
"https": true,
|
||||
"software": "fuuka",
|
||||
"boards": ["diy", "g", "sci"],
|
||||
"files": []
|
||||
}, {
|
||||
"uid": 8,
|
||||
"name": "Rebecca Black Tech",
|
||||
"domain": "rbt.asia",
|
||||
"http": true,
|
||||
"https": true,
|
||||
"software": "fuuka",
|
||||
"boards": ["cgl", "g", "mu", "w"],
|
||||
"files": ["cgl", "g", "mu", "w"]
|
||||
}, {
|
||||
"uid": 9,
|
||||
"name": "Heinessen",
|
||||
"domain": "archive.heinessen.com",
|
||||
"http": true,
|
||||
"https": false,
|
||||
"software": "fuuka",
|
||||
"boards": ["an", "fit", "k", "mlp", "r9k", "toy"],
|
||||
"files": ["an", "fit", "k", "r9k", "toy"]
|
||||
}, {
|
||||
"uid": 10,
|
||||
"name": "warosu",
|
||||
"domain": "fuuka.warosu.org",
|
||||
"http": true,
|
||||
"https": true,
|
||||
"software": "fuuka",
|
||||
"boards": ["3", "cgl", "ck", "fa", "ic", "jp", "lit", "tg", "vr"],
|
||||
"files": ["3", "cgl", "ck", "fa", "ic", "jp", "lit", "tg", "vr"]
|
||||
}, {
|
||||
"uid": 13,
|
||||
"name": "Foolz Beta",
|
||||
"domain": "beta.foolz.us",
|
||||
"http": true,
|
||||
"https": true,
|
||||
"withCredentials": true,
|
||||
"software": "foolfuuka",
|
||||
"boards": ["a", "co", "gd", "jp", "m", "s4s", "sp", "tg", "tv", "u", "v", "vg", "vp", "vr", "wsg"],
|
||||
"files": ["a", "gd", "jp", "m", "s4s", "tg", "u", "vg", "vp", "vr", "wsg"]
|
||||
}]
|
||||
@ -13,7 +13,6 @@
|
||||
"*://sys.4chan.org/*",
|
||||
"*://a.4cdn.org/*",
|
||||
"*://i.4cdn.org/*"
|
||||
|
||||
],
|
||||
"files": {
|
||||
"metajs": "4chan-X.meta.js",
|
||||
|
||||
@ -151,8 +151,8 @@ PostHiding =
|
||||
|
||||
makeButton: (post, type) ->
|
||||
span = $.el 'span',
|
||||
className: "brackets-wrap"
|
||||
textContent: "\u00A0#{if type is 'hide' then '-' else '+'}\u00A0"
|
||||
className: "fa fa-#{if type is 'hide' then 'minus' else 'plus'}-square-o"
|
||||
textContent: ""
|
||||
a = $.el 'a',
|
||||
className: "#{type}-reply-button"
|
||||
href: 'javascript:;'
|
||||
|
||||
@ -146,7 +146,7 @@ ThreadHiding =
|
||||
makeButton: (thread, type) ->
|
||||
a = $.el 'a',
|
||||
className: "#{type}-thread-button"
|
||||
innerHTML: "<span class=brackets-wrap> #{if type is 'hide' then '-' else '+'} </span>"
|
||||
innerHTML: "<span class='fa fa-#{if type is 'hide' then 'minus' else 'plus'}-square'></span>"
|
||||
href: 'javascript:;'
|
||||
a.dataset.fullID = thread.fullID
|
||||
$.on a, 'click', ThreadHiding.toggle
|
||||
|
||||
@ -182,7 +182,7 @@ Build =
|
||||
|
||||
if isOP and g.VIEW is 'index'
|
||||
pageNum = Math.floor Index.liveThreadIDs.indexOf(postID) / Index.threadsNumPerPage
|
||||
pageIcon = " <span class=page-num title='This thread is on page #{pageNum} in the original index.'>Page #{pageNum}</span>"
|
||||
pageIcon = " <span class=page-num title='This thread is on page #{pageNum} in the original index.'>[#{pageNum}]</span>"
|
||||
replyLink = " <span>[<a href='/#{boardID}/res/#{threadID}' class=replylink>Reply</a>]</span>"
|
||||
else
|
||||
pageIcon = replyLink = ''
|
||||
|
||||
@ -515,7 +515,7 @@ http://iqdb.org/?url=%TURL
|
||||
'Centered links': false
|
||||
'Header catalog links': false
|
||||
'Bottom Board List': true
|
||||
'Shortcut Icons': false
|
||||
'Shortcut Icons': true
|
||||
'Custom Board Navigation': true
|
||||
|
||||
boardnav: """
|
||||
|
||||
@ -63,8 +63,8 @@ Index =
|
||||
type: 'header'
|
||||
el: $.el 'span',
|
||||
textContent: 'Index Navigation'
|
||||
order: 90
|
||||
subEntries: [modeEntry, sortEntry, repliesEntry, anchorEntry, refNavEntry]
|
||||
order: 98
|
||||
subEntries: [repliesEntry, anchorEntry, refNavEntry, modeEntry, sortEntry]
|
||||
|
||||
$.addClass doc, 'index-loading'
|
||||
@update()
|
||||
@ -130,6 +130,7 @@ Index =
|
||||
link: (e) ->
|
||||
return if g.VIEW isnt 'index' or /catalog/.test @href
|
||||
e.preventDefault()
|
||||
history.pushState null, '', @pathname
|
||||
Index.update()
|
||||
|
||||
scrollToIndex: ->
|
||||
@ -202,17 +203,6 @@ Index =
|
||||
return unless navigator.onLine
|
||||
Index.req?.abort()
|
||||
Index.notice?.close()
|
||||
if d.readyState isnt 'loading'
|
||||
Index.notice = new Notice 'info', 'Refreshing index...'
|
||||
else
|
||||
# Delay the notice on initial page load
|
||||
# and only display it for slow connections.
|
||||
now = Date.now()
|
||||
$.ready ->
|
||||
setTimeout (->
|
||||
return unless Index.req and !Index.notice
|
||||
Index.notice = new Notice 'info', 'Refreshing index...'
|
||||
), 5 * $.SECOND - (Date.now() - now)
|
||||
pageNum = null if typeof pageNum isnt 'number' # event
|
||||
onload = (e) -> Index.load e, pageNum
|
||||
Index.req = $.ajax "//a.4cdn.org/#{g.BOARD}/catalog.json",
|
||||
@ -248,11 +238,6 @@ Index =
|
||||
new Notice 'error', 'Index refresh failed.', 2
|
||||
return
|
||||
|
||||
if notice
|
||||
notice.setType 'success'
|
||||
notice.el.lastElementChild.textContent = 'Index refreshed!'
|
||||
setTimeout notice.close, $.SECOND
|
||||
|
||||
timeEl = $ '#index-last-refresh', Index.navLinks
|
||||
timeEl.dataset.utc = Date.parse req.getResponseHeader 'Last-Modified'
|
||||
RelativeDates.update timeEl
|
||||
@ -370,6 +355,7 @@ Index =
|
||||
else
|
||||
nodes = Index.sortedNodes
|
||||
$.rmAll Index.root
|
||||
$.rmAll Header.hover
|
||||
Index.buildReplies nodes if Conf['Show Replies']
|
||||
$.event 'IndexBuild', nodes
|
||||
$.add Index.root, nodes
|
||||
|
||||
@ -226,6 +226,8 @@ Main =
|
||||
catch err
|
||||
new Notice 'warning', 'Cookies need to be enabled on 4chan for <%= meta.name %> to operate properly.', 30
|
||||
|
||||
$.event '4chanXInitFinished'
|
||||
|
||||
callbackNodes: (klass, nodes) ->
|
||||
i = 0
|
||||
cb = klass.callbacks
|
||||
|
||||
@ -15,6 +15,12 @@
|
||||
:root.burichan #header-bar a, :root.burichan #header-bar #notifications a {
|
||||
color: #34345C;
|
||||
}
|
||||
:root.burichan #custom-board-list .current {
|
||||
border-bottom: 1px solid #2F4DC6;
|
||||
}
|
||||
:root.burichan #custom-board-list .current:hover {
|
||||
border-bottom-color: #ff0000;
|
||||
}
|
||||
|
||||
/* Settings */
|
||||
:root.burichan #fourchanx-settings fieldset {
|
||||
|
||||
2
src/General/css/font-awesome.css
vendored
2
src/General/css/font-awesome.css
vendored
@ -1,5 +1,5 @@
|
||||
/*!
|
||||
* Font Awesome 3.2.1
|
||||
* Font Awesome 4.0.3
|
||||
* the iconic font designed for Bootstrap
|
||||
* ------------------------------------------------------------------------------
|
||||
* The full suite of pictographic icons, examples, and documentation can be
|
||||
|
||||
@ -15,6 +15,12 @@
|
||||
:root.futaba #header-bar a, :root.futaba #notifications a {
|
||||
color: #800000;
|
||||
}
|
||||
:root.futaba #custom-board-list a.current {
|
||||
border-bottom: 1px solid #b20000;
|
||||
}
|
||||
:root.futaba #custom-board-list .current:hover {
|
||||
border-bottom-color: #ff0000;
|
||||
}
|
||||
|
||||
/* Settings */
|
||||
:root.futaba #fourchanx-settings fieldset {
|
||||
|
||||
@ -15,6 +15,12 @@
|
||||
:root.photon #header-bar a, :root.photon #notifications a {
|
||||
color: #FF6600;
|
||||
}
|
||||
:root.photon #custom-board-list a.current {
|
||||
border-bottom: 1px solid #004A99;
|
||||
}
|
||||
:root.photon #custom-board-list .current:hover {
|
||||
border-bottom-color: #FF3300;
|
||||
}
|
||||
|
||||
/* Settings */
|
||||
:root.photon #fourchanx-settings fieldset {
|
||||
|
||||
@ -1,10 +1,16 @@
|
||||
/* General */
|
||||
.dialog {
|
||||
box-shadow: 0 1px 2px rgba(0, 0, 0, .15);
|
||||
border: 1px solid;
|
||||
display: block;
|
||||
padding: 0;
|
||||
}
|
||||
.dialog:not(#qr):not(#thread-watcher):not(#header-bar) {
|
||||
box-shadow: 0 1px 2px rgba(0, 0, 0, .15);
|
||||
}
|
||||
#qr,
|
||||
#thread-watcher {
|
||||
box-shadow: -1px 2px 2px rgba(0, 0, 0, 0.25);
|
||||
}
|
||||
.captcha-img,
|
||||
.field {
|
||||
background-color: #FFF;
|
||||
@ -76,6 +82,9 @@ a {
|
||||
div.center:not(.ad-cnt) {
|
||||
display: none !important;
|
||||
}
|
||||
.page-num {
|
||||
margin-right: -8px;
|
||||
}
|
||||
|
||||
/* fixed, z-index */
|
||||
#overlay,
|
||||
@ -141,6 +150,11 @@ div.center:not(.ad-cnt) {
|
||||
#header-bar {
|
||||
border-width: 0;
|
||||
transition: all .1s .05s ease-in-out;
|
||||
box-shadow: -5px 1px 10px rgba(0, 0, 0, 0.20);
|
||||
opacity: 0.98;
|
||||
}
|
||||
#custom-board-list .current {
|
||||
padding: 1px 1px 4px 1px;
|
||||
}
|
||||
:root.centered-links #shortcuts {
|
||||
width: 300px;
|
||||
@ -149,6 +163,9 @@ div.center:not(.ad-cnt) {
|
||||
:root.centered-links #header-bar {
|
||||
text-align: center;
|
||||
}
|
||||
#board-list {
|
||||
font-size: 13px;
|
||||
}
|
||||
:root.centered-links #custom-board-list {
|
||||
position: relative;
|
||||
left: 150px;
|
||||
@ -203,6 +220,8 @@ div.center:not(.ad-cnt) {
|
||||
}
|
||||
#header-bar a:not(.entry):not(.close) {
|
||||
text-decoration: none;
|
||||
}
|
||||
#header-bar a:not(.entry):not(.close):not(.current) {
|
||||
padding: 1px;
|
||||
}
|
||||
#header-bar input {
|
||||
@ -288,10 +307,13 @@ div.center:not(.ad-cnt) {
|
||||
}
|
||||
.notification > .close {
|
||||
padding: 7px;
|
||||
top: 0;
|
||||
top: 0px;
|
||||
right: 5px;
|
||||
position: absolute;
|
||||
}
|
||||
.notification > .fa-times::before {
|
||||
font-size: 11px !important;
|
||||
}
|
||||
.message {
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
@ -452,7 +474,7 @@ div.center:not(.ad-cnt) {
|
||||
}
|
||||
#index-search-clear {
|
||||
color: gray;
|
||||
margin-left: -1.25em;
|
||||
margin-left: -1em;
|
||||
}
|
||||
<% if (type === 'crx') { %>
|
||||
/* ``::-webkit-*'' selectors break selector lists on Firefox. */
|
||||
@ -706,7 +728,20 @@ a.hide-announcement {
|
||||
.hide-thread-button,
|
||||
.hide-reply-button {
|
||||
float: left;
|
||||
margin-right: 2px;
|
||||
margin-right: 4px;
|
||||
padding: 2px;
|
||||
}
|
||||
.hide-thread-button:not(:hover),
|
||||
.hide-reply-button:not(:hover) {
|
||||
opacity: 0.4;
|
||||
}
|
||||
.threadContainer .hide-reply-button {
|
||||
margin-left: 2px !important;
|
||||
position: relative;
|
||||
left: 1px;
|
||||
}
|
||||
.hide-thread-button {
|
||||
margin-top: -1px;
|
||||
}
|
||||
.stub ~ * {
|
||||
display: none !important;
|
||||
@ -1026,6 +1061,14 @@ a:only-of-type > .remove {
|
||||
margin: 2px;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.reply .menu-button,
|
||||
.op .menu-button,
|
||||
#thread-watcher .menu-button {
|
||||
margin-left: -5px !important;
|
||||
}
|
||||
.menu-button + .container:not(:empty) {
|
||||
margin-left: -5px !important;
|
||||
}
|
||||
#menu {
|
||||
position: fixed;
|
||||
outline: none;
|
||||
@ -1320,4 +1363,4 @@ a:only-of-type > .remove {
|
||||
#shortcuts .fa-bars {
|
||||
vertical-align: -1px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -12,6 +12,12 @@
|
||||
:root.tomorrow #header-bar a, :root.tomorrow #notifications a {
|
||||
color: #81A2BE;
|
||||
}
|
||||
:root.tomorrow #custom-board-list a.current {
|
||||
border-bottom: 1px solid #537ca0;
|
||||
}
|
||||
:root.tomorrow #custom-board-list .current:hover {
|
||||
border-bottom-color: #5F89AC;
|
||||
}
|
||||
|
||||
/* Settings */
|
||||
:root.tomorrow #fourchanx-settings fieldset {
|
||||
|
||||
@ -12,9 +12,15 @@
|
||||
font-size: 9pt;
|
||||
color: #89A;
|
||||
}
|
||||
:root.yotsuba-b #header-bar a, :root.yotsuba-b #notifications a {
|
||||
:root.yotsuba-b #board-list a, :root.yotsuba-b #shortcuts a {
|
||||
color: #34345C;
|
||||
}
|
||||
:root.yotsuba-b #custom-board-list .current {
|
||||
border-bottom: 1px solid #2F4DC6;
|
||||
}
|
||||
:root.yotsuba-b #custom-board-list .current:hover {
|
||||
border-bottom-color: #ff0000;
|
||||
}
|
||||
|
||||
/* Settings */
|
||||
:root.yotsuba-b #fourchanx-settings fieldset {
|
||||
|
||||
@ -12,9 +12,15 @@
|
||||
font-size: 9pt;
|
||||
color: #B86;
|
||||
}
|
||||
:root.yotsuba #header-bar a, :root.yotsuba #notifications a {
|
||||
:root.yotsuba #board-list a, :root.yotsuba #shortcuts a {
|
||||
color: #800000;
|
||||
}
|
||||
:root.yotsuba #custom-board-list a.current {
|
||||
border-bottom: 1px solid #b20000;
|
||||
}
|
||||
:root.yotsuba #custom-board-list .current:hover {
|
||||
border-bottom-color: #ff0000;
|
||||
}
|
||||
|
||||
/* Settings */
|
||||
:root.yotsuba #fourchanx-settings fieldset {
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
[<a href="./catalog">Catalog</a>]
|
||||
[<time id="index-last-refresh" title="Last index refresh">...</time>]
|
||||
<input type="search" id="index-search" class="field" placeholder="Search">
|
||||
<a id="index-search-clear" class="fa fa-times-circle" href="javascript:;"></a>
|
||||
<a id="index-search-clear" href="javascript:;" title="Clear search">×</a>
|
||||
|
||||
@ -1,2 +1,2 @@
|
||||
<div class="move">Thread Watcher <span id="watcher-status"></span><a class="menu-button brackets-wrap" href="javascript:;"><i></i></a><a class=close href=javascript:;>×</a></span></div>
|
||||
<div class="move">Thread Watcher <span id="watcher-status"></span><a class="menu-button" href="javascript:;"><i class="fa fa-angle-down"></i></a><a class=close href=javascript:;>×</a></span></div>
|
||||
<div id="watched-threads"></div>
|
||||
|
||||
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
@ -6,7 +6,7 @@ Gallery =
|
||||
href: 'javascript:;'
|
||||
id: 'appchan-gal'
|
||||
title: 'Gallery'
|
||||
className: 'fa fa-picture'
|
||||
className: 'fa fa-picture-o'
|
||||
textContent: 'Gallery'
|
||||
|
||||
$.on el, 'click', @cb.toggle
|
||||
|
||||
@ -21,7 +21,7 @@ Menu =
|
||||
$.tn(' ')
|
||||
$.el 'a',
|
||||
className: 'menu-button'
|
||||
innerHTML: '[<i></i>]'
|
||||
innerHTML: '<i class="fa fa-angle-down"></i>'
|
||||
href: 'javascript:;'
|
||||
]
|
||||
clone = frag.cloneNode true
|
||||
|
||||
@ -1,18 +0,0 @@
|
||||
/* <%= meta.name %> - Version <%= version %> - <%= grunt.template.today('yyyy-mm-dd') %>
|
||||
* <%= meta.page %>
|
||||
*
|
||||
* Copyrights and License: <%= meta.repo %>blob/<%= meta.mainBranch %>/LICENSE
|
||||
*
|
||||
* Contributors:
|
||||
* <%= meta.repo %>graphs/contributors
|
||||
* Non-GitHub contributors:
|
||||
* ferongr, xat-, Ongpot, thisisanon and Anonymous - favicon contributions
|
||||
* e000 - cooldown sanity check
|
||||
* Seiba - chrome quick reply focusing
|
||||
* herpaderpderp - recaptcha fixes
|
||||
* WakiMiko - recaptcha tab order http://userscripts.org/scripts/show/82657
|
||||
*
|
||||
* All the people who've taken the time to write bug reports and provide feedback.
|
||||
*
|
||||
* Thank you.
|
||||
*/
|
||||
@ -6,7 +6,7 @@ ThreadWatcher =
|
||||
id: 'watcher-link'
|
||||
textContent: 'Watcher'
|
||||
href: 'javascript:;'
|
||||
className: 'disabled fa fa-eye-open'
|
||||
className: 'disabled fa fa-eye'
|
||||
|
||||
@db = new DataBoard 'watchedThreads', @refresh, true
|
||||
@dialog = UI.dialog 'thread-watcher', 'top: 50px; left: 0px;', <%= importHTML('Monitoring/ThreadWatcher') %>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user