feat(frontend): add API client, layout, and routing
- Create Axios-based API client with sources, jobs, and dashboard endpoints - Add responsive Layout component with navigation sidebar - Set up React Router with Dashboard, Backups, and Settings routes - Configure TanStack Query provider with default options - Use lucide-react for navigation icons
This commit is contained in:
+24
@@ -0,0 +1,24 @@
|
||||
var arrayReduce = require('./_arrayReduce'),
|
||||
deburr = require('./deburr'),
|
||||
words = require('./words');
|
||||
|
||||
/** Used to compose unicode capture groups. */
|
||||
var rsApos = "['\u2019]";
|
||||
|
||||
/** Used to match apostrophes. */
|
||||
var reApos = RegExp(rsApos, 'g');
|
||||
|
||||
/**
|
||||
* Creates a function like `_.camelCase`.
|
||||
*
|
||||
* @private
|
||||
* @param {Function} callback The function to combine each word.
|
||||
* @returns {Function} Returns the new compounder function.
|
||||
*/
|
||||
function createCompounder(callback) {
|
||||
return function(string) {
|
||||
return arrayReduce(words(deburr(string).replace(reApos, '')), callback, '');
|
||||
};
|
||||
}
|
||||
|
||||
module.exports = createCompounder;
|
||||
Reference in New Issue
Block a user