Skip to content
This repository was archived by the owner on Oct 6, 2022. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/components/Settings.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ const colorSchemes = [< MenuItem value = "random" key = "random" primaryText = {
}
imageReadyHandler(event) {}
updateImages() {
const imagePaths = greeterutil.dirlist(this.props.directory);
const imagePaths = greeterutil.dirimages(this.props.directory);

// THESE LINKS ARE NSFW -- DO NOT UNCOMMENT
// const imagePaths = [
Expand Down
2 changes: 1 addition & 1 deletion src/components/background/RandomImage.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ class RandomImage extends React.Component {
if (!this.props.directory)
return console.error('Images directory prop not given.');

this.imagePaths = greeterutil.dirlist(this.props.directory);
this.imagePaths = greeterutil.dirimages(this.props.directory);
if (typeof this.imagePaths === 'undefined')
this.imagePaths = [''];
}
Expand Down
3 changes: 3 additions & 0 deletions src/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,9 @@ if (!lightdm && process.env.NODE_ENV === 'development') {
window.greeterutil = {
dirlist: function(dir) {
return undefined;
},
dirimages: function(dir) {
return undefined;
}
}
}
Expand Down
10 changes: 10 additions & 0 deletions src/mock.js
Original file line number Diff line number Diff line change
Expand Up @@ -278,6 +278,16 @@ class GreeterUtil {
return this._mock_data.dirlist;
}

/**
* Returns list of images inside directory at `path`.
*
* @param path
* @returns {String[]} List of abs paths for the images found in `path`.
*/
dirimages(path) {
return this._mock_data.dirimages;
}

/**
* Escape HTML entities in a string.
*
Expand Down
20 changes: 19 additions & 1 deletion src/reducers/settings.jsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,24 @@
const moment = require('moment');
require('moment-timezone');

function dirimages(dir)
{
let imagesExtensions = ["jpg", "jpeg", "png"];
function isImage(path) {
let filename = path.substring(path.lastIndexOf("/") + 1);
let dotPosition = filename.lastIndexOf(".");
if (dotPosition > -1) {
let extension = filename.substring(dotPosition + 1);
if (imagesExtensions.indexOf(extension) > -1) {
return true;
}
}
return false;
}
return greeterutil.dirlist(dir).filter(isImage);
}
greeterutil.dirimages = dirimages;

let initialState = {
'language': lightdm.languages[0].name,
'backgroundEngine': 'trianglify',
Expand All @@ -16,7 +34,7 @@ let initialState = {
'scaling': 1,
'alignment': 1 // 0: left, 1: center, 2: right
};
let firstImage = greeterutil.dirlist(initialState['backgroundImagesDirectory']) ? greeterutil.dirlist(initialState['backgroundImagesDirectory'])[0] : false;
let firstImage = greeterutil.dirimages(initialState['backgroundImagesDirectory']) ? greeterutil.dirimages(initialState['backgroundImagesDirectory'])[0] : false;
initialState['backgroundImageLocation'] = firstImage || '';

// If hide users is set with lightdm, then clear the default users
Expand Down