setting()->putForCurrentUser('ui-shortcuts', $shortcuts->toJson());
setting()->putForCurrentUser('ui-shortcuts-enabled', $enabled);
- $this->showSuccessNotification('Shortcut preferences have been updated!');
+ $this->showSuccessNotification(trans('preferences.shortcuts_update_success'));
return redirect('/preferences/shortcuts');
}
return response('', 204);
}
+ /**
+ * Update the favorite status for a code language.
+ */
public function updateCodeLanguageFavourite(Request $request)
{
$validated = $this->validate($request, [
}
setting()->putForCurrentUser('code-language-favourites', implode(',', $currentFavorites));
+ return response('', 204);
+ }
+
+ /**
+ * Update a boolean user preference setting.
+ */
+ public function updateBooleanPreference(Request $request)
+ {
+ $allowedKeys = ['md-scroll-sync', 'md-show-preview'];
+ $validated = $this->validate($request, [
+ 'name' => ['required', 'string'],
+ 'value' => ['required'],
+ ]);
+
+ if (!in_array($validated['name'], $allowedKeys)) {
+ return response('Invalid boolean preference', 500);
+ }
+
+ $value = $validated['value'] === 'true' ? 'true' : 'false';
+ setting()->putForCurrentUser($validated['name'], $value);
+
+ return response('', 204);
}
}