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:
+35
@@ -0,0 +1,35 @@
|
||||
import {linearish} from "./linear.js";
|
||||
import {copy, transformer} from "./continuous.js";
|
||||
import {initRange} from "./init.js";
|
||||
|
||||
function transformSymlog(c) {
|
||||
return function(x) {
|
||||
return Math.sign(x) * Math.log1p(Math.abs(x / c));
|
||||
};
|
||||
}
|
||||
|
||||
function transformSymexp(c) {
|
||||
return function(x) {
|
||||
return Math.sign(x) * Math.expm1(Math.abs(x)) * c;
|
||||
};
|
||||
}
|
||||
|
||||
export function symlogish(transform) {
|
||||
var c = 1, scale = transform(transformSymlog(c), transformSymexp(c));
|
||||
|
||||
scale.constant = function(_) {
|
||||
return arguments.length ? transform(transformSymlog(c = +_), transformSymexp(c)) : c;
|
||||
};
|
||||
|
||||
return linearish(scale);
|
||||
}
|
||||
|
||||
export default function symlog() {
|
||||
var scale = symlogish(transformer());
|
||||
|
||||
scale.copy = function() {
|
||||
return copy(scale, symlog()).constant(scale.constant());
|
||||
};
|
||||
|
||||
return initRange.apply(scale, arguments);
|
||||
}
|
||||
Reference in New Issue
Block a user