Skip to content

Commit

Permalink
Theming: Add preview for login screen
Browse files Browse the repository at this point in the history
  • Loading branch information
juliusknorr committed Aug 25, 2016
1 parent e3abba2 commit 9b5d475
Show file tree
Hide file tree
Showing 5 changed files with 46 additions and 5 deletions.
15 changes: 15 additions & 0 deletions apps/theming/css/settings-admin.css
Original file line number Diff line number Diff line change
Expand Up @@ -32,3 +32,18 @@
div#theming_settings_msg {
margin-left: 10px;
}

#theming-preview {
width: 230px;
height: 140px;
background-size: cover;
background-position: center center;
text-align: center;
margin-left: 93px;
}

#theming-preview img {
max-width: 20%;
max-height: 20%;
margin-top: 20px;
}
19 changes: 15 additions & 4 deletions apps/theming/js/settings-admin.js
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ function preview(setting, value) {
textColor = "#ffffff";
icon = 'caret';
}
if (luminance>0.8) {
if (luminance > 0.8) {
elementColor = '#555555';
}

Expand All @@ -87,16 +87,27 @@ function preview(setting, value) {
'background-image: url(\'data:image/svg+xml;base64,' + generateRadioButton(elementColor) + '\'); }'
);
}

var timestamp = new Date().getTime();
if (setting === 'logoMime') {
console.log(setting);
var logos = document.getElementsByClassName('logo-icon');
var timestamp = new Date().getTime();
var previewImageLogo = document.getElementById('theming-preview-logo');
if (value !== '') {
logos[0].style.backgroundImage = "url('" + OC.generateUrl('/apps/theming/logo') + "?v" + timestamp + "')";
logos[0].style.backgroundSize = "contain";
previewImageLogo.src = OC.generateUrl('/apps/theming/logo') + "?v" + timestamp;
} else {
logos[0].style.backgroundImage = "url('" + OC.getRootPath() + '/core/img/logo-icon.svg?v' + timestamp +"')";
logos[0].style.backgroundImage = "url('" + OC.getRootPath() + '/core/img/logo-icon.svg?v' + timestamp + "')";
logos[0].style.backgroundSize = "contain";
previewImageLogo.src = OC.getRootPath() + '/core/img/logo-icon.svg?v' + timestamp;
}
}
if (setting === 'backgroundMime') {
var previewImage = document.getElementById('theming-preview');
if (value !== '') {
previewImage.style.backgroundImage = "url('" + OC.generateUrl('/apps/theming/loginbackground') + "?v" + timestamp + "')";
} else {
previewImage.style.backgroundImage = "url('" + OC.getRootPath() + '/core/img/background.jpg?v' + timestamp + "')";
}
}
}
Expand Down
4 changes: 4 additions & 0 deletions apps/theming/lib/Settings/Admin.php
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,10 @@ public function getForm() {
'url' => $this->themingDefaults->getBaseUrl(),
'slogan' => $this->themingDefaults->getSlogan(),
'color' => $this->themingDefaults->getMailHeaderColor(),
'logo' => $this->themingDefaults->getLogo(),
'logoMime' => $this->config->getAppValue('theming', 'logoMime', ''),
'background' => $this->themingDefaults->getBackground(),
'backgroundMime' => $this->config->getAppValue('theming', 'backgroundMime', ''),
'uploadLogoRoute' => $path,
];

Expand Down
5 changes: 4 additions & 1 deletion apps/theming/templates/settings-admin.php
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,9 @@
<label for="upload-login-background" class="button icon-upload svg" id="upload-login-background" title="<?php p($l->t("Upload new login background")) ?>"></label>
<span data-setting="backgroundMime" data-toggle="tooltip" data-original-title="<?php p($l->t('reset to default')); ?>" class="theme-undo icon icon-history"></span>
</form>
</p>
</p>
<div id="theming-preview" style="background-color:<?php p($_['color']);?>; background-image:url(<?php p($_['background']); ?>);">
<img src="<?php p($_['logo']); ?>" id="theming-preview-logo" />
</div>
<?php } ?>
</div>
8 changes: 8 additions & 0 deletions apps/theming/tests/Settings/AdminTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,10 @@ public function testGetFormNoErrors() {
'slogan' => 'MySlogan',
'color' => '#fff',
'uploadLogoRoute' => '/my/route',
'logo' => null,
'logoMime' => null,
'background' => null,
'backgroundMime' => null,
];

$expected = new TemplateResponse('theming', 'settings-admin', $params, '');
Expand Down Expand Up @@ -139,6 +143,10 @@ public function testGetFormWithErrors() {
'slogan' => 'MySlogan',
'color' => '#fff',
'uploadLogoRoute' => '/my/route',
'logo' => null,
'logoMime' => null,
'background' => null,
'backgroundMime' => null,
];

$expected = new TemplateResponse('theming', 'settings-admin', $params, '');
Expand Down

0 comments on commit 9b5d475

Please sign in to comment.