aboutsummaryrefslogtreecommitdiffstats
path: root/view/theme/redbasic
diff options
context:
space:
mode:
authorMario <mario@mariovavti.com>2024-03-22 08:37:29 +0000
committerMario <mario@mariovavti.com>2024-03-22 08:37:29 +0000
commit1aeb05628b6a2a069c46980efbe628362c9e3e74 (patch)
treee9aed15d0cd74e0c23dcb05c7be8fe9541efdf36 /view/theme/redbasic
parent5b7387459cf4de8f7354d81cb0392c4225714d94 (diff)
parentb464fae3bf22585888c5f3def8eded76fd48ed16 (diff)
downloadvolse-hubzilla-9.0.tar.gz
volse-hubzilla-9.0.tar.bz2
volse-hubzilla-9.0.zip
Merge branch '9.0RC'9.0
Diffstat (limited to 'view/theme/redbasic')
-rw-r--r--view/theme/redbasic/css/blockmode.css15
-rw-r--r--view/theme/redbasic/css/mod_page.css24
-rw-r--r--view/theme/redbasic/css/sample.scss14
-rw-r--r--view/theme/redbasic/css/sloppy_photos.css58
-rw-r--r--view/theme/redbasic/css/style.css84
-rw-r--r--view/theme/redbasic/img/screenshot.pngbin173915 -> 226493 bytes
-rw-r--r--view/theme/redbasic/php/config.php123
-rw-r--r--view/theme/redbasic/php/style.php121
-rw-r--r--view/theme/redbasic/php/theme.php4
-rw-r--r--view/theme/redbasic/php/theme_init.php2
-rw-r--r--view/theme/redbasic/schema/Focus-Boxy.php5
-rw-r--r--view/theme/redbasic/tpl/theme_settings.tpl24
12 files changed, 217 insertions, 257 deletions
diff --git a/view/theme/redbasic/css/blockmode.css b/view/theme/redbasic/css/blockmode.css
deleted file mode 100644
index cc1db209e..000000000
--- a/view/theme/redbasic/css/blockmode.css
+++ /dev/null
@@ -1,15 +0,0 @@
-
-.wall-item-content.conv-list-mode {
- max-width: 280px;
- height:200px;
- min-height: 200px;
- overflow: hidden;
-}
-
-.thread-wrapper.toplevel_item.conv-list-mode {
- width: 300px;
- height: 300px;
- float: left;
- margin-left: 5px;
- margin-bottom: 35px;
-}
diff --git a/view/theme/redbasic/css/mod_page.css b/view/theme/redbasic/css/mod_page.css
deleted file mode 100644
index 37f597fac..000000000
--- a/view/theme/redbasic/css/mod_page.css
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
-section {
-left: 0px;
-width: 800px;
-margin-left: auto;
-margin-right: auto;
-}
-body {background-color: #d00 !important;}
-
-.page-content-wrapper {background: #fff;
- color: #000;
- border-radius: 20px;
- box-shadow: 5px 5px 5px #111;
-}
-
-h3.page-title {
-padding-top: 30px;
- color: #033}
-.page-body {padding: 40px;}
-
-.page-body strong {color: #033;}
-
-.nav-links {margin-top: 5px;}
-*/ \ No newline at end of file
diff --git a/view/theme/redbasic/css/sample.scss b/view/theme/redbasic/css/sample.scss
new file mode 100644
index 000000000..410026aa2
--- /dev/null
+++ b/view/theme/redbasic/css/sample.scss
@@ -0,0 +1,14 @@
+// To compiled custom site bootstrap from sass,
+// run this script from the document root for an example:
+// php vendor/bin/pscss view/theme/redbasic/css/sample.scss view/theme/redbasic/css/bootstrap-custom.css
+
+// See https://getbootstrap.com/docs/5.3/customize/sass/ for more infos
+
+// required import
+@import "vendor/twbs/bootstrap/scss/_functions";
+
+$primary: #ff0000; // set the $primary variable
+
+
+// set changes
+@import "vendor/twbs/bootstrap/scss/bootstrap";
diff --git a/view/theme/redbasic/css/sloppy_photos.css b/view/theme/redbasic/css/sloppy_photos.css
deleted file mode 100644
index 78aedc9cc..000000000
--- a/view/theme/redbasic/css/sloppy_photos.css
+++ /dev/null
@@ -1,58 +0,0 @@
-
-.rotleft1 {
--webkit-transform: rotate(-1deg);
--moz-transform: rotate(-1deg);
--ms-transform: rotate(-1deg);
--o-transform: rotate(-1deg);
-}
-
-.rotleft2 {
--webkit-transform: rotate(-2deg);
--moz-transform: rotate(-2deg);
--ms-transform: rotate(-2deg);
--o-transform: rotate(-2deg);
-}
-
-.rotleft3 {
--webkit-transform: rotate(-3deg);
--moz-transform: rotate(-3deg);
--ms-transform: rotate(-3deg);
--o-transform: rotate(-3deg);
-}
-
-.rotleft4 {
--webkit-transform: rotate(-4deg);
--moz-transform: rotate(-4deg);
--ms-transform: rotate(-4deg);
--o-transform: rotate(-4deg);
-}
-
-
-.rotright1 {
--webkit-transform: rotate(1deg);
--moz-transform: rotate(1deg);
--ms-transform: rotate(1deg);
--o-transform: rotate(1deg);
-}
-
-.rotright2 {
--webkit-transform: rotate(2deg);
--moz-transform: rotate(2deg);
--ms-transform: rotate(2deg);
--o-transform: rotate(2deg);
-}
-
-.rotright3 {
--webkit-transform: rotate(3deg);
--moz-transform: rotate(3deg);
--ms-transform: rotate(3deg);
--o-transform: rotate(3deg);
-}
-
-.rotright4 {
--webkit-transform: rotate(4deg);
--moz-transform: rotate(4deg);
--ms-transform: rotate(4deg);
--o-transform: rotate(4deg);
-}
-
diff --git a/view/theme/redbasic/css/style.css b/view/theme/redbasic/css/style.css
index 451303338..30b9ba64c 100644
--- a/view/theme/redbasic/css/style.css
+++ b/view/theme/redbasic/css/style.css
@@ -7,21 +7,13 @@
/* bootstrap variables */
-:root {
- --bs-border-radius: $radius;
- --bs-highlight-bg: var(--bs-warning);
-}
[data-bs-theme=light] {
- --bs-link-color: $link_color;
- --bs-link-hover-color: $link_hover_color;
--hz-body-bg: $bgcolor;
--hz-body-bg-image: url('$background_image');
}
[data-bs-theme=dark] {
- --bs-link-color: $link_color_dark;
- --bs-link-hover-color: $link_hover_color_dark;
--hz-body-bg: $bgcolor_dark;
--hz-body-bg-image: url('$background_image_dark');
}
@@ -34,10 +26,6 @@
background-color: $nav_bg_dark !important;
}
-.btn {
- --bs-btn-border-radius: $radius;
-}
-
/* generals */
@@ -46,13 +34,10 @@ html {
}
body {
- font-size: 0.9rem;
background-color: var(--hz-body-bg);
background-image: var(--hz-body-bg-image);
background-attachment: fixed;
background-size: cover;
- color: var(--bs-body-color);
- margin: 0;
}
aside#region_1 {
@@ -87,30 +72,31 @@ main {
height: 100vh;
background: rgba(0, 0, 0, .3);
cursor: pointer;
+ z-index: 1010;
}
h1, .h1 {
- font-size: 2rem;
+ font-size: 2.1rem;
}
h2, .h2 {
- font-size: 1.6rem;
+ font-size: 1.7rem;
}
h3, .h3 {
- font-size: 1.2rem;
+ font-size: 1.3rem;
}
h4, .h4 {
- font-size: 1.05rem;
+ font-size: 1.15rem;
}
h5, .h5 {
- font-size: 0.9rem;
+ font-size: 1rem;
}
h6, .h6 {
- font-size: 0.75rem;
+ font-size: 0.85rem;
}
.navbar-banner {
@@ -155,7 +141,7 @@ a:focus,
}
input, optgroup, select, textarea {
- font-size: 0.9rem !important;
+ font-size: 1rem !important;
}
input[type=text], textarea {
@@ -459,7 +445,7 @@ footer {
.photo,
.contact-block-img {
- border-radius: $radius;
+ border-radius: var(--bs-border-radius);
}
#side-bar-photos-albums {
@@ -472,7 +458,7 @@ footer {
.profile-match-photo img,
.directory-photo-img {
- border-radius: $radius;
+ border-radius: var(--bs-border-radius);
}
.profile-match-photo img {
@@ -744,7 +730,7 @@ div.jGrowl div.jGrowl-notification {
.jslider .jslider-scale ins {
color: #333;
- font-size: 0.9rem;
+ font-size: 1rem;
width: 100px;
text-align: center;
}
@@ -962,17 +948,14 @@ img.mail-conv-sender-photo {
background-color: var(--bs-body-bg);
border: 1px solid var(--bs-border-color);
border-radius: var(--bs-border-radius);
-
}
-
-
#profile-jot-text::-webkit-input-placeholder {
- font-size: 1.2rem;
+ font-size: 1.3rem;
}
#profile-jot-text::-moz-placeholder {
- font-size: 1.2rem;
+ font-size: 1.3rem;
}
#profile-jot-text:focus::-webkit-input-placeholder {
@@ -1061,14 +1044,6 @@ img.mail-conv-sender-photo {
height: $reply_photo;
}
-.wall-item-content,
-.mail-conv-body,
-.page-body,
-.chat-item-text,
-.chat-item-text-self {
- font-size: 1rem;
-}
-
.comment-edit-text {
border: 1px solid var(--bs-border-color);
border-radius: var(--bs-border-radius);
@@ -1155,16 +1130,16 @@ img.mail-conv-sender-photo {
}
.menu-img-2 {
- height: 2.3rem;
- width: 2.3rem;
+ height: 2.5rem;
+ width: 2.5rem;
margin-right: .5rem;
border-radius: var(--bs-border-radius);
float: left;
}
.menu-img-1 {
- height: 1.1rem;
- width: 1.1rem;
+ height: 1.3rem;
+ width: 1.3rem;
border-radius: var(--bs-border-radius);
}
@@ -1199,6 +1174,7 @@ img.mail-conv-sender-photo {
border: 1px solid var(--bs-border-color);
border-radius: var(--bs-border-radius);
margin-bottom: 1.5rem;
+ font-size: 1.1rem;
}
.section-title-wrapper {
@@ -1236,32 +1212,32 @@ img.mail-conv-sender-photo {
.section-content-success-wrapper {
padding: 21px 10px;
- color: #155724;
- background-color: #d4edda;
+ color: var(--bs-success-text-emphasis);
+ background-color: var(--bs-success-bg-subtle);
border-bottom: 3px solid var(--bs-body-bg);
text-align: center;
}
.section-content-info-wrapper {
padding: 21px 10px;
- color: #0c5460;
- background-color: #d1ecf1;
+ color: var(--bs-info-text-emphasis);
+ background-color: var(--bs-info-bg-subtle);
border-bottom: 3px solid var(--bs-body-bg);
text-align: center;
}
.section-content-warning-wrapper {
padding: 21px 10px;
- color: #856404;
- background-color: #fff3cd;
+ color: var(--bs-warning-text-emphasis);
+ background-color: var(--bs-warning-bg-subtle);
border-bottom: 3px solid var(--bs-body-bg);
text-align: center;
}
.section-content-danger-wrapper {
padding: 21px 10px;
- color: #721c24;
- background-color: #f8d7da;
+ color: var(--bs-danger-text-emphasis);
+ background-color: var(--bs-danger-bg-subtle);
border-bottom: 3px solid var(--bs-body-bg);
text-align: center;
}
@@ -1354,12 +1330,7 @@ main.fullscreen .section-content-wrapper-np {
/* bootstrap overrides */
-.form-control {
- border-radius: $radius;
-}
-
blockquote {
- font-size: 1rem;
font-style: italic;
border-left: 3px solid var(--bs-border-color);
padding: 1em 0px 1em 1.5em;
@@ -1447,7 +1418,6 @@ dl.bb-dl > dd > li {
.bootstrap-tagsinput input {
height: 2.5rem;
margin: 0;
- max-width: 30%;
}
.bootstrap-tagsinput {
@@ -1674,3 +1644,5 @@ dl.bb-dl > dd > li {
transform: translateX(80vw);
}
}
+
+
diff --git a/view/theme/redbasic/img/screenshot.png b/view/theme/redbasic/img/screenshot.png
index 80b217a21..8871c511c 100644
--- a/view/theme/redbasic/img/screenshot.png
+++ b/view/theme/redbasic/img/screenshot.png
Binary files differ
diff --git a/view/theme/redbasic/php/config.php b/view/theme/redbasic/php/config.php
index 344f3ff68..7079cc386 100644
--- a/view/theme/redbasic/php/config.php
+++ b/view/theme/redbasic/php/config.php
@@ -2,6 +2,9 @@
namespace Zotlabs\Theme;
+use ScssPhp\ScssPhp\Compiler;
+use ScssPhp\ScssPhp\OutputStyle;
+
class RedbasicConfig {
function get_schemas() {
@@ -36,16 +39,16 @@ class RedbasicConfig {
return;
}
- $arr = array();
+ $arr['primary_color'] = get_pconfig(local_channel(),'redbasic', 'primary_color');
+ $arr['success_color'] = get_pconfig(local_channel(),'redbasic', 'success_color');
+ $arr['info_color'] = get_pconfig(local_channel(),'redbasic', 'info_color');
+ $arr['warning_color'] = get_pconfig(local_channel(),'redbasic', 'warning_color');
+ $arr['danger_color'] = get_pconfig(local_channel(),'redbasic', 'danger_color');
$arr['dark_mode'] = get_pconfig(local_channel(),'redbasic', 'dark_mode');
$arr['navbar_dark_mode'] = get_pconfig(local_channel(),'redbasic', 'navbar_dark_mode');
$arr['narrow_navbar'] = get_pconfig(local_channel(),'redbasic', 'narrow_navbar' );
$arr['nav_bg'] = get_pconfig(local_channel(),'redbasic', 'nav_bg' );
$arr['nav_bg_dark'] = get_pconfig(local_channel(),'redbasic', 'nav_bg_dark' );
- $arr['link_color'] = get_pconfig(local_channel(),'redbasic', 'link_color' );
- $arr['link_color_dark'] = get_pconfig(local_channel(),'redbasic', 'link_color_dark' );
- $arr['link_hover_color'] = get_pconfig(local_channel(),'redbasic', 'link_hover_color' );
- $arr['link_hover_color_dark'] = get_pconfig(local_channel(),'redbasic', 'link_hover_color_dark' );
$arr['bgcolor'] = get_pconfig(local_channel(),'redbasic', 'background_color' );
$arr['bgcolor_dark'] = get_pconfig(local_channel(),'redbasic', 'background_color_dark' );
$arr['background_image'] = get_pconfig(local_channel(),'redbasic', 'background_image' );
@@ -65,15 +68,99 @@ class RedbasicConfig {
}
if (isset($_POST['redbasic-settings-submit'])) {
+ if (isset($_POST['redbasic_primary_color']) || isset($_POST['redbasic_radius'])) {
+
+ $primary_color = '';
+ $success_color = '';
+ $info_color = '';
+ $warning_color = '';
+ $danger_color = '';
+ $radius = floatval($_POST['redbasic_radius']);
+
+ if (preg_match('/^#([A-Fa-f0-9]{3}){1,2}$/', $_POST['redbasic_primary_color'])) {
+ $primary_color = $_POST['redbasic_primary_color'];
+ }
+ if (preg_match('/^#([A-Fa-f0-9]{3}){1,2}$/', $_POST['redbasic_success_color'])) {
+ $success_color = $_POST['redbasic_success_color'];
+ }
+ if (preg_match('/^#([A-Fa-f0-9]{3}){1,2}$/', $_POST['redbasic_info_color'])) {
+ $info_color = $_POST['redbasic_info_color'];
+ }
+ if (preg_match('/^#([A-Fa-f0-9]{3}){1,2}$/', $_POST['redbasic_warning_color'])) {
+ $warning_color = $_POST['redbasic_warning_color'];
+ }
+ if (preg_match('/^#([A-Fa-f0-9]{3}){1,2}$/', $_POST['redbasic_danger_color'])) {
+ $danger_color = $_POST['redbasic_danger_color'];
+ }
+
+ if ($primary_color || $success_color || $info_color || $warning_color || $danger_color || $radius) {
+
+ try {
+ $cache_dir = 'store/[data]/[scss]/';
+ if(!is_dir($cache_dir)) {
+ os_mkdir($cache_dir, STORAGE_DEFAULT_PERMISSIONS, true);
+ }
+
+ $options = [
+ 'cacheDir' => $cache_dir,
+ 'prefix' => 'redbasic_',
+ 'forceRefresh' => false
+ ];
+
+ $compiler = new Compiler($options);
+ $compiler->setImportPaths('vendor/twbs/bootstrap/scss');
+ $compiler->setOutputStyle(OutputStyle::COMPRESSED);
+
+ // Set Variables
+ if ($primary_color) {
+ $variables['$primary'] = $primary_color;
+ }
+ if ($success_color) {
+ $variables['$success'] = $success_color;
+ }
+ if ($info_color) {
+ $variables['$info'] = $info_color;
+ }
+ if ($warning_color) {
+ $variables['$warning'] = $warning_color;
+ }
+ if ($danger_color) {
+ $variables['$danger'] = $danger_color;
+ }
+ if ($radius) {
+ $variables['$border-radius'] = $radius . 'rem';
+ $variables['$border-radius-sm'] = $radius/1.5 . 'rem';
+ $variables['$border-radius-lg'] = $radius*1.333 . 'rem';
+ $variables['$border-radius-xl'] = $radius*2.666 . 'rem';
+ $variables['$border-radius-xxl'] = $radius*5.333 . 'rem';
+ }
+
+ // Replace Bootstrap Variables with Customizer Variables
+ $compiler->replaceVariables($variables);
+
+ $bs = $compiler->compileString('@import "bootstrap.scss";');
+
+ set_pconfig(local_channel(), 'redbasic', 'bootstrap', $bs->getCss());
+ } catch (\Exception $e) {
+ logger('scssphp: Unable to compile content');
+ }
+ }
+ else {
+ set_pconfig(local_channel(), 'redbasic', 'bootstrap', '');
+ }
+ }
+
+ set_pconfig(local_channel(), 'redbasic', 'primary_color', $_POST['redbasic_primary_color']);
+ set_pconfig(local_channel(), 'redbasic', 'success_color', $_POST['redbasic_success_color']);
+ set_pconfig(local_channel(), 'redbasic', 'info_color', $_POST['redbasic_info_color']);
+ set_pconfig(local_channel(), 'redbasic', 'warning_color', $_POST['redbasic_warning_color']);
+ set_pconfig(local_channel(), 'redbasic', 'danger_color', $_POST['redbasic_danger_color']);
+
set_pconfig(local_channel(), 'redbasic', 'narrow_navbar', $_POST['redbasic_narrow_navbar']);
set_pconfig(local_channel(), 'redbasic', 'navbar_dark_mode', $_POST['redbasic_navbar_dark_mode']);
set_pconfig(local_channel(), 'redbasic', 'dark_mode', $_POST['redbasic_dark_mode']);
set_pconfig(local_channel(), 'redbasic', 'nav_bg', $_POST['redbasic_nav_bg']);
set_pconfig(local_channel(), 'redbasic', 'nav_bg_dark', $_POST['redbasic_nav_bg_dark']);
- set_pconfig(local_channel(), 'redbasic', 'link_color', $_POST['redbasic_link_color']);
- set_pconfig(local_channel(), 'redbasic', 'link_color_dark', $_POST['redbasic_link_color_dark']);
- set_pconfig(local_channel(), 'redbasic', 'link_hover_color', $_POST['redbasic_link_hover_color']);
- set_pconfig(local_channel(), 'redbasic', 'link_hover_color_dark', $_POST['redbasic_link_hover_color_dark']);
set_pconfig(local_channel(), 'redbasic', 'background_color', $_POST['redbasic_background_color']);
set_pconfig(local_channel(), 'redbasic', 'background_color_dark', $_POST['redbasic_background_color_dark']);
set_pconfig(local_channel(), 'redbasic', 'background_image', $_POST['redbasic_background_image']);
@@ -84,6 +171,9 @@ class RedbasicConfig {
set_pconfig(local_channel(), 'redbasic', 'top_photo', $_POST['redbasic_top_photo']);
set_pconfig(local_channel(), 'redbasic', 'reply_photo', $_POST['redbasic_reply_photo']);
set_pconfig(local_channel(), 'redbasic', 'advanced_theming', $_POST['redbasic_advanced_theming']);
+
+ // This is used to refresh the cache
+ set_pconfig(local_channel(), 'system', 'style_update', time());
}
}
@@ -103,24 +193,25 @@ class RedbasicConfig {
'$dark' => t('Dark style'),
'$light' => t('Light style'),
'$common' => t('Common settings'),
+ '$primary_color' => array('redbasic_primary_color', t('Primary theme color'), $arr['primary_color'], '<i class="fa fa-circle text-primary"></i> ' . t('Current color, leave empty for default')),
+ '$success_color' => array('redbasic_success_color', t('Success theme color'), $arr['success_color'], '<i class="fa fa-circle text-success"></i> ' . t('Current color, leave empty for default')),
+ '$info_color' => array('redbasic_info_color', t('Info theme color'), $arr['info_color'], '<i class="fa fa-circle text-info"></i> ' . t('Current color, leave empty for default')),
+ '$warning_color' => array('redbasic_warning_color', t('Warning theme color'), $arr['warning_color'], '<i class="fa fa-circle text-warning"></i> ' . t('Current color, leave empty for default')),
+ '$danger_color' => array('redbasic_danger_color', t('Danger theme color'), $arr['danger_color'], '<i class="fa fa-circle text-danger"></i> ' . t('Current color, leave empty for default')),
'$dark_mode' => array('redbasic_dark_mode',t('Default to dark mode'),$arr['dark_mode'], '', array(t('No'),t('Yes'))),
'$navbar_dark_mode' => array('redbasic_navbar_dark_mode',t('Always use light icons for navbar'),$arr['navbar_dark_mode'], t('Enable this option if you use a dark navbar color in light mode'), array(t('No'),t('Yes'))),
'$narrow_navbar' => array('redbasic_narrow_navbar',t('Narrow navbar'),$arr['narrow_navbar'], '', array(t('No'),t('Yes'))),
'$nav_bg' => array('redbasic_nav_bg', t('Navigation bar background color'), $arr['nav_bg']),
'$nav_bg_dark' => array('redbasic_nav_bg_dark', t('Dark navigation bar background color'), $arr['nav_bg_dark']),
- '$link_color' => array('redbasic_link_color', t('Link color'), $arr['link_color']),
- '$link_color_dark' => array('redbasic_link_color_dark', t('Dark link color'), $arr['link_color_dark']),
- '$link_hover_color' => array('redbasic_link_hover_color', t('Link hover color'), $arr['link_hover_color']),
- '$link_hover_color_dark' => array('redbasic_link_hover_color_dark', t('Dark link hover color'), $arr['link_hover_color_dark']),
'$bgcolor' => array('redbasic_background_color', t('Set the background color'), $arr['bgcolor']),
'$bgcolor_dark' => array('redbasic_background_color_dark', t('Set the dark background color'), $arr['bgcolor_dark']),
'$background_image' => array('redbasic_background_image', t('Set the background image'), $arr['background_image']),
'$background_image_dark' => array('redbasic_background_image_dark', t('Set the dark background image'), $arr['background_image_dark']),
'$font_size' => array('redbasic_font_size', t('Set font-size for the entire application'), $arr['font_size'], t('Examples: 1rem, 100%, 16px')),
- '$radius' => array('redbasic_radius', t('Set radius of corners'), $arr['radius'], t('Example: 4px')),
+ '$radius' => array('redbasic_radius', t('Set radius of corners in rem'), $arr['radius'], t('Leave empty for default radius')),
'$converse_width' => array('redbasic_converse_width',t('Set maximum width of content region in rem'),$arr['converse_width'], t('Leave empty for default width')),
- '$top_photo' => array('redbasic_top_photo', t('Set size of conversation author photo'), $arr['top_photo']),
- '$reply_photo' => array('redbasic_reply_photo', t('Set size of followup author photos'), $arr['reply_photo']),
+ '$top_photo' => array('redbasic_top_photo', t('Set size of conversation author photo'), $arr['top_photo'], t('Leave empty for default size')),
+ '$reply_photo' => array('redbasic_reply_photo', t('Set size of followup author photos'), $arr['reply_photo'], t('Leave empty for default size')),
'$advanced_theming' => ['redbasic_advanced_theming', t('Show advanced settings'), $arr['advanced_theming'], '', [t('No'), t('Yes')]]
));
diff --git a/view/theme/redbasic/php/style.php b/view/theme/redbasic/php/style.php
index 4d5bd42be..2636c71ef 100644
--- a/view/theme/redbasic/php/style.php
+++ b/view/theme/redbasic/php/style.php
@@ -1,32 +1,48 @@
<?php
-if(! App::$install) {
+if(!App::$install) {
// Get the UID of the channel owner
$uid = get_theme_uid();
if($uid) {
- load_pconfig($uid,'redbasic');
+ // Load the owners pconfig
+ load_pconfig($uid, 'redbasic');
+
+ $custom_bs = get_pconfig($uid, 'redbasic', 'bootstrap');
+ $nav_bg = get_pconfig($uid, 'redbasic', 'nav_bg');
+ $nav_bg_dark = get_pconfig($uid, 'redbasic', 'nav_bg_dark');
+ $narrow_navbar = get_pconfig($uid,'redbasic','narrow_navbar');
+ $bgcolor = get_pconfig($uid, 'redbasic', 'background_color');
+ $bgcolor_dark = get_pconfig($uid, 'redbasic', 'background_color_dark');
+ $schema = get_pconfig($uid,'redbasic','schema');
+ $background_image = get_pconfig($uid, 'redbasic', 'background_image');
+ $background_image_dark = get_pconfig($uid, 'redbasic', 'background_image_dark');
+ $font_size = get_pconfig($uid, 'redbasic', 'font_size');
+ $converse_width = get_pconfig($uid,'redbasic','converse_width');
+ $top_photo = get_pconfig($uid,'redbasic','top_photo');
+ $reply_photo = get_pconfig($uid,'redbasic','reply_photo');
}
+}
+
+$site_bs_path = 'vendor/twbs/bootstrap/dist/css/bootstrap.min.css';
+
+if (file_exists('view/theme/redbasic/css/bootstrap-custom.css')) {
+ // Compiled custom site bootstrap from sass
+ // Run this script from the document root for an example:
+ // php vendor/bin/pscss view/theme/redbasic/css/sample.scss view/theme/redbasic/css/bootstrap-custom.css
+
+ $site_bs_path = 'view/theme/redbasic/css/bootstrap-custom.css';
+}
+
+$bs = $custom_bs ?: file_get_contents($site_bs_path);
- // Load the owners pconfig
- $nav_bg = get_pconfig($uid, 'redbasic', 'nav_bg');
- $nav_bg_dark = get_pconfig($uid, 'redbasic', 'nav_bg_dark');
- $narrow_navbar = get_pconfig($uid,'redbasic','narrow_navbar');
- $link_color = get_pconfig($uid, 'redbasic', 'link_color');
- $link_color_dark = get_pconfig($uid, 'redbasic', 'link_color_dark');
- $link_hover_color = get_pconfig($uid, 'redbasic', 'link_hover_color');
- $link_hover_color_dark = get_pconfig($uid, 'redbasic', 'link_hover_color_dark');
- $bgcolor = get_pconfig($uid, 'redbasic', 'background_color');
- $bgcolor_dark = get_pconfig($uid, 'redbasic', 'background_color_dark');
- $schema = get_pconfig($uid,'redbasic','schema');
- $background_image = get_pconfig($uid, 'redbasic', 'background_image');
- $background_image_dark = get_pconfig($uid, 'redbasic', 'background_image_dark');
- $font_size = get_pconfig($uid, 'redbasic', 'font_size');
- $radius = get_pconfig($uid, 'redbasic', 'radius');
- $converse_width=get_pconfig($uid,'redbasic','converse_width');
- $top_photo=get_pconfig($uid,'redbasic','top_photo');
- $reply_photo=get_pconfig($uid,'redbasic','reply_photo');
+if (file_exists('view/css/bootstrap-red.css')) {
+ $bs = $bs . file_get_contents('view/css/bootstrap-red.css');
+}
+
+if(file_exists('view/theme/redbasic/schema/' . $schema . '.css')) {
+ $schemecss = file_get_contents('view/theme/redbasic/schema/' . $schema . '.css');
}
// Now load the scheme. If a value is changed above, we'll keep the settings
@@ -71,50 +87,16 @@ if ((!$schema) || ($schema == '---')) {
//Set some defaults - we have to do this after pulling owner settings, and we have to check for each setting
//individually. If we don't, we'll have problems if a user has set one, but not all options.
-if (! $nav_bg)
- $nav_bg = 'rgba(248, 249, 250, 1)';
-
-if (! $nav_bg_dark)
- $nav_bg_dark = 'rgba(43, 48, 53, 1)';
-
-if (! $link_color)
- $link_color = '#0d6efd';
-
-if (! $link_color_dark)
- $link_color_dark = '#6ea8fe';
-
-if (! $link_hover_color)
- $link_hover_color = '#0a58ca';
-
-if (! $link_hover_color_dark)
- $link_hover_color_dark = '#9ec5fe';
-
-if (! $bgcolor)
- $bgcolor = '#fff';
-
-if (! $bgcolor_dark)
- $bgcolor_dark = '#212529';
-
-if (! $background_image)
- $background_image = '';
-
-if (! $background_image_dark)
- $background_image_dark = '';
-
-if (! $font_size)
- $font_size = '0.875rem';
-
-if (! $radius)
- $radius = '0.375rem';
-
-if (! $converse_width)
- $converse_width = '52'; //unit: rem
-
-if(! $top_photo)
- $top_photo = '2.3rem';
-
-if(! $reply_photo)
- $reply_photo = '2.3rem';
+$nav_bg = $nav_bg ?: 'rgba(248, 249, 250, 1)';
+$nav_bg_dark = $nav_bg_dark ?: 'rgba(43, 48, 53, 1)';
+$bgcolor = $bgcolor ?: '#fff';
+$bgcolor_dark = $bgcolor_dark ?: '#212529';
+$background_image = $background_image ?: '';
+$background_image_dark = $background_image_dark ?: '';
+$font_size = $font_size ?: '0.875rem';
+$converse_width = $converse_width ?: '52'; //unit: rem
+$top_photo = $top_photo ?: '2.9rem';
+$reply_photo = $reply_photo ?: '2.9rem';
// Apply the settings
if(file_exists('view/theme/redbasic/css/style.css')) {
@@ -140,16 +122,11 @@ if(file_exists('view/theme/redbasic/css/style.css')) {
$options = array (
'$nav_bg' => $nav_bg,
'$nav_bg_dark' => $nav_bg_dark,
- '$link_color' => $link_color,
- '$link_color_dark' => $link_color_dark,
- '$link_hover_color' => $link_hover_color,
- '$link_hover_color_dark' => $link_hover_color_dark,
'$bgcolor' => $bgcolor,
'$bgcolor_dark' => $bgcolor_dark,
'$background_image' => $background_image,
'$background_image_dark' => $background_image_dark,
'$font_size' => $font_size,
- '$radius' => $radius,
'$converse_width' => $converse_width,
'$top_photo' => $top_photo,
'$reply_photo' => $reply_photo,
@@ -158,8 +135,12 @@ if(file_exists('view/theme/redbasic/css/style.css')) {
'$right_aside_width' => $right_aside_width
);
- echo strtr($x, $options);
+ $o = strtr($x, $options);
+
+ header('Cache-Control: max-age=2592000');
+
+ echo $bs . $o;
}
// Set the schema to the default schema in derived themes. See the documentation for creating derived themes how to override this.
diff --git a/view/theme/redbasic/php/theme.php b/view/theme/redbasic/php/theme.php
index c33c4f78e..1f682634e 100644
--- a/view/theme/redbasic/php/theme.php
+++ b/view/theme/redbasic/php/theme.php
@@ -4,8 +4,8 @@
* * Name: Redbasic
* * Description: Hubzilla standard theme
* * Version: 2.2
- * * MinVersion: 8.0
- * * MaxVersion: 9.0
+ * * MinVersion: 8.9
+ * * MaxVersion: 10.0
* * Author: Fabrixxm
* * Maintainer: Mike Macgirvin
* * Maintainer: Mario Vavti
diff --git a/view/theme/redbasic/php/theme_init.php b/view/theme/redbasic/php/theme_init.php
index cb81165b1..54e6e7be3 100644
--- a/view/theme/redbasic/php/theme_init.php
+++ b/view/theme/redbasic/php/theme_init.php
@@ -2,9 +2,7 @@
require_once('view/php/theme_init.php');
head_add_css('/library/fork-awesome/css/fork-awesome.min.css');
-head_add_css('/vendor/twbs/bootstrap/dist/css/bootstrap.min.css');
head_add_css('/library/bootstrap-tagsinput/bootstrap-tagsinput.css');
-head_add_css('/view/css/bootstrap-red.css');
head_add_css('/library/bootstrap-colorpicker/dist/css/bootstrap-colorpicker.min.css');
head_add_js('/vendor/twbs/bootstrap/dist/js/bootstrap.bundle.min.js');
diff --git a/view/theme/redbasic/schema/Focus-Boxy.php b/view/theme/redbasic/schema/Focus-Boxy.php
index f298a0def..b3d9bbc7f 100644
--- a/view/theme/redbasic/schema/Focus-Boxy.php
+++ b/view/theme/redbasic/schema/Focus-Boxy.php
@@ -1,6 +1 @@
<?php
-
-if (! $radiuspx)
- $radiuspx = "4";
-if (! $comment_border_colour)
- $comment_border_colour = "rgb(238,238,238)";
diff --git a/view/theme/redbasic/tpl/theme_settings.tpl b/view/theme/redbasic/tpl/theme_settings.tpl
index 6bf1666ed..61baeb58e 100644
--- a/view/theme/redbasic/tpl/theme_settings.tpl
+++ b/view/theme/redbasic/tpl/theme_settings.tpl
@@ -5,32 +5,38 @@
{{include file="field_checkbox.tpl" field=$advanced_theming}}
{{if $expert}}
+ <hr>
+ <h3>{{$common}}</h3>
+ {{include file="field_colorinput.tpl" field=$primary_color}}
+ {{include file="field_colorinput.tpl" field=$success_color}}
+ {{include file="field_colorinput.tpl" field=$info_color}}
+ {{include file="field_colorinput.tpl" field=$warning_color}}
+ {{include file="field_colorinput.tpl" field=$danger_color}}
+ {{include file="field_input.tpl" field=$radius}}
+ {{include file="field_input.tpl" field=$top_photo}}
+ {{include file="field_input.tpl" field=$reply_photo}}
+
<h3>{{$light}}</h3>
{{include file="field_checkbox.tpl" field=$navbar_dark_mode}}
{{include file="field_colorinput.tpl" field=$nav_bg}}
{{include file="field_colorinput.tpl" field=$bgcolor}}
{{include file="field_colorinput.tpl" field=$background_image}}
- {{include file="field_colorinput.tpl" field=$link_color}}
- {{include file="field_colorinput.tpl" field=$link_hover_color}}
<h3>{{$dark}}</h3>
{{include file="field_colorinput.tpl" field=$nav_bg_dark}}
{{include file="field_colorinput.tpl" field=$bgcolor_dark}}
{{include file="field_colorinput.tpl" field=$background_image_dark}}
- {{include file="field_colorinput.tpl" field=$link_color_dark}}
- {{include file="field_colorinput.tpl" field=$link_hover_color_dark}}
-
- <h3>{{$common}}</h3>
- {{include file="field_input.tpl" field=$radius}}
- {{include file="field_input.tpl" field=$top_photo}}
- {{include file="field_input.tpl" field=$reply_photo}}
<script>
$(function(){
$('#id_redbasic_link_color, #id_redbasic_link_color_dark, #id_redbasic_link_hover_color, #id_redbasic_link_hover_color_dark, #id_redbasic_background_color, #id_redbasic_background_color_dark, #id_redbasic_nav_bg, #id_redbasic_nav_bg_dark').colorpicker({format: 'rgba'});
});
+ $(function(){
+ $('#id_redbasic_primary_color, #id_redbasic_success_color, #id_redbasic_info_color, #id_redbasic_warning_color, #id_redbasic_danger_color').colorpicker({format: 'hex'});
+ });
</script>
{{/if}}
+
<div class="settings-submit-wrapper" >
<button type="submit" name="redbasic-settings-submit" class="btn btn-primary">{{$submit}}</button>
</div>