Browse Source

[PLUGINS][ProfileColor] Current color is now selected by default. Not found exception is now handled.

remotes/upstream/experimental
parent
commit
7b8eb3fda9
Signed by: diogo <mail@diogo.site> GPG Key ID: 18D2D35001FBFAB0
4 changed files with 29 additions and 12 deletions
  1. +11
    -8
      plugins/ProfileColor/Controller/ProfileColor.php
  2. +10
    -3
      plugins/ProfileColor/ProfileColor.php
  3. +7
    -0
      public/assets/css/base.css
  4. +1
    -1
      templates/cards/profile/view.html.twig

+ 11
- 8
plugins/ProfileColor/Controller/ProfileColor.php View File

@@ -23,6 +23,8 @@ namespace Plugin\ProfileColor\Controller;

use App\Core\DB\DB;
use App\Core\Form;
use App\Util\Exception\DuplicateFoundException;
use App\Util\Exception\NotFoundException;
use App\Util\Exception\ServerException;
use function App\Core\I18n\_m;
use App\Util\Common;
@@ -56,14 +58,15 @@ class ProfileColor
*/
public static function profileColorSettings(Request $request)
{
$user = Common::user();
$actor_id = $user->getId();
$pcolor = DB::findOneBy('profile_color', ['actor_id' => $actor_id]);
$actor = Common::actor();
$actor_id = $actor->getId();

$current_profile_color = DB::find('profile_color', ['actor_id' => $actor_id]);

$form = Form::create([
['color', ColorType::class, [
'html5' => true,
'data' => "#000000",
'data' => $current_profile_color ? $current_profile_color->getColor() : "#000000",
'label' => _m('Profile Color'),
'help' => _m('Choose your Profile Color')]
],
@@ -75,14 +78,14 @@ class ProfileColor

if ($form->isSubmitted() && $form->isValid()) {

if ($pcolor !== null) {
DB::remove($pcolor);
if ($current_profile_color !== null) {
DB::remove($current_profile_color);
DB::flush();
}

$data = $form->getData();
$pcolor = Entity\ProfileColor::create(['actor_id' => $actor_id, 'color' => $data['color']]);
DB::persist($pcolor);
$current_profile_color = Entity\ProfileColor::create(['actor_id' => $actor_id, 'color' => $data['color']]);
DB::persist($current_profile_color);
DB::flush();

throw new RedirectException();


+ 10
- 3
plugins/ProfileColor/ProfileColor.php View File

@@ -25,6 +25,8 @@ use App\Core\Event;
use App\Core\Modules\Plugin;
use App\Core\Router\RouteLoader;
use App\Util\Common;
use App\Util\Exception\DuplicateFoundException;
use App\Util\Exception\NotFoundException;
use App\Util\Exception\RedirectException;
use App\Util\Exception\ServerException;
use App\Util\Formatting;
@@ -83,13 +85,18 @@ class ProfileColor extends Plugin
* @param $res
* @return bool
*/
public function onAppendCardProfile($vars, &$res): bool
public function onAppendCardProfile(&$res): bool
{
$actor = $vars['actor'];
$actor = Common::actor();
if ($actor !== null) {
$actor_id = $actor->getId();

$color = DB::find('profile_color', ['actor_id' => $actor_id]);
try {
$color = DB::findOneBy('profile_color', ['actor_id' => $actor_id]);
} catch (NotFoundException $e) {
return Event::next;
}

if ($color !== null) {
$res[] = Formatting::twigRenderFile('/profileColor/profileColorView.html.twig', ['profile_color' => $color, 'actor' => $actor_id]);
}


+ 7
- 0
public/assets/css/base.css View File

@@ -659,6 +659,13 @@ input[type=checkbox] {
mask-image: url("../icons/check-off.svg") !important;
}

input[type=color] {
border: unset;
padding: 2px;
width: 100%;
height: 3rem;
}

/* DISABLED STATE TEXT COLOR */
:is(:disabled, :disabled:active)::file-selector-button,
button:is(:disabled, :disabled:active),


+ 1
- 1
templates/cards/profile/view.html.twig View File

@@ -35,7 +35,7 @@
{% endif %}
</nav>

{% for block in handle_event('AppendCardProfile', {'actor': actor}) %}
{% for block in handle_event('AppendCardProfile') %}
{{ block | raw }}
{% endfor %}
</section>


Loading…
Cancel
Save