Browse Source

remove separate classes for various panels, unify under .panel
remove a few other unnecessary css classes/ids

Andrew Dolgov 1 year ago
parent
commit
a68b150601

+ 4 - 7
classes/dlg.php

@@ -16,15 +16,12 @@ class Dlg extends Handler_Protected {
 	function importOpml() {
 		print __("If you have imported labels and/or filters, you might need to reload preferences to see your new data.") . "</p>";
 
-		print "<div class=\"prefFeedOPMLHolder\">";
-
-		print "<ul class='nomarks'>";
+		print "<div class='panel panel-scrollable'>";
 
 		$opml = new Opml($_REQUEST);
 
 		$opml->opml_import($_SESSION["uid"]);
 
-		print "</ul>";
 		print "</div>";
 
 		print "<div align='center'>";
@@ -43,7 +40,7 @@ class Dlg extends Handler_Protected {
 
 		print __("Your Public OPML URL is:");
 
-		print "<div class=\"tagCloudContainer\">";
+		print "<div class='panel'>";
 		print "<a id='pub_opml_url' href='$url_path' target='_blank'>$url_path</a>";
 		print "</div>";
 
@@ -94,7 +91,7 @@ class Dlg extends Handler_Protected {
 	}
 
 	function printTagCloud() {
-		print "<div class=\"tagCloudContainer\">";
+		print "<div class='panel'>";
 
 		// from here: http://www.roscripts.com/Create_tag_cloud-71.html
 
@@ -170,7 +167,7 @@ class Dlg extends Handler_Protected {
 
 		print "<div>".T_sprintf("%s can be accessed via the following secret URL:", $feed_title)."</div>";
 
-		print "<div class=\"tagCloudContainer\">";
+		print "<div class='panel'>";
 		print "<a id='gen_feed_url' href='$url_path' target='_blank'>$url_path</a>";
 		print "</div>";
 

+ 13 - 15
classes/pref/feeds.php

@@ -1132,8 +1132,8 @@ class Pref_Feeds extends Handler_Protected {
 
 	function index() {
 
-		print "<div dojoType=\"dijit.layout.AccordionContainer\" region=\"center\">";
-		print "<div id=\"pref-feeds-feeds\" dojoType=\"dijit.layout.AccordionPane\" 
+		print "<div dojoType='dijit.layout.AccordionContainer' region='center'>";
+		print "<div style='padding : 0px' dojoType='dijit.layout.AccordionPane' 
 			title=\"<i class='material-icons'>rss_feed</i> ".__('Feeds')."\">";
 
 		$sth = $this->pdo->prepare("SELECT COUNT(id) AS num_errors
@@ -1222,7 +1222,7 @@ class Pref_Feeds extends Handler_Protected {
 		print "</div>"; # toolbar
 
 		//print '</div>';
-		print '<div dojoType="dijit.layout.ContentPane" region="center">';
+		print '<div style="padding : 0px" dojoType="dijit.layout.ContentPane" region="center">';
 
 		print "<div id=\"feedlistLoading\">
 		<img src='images/indicator_tiny.gif'>".
@@ -1423,16 +1423,15 @@ class Pref_Feeds extends Handler_Protected {
 		print "<div dojoType=\"dijit.form.DropDownButton\">".
 				"<span>" . __('Select')."</span>";
 		print "<div dojoType=\"dijit.Menu\" style=\"display: none;\">";
-		print "<div onclick=\"Tables.select('prefInactiveFeedList', true)\"
+		print "<div onclick=\"Tables.select('inactive-feeds-list', true)\"
 			dojoType=\"dijit.MenuItem\">".__('All')."</div>";
-		print "<div onclick=\"Tables.select('prefInactiveFeedList', false)\"
+		print "<div onclick=\"Tables.select('inactive-feeds-list', false)\"
 			dojoType=\"dijit.MenuItem\">".__('None')."</div>";
 		print "</div></div>";
 		print "</div>"; #toolbar
 
-		print "<div class=\"inactiveFeedHolder\">";
-
-		print "<table width=\"100%\" cellspacing=\"0\" id=\"prefInactiveFeedList\">";
+		print "<div class='panel panel-scrollable'>";
+		print "<table width='100%' id='inactive-feeds-list'>";
 
 		$lnum = 1;
 
@@ -1440,7 +1439,7 @@ class Pref_Feeds extends Handler_Protected {
 
 			$feed_id = $line["id"];
 
-			print "<tr class=\"placeholder\" data-row-id='$feed_id'>";
+			print "<tr data-row-id='$feed_id'>";
 
 			print "<td width='5%' align='center'><input
 				onclick='Tables.onRowChecked(this);' dojoType=\"dijit.form.CheckBox\"
@@ -1485,16 +1484,15 @@ class Pref_Feeds extends Handler_Protected {
 		print "<div dojoType=\"dijit.form.DropDownButton\">".
 				"<span>" . __('Select')."</span>";
 		print "<div dojoType=\"dijit.Menu\" style=\"display: none;\">";
-		print "<div onclick=\"Tables.select('prefErrorFeedList', true)\"
+		print "<div onclick=\"Tables.select('error-feeds-list', true)\"
 			dojoType=\"dijit.MenuItem\">".__('All')."</div>";
-		print "<div onclick=\"Tables.select('prefErrorFeedList', false)\"
+		print "<div onclick=\"Tables.select('error-feeds-list', false)\"
 			dojoType=\"dijit.MenuItem\">".__('None')."</div>";
 		print "</div></div>";
 		print "</div>"; #toolbar
 
-		print "<div class=\"inactiveFeedHolder\">";
-
-		print "<table width=\"100%\" cellspacing=\"0\" id=\"prefErrorFeedList\">";
+		print "<div class='panel panel-scrollable'>";
+		print "<table width='100%' id='error-feeds-list'>";
 
 		$lnum = 1;
 
@@ -1502,7 +1500,7 @@ class Pref_Feeds extends Handler_Protected {
 
 			$feed_id = $line["id"];
 
-			print "<tr class=\"placeholder\" data-row-id='$feed_id'>";
+			print "<tr data-row-id='$feed_id'>";
 
 			print "<td width='5%' align='center'><input
 				onclick='Tables.onRowChecked(this);' dojoType=\"dijit.form.CheckBox\"

+ 7 - 7
classes/pref/filters.php

@@ -199,8 +199,8 @@ class Pref_Filters extends Handler_Protected {
 
 		print "<div><img id='prefFilterLoadingIndicator' src='images/indicator_tiny.gif'>&nbsp;<span id='prefFilterProgressMsg'>Looking for articles...</span></div>";
 
-		print "<br/><div class=\"filterTestHolder\">";
-		print "<table width=\"100%\" cellspacing=\"0\" id=\"prefFilterTestResultList\">";
+		print "<br/><div class='panel panel-scrollable'>";
+		print "<table width='100%' id='prefFilterTestResultList'>";
 		print "</table></div>";
 
 		print "<div style='text-align : center'>";
@@ -772,9 +772,9 @@ class Pref_Filters extends Handler_Protected {
 			$filter_search = $_SESSION["prefs_filter_search"];
 		}
 
-		print "<div id=\"pref-filter-wrap\" dojoType=\"dijit.layout.BorderContainer\" gutters=\"false\">";
-		print "<div id=\"pref-filter-header\" dojoType=\"dijit.layout.ContentPane\" region=\"top\">";
-		print "<div id=\"pref-filter-toolbar\" dojoType=\"dijit.Toolbar\">";
+		print "<div dojoType='dijit.layout.BorderContainer' gutters='false'>";
+		print "<div style='padding : 0px' dojoType='dijit.layout.ContentPane' region='top'>";
+		print "<div dojoType='dijit.Toolbar'>";
 
 		if (array_key_exists("search", $_REQUEST)) {
 			$_SESSION["prefs_filter_search"] = $filter_search;
@@ -816,9 +816,9 @@ class Pref_Filters extends Handler_Protected {
 
 		print "</div>"; # toolbar
 		print "</div>"; # toolbar-frame
-		print "<div id=\"pref-filter-content\" dojoType=\"dijit.layout.ContentPane\" region=\"center\">";
+		print "<div style='padding : 0px' dojoType='dijit.layout.ContentPane' region='center'>";
 
-		print "<div id=\"filterlistLoading\">
+		print "<div id='filterlistLoading'>
 		<img src='images/indicator_tiny.gif'>".
 		 __("Loading, please wait...")."</div>";
 

+ 5 - 5
classes/pref/labels.php

@@ -255,11 +255,11 @@ class Pref_Labels extends Handler_Protected {
 
 	function index() {
 
-		print "<div id=\"pref-label-wrap\" dojoType=\"dijit.layout.BorderContainer\" gutters=\"false\">";
-		print "<div id=\"pref-label-header\" dojoType=\"dijit.layout.ContentPane\" region=\"top\">";
-		print "<div id=\"pref-label-toolbar\" dojoType=\"dijit.Toolbar\">";
+		print "<div dojoType='dijit.layout.BorderContainer' gutters='false'>";
+		print "<div style='padding : 0px' dojoType='dijit.layout.ContentPane' region='top'>";
+		print "<div dojoType='dijit.Toolbar'>";
 
-		print "<div dojoType=\"dijit.form.DropDownButton\">".
+		print "<div dojoType='dijit.form.DropDownButton'>".
 				"<span>" . __('Select')."</span>";
 		print "<div dojoType=\"dijit.Menu\" style=\"display: none;\">";
 		print "<div onclick=\"dijit.byId('labelTree').model.setAllChecked(true)\"
@@ -280,7 +280,7 @@ class Pref_Labels extends Handler_Protected {
 
 		print "</div>"; #toolbar
 		print "</div>"; #pane
-		print "<div id=\"pref-label-content\" dojoType=\"dijit.layout.ContentPane\" region=\"center\">";
+		print "<div style='padding : 0px' dojoType=\"dijit.layout.ContentPane\" region=\"center\">";
 
 		print "<div id=\"labellistLoading\">
 		<img src='images/indicator_tiny.gif'>".

+ 10 - 18
classes/pref/prefs.php

@@ -1015,9 +1015,9 @@ class Pref_Prefs extends Handler_Protected {
 		print "<div dojoType=\"dijit.form.DropDownButton\">".
 				"<span>" . __('Select')."</span>";
 		print "<div dojoType=\"dijit.Menu\" style=\"display: none;\">";
-		print "<div onclick=\"Tables.select('prefFeedProfileList', true)\"
+		print "<div onclick=\"Tables.select('pref-profiles-list', true)\"
 			dojoType=\"dijit.MenuItem\">".__('All')."</div>";
-		print "<div onclick=\"Tables.select('prefFeedProfileList', false)\"
+		print "<div onclick=\"Tables.select('pref-profiles-list', false)\"
 			dojoType=\"dijit.MenuItem\">".__('None')."</div>";
 		print "</div></div>";
 
@@ -1035,19 +1035,15 @@ class Pref_Prefs extends Handler_Protected {
 			WHERE owner_uid = ? ORDER BY title");
 		$sth->execute([$_SESSION['uid']]);
 
-		print "<div class=\"prefProfileHolder\">";
+		print "<div class='panel panel-scrollable'>";
 
-		print "<form id=\"profile_edit_form\" onsubmit=\"return false\">";
+		print "<form id='profile_edit_form' onsubmit='return false'>";
 
-		print "<table width=\"100%\" class=\"prefFeedProfileList\"
-			cellspacing=\"0\" id=\"prefFeedProfileList\">";
+		print "<table width='100%' id='pref-profiles-list'>";
 
-		print "<tr class=\"placeholder\">"; # data-row-id='0' <-- no point, shouldn't be removed
+		print "<tr>"; # data-row-id='0' <-- no point, shouldn't be removed
 
-		print "<td width='5%' align='center'><input
-			onclick='Tables.onRowChecked(this);'
-			dojoType=\"dijit.form.CheckBox\"
-			type=\"checkbox\"></td>";
+		print "<td><input onclick='Tables.onRowChecked(this);' dojoType='dijit.form.CheckBox' type='checkbox'></td>";
 
 		if (!$_SESSION["profile"]) {
 			$is_active = __("(active)");
@@ -1055,8 +1051,7 @@ class Pref_Prefs extends Handler_Protected {
 			$is_active = "";
 		}
 
-		print "<td><span>" .
-			__("Default profile") . " $is_active</span></td>";
+		print "<td width='100%'><span>" . __("Default profile") . " $is_active</span></td>";
 
 		print "</tr>";
 
@@ -1066,14 +1061,11 @@ class Pref_Prefs extends Handler_Protected {
 
 			$profile_id = $line["id"];
 
-			print "<tr class=\"placeholder\" data-row-id='$profile_id'>";
+			print "<tr data-row-id='$profile_id'>";
 
 			$edit_title = htmlspecialchars($line["title"]);
 
-			print "<td width='5%' align='center'><input
-				onclick='Tables.onRowChecked(this);'
-				dojoType=\"dijit.form.CheckBox\"
-				type=\"checkbox\"></td>";
+			print "<td><input onclick='Tables.onRowChecked(this);' dojoType='dijit.form.CheckBox' type='checkbox'></td>";
 
 			if ($_SESSION["profile"] == $line["id"]) {
 				$is_active = __("(active)");

+ 5 - 6
classes/pref/users.php

@@ -153,7 +153,7 @@ class Pref_Users extends Handler_Protected {
 					WHERE owner_uid = ? ORDER BY title");
 				$sth->execute([$id]);
 
-				print "<ul class=\"userFeedList\">";
+				print "<ul class=\"panel panel-scrollable list list-unstyled\">";
 
 				while ($line = $sth->fetch()) {
 
@@ -326,10 +326,9 @@ class Pref_Users extends Handler_Protected {
 
 			global $access_level_names;
 
-			print "<div id=\"pref-user-wrap\" dojoType=\"dijit.layout.BorderContainer\" gutters=\"false\">";
-			print "<div id=\"pref-user-header\" dojoType=\"dijit.layout.ContentPane\" region=\"top\">";
-
-			print "<div id=\"pref-user-toolbar\" dojoType=\"dijit.Toolbar\">";
+			print "<div dojoType='dijit.layout.BorderContainer' gutters='false'>";
+			print "<div style='padding : 0px' dojoType='dijit.layout.ContentPane' region='top'>";
+			print "<div dojoType='dijit.Toolbar'>";
 
 			$user_search = trim(clean($_REQUEST["search"]));
 
@@ -376,7 +375,7 @@ class Pref_Users extends Handler_Protected {
 
 			print "</div>"; #toolbar
 			print "</div>"; #pane
-			print "<div id=\"pref-user-content\" dojoType=\"dijit.layout.ContentPane\" region=\"center\">";
+			print "<div style='padding : 0px' dojoType='dijit.layout.ContentPane' region='center'>";
 
 			$sort = validate_field($sort,
 				["login", "access_level", "created", "num_feeds", "created", "last_login"], "login");

+ 25 - 98
css/default.css

@@ -290,14 +290,6 @@ body.ttrss_main .hl.Selected span {
 body.ttrss_main .hl.Grayed {
   color: #909090;
 }
-body.ttrss_main div.filterTestHolder {
-  height: 300px;
-  overflow: auto;
-  border-color: #ddd;
-  border-style: solid;
-  margin: 0px 0px 5px 0px;
-  border-width: 1px;
-}
 body.ttrss_main #content-insert blockquote,
 body.ttrss_main #headlines-frame blockquote,
 body.ttrss_main .dijitContentPane blockquote {
@@ -375,11 +367,6 @@ body.ttrss_main .alert-info {
 body.ttrss_main .alert-info h4 {
   color: #3a87ad;
 }
-body.ttrss_main ul.nomarks {
-  list-style-type: none;
-  margin: 0px;
-  padding: 10px;
-}
 body.ttrss_main div.prefHelp {
   color: #555555;
   padding: 5px;
@@ -417,29 +404,11 @@ body.ttrss_main i.pub-pic {
   cursor: pointer;
   color: #ccc;
 }
-body.ttrss_main div.tagCloudContainer {
-  background: white;
-  border: 1px solid #ddd;
-  margin: 5px 0px 5px 0px;
-  padding: 5px;
-  text-align: center;
-}
 body.ttrss_main div.errorExplained {
   border: 1px solid #ddd;
   margin: 5px 0px 5px 0px;
   padding: 5px;
 }
-body.ttrss_main ul.feedErrorsList {
-  max-height: 300px;
-  overflow: auto;
-  list-style-type: none;
-  border: 1px solid #ddd;
-  margin: 0px 0px 5px 0px;
-  padding: 5px;
-}
-body.ttrss_main ul.feedErrorsList em {
-  color: #555555;
-}
 body.ttrss_main ul.browseFeedList {
   height: 300px;
   width: 100%;
@@ -487,10 +456,6 @@ body.ttrss_main #overlay_inner {
   font-weight: bold;
   margin: 1em;
 }
-body.ttrss_main form {
-  margin: 0px;
-  padding: 0px;
-}
 body.ttrss_main div.loadingPrompt {
   padding: 1em;
   text-align: center;
@@ -1023,6 +988,27 @@ body.ttrss_main .score-low i.icon-score {
 body.ttrss_main .score-neutral i.icon-score {
   opacity: 0.5;
 }
+body.ttrss_main .panel {
+  border: 1px solid #ddd;
+  background: #f5f5f5;
+  padding: 4px;
+}
+body.ttrss_main .dijitDialog .panel {
+  background: white;
+}
+body.ttrss_main .panel-scrollable {
+  overflow: auto;
+  height: 200px;
+}
+body.ttrss_main ul.list li {
+  padding: 2px;
+}
+body.ttrss_main ul.list {
+  padding: 4px;
+}
+body.ttrss_main ul.list-unstyled {
+  list-style-type: none;
+}
 ::selection {
   background: #257aa7;
   color: white;
@@ -1392,26 +1378,6 @@ body.ttrss_prefs {
   background-color: #f5f5f5;
   font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
   font-size: 14px;
-  /* div#pref-tabs .dijitContentPane {
-		font-size : 14px;
-	} */
-  /* div#pref-tabs {
-		box-shadow : 0px 1px 1px -1px rgba(0,0,0,0.1);
-		margin : 0px 5px 0px 5px;
-	} */
-  /* div#pref-tabs .dijitContentPane {
-		h1:first-of-type,
-		h2:first-of-type,
-		h3:first-of-type,
-		h4:first-of-type {
-			margin-top: 0px;
-		}
-	} */
-  /* preferences */
-  /* table.prefPrefsList h3 {
-		margin-top : 0.5em;
-		margin-bottom : 0px;
-	} */
 }
 body.ttrss_prefs #footer,
 body.ttrss_prefs #header {
@@ -1449,27 +1415,7 @@ body.ttrss_prefs .dijitAccordionTitle i.material-icons {
 body.ttrss_prefs .dijitAccordionTitleSelected i.material-icons {
   color: white;
 }
-body.ttrss_prefs #pref-filter-wrap,
-body.ttrss_prefs #pref-filter-header,
-body.ttrss_prefs #pref-filter-content,
-body.ttrss_prefs #pref-label-wrap,
-body.ttrss_prefs #pref-label-header,
-body.ttrss_prefs #pref-label-content,
-body.ttrss_prefs #pref-user-wrap,
-body.ttrss_prefs #pref-user-header,
-body.ttrss_prefs #pref-user-content,
-body.ttrss_prefs #pref-instance-wrap,
-body.ttrss_prefs #pref-instance-header,
-body.ttrss_prefs #pref-instance-content {
-  margin: 0px;
-  padding: 0px;
-  border-width: 0px;
-}
-body.ttrss_prefs #userConfigTab,
-body.ttrss_prefs #labelConfigTab,
-body.ttrss_prefs #filterConfigTab,
-body.ttrss_prefs #pref-feeds-feeds,
-body.ttrss_prefs #instanceConfigTab {
+body.ttrss_prefs .dijitDialog #pref-profiles-list .dijitInlineEditBoxDisplayMode {
   padding: 0px;
 }
 body.ttrss_prefs tr.title td {
@@ -1477,28 +1423,6 @@ body.ttrss_prefs tr.title td {
   border-bottom-width: 1px;
   color: #257aa7;
 }
-body.ttrss_prefs div.prefProfileHolder,
-body.ttrss_prefs div.prefFeedOPMLHolder,
-body.ttrss_prefs div.inactiveFeedHolder {
-  height: 300px;
-  overflow: auto;
-  border: 1px solid #ddd;
-  margin: 0px 0px 5px 0px;
-  background-color: white;
-  padding: 4px;
-}
-body.ttrss_prefs div.filterTestHolder,
-body.ttrss_prefs div.prefFeedOPMLHolder {
-  border-width: 1px;
-}
-body.ttrss_prefs ul.userFeedList {
-  height: 200px;
-  overflow: auto;
-  list-style-type: none;
-  border: 1px solid #ddd;
-  margin: 0px 0px 5px 0px;
-  padding: 5px;
-}
 body.ttrss_prefs .prefPrefsList td {
   padding-bottom: 4px;
 }
@@ -1819,6 +1743,9 @@ body#sharepopup input {
 .flat .dijitMenu .dijitMenuItem td {
   padding: 0px;
 }
+.flat .dijitCheckBox {
+  border: 0px;
+}
 .flat .dijitCheckBox:before {
   font-family: "flat-icon";
   content: "\f00c";

File diff suppressed because it is too large
+ 0 - 0
css/default.css.map


+ 4 - 0
css/dijit_basic.less

@@ -40,6 +40,10 @@
 		padding: 0px;
 	}
 
+	.dijitCheckBox {
+		border : 0px;
+	}
+
 	.dijitCheckBox:before {
 		font-family: "flat-icon";
 		content: "\f00c";

+ 1 - 57
css/prefs.less

@@ -47,72 +47,16 @@ body.ttrss_prefs {
 		color : white;
 	}
 
-	/* div#pref-tabs .dijitContentPane {
-		font-size : 14px;
-	} */
-
-	/* div#pref-tabs {
-		box-shadow : 0px 1px 1px -1px rgba(0,0,0,0.1);
-		margin : 0px 5px 0px 5px;
-	} */
-
-	/* div#pref-tabs .dijitContentPane {
-		h1:first-of-type,
-		h2:first-of-type,
-		h3:first-of-type,
-		h4:first-of-type {
-			margin-top: 0px;
-		}
-	} */
-
-	#pref-filter-wrap, #pref-filter-header, #pref-filter-content,
-	#pref-label-wrap, #pref-label-header, #pref-label-content,
-	#pref-user-wrap, #pref-user-header, #pref-user-content,
-	#pref-instance-wrap, #pref-instance-header, #pref-instance-content {
-		margin : 0px;
+	.dijitDialog #pref-profiles-list .dijitInlineEditBoxDisplayMode {
 		padding : 0px;
-		border-width : 0px;
 	}
 
-	#userConfigTab, #labelConfigTab, #filterConfigTab, #pref-feeds-feeds, #instanceConfigTab {
-		padding : 0px;
-	}
-
-	/* preferences */
-
-	/* table.prefPrefsList h3 {
-		margin-top : 0.5em;
-		margin-bottom : 0px;
-	} */
-
 	tr.title td {
 		border: 0px solid #ecf4ff;
 		border-bottom-width: 1px;
 		color : @color-link;
 	}
 
-	div.prefProfileHolder, div.prefFeedOPMLHolder, div.inactiveFeedHolder {
-		height : 300px;
-		overflow : auto;
-		border: 1px solid #ddd;
-		margin : 0px 0px 5px 0px;
-		background-color : white;
-		padding : 4px;
-	}
-
-	div.filterTestHolder, div.prefFeedOPMLHolder {
-		border-width : 1px;
-	}
-
-	ul.userFeedList {
-		height : 200px;
-		overflow : auto;
-		list-style-type : none;
-		border : 1px solid #ddd;
-		margin : 0px 0px 5px 0px;
-		padding : 5px;
-	}
-
 	.prefPrefsList td {
 		padding-bottom : 4px;
 	}

+ 27 - 42
css/tt-rss.less

@@ -330,15 +330,6 @@ body.ttrss_main {
 		color : #909090;
 	}
 
-	div.filterTestHolder {
-		height : 300px;
-		overflow : auto;
-		border-color : #ddd;
-		border-style : solid;
-		margin : 0px 0px 5px 0px;
-		border-width : 1px;
-	}
-
 	#content-insert blockquote,
 	#headlines-frame blockquote,
 	.dijitContentPane blockquote {
@@ -429,12 +420,6 @@ body.ttrss_main {
 		}
 	}
 
-	ul.nomarks {
-		list-style-type : none;
-		margin : 0px;
-		padding : 10px;
-	}
-
 	div.prefHelp {
 		color : @default-text;
 		padding : 5px;
@@ -478,34 +463,12 @@ body.ttrss_main {
 		color : #ccc;
 	}
 
-	div.tagCloudContainer {
-		background : white;
-		border : 1px solid #ddd;
-		margin : 5px 0px 5px 0px;
-		padding : 5px;
-		text-align : center;
-	}
-
 	div.errorExplained {
 		border : 1px solid #ddd;
 		margin : 5px 0px 5px 0px;
 		padding : 5px;
 	}
 
-	ul.feedErrorsList {
-		max-height : 300px;
-		overflow : auto;
-		list-style-type : none;
-		border : 1px solid #ddd;
-		margin : 0px 0px 5px 0px;
-		padding : 5px;
-
-		em {
-			color : @default-text;
-		}
-	}
-
-
 	ul.browseFeedList {
 		height : 300px;
 		width : 100%;
@@ -563,11 +526,6 @@ body.ttrss_main {
 		margin : 1em;
 	}
 
-	form {
-		margin : 0px;
-		padding : 0px;
-	}
-
 	div.loadingPrompt {
 		padding : 1em;
 		text-align : center;
@@ -1212,6 +1170,33 @@ body.ttrss_main {
 		opacity : 0.5;
 	}
 
+	.panel {
+		border : 1px solid #ddd;
+		background : @color-panel-bg;
+		padding : 4px;
+	}
+
+	.dijitDialog .panel {
+		background : white;
+	}
+
+	.panel-scrollable {
+		overflow : auto;
+		height : 200px;
+	}
+
+	ul.list li {
+		padding : 2px;
+	}
+
+	ul.list {
+		padding : 4px;
+	}
+
+	ul.list-unstyled {
+		list-style-type : none;
+	}
+
 }
 
 ::selection {

+ 1 - 1
js/CommonDialogs.js

@@ -179,7 +179,7 @@ define(["dojo/_base/declare"], function (declare) {
 				title: __("Feeds with update errors"),
 				style: "width: 600px",
 				getSelectedFeeds: function () {
-					return Tables.getSelected("prefErrorFeedList");
+					return Tables.getSelected("error-feeds-list");
 				},
 				removeSelected: function () {
 					const sel_rows = this.getSelectedFeeds();

+ 1 - 1
js/PrefFeedTree.js

@@ -369,7 +369,7 @@ define(["dojo/_base/declare", "dojo/dom-construct", "lib/CheckBoxTree"], functio
 				title: __("Feeds without recent updates"),
 				style: "width: 600px",
 				getSelectedFeeds: function () {
-					return Tables.getSelected("prefInactiveFeedList");
+					return Tables.getSelected("inactive-feeds-list");
 				},
 				removeSelected: function () {
 					const sel_rows = this.getSelectedFeeds();

+ 1 - 1
js/PrefHelpers.js

@@ -40,7 +40,7 @@ define(["dojo/_base/declare"], function (declare) {
 				title: __("Settings Profiles"),
 				style: "width: 600px",
 				getSelectedProfiles: function () {
-					return Tables.getSelected("prefFeedProfileList");
+					return Tables.getSelected("pref-profiles-list");
 				},
 				removeSelected: function () {
 					const sel_rows = this.getSelectedProfiles();

+ 1 - 1
plugins/af_comics/init.php

@@ -61,7 +61,7 @@ class Af_Comics extends Plugin {
 
 		asort($comics);
 
-		print "<ul class=\"browseFeedList\" style=\"border-width : 1px\">";
+		print "<ul class='panel panel-scrollable list list-unstyled'>";
 		foreach ($comics as $comic) {
 			print "<li>$comic</li>";
 		}

+ 2 - 2
plugins/af_psql_trgm/init.php

@@ -77,7 +77,7 @@ class Af_Psql_Trgm extends Plugin {
 
 			$sth->execute([$owner_uid, $id]);
 
-			print "<ul class='browseFeedList'>";
+			print "<ul class='panel panel-scrollable'>";
 
 			while ($line = $sth->fetch()) {
 				print "<li style='display : flex'>";
@@ -199,7 +199,7 @@ class Af_Psql_Trgm extends Plugin {
 			if (count($enabled_feeds) > 0) {
 				print "<h3>" . __("Currently enabled for (click to edit):") . "</h3>";
 
-				print "<ul class=\"browseFeedList\" style=\"border-width : 1px\">";
+				print "<ul class=\"panel panel-scrollable list list-unstyled\">";
 				foreach ($enabled_feeds as $f) {
 					print "<li>" .
 						"<img src='images/pub_set.png'

+ 1 - 1
plugins/af_readability/init.php

@@ -90,7 +90,7 @@ class Af_Readability extends Plugin {
 		if (count($enabled_feeds) > 0) {
 			print "<h3>" . __("Currently enabled for (click to edit):") . "</h3>";
 
-			print "<ul class=\"browseFeedList\" style=\"border-width : 1px\">";
+			print "<ul class='panel panel-scrollable list list-unstyled'>";
 			foreach ($enabled_feeds as $f) {
 				print "<li>" .
 					"<img src='images/pub_set.png'

+ 1 - 1
plugins/mailto/init.php

@@ -72,7 +72,7 @@ class MailTo extends Plugin {
 
 		print __("Clicking the following link to invoke your mail client:");
 
-		print "<div class=\"tagCloudContainer\">";
+		print "<div class='panel'>";
 		print "<a target=\"_blank\" href=\"$mailto_link\">".
 			__("Forward selected article(s) by email.")."</a>";
 		print "</div>";

+ 1 - 1
plugins/share/init.php

@@ -107,7 +107,7 @@ class Share extends Plugin {
 			$url_path = get_self_url_prefix();
 			$url_path .= "/public.php?op=share&key=$uuid";
 
-			print "<div class=\"tagCloudContainer\">";
+			print "<div class='panel'>";
 			print "<a id='gen_article_url' href='$url_path' target='_blank' rel='noopener noreferrer'>$url_path</a>";
 			print "</div>";
 

+ 3 - 0
prefs.php

@@ -129,13 +129,16 @@
             href="backend.php?op=pref-feeds"
             title="<i class='material-icons'>rss_feed</i>  <?php echo __('Feeds') ?>"></div>
         <div id="filterConfigTab" dojoType="dijit.layout.ContentPane"
+            style="padding : 0px"
             href="backend.php?op=pref-filters"
             title="<i class='material-icons'>filter_list1</i> <?php echo __('Filters') ?>"></div>
         <div id="labelConfigTab" dojoType="dijit.layout.ContentPane"
+            style="padding : 0px"
             href="backend.php?op=pref-labels"
             title="<i class='material-icons'>label_outline1</i> <?php echo __('Labels') ?>"></div>
         <?php if ($_SESSION["access_level"] >= 10) { ?>
             <div id="userConfigTab" dojoType="dijit.layout.ContentPane"
+                style="padding : 0px"
                 href="backend.php?op=pref-users"
                 title="<i class='material-icons'>person</i> <?php echo __('Users') ?>"></div>
             <div id="systemConfigTab" dojoType="dijit.layout.ContentPane"

+ 32 - 98
themes/night.css

@@ -290,14 +290,6 @@ body.ttrss_main .hl.Selected span {
 body.ttrss_main .hl.Grayed {
   color: #909090;
 }
-body.ttrss_main div.filterTestHolder {
-  height: 300px;
-  overflow: auto;
-  border-color: #ddd;
-  border-style: solid;
-  margin: 0px 0px 5px 0px;
-  border-width: 1px;
-}
 body.ttrss_main #content-insert blockquote,
 body.ttrss_main #headlines-frame blockquote,
 body.ttrss_main .dijitContentPane blockquote {
@@ -375,11 +367,6 @@ body.ttrss_main .alert-info {
 body.ttrss_main .alert-info h4 {
   color: #3a87ad;
 }
-body.ttrss_main ul.nomarks {
-  list-style-type: none;
-  margin: 0px;
-  padding: 10px;
-}
 body.ttrss_main div.prefHelp {
   color: #555555;
   padding: 5px;
@@ -417,29 +404,11 @@ body.ttrss_main i.pub-pic {
   cursor: pointer;
   color: #ccc;
 }
-body.ttrss_main div.tagCloudContainer {
-  background: white;
-  border: 1px solid #ddd;
-  margin: 5px 0px 5px 0px;
-  padding: 5px;
-  text-align: center;
-}
 body.ttrss_main div.errorExplained {
   border: 1px solid #ddd;
   margin: 5px 0px 5px 0px;
   padding: 5px;
 }
-body.ttrss_main ul.feedErrorsList {
-  max-height: 300px;
-  overflow: auto;
-  list-style-type: none;
-  border: 1px solid #ddd;
-  margin: 0px 0px 5px 0px;
-  padding: 5px;
-}
-body.ttrss_main ul.feedErrorsList em {
-  color: #555555;
-}
 body.ttrss_main ul.browseFeedList {
   height: 300px;
   width: 100%;
@@ -487,10 +456,6 @@ body.ttrss_main #overlay_inner {
   font-weight: bold;
   margin: 1em;
 }
-body.ttrss_main form {
-  margin: 0px;
-  padding: 0px;
-}
 body.ttrss_main div.loadingPrompt {
   padding: 1em;
   text-align: center;
@@ -1023,6 +988,27 @@ body.ttrss_main .score-low i.icon-score {
 body.ttrss_main .score-neutral i.icon-score {
   opacity: 0.5;
 }
+body.ttrss_main .panel {
+  border: 1px solid #ddd;
+  background: #f5f5f5;
+  padding: 4px;
+}
+body.ttrss_main .dijitDialog .panel {
+  background: white;
+}
+body.ttrss_main .panel-scrollable {
+  overflow: auto;
+  height: 200px;
+}
+body.ttrss_main ul.list li {
+  padding: 2px;
+}
+body.ttrss_main ul.list {
+  padding: 4px;
+}
+body.ttrss_main ul.list-unstyled {
+  list-style-type: none;
+}
 ::selection {
   background: #257aa7;
   color: white;
@@ -1392,26 +1378,6 @@ body.ttrss_prefs {
   background-color: #f5f5f5;
   font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
   font-size: 14px;
-  /* div#pref-tabs .dijitContentPane {
-		font-size : 14px;
-	} */
-  /* div#pref-tabs {
-		box-shadow : 0px 1px 1px -1px rgba(0,0,0,0.1);
-		margin : 0px 5px 0px 5px;
-	} */
-  /* div#pref-tabs .dijitContentPane {
-		h1:first-of-type,
-		h2:first-of-type,
-		h3:first-of-type,
-		h4:first-of-type {
-			margin-top: 0px;
-		}
-	} */
-  /* preferences */
-  /* table.prefPrefsList h3 {
-		margin-top : 0.5em;
-		margin-bottom : 0px;
-	} */
 }
 body.ttrss_prefs #footer,
 body.ttrss_prefs #header {
@@ -1449,27 +1415,7 @@ body.ttrss_prefs .dijitAccordionTitle i.material-icons {
 body.ttrss_prefs .dijitAccordionTitleSelected i.material-icons {
   color: white;
 }
-body.ttrss_prefs #pref-filter-wrap,
-body.ttrss_prefs #pref-filter-header,
-body.ttrss_prefs #pref-filter-content,
-body.ttrss_prefs #pref-label-wrap,
-body.ttrss_prefs #pref-label-header,
-body.ttrss_prefs #pref-label-content,
-body.ttrss_prefs #pref-user-wrap,
-body.ttrss_prefs #pref-user-header,
-body.ttrss_prefs #pref-user-content,
-body.ttrss_prefs #pref-instance-wrap,
-body.ttrss_prefs #pref-instance-header,
-body.ttrss_prefs #pref-instance-content {
-  margin: 0px;
-  padding: 0px;
-  border-width: 0px;
-}
-body.ttrss_prefs #userConfigTab,
-body.ttrss_prefs #labelConfigTab,
-body.ttrss_prefs #filterConfigTab,
-body.ttrss_prefs #pref-feeds-feeds,
-body.ttrss_prefs #instanceConfigTab {
+body.ttrss_prefs .dijitDialog #pref-profiles-list .dijitInlineEditBoxDisplayMode {
   padding: 0px;
 }
 body.ttrss_prefs tr.title td {
@@ -1477,28 +1423,6 @@ body.ttrss_prefs tr.title td {
   border-bottom-width: 1px;
   color: #257aa7;
 }
-body.ttrss_prefs div.prefProfileHolder,
-body.ttrss_prefs div.prefFeedOPMLHolder,
-body.ttrss_prefs div.inactiveFeedHolder {
-  height: 300px;
-  overflow: auto;
-  border: 1px solid #ddd;
-  margin: 0px 0px 5px 0px;
-  background-color: white;
-  padding: 4px;
-}
-body.ttrss_prefs div.filterTestHolder,
-body.ttrss_prefs div.prefFeedOPMLHolder {
-  border-width: 1px;
-}
-body.ttrss_prefs ul.userFeedList {
-  height: 200px;
-  overflow: auto;
-  list-style-type: none;
-  border: 1px solid #ddd;
-  margin: 0px 0px 5px 0px;
-  padding: 5px;
-}
 body.ttrss_prefs .prefPrefsList td {
   padding-bottom: 4px;
 }
@@ -1819,6 +1743,9 @@ body#sharepopup input {
 .flat .dijitMenu .dijitMenuItem td {
   padding: 0px;
 }
+.flat .dijitCheckBox {
+  border: 0px;
+}
 .flat .dijitCheckBox:before {
   font-family: "flat-icon";
   content: "\f00c";
@@ -2036,6 +1963,13 @@ body.flat.ttrss_main textarea {
 body.flat.ttrss_main code {
   color: #c90 ! important;
 }
+body.flat.ttrss_main .panel {
+  background-color: #222222;
+  border-color: #666666;
+}
+body.flat.ttrss_main .dijitDialog .panel {
+  background-color: #333333;
+}
 body.flat.ttrss_main #headlines-frame blockquote,
 body.flat.ttrss_main #content-insert blockquote {
   color: #cccccc;

File diff suppressed because it is too large
+ 0 - 0
themes/night.css.map


+ 9 - 0
themes/night.less

@@ -185,6 +185,15 @@ body.flat.ttrss_main {
 		color : #c90 ! important;
 	}
 
+	.panel {
+		background-color : @bg-panel;
+		border-color : @border-main;
+	}
+
+	.dijitDialog .panel {
+		background-color : @bg-main;
+	}
+
 	#headlines-frame blockquote,
 	#content-insert blockquote {
 		color : @fg-main;

Some files were not shown because too many files changed in this diff