store preset in asset:// rather than admin plugin

This commit is contained in:
Andy Miller
2020-04-19 23:52:23 -06:00
parent e3c73c30a5
commit e1b571a655
5 changed files with 26 additions and 1319 deletions

View File

@@ -2165,20 +2165,20 @@ class AdminController extends AdminBaseController
$preview = $this->data['preview'] ?? false;
$data = ['color_scheme' => $this->data['whitebox']['color_scheme'] ?? null];
$output_file = $preview ? 'admin-preset.css' : 'admin-preset__tmp.css';
if ($preview) {
// send through some tmp filenames
[$compile_status, $msg] = $this->grav['admin-whitebox']->compileScss($data, ['filename' => 'preset_tmp']);
} else {
[$compile_status, $msg] = $this->grav['admin-whitebox']->compileScss($data);
}
$options = [
'input' => 'plugin://admin/themes/grav/scss/preset.scss',
'output' => 'asset://' .$output_file
];
[$compile_status, $msg] = $this->grav['admin-whitebox']->compileScss($data, $options);
$previewSuffix = $preview ? '_tmp' : '';
$json_response = [
'status' => $compile_status ? 'success' : 'error',
'message' => ($preview ? 'Preview ' : 'SCSS ') . $msg,
'files' => [
'color_scheme' => $this->grav['twig']->twig_vars['base_url_relative']. "/user/plugins/admin/themes/grav/css-compiled/preset${previewSuffix}.css"
'color_scheme' => Utils::url($options['output'])
]
];