From 7a2aad550137ab5ea9d401b059b2a2069ed0801b Mon Sep 17 00:00:00 2001 From: Bernhard Posselt Date: Mon, 20 Oct 2014 17:24:42 +0200 Subject: add keyboard shortcuts --- CHANGELOG.md | 2 ++ README.md | 15 ---------- css/7.css | 4 +-- css/mobile.css | 5 ++++ css/news-owncloud7.min.css | 2 +- css/news.min.css | 2 +- css/settings.css | 8 ++++- css/shortcuts.css | 34 +++++++++++++++++++++ js/Gruntfile.js | 2 ++ js/app/Config.js | 3 ++ js/build/app.js | 7 +++++ js/build/app.min.js | 2 +- js/gui/KeyboardShortcuts.js | 4 +++ templates/index.php | 1 + templates/part.content.firstrun.php | 7 +++++ templates/part.content.php | 9 ++---- templates/part.content.shortcuts.php | 58 ++++++++++++++++++++++++++++++++++++ templates/part.settings.php | 6 +++- 18 files changed, 142 insertions(+), 29 deletions(-) create mode 100644 css/shortcuts.css create mode 100644 templates/part.content.firstrun.php create mode 100644 templates/part.content.shortcuts.php diff --git a/CHANGELOG.md b/CHANGELOG.md index 60e0e6ce1..fb48aafb8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,7 @@ owncloud-news (3.405) +* **Bugfix**: Fix mobile view for ownCloud 7 * **Enhancement**: Add shortcuts for jumping to next/previous folder +* **Enhancement**: Add keyboard shortcuts overview owncloud-news (3.404) * **Bugfix**: Fix freeze when a folder is selected, the previous folder has 0 visible subfeeds and the **d** shortcut is pressed to jump the the previous feed diff --git a/README.md b/README.md index 5bfe69063..f46ba72ef 100644 --- a/README.md +++ b/README.md @@ -120,21 +120,6 @@ To update the News app use: git pull --rebase origin master -## Keyboard shortcuts -* **Next item**: n / j / right arrow -* **Previous item**: p / k / left arrow -* **Star current item**: s / i -* **Keep current item unread**: u -* **Star item and jump to next one**: h -* **Open current item**: o -* **Toggle expand of current item in compact view**: e -* **Reload the currently active feed**: r -* **Load the next feed**: f -* **Load the previous feed**: d -* **Load the next folder**: c -* **Load the previous folder**: v - - ## Performance Notices * Use MySQL or PostgreSQL for better database performance * Use the [updater script to thread and speed up the update](https://github.com/owncloud/news/wiki/Cron-1.2) diff --git a/css/7.css b/css/7.css index fba2b1e14..ac99e4913 100644 --- a/css/7.css +++ b/css/7.css @@ -89,7 +89,7 @@ position: absolute; top: 0; right: 0; - z-index: 105; + z-index: 10; } #app-navigation .app-navigation-entry-utils ul { @@ -263,6 +263,6 @@ #app-settings, #expanddiv { - z-index: 6000; + z-index: 15; } diff --git a/css/mobile.css b/css/mobile.css index 50f800a19..68ab1e646 100644 --- a/css/mobile.css +++ b/css/mobile.css @@ -2,6 +2,11 @@ #app-content .utils .date { display: none; } + + #app-shortcuts th:first-child { + padding-left: 44px; + } + } @media (max-width: 600px) { diff --git a/css/news-owncloud7.min.css b/css/news-owncloud7.min.css index 0b38c77b5..f25bf3198 100644 --- a/css/news-owncloud7.min.css +++ b/css/news-owncloud7.min.css @@ -1 +1 @@ -#app-navigation .active.with-menu>a,#app-navigation .with-counter>a{padding-right:50px}#app-navigation .active.with-menu.with-counter>a{padding-right:90px}#app-navigation>.with-icon ul li.app-navigation-entry-loading>a,#app-navigation>.with-icon ul li>a{padding-left:68px;background-position:44px center}#app-navigation .selected,#app-navigation .selected a,#app-navigation li:hover>a{background-color:#ddd}#app-navigation .app-navigation-entry-loading a,#app-navigation .with-icon a{padding-left:44px;background-size:16px 16px;background-position:14px center;background-repeat:no-repeat}#app-navigation .collapsible.open{background-image:linear-gradient(top,#eee 0,#f5f5f5 100%);background-image:-o-linear-gradient(top,#eee 0,#f5f5f5 100%);background-image:-moz-linear-gradient(top,#eee 0,#f5f5f5 100%);background-image:-webkit-linear-gradient(top,#eee 0,#f5f5f5 100%);background-image:-ms-linear-gradient(top,#eee 0,#f5f5f5 100%)}#app-navigation>ul .collapsible.open:hover{box-shadow:inset 0 0 3px #ddd}#app-navigation>ul .collapsible.open ul{display:block}#app-navigation .app-navigation-entry-deleted{display:inline-block;height:44px;width:100%}#app-navigation .app-navigation-entry-deleted-description{padding-left:12px;position:relative;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;display:inline-block;width:201px;width:calc(100% - 49px);line-height:44px;float:left}#app-navigation .app-navigation-entry-deleted-button{margin:0;height:44px;width:44px;line-height:44px;border:0;display:inline-block;background-color:transparent;opacity:.5}#app-navigation .app-navigation-entry-deleted-button:hover{opacity:1}#app-navigation .app-navigation-entry-utils{position:absolute;top:0;right:0;z-index:105}#app-navigation .app-navigation-entry-utils ul{display:block!important}#app-navigation .app-navigation-entry-utils li{float:left;width:44px!important;height:44px;line-height:44px}#app-navigation .active>.app-navigation-entry-utils li{display:inline-block}#app-navigation .app-navigation-entry-utils button{height:38px;width:38px;line-height:38px;float:left}#app-navigation .app-navigation-entry-utils-menu-button{display:none}#app-navigation .app-navigation-entry-utils-menu-button button{border:0;opacity:.5;background-color:transparent;background-repeat:no-repeat;background-position:center;background-image:url(../img/7/more.svg)}#app-navigation .app-navigation-entry-utils-menu-button:focus button,#app-navigation .app-navigation-entry-utils-menu-button:hover button{background-color:transparent;opacity:1}#app-navigation .app-navigation-entry-utils-counter{overflow:hidden;text-overflow:hidden;text-align:right;font-size:9pt;width:38px;line-height:44px;padding:0 10px}#app-navigation .app-navigation-entry-menu ul,#app-navigation .app-navigation-entry-utils ul{list-style-type:none}#app-navigation .app-navigation-entry-menu{display:none;position:absolute;background-color:#eee;color:#333;border-radius:3px 0 3px 3px;z-index:110;margin:-5px 14px 5px 10px;right:0;border:1px solid #bbb;-webkit-filter:drop-shadow(0 0 5px rgba(150,150,150,.75));-moz-filter:drop-shadow(0 0 5px rgba(150,150,150,.75));-ms-filter:drop-shadow(0 0 5px rgba(150,150,150,.75));-o-filter:drop-shadow(0 0 5px rgba(150,150,150,.75));filter:drop-shadow(0 0 5px rgba(150,150,150,.75))}#app-navigation .app-navigation-entry-menu.open{display:block}#app-navigation .app-navigation-entry-menu:after,#app-navigation .app-navigation-entry-menu:before{bottom:100%;right:0;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none}#app-navigation .app-navigation-entry-menu:after{border-color:rgba(238,238,238,0);border-bottom-color:#eee;border-width:10px;margin-left:-10px}#app-navigation .app-navigation-entry-menu:before{border-color:rgba(187,187,187,0);border-bottom-color:#bbb;border-width:11px;margin-left:-11px}#app-navigation .app-navigation-entry-menu ul{display:block!important}#app-navigation .app-navigation-entry-menu li{float:left;width:38px!important}#app-navigation .app-navigation-entry-menu li button{float:right;width:36px!important;height:36px;line-height:36px;border:0;opacity:.5;background-color:transparent}#app-navigation .app-navigation-entry-menu li button:focus,#app-navigation .app-navigation-entry-menu li button:hover{opacity:1;background-color:transparent}#app-navigation .app-navigation-entry-edit{padding-left:5px;padding-right:5px;display:inline-block;height:39px;width:100%}#app-navigation .app-navigation-entry-edit input{border-bottom-right-radius:0;border-top-right-radius:0;width:204px;width:calc(100% - 36px);padding:5px;margin-right:0;height:38px;float:left;border:1px solid rgba(190,190,190,.9)}#app-navigation .app-navigation-entry-edit button,#app-navigation .app-navigation-entry-edit input[type=submit]{width:36px;height:38px;float:left}#app-navigation .app-navigation-entry-edit .icon-checkmark{border-bottom-left-radius:0;border-top-left-radius:0;border-left:0;margin-right:0}#app-content{z-index:25}#app-settings,#expanddiv{z-index:6000}#global-loading{width:100%;height:100%}#undo-container{position:fixed;top:0;width:100%;text-align:center;z-index:101;line-height:1.2}#undo{z-index:101;background-color:#fc4;border:0;padding:0 .7em .3em;display:none;position:relative;top:0;border-bottom-left-radius:1em;border-bottom-right-radius:1em}#undo a{font-weight:700}#undo a:hover{text-decoration:underline}#first-run{display:none;height:100%;width:100%}.first-run #first-run{display:block}#first-run>div{width:100%;height:100%;display:table}#first-run>div>div{display:table-row}#first-run>div>div>*{display:table-cell;vertical-align:middle}#first-run .title h1{color:#222;font-size:18px;text-align:center}#first-run .helper h1{color:#222;font-size:18px;height:44px;padding-left:45px;background-position:15px center;background-image:url(../img/arrow.svg);background-repeat:no-repeat}.first-run #app-content-wrapper{height:100%}#app-content.loading-content{background:url(../img/loading.gif) calc(50% - 16px) calc(50% - 16px) no-repeat}#app-content.loading-content>*{display:none}#app-content:not(.first-run):after{content:'';display:block;height:100%}#app-content-wrapper.autopaging:after{content:'';background-image:url(../img/loading.gif) no-repeat;background-position:calc(50% - 16px) calc(50% - 16px)}.pull-to-refresh{height:0;overflow:hidden;text-align:center;background-image:-moz-linear-gradient(top,#eee 0,#fefefe 100%);background-image:-webkit-linear-gradient(top,#eee 0,#fefefe 100%);background-image:-ms-linear-gradient(top,#eee 0,#fefefe 100%);background-image:linear-gradient(top,#eee 0,#fefefe 100%)}.pull-to-refresh.show-pull-to-refresh{transition:all .5s ease;padding-top:10px;height:44px}#app-content .only-in-expanded{display:block}#app-content .compact .only-in-expanded,#app-content .only-in-compact{display:none}#app-content .compact .only-in-compact{display:block}#app-content .item{cursor:default;border-bottom:1px solid #eee;background-image:linear-gradient(top,#f8f8f8 0,#fff 84px)}#app-content .item:last-child{border-bottom:0}#app-content .utils{width:100%;line-height:52px;box-sizing:border-box;padding:15px 50px 0 15px}#app-content .compact .utils{cursor:pointer;padding-top:0}#app-content .utils ul{height:40px;list-style-type:none;display:flex;margin:0;padding:0}#app-content .open .utils ul{height:auto}#app-content .util-spacer{width:20px}#app-content .compact .util-spacer{width:19px}#app-content .utils li{line-height:40px;vertical-align:middle}#app-content .utils li:last-child{padding-right:0}#app-content .utils li:first-child{padding-left:0}#app-content .utils .util{padding:0 6px}#app-content .utils .external,#app-content .utils button{padding:0;margin:0;height:40px;width:40px;border:0;float:left;background-color:transparent;background-repeat:no-repeat;background-size:25px;background-position:center}#app-content .utils .external,#app-content .utils .icon-toggle,#app-content .utils .menu button{display:inline-block;opacity:.3}#app-content .utils .external:hover,#app-content .utils .icon-toggle.keep-unread,#app-content .utils .icon-toggle:hover,#app-content .utils .menu button:hover{opacity:1}#app-content .utils .star{background-image:url(../img/inactive_star.svg)}#app-content .utils .star:hover,#app-content .utils .starred{background-image:url(../img/active_star.svg)}#app-content .utils .title{width:100%;padding-left:45px;background-position:10px 10px;background-size:20px 20px;background-repeat:no-repeat}#app-content .feed-view .utils .title{background:none!important;padding-left:10px}#app-content .utils .title h1 a{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:100%;line-height:40px;display:inline-block;color:#222;font-weight:700;font-size:16px}#app-content .open .utils .title h1 a{overflow:auto;white-space:normal}#app-content .read .utils .title h1 a{font-weight:400;color:#888}#app-content .utils .date{padding:0 15px;margin-right:25px}#app-content .heading{padding:25px 0 10px}#app-content .heading h1{font-size:19px;margin-right:182px;word-wrap:break-word}#app-content .heading a{font-weight:700;color:#000}#app-content .heading a:hover{text-decoration:underline}#app-content .heading .date{float:right;display:inline-block;font-size:15px}#app-content .read .heading a{font-weight:400!important;color:#888}#app-content .feed-view .source{display:none}#app-content .article{min-height:69px;padding:0 50px 50px}#app-content .compact .article{display:none}#app-content .open .article{display:block}#app-content .subtitle{color:#aaa;font-size:15px;width:100%;padding-bottom:25px}#app-content .subtitle a{color:#aaa}#app-content .subtitle a:hover{text-decoration:underline}#app-content .date{color:#aaa;white-space:nowrap}#app-content .author{color:#aaa;font-size:15px}#app-content .author a{color:inherit}#app-content .author a:hover{text-decoration:underline}#app-content .enclosure{padding:20px 0;text-align:center;max-width:770px;margin-bottom:15px}#app-content .enclosure audio,#app-content .enclosure img,#app-content .enclosure video{width:100%}#app-content .enclosure video{background-color:#000}#app-content .enclosure-error{line-height:1.5;height:40px}#app-content .body{max-width:770px;font-size:14px;clear:both;overflow-x:auto}#app-content .body p{line-height:1.5;margin:7px 0 14px}#app-content .body img,#app-content .body table{max-width:100%;height:auto;overflow:auto;word-wrap:break-word;white-space:normal}#app-content .body>div :first-child>img:first-child,#app-content .body>div>img:first-child{padding:0 14px 0 0;float:left}#app-content .body h1,#app-content .body h2{font-size:17px;font-weight:700;color:#222;margin:21px 0 0}#app-content .body h3{font-size:15px;font-weight:700;color:#222;margin:21px 0 0;text-decoration:underline}#app-content .body h4,#app-content .body h5,#app-content .body h6{font-weight:700}#app-content .body>div{margin:7px 0}#app-content .body a{color:#00f;text-decoration:underline}#app-content .body ul{margin:7px 0;padding-left:14px;list-style-type:disc}#app-content .body ol{margin:7px 0;padding-left:21px}#app-content .body ul li{cursor:default;line-height:21px}#app-content .body pre{padding:7px 7px 7px 14px;background-color:#dadada;border:1px solid #ccc;margin:7px 0 14px;overflow-y:auto}#app-content .body pre::-webkit-scrollbar{height:10px}#app-content .body pre::-webkit-scrollbar-thumb{background:#333}#app-content .body pre::-webkit-scrollbar-track-piece{background:#ddd}#app-content .body code,#app-content .body pre{font-family:monospace;font-size:16px}#app-content .body blockquote{border-left:1px solid #d2d2d2;margin:25px 0;padding:0 0 0 15px;font-style:italic}#app-content .body em{font-style:italic;opacity:1}#app-content .custom-heise-de .body p>span:first-child{display:inline-block;float:left;margin-right:10px;padding:6px 0}#app-content .custom-slashdot-org .body i{display:block;border-left:1px solid #d2d2d2;margin:25px 0;padding:0 0 0 15px}@media (max-width:770px){#app-content .utils .date{display:none}}@media (max-width:600px){#app-content .heading .date{display:none}#app-content .heading h1{margin-right:0}#app-content .utils{padding-right:15px}#app-content .article{padding-right:15px;padding-left:44px}}#app-navigation .add-new .heading{height:44px;width:100%;padding:0 0 0 44px;background-position:14px center}#app-navigation .add-new .heading:hover{background-color:#ccc}#app-navigation .add-new .heading button{padding:0;line-height:44px;width:100%;border:0;margin:0;background:0 0;text-align:left;font-weight:400}#app-navigation .add-new-popup{display:none;padding:10px;box-shadow:inset 0 0 10px #dedede;border-top:1px solid #dedede;border-bottom:1px solid #dedede}#app-navigation input.ng-invalid{border:1px solid #d14}#app-navigation .add-new-popup input,#app-navigation .add-new-popup select{width:100%;height:36px;padding:5px;margin-right:0}#app-navigation #new-feed [name=folderName],#app-navigation .add-new-popup select{width:calc(100% - 36px);border-right:0;border-top-right-radius:0;border-bottom-right-radius:0;float:left}#app-navigation .add-new-popup .add-new-folder-primary{float:right;border-bottom-left-radius:0;border-top-left-radius:0;width:36px;height:36px;margin-left:0;margin-right:0}#app-navigation .add-new-popup .error{padding:0 0 10px}#app-navigation .icon-starred{background-image:url(../img/starred.png)}.icon-rss{background-image:url(../img/rss.svg)!important}#app-navigation .unread>a{font-weight:700}#app-navigation .entry-loading{background-image:url(../img/loading.gif)!important}#app-navigation input.entry-loading{background-size:20px}#app-navigation p.error{line-height:25px}#app-navigation .folder-rename-error{height:auto}#app-navigation .error-message{padding:15px;background-color:#DE1212;color:#fff;position:relative}#app-navigation .ui-state-disabled{opacity:1}#app-navigation .error-message .title{font-weight:700;padding-right:30px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#app-navigation .error-message button{top:0;right:0;position:absolute;margin:0;height:44px;width:44px;padding:15px;border:0;background-size:25px;background-color:transparent;background-image:url(../img/close.svg);background-repeat:no-repeat;background-position:right 5px top 5px;opacity:.9}#app-navigation .error-message button:hover{opacity:1}#app-settings input[type=file]{position:absolute;left:-30000px}#app-settings .opened:hover{background-color:transparent!important}#app-settings-content{padding-bottom:25px}#app-settings-content h3{padding:5px 0;font-weight:700}#app-settings-content p{padding-left:10px}.button-icon-label{background-position:10px center;background-size:16px;padding-left:25px}#app-settings .import-export h3{padding-top:15px;padding-bottom:5px}#app-settings .import-export a,#app-settings .import-export button{width:113px;height:30px;margin:0;vertical-align:middle;background-position:center}#app-settings .import-export a{display:inline-block} \ No newline at end of file +#app-navigation .active.with-menu>a,#app-navigation .with-counter>a{padding-right:50px}#app-navigation .active.with-menu.with-counter>a{padding-right:90px}#app-navigation>.with-icon ul li.app-navigation-entry-loading>a,#app-navigation>.with-icon ul li>a{padding-left:68px;background-position:44px center}#app-navigation .selected,#app-navigation .selected a,#app-navigation li:hover>a{background-color:#ddd}#app-navigation .app-navigation-entry-loading a,#app-navigation .with-icon a{padding-left:44px;background-size:16px 16px;background-position:14px center;background-repeat:no-repeat}#app-navigation .collapsible.open{background-image:linear-gradient(top,#eee 0,#f5f5f5 100%);background-image:-o-linear-gradient(top,#eee 0,#f5f5f5 100%);background-image:-moz-linear-gradient(top,#eee 0,#f5f5f5 100%);background-image:-webkit-linear-gradient(top,#eee 0,#f5f5f5 100%);background-image:-ms-linear-gradient(top,#eee 0,#f5f5f5 100%)}#app-navigation>ul .collapsible.open:hover{box-shadow:inset 0 0 3px #ddd}#app-navigation>ul .collapsible.open ul{display:block}#app-navigation .app-navigation-entry-deleted{display:inline-block;height:44px;width:100%}#app-navigation .app-navigation-entry-deleted-description{padding-left:12px;position:relative;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;display:inline-block;width:201px;width:calc(100% - 49px);line-height:44px;float:left}#app-navigation .app-navigation-entry-deleted-button{margin:0;height:44px;width:44px;line-height:44px;border:0;display:inline-block;background-color:transparent;opacity:.5}#app-navigation .app-navigation-entry-deleted-button:hover{opacity:1}#app-navigation .app-navigation-entry-utils{position:absolute;top:0;right:0;z-index:10}#app-navigation .app-navigation-entry-utils ul{display:block!important}#app-navigation .app-navigation-entry-utils li{float:left;width:44px!important;height:44px;line-height:44px}#app-navigation .active>.app-navigation-entry-utils li{display:inline-block}#app-navigation .app-navigation-entry-utils button{height:38px;width:38px;line-height:38px;float:left}#app-navigation .app-navigation-entry-utils-menu-button{display:none}#app-navigation .app-navigation-entry-utils-menu-button button{border:0;opacity:.5;background-color:transparent;background-repeat:no-repeat;background-position:center;background-image:url(../img/7/more.svg)}#app-navigation .app-navigation-entry-utils-menu-button:focus button,#app-navigation .app-navigation-entry-utils-menu-button:hover button{background-color:transparent;opacity:1}#app-navigation .app-navigation-entry-utils-counter{overflow:hidden;text-overflow:hidden;text-align:right;font-size:9pt;width:38px;line-height:44px;padding:0 10px}#app-navigation .app-navigation-entry-menu ul,#app-navigation .app-navigation-entry-utils ul{list-style-type:none}#app-navigation .app-navigation-entry-menu{display:none;position:absolute;background-color:#eee;color:#333;border-radius:3px 0 3px 3px;z-index:110;margin:-5px 14px 5px 10px;right:0;border:1px solid #bbb;-webkit-filter:drop-shadow(0 0 5px rgba(150,150,150,.75));-moz-filter:drop-shadow(0 0 5px rgba(150,150,150,.75));-ms-filter:drop-shadow(0 0 5px rgba(150,150,150,.75));-o-filter:drop-shadow(0 0 5px rgba(150,150,150,.75));filter:drop-shadow(0 0 5px rgba(150,150,150,.75))}#app-navigation .app-navigation-entry-menu.open{display:block}#app-navigation .app-navigation-entry-menu:after,#app-navigation .app-navigation-entry-menu:before{bottom:100%;right:0;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none}#app-navigation .app-navigation-entry-menu:after{border-color:rgba(238,238,238,0);border-bottom-color:#eee;border-width:10px;margin-left:-10px}#app-navigation .app-navigation-entry-menu:before{border-color:rgba(187,187,187,0);border-bottom-color:#bbb;border-width:11px;margin-left:-11px}#app-navigation .app-navigation-entry-menu ul{display:block!important}#app-navigation .app-navigation-entry-menu li{float:left;width:38px!important}#app-navigation .app-navigation-entry-menu li button{float:right;width:36px!important;height:36px;line-height:36px;border:0;opacity:.5;background-color:transparent}#app-navigation .app-navigation-entry-menu li button:focus,#app-navigation .app-navigation-entry-menu li button:hover{opacity:1;background-color:transparent}#app-navigation .app-navigation-entry-edit{padding-left:5px;padding-right:5px;display:inline-block;height:39px;width:100%}#app-navigation .app-navigation-entry-edit input{border-bottom-right-radius:0;border-top-right-radius:0;width:204px;width:calc(100% - 36px);padding:5px;margin-right:0;height:38px;float:left;border:1px solid rgba(190,190,190,.9)}#app-navigation .app-navigation-entry-edit button,#app-navigation .app-navigation-entry-edit input[type=submit]{width:36px;height:38px;float:left}#app-navigation .app-navigation-entry-edit .icon-checkmark{border-bottom-left-radius:0;border-top-left-radius:0;border-left:0;margin-right:0}#app-content{z-index:25}#app-settings,#expanddiv{z-index:15}#global-loading{width:100%;height:100%}#undo-container{position:fixed;top:0;width:100%;text-align:center;z-index:101;line-height:1.2}#undo{z-index:101;background-color:#fc4;border:0;padding:0 .7em .3em;display:none;position:relative;top:0;border-bottom-left-radius:1em;border-bottom-right-radius:1em}#undo a{font-weight:700}#undo a:hover{text-decoration:underline}#first-run{display:none;height:100%;width:100%}.first-run #first-run{display:block}#first-run>div{width:100%;height:100%;display:table}#first-run>div>div{display:table-row}#first-run>div>div>*{display:table-cell;vertical-align:middle}#first-run .title h1{color:#222;font-size:18px;text-align:center}#first-run .helper h1{color:#222;font-size:18px;height:44px;padding-left:45px;background-position:15px center;background-image:url(../img/arrow.svg);background-repeat:no-repeat}.first-run #app-content-wrapper{height:100%}#app-content.loading-content{background:url(../img/loading.gif) calc(50% - 16px) calc(50% - 16px) no-repeat}#app-content.loading-content>*{display:none}#app-content:not(.first-run):after{content:'';display:block;height:100%}#app-content-wrapper.autopaging:after{content:'';background-image:url(../img/loading.gif) no-repeat;background-position:calc(50% - 16px) calc(50% - 16px)}.pull-to-refresh{height:0;overflow:hidden;text-align:center;background-image:-moz-linear-gradient(top,#eee 0,#fefefe 100%);background-image:-webkit-linear-gradient(top,#eee 0,#fefefe 100%);background-image:-ms-linear-gradient(top,#eee 0,#fefefe 100%);background-image:linear-gradient(top,#eee 0,#fefefe 100%)}.pull-to-refresh.show-pull-to-refresh{transition:all .5s ease;padding-top:10px;height:44px}#app-content .only-in-expanded{display:block}#app-content .compact .only-in-expanded,#app-content .only-in-compact{display:none}#app-content .compact .only-in-compact{display:block}#app-content .item{cursor:default;border-bottom:1px solid #eee;background-image:linear-gradient(top,#f8f8f8 0,#fff 84px)}#app-content .item:last-child{border-bottom:0}#app-content .utils{width:100%;line-height:52px;box-sizing:border-box;padding:15px 50px 0 15px}#app-content .compact .utils{cursor:pointer;padding-top:0}#app-content .utils ul{height:40px;list-style-type:none;display:flex;margin:0;padding:0}#app-content .open .utils ul{height:auto}#app-content .util-spacer{width:20px}#app-content .compact .util-spacer{width:19px}#app-content .utils li{line-height:40px;vertical-align:middle}#app-content .utils li:last-child{padding-right:0}#app-content .utils li:first-child{padding-left:0}#app-content .utils .util{padding:0 6px}#app-content .utils .external,#app-content .utils button{padding:0;margin:0;height:40px;width:40px;border:0;float:left;background-color:transparent;background-repeat:no-repeat;background-size:25px;background-position:center}#app-content .utils .external,#app-content .utils .icon-toggle,#app-content .utils .menu button{display:inline-block;opacity:.3}#app-content .utils .external:hover,#app-content .utils .icon-toggle.keep-unread,#app-content .utils .icon-toggle:hover,#app-content .utils .menu button:hover{opacity:1}#app-content .utils .star{background-image:url(../img/inactive_star.svg)}#app-content .utils .star:hover,#app-content .utils .starred{background-image:url(../img/active_star.svg)}#app-content .utils .title{width:100%;padding-left:45px;background-position:10px 10px;background-size:20px 20px;background-repeat:no-repeat}#app-content .feed-view .utils .title{background:none!important;padding-left:10px}#app-content .utils .title h1 a{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:100%;line-height:40px;display:inline-block;color:#222;font-weight:700;font-size:16px}#app-content .open .utils .title h1 a{overflow:auto;white-space:normal}#app-content .read .utils .title h1 a{font-weight:400;color:#888}#app-content .utils .date{padding:0 15px;margin-right:25px}#app-content .heading{padding:25px 0 10px}#app-content .heading h1{font-size:19px;margin-right:182px;word-wrap:break-word}#app-content .heading a{font-weight:700;color:#000}#app-content .heading a:hover{text-decoration:underline}#app-content .heading .date{float:right;display:inline-block;font-size:15px}#app-content .read .heading a{font-weight:400!important;color:#888}#app-content .feed-view .source{display:none}#app-content .article{min-height:69px;padding:0 50px 50px}#app-content .compact .article{display:none}#app-content .open .article{display:block}#app-content .subtitle{color:#aaa;font-size:15px;width:100%;padding-bottom:25px}#app-content .subtitle a{color:#aaa}#app-content .subtitle a:hover{text-decoration:underline}#app-content .date{color:#aaa;white-space:nowrap}#app-content .author{color:#aaa;font-size:15px}#app-content .author a{color:inherit}#app-content .author a:hover{text-decoration:underline}#app-content .enclosure{padding:20px 0;text-align:center;max-width:770px;margin-bottom:15px}#app-content .enclosure audio,#app-content .enclosure img,#app-content .enclosure video{width:100%}#app-content .enclosure video{background-color:#000}#app-content .enclosure-error{line-height:1.5;height:40px}#app-content .body{max-width:770px;font-size:14px;clear:both;overflow-x:auto}#app-content .body p{line-height:1.5;margin:7px 0 14px}#app-content .body img,#app-content .body table{max-width:100%;height:auto;overflow:auto;word-wrap:break-word;white-space:normal}#app-content .body>div :first-child>img:first-child,#app-content .body>div>img:first-child{padding:0 14px 0 0;float:left}#app-content .body h1,#app-content .body h2{font-size:17px;font-weight:700;color:#222;margin:21px 0 0}#app-content .body h3{font-size:15px;font-weight:700;color:#222;margin:21px 0 0;text-decoration:underline}#app-content .body h4,#app-content .body h5,#app-content .body h6{font-weight:700}#app-content .body>div{margin:7px 0}#app-content .body a{color:#00f;text-decoration:underline}#app-content .body ul{margin:7px 0;padding-left:14px;list-style-type:disc}#app-content .body ol{margin:7px 0;padding-left:21px}#app-content .body ul li{cursor:default;line-height:21px}#app-content .body pre{padding:7px 7px 7px 14px;background-color:#dadada;border:1px solid #ccc;margin:7px 0 14px;overflow-y:auto}#app-content .body pre::-webkit-scrollbar{height:10px}#app-content .body pre::-webkit-scrollbar-thumb{background:#333}#app-content .body pre::-webkit-scrollbar-track-piece{background:#ddd}#app-content .body code,#app-content .body pre{font-family:monospace;font-size:16px}#app-content .body blockquote{border-left:1px solid #d2d2d2;margin:25px 0;padding:0 0 0 15px;font-style:italic}#app-content .body em{font-style:italic;opacity:1}#app-content .custom-heise-de .body p>span:first-child{display:inline-block;float:left;margin-right:10px;padding:6px 0}#app-content .custom-slashdot-org .body i{display:block;border-left:1px solid #d2d2d2;margin:25px 0;padding:0 0 0 15px}@media (max-width:770px){#app-content .utils .date{display:none}#app-shortcuts th:first-child{padding-left:44px}}@media (max-width:600px){#app-content .heading .date{display:none}#app-content .heading h1{margin-right:0}#app-content .utils{padding-right:15px}#app-content .article{padding-right:15px;padding-left:44px}}#app-shortcuts table{border-collapse:collapse;width:100%;white-space:normal}#app-shortcuts tr:first-child{background-color:#eee}#app-shortcuts td,#app-shortcuts th{padding:10px}#app-shortcuts td{padding-right:15px}#app-shortcuts th{font-weight:700}#app-shortcuts td:first-child,#app-shortcuts th:first-child{text-align:right;font-weight:700;width:140px;-moz-box-sizing:content-box;box-sizing:content-box}#app-navigation .add-new .heading{height:44px;width:100%;padding:0 0 0 44px;background-position:14px center}#app-navigation .add-new .heading:hover{background-color:#ccc}#app-navigation .add-new .heading button{padding:0;line-height:44px;width:100%;border:0;margin:0;background:0 0;text-align:left;font-weight:400}#app-navigation .add-new-popup{display:none;padding:10px;box-shadow:inset 0 0 10px #dedede;border-top:1px solid #dedede;border-bottom:1px solid #dedede}#app-navigation input.ng-invalid{border:1px solid #d14}#app-navigation .add-new-popup input,#app-navigation .add-new-popup select{width:100%;height:36px;padding:5px;margin-right:0}#app-navigation #new-feed [name=folderName],#app-navigation .add-new-popup select{width:calc(100% - 36px);border-right:0;border-top-right-radius:0;border-bottom-right-radius:0;float:left}#app-navigation .add-new-popup .add-new-folder-primary{float:right;border-bottom-left-radius:0;border-top-left-radius:0;width:36px;height:36px;margin-left:0;margin-right:0}#app-navigation .add-new-popup .error{padding:0 0 10px}#app-navigation .icon-starred{background-image:url(../img/starred.png)}.icon-rss{background-image:url(../img/rss.svg)!important}#app-navigation .unread>a{font-weight:700}#app-navigation .entry-loading{background-image:url(../img/loading.gif)!important}#app-navigation input.entry-loading{background-size:20px}#app-navigation p.error{line-height:25px}#app-navigation .folder-rename-error{height:auto}#app-navigation .error-message{padding:15px;background-color:#DE1212;color:#fff;position:relative}#app-navigation .ui-state-disabled{opacity:1}#app-navigation .error-message .title{font-weight:700;padding-right:30px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#app-navigation .error-message button{top:0;right:0;position:absolute;margin:0;height:44px;width:44px;padding:15px;border:0;background-size:25px;background-color:transparent;background-image:url(../img/close.svg);background-repeat:no-repeat;background-position:right 5px top 5px;opacity:.9}#app-navigation .error-message button:hover{opacity:1}#app-settings input[type=file]{position:absolute;left:-30000px}#app-settings .opened:hover{background-color:transparent!important}#app-settings-content{padding-bottom:25px}#app-settings-content h3{padding:5px 0;font-weight:700}#app-settings-content a{color:#00F;text-decoration:underline}#app-settings-content p{padding:2px 2px 2px 10px}.button-icon-label{background-position:10px center;background-size:16px;padding-left:25px}#app-settings .import-export h3{padding-top:15px;padding-bottom:5px}#app-settings .import-export a,#app-settings .import-export button{width:113px;height:30px;margin:0;vertical-align:middle;background-position:center}#app-settings .import-export a{display:inline-block} \ No newline at end of file diff --git a/css/news.min.css b/css/news.min.css index 1a4c3de7e..ee08fbd75 100644 --- a/css/news.min.css +++ b/css/news.min.css @@ -1 +1 @@ -#global-loading{width:100%;height:100%}#undo-container{position:fixed;top:0;width:100%;text-align:center;z-index:101;line-height:1.2}#undo{z-index:101;background-color:#fc4;border:0;padding:0 .7em .3em;display:none;position:relative;top:0;border-bottom-left-radius:1em;border-bottom-right-radius:1em}#undo a{font-weight:700}#undo a:hover{text-decoration:underline}#first-run{display:none;height:100%;width:100%}.first-run #first-run{display:block}#first-run>div{width:100%;height:100%;display:table}#first-run>div>div{display:table-row}#first-run>div>div>*{display:table-cell;vertical-align:middle}#first-run .title h1{color:#222;font-size:18px;text-align:center}#first-run .helper h1{color:#222;font-size:18px;height:44px;padding-left:45px;background-position:15px center;background-image:url(../img/arrow.svg);background-repeat:no-repeat}.first-run #app-content-wrapper{height:100%}#app-content.loading-content{background:url(../img/loading.gif) calc(50% - 16px) calc(50% - 16px) no-repeat}#app-content.loading-content>*{display:none}#app-content:not(.first-run):after{content:'';display:block;height:100%}#app-content-wrapper.autopaging:after{content:'';background-image:url(../img/loading.gif) no-repeat;background-position:calc(50% - 16px) calc(50% - 16px)}.pull-to-refresh{height:0;overflow:hidden;text-align:center;background-image:-moz-linear-gradient(top,#eee 0,#fefefe 100%);background-image:-webkit-linear-gradient(top,#eee 0,#fefefe 100%);background-image:-ms-linear-gradient(top,#eee 0,#fefefe 100%);background-image:linear-gradient(top,#eee 0,#fefefe 100%)}.pull-to-refresh.show-pull-to-refresh{transition:all .5s ease;padding-top:10px;height:44px}#app-content .only-in-expanded{display:block}#app-content .compact .only-in-expanded,#app-content .only-in-compact{display:none}#app-content .compact .only-in-compact{display:block}#app-content .item{cursor:default;border-bottom:1px solid #eee;background-image:linear-gradient(top,#f8f8f8 0,#fff 84px)}#app-content .item:last-child{border-bottom:0}#app-content .utils{width:100%;line-height:52px;box-sizing:border-box;padding:15px 50px 0 15px}#app-content .compact .utils{cursor:pointer;padding-top:0}#app-content .utils ul{height:40px;list-style-type:none;display:flex;margin:0;padding:0}#app-content .open .utils ul{height:auto}#app-content .util-spacer{width:20px}#app-content .compact .util-spacer{width:19px}#app-content .utils li{line-height:40px;vertical-align:middle}#app-content .utils li:last-child{padding-right:0}#app-content .utils li:first-child{padding-left:0}#app-content .utils .util{padding:0 6px}#app-content .utils .external,#app-content .utils button{padding:0;margin:0;height:40px;width:40px;border:0;float:left;background-color:transparent;background-repeat:no-repeat;background-size:25px;background-position:center}#app-content .utils .external,#app-content .utils .icon-toggle,#app-content .utils .menu button{display:inline-block;opacity:.3}#app-content .utils .external:hover,#app-content .utils .icon-toggle.keep-unread,#app-content .utils .icon-toggle:hover,#app-content .utils .menu button:hover{opacity:1}#app-content .utils .star{background-image:url(../img/inactive_star.svg)}#app-content .utils .star:hover,#app-content .utils .starred{background-image:url(../img/active_star.svg)}#app-content .utils .title{width:100%;padding-left:45px;background-position:10px 10px;background-size:20px 20px;background-repeat:no-repeat}#app-content .feed-view .utils .title{background:none!important;padding-left:10px}#app-content .utils .title h1 a{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:100%;line-height:40px;display:inline-block;color:#222;font-weight:700;font-size:16px}#app-content .open .utils .title h1 a{overflow:auto;white-space:normal}#app-content .read .utils .title h1 a{font-weight:400;color:#888}#app-content .utils .date{padding:0 15px;margin-right:25px}#app-content .heading{padding:25px 0 10px}#app-content .heading h1{font-size:19px;margin-right:182px;word-wrap:break-word}#app-content .heading a{font-weight:700;color:#000}#app-content .heading a:hover{text-decoration:underline}#app-content .heading .date{float:right;display:inline-block;font-size:15px}#app-content .read .heading a{font-weight:400!important;color:#888}#app-content .feed-view .source{display:none}#app-content .article{min-height:69px;padding:0 50px 50px}#app-content .compact .article{display:none}#app-content .open .article{display:block}#app-content .subtitle{color:#aaa;font-size:15px;width:100%;padding-bottom:25px}#app-content .subtitle a{color:#aaa}#app-content .subtitle a:hover{text-decoration:underline}#app-content .date{color:#aaa;white-space:nowrap}#app-content .author{color:#aaa;font-size:15px}#app-content .author a{color:inherit}#app-content .author a:hover{text-decoration:underline}#app-content .enclosure{padding:20px 0;text-align:center;max-width:770px;margin-bottom:15px}#app-content .enclosure audio,#app-content .enclosure img,#app-content .enclosure video{width:100%}#app-content .enclosure video{background-color:#000}#app-content .enclosure-error{line-height:1.5;height:40px}#app-content .body{max-width:770px;font-size:14px;clear:both;overflow-x:auto}#app-content .body p{line-height:1.5;margin:7px 0 14px}#app-content .body img,#app-content .body table{max-width:100%;height:auto;overflow:auto;word-wrap:break-word;white-space:normal}#app-content .body>div :first-child>img:first-child,#app-content .body>div>img:first-child{padding:0 14px 0 0;float:left}#app-content .body h1,#app-content .body h2{font-size:17px;font-weight:700;color:#222;margin:21px 0 0}#app-content .body h3{font-size:15px;font-weight:700;color:#222;margin:21px 0 0;text-decoration:underline}#app-content .body h4,#app-content .body h5,#app-content .body h6{font-weight:700}#app-content .body>div{margin:7px 0}#app-content .body a{color:#00f;text-decoration:underline}#app-content .body ul{margin:7px 0;padding-left:14px;list-style-type:disc}#app-content .body ol{margin:7px 0;padding-left:21px}#app-content .body ul li{cursor:default;line-height:21px}#app-content .body pre{padding:7px 7px 7px 14px;background-color:#dadada;border:1px solid #ccc;margin:7px 0 14px;overflow-y:auto}#app-content .body pre::-webkit-scrollbar{height:10px}#app-content .body pre::-webkit-scrollbar-thumb{background:#333}#app-content .body pre::-webkit-scrollbar-track-piece{background:#ddd}#app-content .body code,#app-content .body pre{font-family:monospace;font-size:16px}#app-content .body blockquote{border-left:1px solid #d2d2d2;margin:25px 0;padding:0 0 0 15px;font-style:italic}#app-content .body em{font-style:italic;opacity:1}#app-content .custom-heise-de .body p>span:first-child{display:inline-block;float:left;margin-right:10px;padding:6px 0}#app-content .custom-slashdot-org .body i{display:block;border-left:1px solid #d2d2d2;margin:25px 0;padding:0 0 0 15px}@media (max-width:770px){#app-content .utils .date{display:none}}@media (max-width:600px){#app-content .heading .date{display:none}#app-content .heading h1{margin-right:0}#app-content .utils{padding-right:15px}#app-content .article{padding-right:15px;padding-left:44px}}#app-navigation .add-new .heading{height:44px;width:100%;padding:0 0 0 44px;background-position:14px center}#app-navigation .add-new .heading:hover{background-color:#ccc}#app-navigation .add-new .heading button{padding:0;line-height:44px;width:100%;border:0;margin:0;background:0 0;text-align:left;font-weight:400}#app-navigation .add-new-popup{display:none;padding:10px;box-shadow:inset 0 0 10px #dedede;border-top:1px solid #dedede;border-bottom:1px solid #dedede}#app-navigation input.ng-invalid{border:1px solid #d14}#app-navigation .add-new-popup input,#app-navigation .add-new-popup select{width:100%;height:36px;padding:5px;margin-right:0}#app-navigation #new-feed [name=folderName],#app-navigation .add-new-popup select{width:calc(100% - 36px);border-right:0;border-top-right-radius:0;border-bottom-right-radius:0;float:left}#app-navigation .add-new-popup .add-new-folder-primary{float:right;border-bottom-left-radius:0;border-top-left-radius:0;width:36px;height:36px;margin-left:0;margin-right:0}#app-navigation .add-new-popup .error{padding:0 0 10px}#app-navigation .icon-starred{background-image:url(../img/starred.png)}.icon-rss{background-image:url(../img/rss.svg)!important}#app-navigation .unread>a{font-weight:700}#app-navigation .entry-loading{background-image:url(../img/loading.gif)!important}#app-navigation input.entry-loading{background-size:20px}#app-navigation p.error{line-height:25px}#app-navigation .folder-rename-error{height:auto}#app-navigation .error-message{padding:15px;background-color:#DE1212;color:#fff;position:relative}#app-navigation .ui-state-disabled{opacity:1}#app-navigation .error-message .title{font-weight:700;padding-right:30px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#app-navigation .error-message button{top:0;right:0;position:absolute;margin:0;height:44px;width:44px;padding:15px;border:0;background-size:25px;background-color:transparent;background-image:url(../img/close.svg);background-repeat:no-repeat;background-position:right 5px top 5px;opacity:.9}#app-navigation .error-message button:hover{opacity:1}#app-settings input[type=file]{position:absolute;left:-30000px}#app-settings .opened:hover{background-color:transparent!important}#app-settings-content{padding-bottom:25px}#app-settings-content h3{padding:5px 0;font-weight:700}#app-settings-content p{padding-left:10px}.button-icon-label{background-position:10px center;background-size:16px;padding-left:25px}#app-settings .import-export h3{padding-top:15px;padding-bottom:5px}#app-settings .import-export a,#app-settings .import-export button{width:113px;height:30px;margin:0;vertical-align:middle;background-position:center}#app-settings .import-export a{display:inline-block} \ No newline at end of file +#global-loading{width:100%;height:100%}#undo-container{position:fixed;top:0;width:100%;text-align:center;z-index:101;line-height:1.2}#undo{z-index:101;background-color:#fc4;border:0;padding:0 .7em .3em;display:none;position:relative;top:0;border-bottom-left-radius:1em;border-bottom-right-radius:1em}#undo a{font-weight:700}#undo a:hover{text-decoration:underline}#first-run{display:none;height:100%;width:100%}.first-run #first-run{display:block}#first-run>div{width:100%;height:100%;display:table}#first-run>div>div{display:table-row}#first-run>div>div>*{display:table-cell;vertical-align:middle}#first-run .title h1{color:#222;font-size:18px;text-align:center}#first-run .helper h1{color:#222;font-size:18px;height:44px;padding-left:45px;background-position:15px center;background-image:url(../img/arrow.svg);background-repeat:no-repeat}.first-run #app-content-wrapper{height:100%}#app-content.loading-content{background:url(../img/loading.gif) calc(50% - 16px) calc(50% - 16px) no-repeat}#app-content.loading-content>*{display:none}#app-content:not(.first-run):after{content:'';display:block;height:100%}#app-content-wrapper.autopaging:after{content:'';background-image:url(../img/loading.gif) no-repeat;background-position:calc(50% - 16px) calc(50% - 16px)}.pull-to-refresh{height:0;overflow:hidden;text-align:center;background-image:-moz-linear-gradient(top,#eee 0,#fefefe 100%);background-image:-webkit-linear-gradient(top,#eee 0,#fefefe 100%);background-image:-ms-linear-gradient(top,#eee 0,#fefefe 100%);background-image:linear-gradient(top,#eee 0,#fefefe 100%)}.pull-to-refresh.show-pull-to-refresh{transition:all .5s ease;padding-top:10px;height:44px}#app-content .only-in-expanded{display:block}#app-content .compact .only-in-expanded,#app-content .only-in-compact{display:none}#app-content .compact .only-in-compact{display:block}#app-content .item{cursor:default;border-bottom:1px solid #eee;background-image:linear-gradient(top,#f8f8f8 0,#fff 84px)}#app-content .item:last-child{border-bottom:0}#app-content .utils{width:100%;line-height:52px;box-sizing:border-box;padding:15px 50px 0 15px}#app-content .compact .utils{cursor:pointer;padding-top:0}#app-content .utils ul{height:40px;list-style-type:none;display:flex;margin:0;padding:0}#app-content .open .utils ul{height:auto}#app-content .util-spacer{width:20px}#app-content .compact .util-spacer{width:19px}#app-content .utils li{line-height:40px;vertical-align:middle}#app-content .utils li:last-child{padding-right:0}#app-content .utils li:first-child{padding-left:0}#app-content .utils .util{padding:0 6px}#app-content .utils .external,#app-content .utils button{padding:0;margin:0;height:40px;width:40px;border:0;float:left;background-color:transparent;background-repeat:no-repeat;background-size:25px;background-position:center}#app-content .utils .external,#app-content .utils .icon-toggle,#app-content .utils .menu button{display:inline-block;opacity:.3}#app-content .utils .external:hover,#app-content .utils .icon-toggle.keep-unread,#app-content .utils .icon-toggle:hover,#app-content .utils .menu button:hover{opacity:1}#app-content .utils .star{background-image:url(../img/inactive_star.svg)}#app-content .utils .star:hover,#app-content .utils .starred{background-image:url(../img/active_star.svg)}#app-content .utils .title{width:100%;padding-left:45px;background-position:10px 10px;background-size:20px 20px;background-repeat:no-repeat}#app-content .feed-view .utils .title{background:none!important;padding-left:10px}#app-content .utils .title h1 a{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:100%;line-height:40px;display:inline-block;color:#222;font-weight:700;font-size:16px}#app-content .open .utils .title h1 a{overflow:auto;white-space:normal}#app-content .read .utils .title h1 a{font-weight:400;color:#888}#app-content .utils .date{padding:0 15px;margin-right:25px}#app-content .heading{padding:25px 0 10px}#app-content .heading h1{font-size:19px;margin-right:182px;word-wrap:break-word}#app-content .heading a{font-weight:700;color:#000}#app-content .heading a:hover{text-decoration:underline}#app-content .heading .date{float:right;display:inline-block;font-size:15px}#app-content .read .heading a{font-weight:400!important;color:#888}#app-content .feed-view .source{display:none}#app-content .article{min-height:69px;padding:0 50px 50px}#app-content .compact .article{display:none}#app-content .open .article{display:block}#app-content .subtitle{color:#aaa;font-size:15px;width:100%;padding-bottom:25px}#app-content .subtitle a{color:#aaa}#app-content .subtitle a:hover{text-decoration:underline}#app-content .date{color:#aaa;white-space:nowrap}#app-content .author{color:#aaa;font-size:15px}#app-content .author a{color:inherit}#app-content .author a:hover{text-decoration:underline}#app-content .enclosure{padding:20px 0;text-align:center;max-width:770px;margin-bottom:15px}#app-content .enclosure audio,#app-content .enclosure img,#app-content .enclosure video{width:100%}#app-content .enclosure video{background-color:#000}#app-content .enclosure-error{line-height:1.5;height:40px}#app-content .body{max-width:770px;font-size:14px;clear:both;overflow-x:auto}#app-content .body p{line-height:1.5;margin:7px 0 14px}#app-content .body img,#app-content .body table{max-width:100%;height:auto;overflow:auto;word-wrap:break-word;white-space:normal}#app-content .body>div :first-child>img:first-child,#app-content .body>div>img:first-child{padding:0 14px 0 0;float:left}#app-content .body h1,#app-content .body h2{font-size:17px;font-weight:700;color:#222;margin:21px 0 0}#app-content .body h3{font-size:15px;font-weight:700;color:#222;margin:21px 0 0;text-decoration:underline}#app-content .body h4,#app-content .body h5,#app-content .body h6{font-weight:700}#app-content .body>div{margin:7px 0}#app-content .body a{color:#00f;text-decoration:underline}#app-content .body ul{margin:7px 0;padding-left:14px;list-style-type:disc}#app-content .body ol{margin:7px 0;padding-left:21px}#app-content .body ul li{cursor:default;line-height:21px}#app-content .body pre{padding:7px 7px 7px 14px;background-color:#dadada;border:1px solid #ccc;margin:7px 0 14px;overflow-y:auto}#app-content .body pre::-webkit-scrollbar{height:10px}#app-content .body pre::-webkit-scrollbar-thumb{background:#333}#app-content .body pre::-webkit-scrollbar-track-piece{background:#ddd}#app-content .body code,#app-content .body pre{font-family:monospace;font-size:16px}#app-content .body blockquote{border-left:1px solid #d2d2d2;margin:25px 0;padding:0 0 0 15px;font-style:italic}#app-content .body em{font-style:italic;opacity:1}#app-content .custom-heise-de .body p>span:first-child{display:inline-block;float:left;margin-right:10px;padding:6px 0}#app-content .custom-slashdot-org .body i{display:block;border-left:1px solid #d2d2d2;margin:25px 0;padding:0 0 0 15px}#app-shortcuts table{border-collapse:collapse;width:100%;white-space:normal}#app-shortcuts tr:first-child{background-color:#eee}#app-shortcuts td,#app-shortcuts th{padding:10px}#app-shortcuts td{padding-right:15px}#app-shortcuts th{font-weight:700}#app-shortcuts td:first-child,#app-shortcuts th:first-child{text-align:right;font-weight:700;width:140px;-moz-box-sizing:content-box;box-sizing:content-box}@media (max-width:770px){#app-content .utils .date{display:none}#app-shortcuts th:first-child{padding-left:44px}}@media (max-width:600px){#app-content .heading .date{display:none}#app-content .heading h1{margin-right:0}#app-content .utils{padding-right:15px}#app-content .article{padding-right:15px;padding-left:44px}}#app-navigation .add-new .heading{height:44px;width:100%;padding:0 0 0 44px;background-position:14px center}#app-navigation .add-new .heading:hover{background-color:#ccc}#app-navigation .add-new .heading button{padding:0;line-height:44px;width:100%;border:0;margin:0;background:0 0;text-align:left;font-weight:400}#app-navigation .add-new-popup{display:none;padding:10px;box-shadow:inset 0 0 10px #dedede;border-top:1px solid #dedede;border-bottom:1px solid #dedede}#app-navigation input.ng-invalid{border:1px solid #d14}#app-navigation .add-new-popup input,#app-navigation .add-new-popup select{width:100%;height:36px;padding:5px;margin-right:0}#app-navigation #new-feed [name=folderName],#app-navigation .add-new-popup select{width:calc(100% - 36px);border-right:0;border-top-right-radius:0;border-bottom-right-radius:0;float:left}#app-navigation .add-new-popup .add-new-folder-primary{float:right;border-bottom-left-radius:0;border-top-left-radius:0;width:36px;height:36px;margin-left:0;margin-right:0}#app-navigation .add-new-popup .error{padding:0 0 10px}#app-navigation .icon-starred{background-image:url(../img/starred.png)}.icon-rss{background-image:url(../img/rss.svg)!important}#app-navigation .unread>a{font-weight:700}#app-navigation .entry-loading{background-image:url(../img/loading.gif)!important}#app-navigation input.entry-loading{background-size:20px}#app-navigation p.error{line-height:25px}#app-navigation .folder-rename-error{height:auto}#app-navigation .error-message{padding:15px;background-color:#DE1212;color:#fff;position:relative}#app-navigation .ui-state-disabled{opacity:1}#app-navigation .error-message .title{font-weight:700;padding-right:30px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#app-navigation .error-message button{top:0;right:0;position:absolute;margin:0;height:44px;width:44px;padding:15px;border:0;background-size:25px;background-color:transparent;background-image:url(../img/close.svg);background-repeat:no-repeat;background-position:right 5px top 5px;opacity:.9}#app-navigation .error-message button:hover{opacity:1}#app-settings input[type=file]{position:absolute;left:-30000px}#app-settings .opened:hover{background-color:transparent!important}#app-settings-content{padding-bottom:25px}#app-settings-content h3{padding:5px 0;font-weight:700}#app-settings-content a{color:#00F;text-decoration:underline}#app-settings-content p{padding:2px 2px 2px 10px}.button-icon-label{background-position:10px center;background-size:16px;padding-left:25px}#app-settings .import-export h3{padding-top:15px;padding-bottom:5px}#app-settings .import-export a,#app-settings .import-export button{width:113px;height:30px;margin:0;vertical-align:middle;background-position:center}#app-settings .import-export a{display:inline-block} \ No newline at end of file diff --git a/css/settings.css b/css/settings.css index a8bbe9cd3..f10fdd0e4 100644 --- a/css/settings.css +++ b/css/settings.css @@ -25,8 +25,14 @@ font-weight: bold; } +#app-settings-content a { + color: #0000FF; + text-decoration: underline; +} + + #app-settings-content p { - padding-left: 10px; + padding: 2px 2px 2px 10px; } .button-icon-label { diff --git a/css/shortcuts.css b/css/shortcuts.css new file mode 100644 index 000000000..150a6ba72 --- /dev/null +++ b/css/shortcuts.css @@ -0,0 +1,34 @@ +#app-shortcuts { +} + +#app-shortcuts table { + border-collapse: collapse; + width: 100%; + white-space: normal; +} + +#app-shortcuts tr:first-child { + background-color: #eee; +} + +#app-shortcuts th, +#app-shortcuts td { + padding: 10px; +} + +#app-shortcuts td { + padding-right: 15px; +} + +#app-shortcuts th { + font-weight: bold; +} + +#app-shortcuts th:first-child, +#app-shortcuts td:first-child { + text-align: right; + font-weight: bold; + width: 140px; + -moz-box-sizing: content-box; + box-sizing: content-box; +} diff --git a/js/Gruntfile.js b/js/Gruntfile.js index 1308b5139..d690464a1 100644 --- a/js/Gruntfile.js +++ b/js/Gruntfile.js @@ -74,6 +74,7 @@ module.exports = function (grunt) { '../css/content.css', '../css/custom.css', '../css/mobile.css', + '../css/shortcuts.css', '../css/navigation.css', '../css/settings.css' ]} @@ -83,6 +84,7 @@ module.exports = function (grunt) { '../css/app.css', '../css/content.css', '../css/custom.css', + '../css/shortcuts.css', '../css/mobile.css', '../css/navigation.css', '../css/settings.css' diff --git a/js/app/Config.js b/js/app/Config.js index 62a079808..2825c43e1 100644 --- a/js/app/Config.js +++ b/js/app/Config.js @@ -97,6 +97,9 @@ app.config(function ($routeProvider, $provide, $httpProvider) { templateUrl: 'content.html', resolve: getResolve(feedType.FOLDER), type: feedType.FOLDER + }).when('/shortcuts', { + templateUrl: 'shortcuts.html', + type: -1 }); }); diff --git a/js/build/app.js b/js/build/app.js index 6baf70439..6e333ba44 100644 --- a/js/build/app.js +++ b/js/build/app.js @@ -95,6 +95,9 @@ app.config(["$routeProvider", "$provide", "$httpProvider", function ($routeProvi templateUrl: 'content.html', resolve: getResolve(feedType.FOLDER), type: feedType.FOLDER + }).when('/shortcuts', { + templateUrl: 'shortcuts.html', + type: -1 }); }]); @@ -1765,6 +1768,10 @@ app.service('SettingsResource', ["$http", "BASE_URL", function ($http, BASE_URL) ); }; + /*var showShortcuts = function () { + $('*[data-apps-slide-toggle="#app-shortcuts"]').trigger('click'); + };*/ + var reloadFeed = function (navigationArea) { navigationArea.find('.active > a:visible').trigger('click'); }; diff --git a/js/build/app.min.js b/js/build/app.min.js index df5eabc52..bb91f2448 100644 --- a/js/build/app.min.js +++ b/js/build/app.min.js @@ -1 +1 @@ -!function(a,b,c,d,e,f,g){"use strict";var h=c.module("News",["ngRoute","ngSanitize"]);h.config(["$routeProvider","$provide","$httpProvider",function(a,b,c){var d={FEED:0,FOLDER:1,STARRED:2,SUBSCRIPTIONS:3,SHARED:4};b.constant("REFRESH_RATE",60),b.constant("ITEM_BATCH_SIZE",40),b.constant("ITEM_AUTO_PAGE_SIZE",20),b.constant("BASE_URL",e.generateUrl("/apps/news")),b.constant("FEED_TYPE",d),b.constant("MARK_READ_TIMEOUT",.5),b.constant("SCROLL_TIMEOUT",.1),b.factory("CSRFInterceptor",["$q","BASE_URL",function(a,b){return{request:function(c){return 0===c.url.indexOf(b)&&(c.headers.requesttoken=f),c||a.when(c)}}}]),c.interceptors.push("CSRFInterceptor");var h=function(a){return{data:["$http","$route","$q","BASE_URL","ITEM_BATCH_SIZE",function(b,c,d,e,f){var h={type:a,limit:f};c.current.params.id!==g&&(h.id=c.current.params.id);var i=d.defer();return b({url:e+"/items",method:"GET",params:h}).success(function(a){i.resolve(a)}),i.promise}]}};a.when("/items",{controller:"ContentController as Content",templateUrl:"content.html",resolve:h(d.SUBSCRIPTIONS),type:d.SUBSCRIPTIONS}).when("/items/starred",{controller:"ContentController as Content",templateUrl:"content.html",resolve:h(d.STARRED),type:d.STARRED}).when("/items/feeds/:id",{controller:"ContentController as Content",templateUrl:"content.html",resolve:h(d.FEED),type:d.FEED}).when("/items/folders/:id",{controller:"ContentController as Content",templateUrl:"content.html",resolve:h(d.FOLDER),type:d.FOLDER})}]),h.run(["$rootScope","$location","$http","$q","$interval","Loading","ItemResource","FeedResource","FolderResource","SettingsResource","Publisher","BASE_URL","FEED_TYPE","REFRESH_RATE",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n){f.setLoading("global",!0),k.subscribe(g).toChannels(["items","newestItemId","starred"]),k.subscribe(i).toChannels(["folders"]),k.subscribe(h).toChannels(["feeds"]),k.subscribe(j).toChannels(["settings"]);var o=d.defer();c.get(l+"/settings").success(function(a){k.publishAll(a),o.resolve()});var p=d.defer(),q=b.path();c.get(l+"/feeds/active").success(function(a){var c;switch(a.activeFeed.type){case m.FEED:c="/items/feeds/"+a.activeFeed.id;break;case m.FOLDER:c="/items/folders/"+a.activeFeed.id;break;case m.STARRED:c="/items/starred";break;default:c="/items"}/^\/items(\/(starred|feeds\/\d+|folders\/\d+))?\/?$/.test(q)||b.path(c),p.resolve()});var r=d.defer();c.get(l+"/folders").success(function(a){k.publishAll(a),r.resolve()});var s=d.defer();c.get(l+"/feeds").success(function(a){k.publishAll(a),s.resolve()}),d.all([o.promise,p.promise,s.promise,r.promise]).then(function(){f.setLoading("global",!1)}),e(function(){c.get(l+"/feeds").success(function(a){k.publishAll(a)}),c.get(l+"/folders").success(function(a){k.publishAll(a)})},1e3*n),a.$on("$routeChangeStart",function(){f.setLoading("content",!0)}),a.$on("$routeChangeSuccess",function(){f.setLoading("content",!1)}),a.$on("$routeChangeError",function(){b.path("/items")})}]),h.controller("AppController",["Loading","FeedResource","FolderResource",function(a,b,c){this.loading=a,this.isFirstRun=function(){return 0===b.size()&&0===c.size()}}]),h.controller("ContentController",["Publisher","FeedResource","ItemResource","SettingsResource","data","$route","$routeParams","FEED_TYPE",function(a,b,c,d,e,f,h,i){c.clear(),a.publishAll(e),this.isAutoPagingEnabled=!0,this.getItems=function(){return c.getAll()},this.toggleStar=function(a){c.toggleStar(a)},this.toggleItem=function(a){this.isCompactView()&&(a.show=!a.show)},this.markRead=function(a){var d=c.get(a);d.keepUnread||d.unread!==!0||(c.markItemRead(a),b.markItemOfFeedRead(d.feedId))},this.getFeed=function(a){return b.getById(a)},this.toggleKeepUnread=function(a){var d=c.get(a);d.unread||(b.markItemOfFeedUnread(d.feedId),c.markItemRead(a,!1)),d.keepUnread=!d.keepUnread},this.orderBy=function(){return d.get("oldestFirst")?"id":"-id"},this.isCompactView=function(){return d.get("compact")},this.autoPagingEnabled=function(){return this.isAutoPagingEnabled},this.markReadEnabled=function(){return!d.get("preventReadOnScroll")},this.scrollRead=function(a){var d=[],e=[];a.forEach(function(a){var b=c.get(a);b.keepUnread||(d.push(a),e.push(b.feedId))}),d.length>0&&(b.markItemsOfFeedsRead(e),c.markItemsRead(d))},this.isFeed=function(){return f.current.$$route.type===i.FEED},this.autoPage=function(){if(!this.isAutoPagingEnabled)return void(this.autoPageAgain=!0);this.isAutoPagingEnabled=!1,this.autoPageAgain=!1;var b=f.current.$$route.type,e=h.id,g=d.get("oldestFirst"),i=this;c.autoPage(b,e,g).success(function(b){a.publishAll(b),b.items.length>0&&(i.isAutoPagingEnabled=!0),i.isAutoPagingEnabled&&i.autoPageAgain&&i.autoPage()}).error(function(){i.isAutoPagingEnabled=!0})},this.getRelativeDate=function(a){if(a!==g&&""!==a){var b=d.get("language"),c=moment.unix(a).locale(b).fromNow()+"";return c}return""},this.refresh=function(){f.reload()}}]),h.controller("NavigationController",["$route","FEED_TYPE","FeedResource","FolderResource","ItemResource","SettingsResource","Publisher","$rootScope","$location","$q",function(a,b,c,d,e,f,h,i,j,k){this.feedError="",this.showNewFolder=!1,this.renamingFolder=!1,this.addingFeed=!1,this.addingFolder=!1,this.folderError="",this.renameError="",this.feed={};var l=function(){return parseInt(a.current.params.id,10)};this.getFeeds=function(){return c.getAll()},this.getFolders=function(){return d.getAll()},this.markFolderRead=function(a){c.markFolderRead(a),c.getByFolderId(a).forEach(function(a){e.markFeedRead(a.id)})},this.markFeedRead=function(a){e.markFeedRead(a),c.markFeedRead(a)},this.markRead=function(){e.markRead(),c.markRead()},this.isShowAll=function(){return f.get("showAll")},this.getFeedsOfFolder=function(a){return c.getByFolderId(a)},this.getUnreadCount=function(){return c.getUnreadCount()},this.getFeedUnreadCount=function(a){var b=c.getById(a);return b!==g?b.unreadCount:0},this.getFolderUnreadCount=function(a){return c.getFolderUnreadCount(a)},this.getStarredCount=function(){return e.getStarredCount()},this.toggleFolder=function(a){d.toggleOpen(a)},this.hasFeeds=function(a){return c.getFolderUnreadCount(a)!==g},this.subFeedActive=function(d){var e=a.current.$$route.type;if(e===b.FEED){var f=c.getById(l());if(f!==g&&f.folderId===d)return!0}return!1},this.isSubscriptionsActive=function(){return a.current&&a.current.$$route.type===b.SUBSCRIPTIONS},this.isStarredActive=function(){return a.current&&a.current.$$route.type===b.STARRED},this.isFolderActive=function(c){return a.current&&a.current.$$route.type===b.FOLDER&&l()===c},this.isFeedActive=function(c){return a.current&&a.current.$$route.type===b.FEED&&l()===c},this.folderNameExists=function(a){return a=a||"",d.get(a.trim())!==g},this.feedUrlExists=function(a){return a=a||"",a=a.trim(),c.get(a)!==g||c.get("http://"+a)!==g},this.createFeed=function(a){var b=this;this.showNewFolder=!1,this.addingFeed=!0;var e=a.newFolder,f=a.existingFolder||{id:0};e===g||""===e?(f.getsFeed=!0,c.create(a.url,f.id,g).then(function(a){h.publishAll(a),j.path("/items/feeds/"+a.feeds[0].id+"/")}).finally(function(){f.getsFeed=g,a.url="",b.addingFeed=!1})):d.create(e).then(function(c){h.publishAll(c),a.existingFolder=d.get(c.folders[0].name),a.newFolder=g,b.createFeed(a)})},this.createFolder=function(a){var b=this;this.addingFolder=!0,d.create(a.name).then(function(a){h.publishAll(a)}).finally(function(){b.addingFolder=!1,a.name=""})},this.moveFeed=function(b,d){var e=!1,f=c.getById(b);f.folderId!==d&&((this.isFolderActive(f.folderId)||this.isFolderActive(d))&&(e=!0),c.move(b,d),e&&a.reload())},this.renameFeed=function(a){c.rename(a.id,a.title),a.editing=!1},this.renameFolder=function(a,b){a.renameError="",this.renamingFolder=!0;var c=this;a.name===b?(a.renameError="",a.editing=!1,this.renamingFolder=!1