Skip to content

Commit b786ed0

Browse files
authored
Merge pull request #3875 from BookStackApp/md_editor_updates
Markdown Editor Updates
2 parents 40a1377 + 0527c4a commit b786ed0

File tree

21 files changed

+1038
-626
lines changed

21 files changed

+1038
-626
lines changed

app/Config/setting-defaults.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@
2929
'ui-shortcuts' => '{}',
3030
'ui-shortcuts-enabled' => false,
3131
'dark-mode-enabled' => env('APP_DEFAULT_DARK_MODE', false),
32+
'md-show-preview' => true,
33+
'md-scroll-sync' => true,
3234
'bookshelves_view_type' => env('APP_VIEWS_BOOKSHELVES', 'grid'),
3335
'bookshelf_view_type' => env('APP_VIEWS_BOOKSHELF', 'grid'),
3436
'books_view_type' => env('APP_VIEWS_BOOKS', 'grid'),

app/Http/Controllers/UserPreferencesController.php

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,9 @@ public function changeExpansion(Request $request, string $type)
115115
return response('', 204);
116116
}
117117

118+
/**
119+
* Update the favorite status for a code language.
120+
*/
118121
public function updateCodeLanguageFavourite(Request $request)
119122
{
120123
$validated = $this->validate($request, [
@@ -134,5 +137,27 @@ public function updateCodeLanguageFavourite(Request $request)
134137
}
135138

136139
setting()->putForCurrentUser('code-language-favourites', implode(',', $currentFavorites));
140+
return response('', 204);
141+
}
142+
143+
/**
144+
* Update a boolean user preference setting.
145+
*/
146+
public function updateBooleanPreference(Request $request)
147+
{
148+
$allowedKeys = ['md-scroll-sync', 'md-show-preview'];
149+
$validated = $this->validate($request, [
150+
'name' => ['required', 'string'],
151+
'value' => ['required'],
152+
]);
153+
154+
if (!in_array($validated['name'], $allowedKeys)) {
155+
return response('Invalid boolean preference', 500);
156+
}
157+
158+
$value = $validated['value'] === 'true' ? 'true' : 'false';
159+
setting()->putForCurrentUser($validated['name'], $value);
160+
161+
return response('', 204);
137162
}
138163
}

resources/icons/image.svg

Lines changed: 1 addition & 4 deletions
Loading

0 commit comments

Comments
 (0)