| @@ -304,23 +304,11 @@ | ||
| 304 | 304 | |
| 305 | 305 | // Inject Vite HMR client in dev mode |
| 306 | 306 | Vite::injectViteClient(); |
| 307 | 307 | |
| 308 | - $isRtl = is_rtl(); | |
| 309 | - $adminAppCss = $isRtl ? 'scss/admin.scss' : 'scss/admin.scss'; | |
| 310 | - Vite::enqueueStyle($slug . '_admin_app', $adminAppCss); | |
| 308 | + $isRtl = fluent_boards_is_rtl(); | |
| 309 | + Vite::enqueueStyle($slug . '_admin_app', 'scss/admin.scss'); | |
| 311 | 310 | |
| 312 | - // In production, load the RTL version if needed | |
| 313 | - if ($isRtl && !Vite::underDevelopment()) { | |
| 314 | - $assets = $app['url.assets']; | |
| 315 | - wp_enqueue_style( | |
| 316 | - $slug . '_admin_app_rtl', | |
| 317 | - $assets . 'admin/admin-rtl.css', | |
| 318 | - [$slug . '_admin_app'], | |
| 319 | - FLUENT_BOARDS_PLUGIN_VERSION | |
| 320 | - ); | |
| 321 | - } | |
| 322 | - | |
| 323 | 311 | // Enqueue merged chunk CSS (Vue SFC styles) in production |
| 324 | 312 | if (!Vite::underDevelopment()) { |
| 325 | 313 | $assets = $app['url.assets']; |
| 326 | 314 | $styleCssPath = FLUENT_BOARDS_PLUGIN_PATH . 'assets/admin/style.css'; |
| @@ -333,8 +321,23 @@ | ||
| 333 | 321 | ); |
| 334 | 322 | } |
| 335 | 323 | } |
| 336 | 324 | |
| 325 | + // RTL overrides must load after style.css so rules appended to the | |
| 326 | + // element-plus layer win by source order, not only by specificity. | |
| 327 | + if ($isRtl) { | |
| 328 | + $rtlDeps = [$slug . '_admin_app']; | |
| 329 | + if (wp_style_is($slug . '_vite_style', 'enqueued')) { | |
| 330 | + $rtlDeps[] = $slug . '_vite_style'; | |
| 331 | + } | |
| 332 | + Vite::enqueueStyle( | |
| 333 | + $slug . '_admin_app_rtl', | |
| 334 | + 'scss/admin_rtl.scss', | |
| 335 | + $rtlDeps, | |
| 336 | + FLUENT_BOARDS_PLUGIN_VERSION | |
| 337 | + ); | |
| 338 | + } | |
| 339 | + | |
| 337 | 340 | do_action('fluent-boards_loading_app'); |
| 338 | 341 | |
| 339 | 342 | Vite::enqueueScript( |
| 340 | 343 | $slug . '_admin_app', |
| @@ -388,8 +391,9 @@ | ||
| 388 | 391 | 'has_pro' => !!defined('FLUENT_BOARDS_PRO_VERSION'), |
| 389 | 392 | 'upgrade_url' => fluent_boards_get_upgrade_url(), |
| 390 | 393 | 'board_solid_colors' => Constant::BOARD_BACKGROUND_DEFAULT_SOLID_COLORS, |
| 391 | 394 | 'board_gradient_colors' => Constant::BOARD_BACKGROUND_DEFAULT_GRADIENT_COLORS, |
| 395 | + 'label_color_presets' => Constant::LABEL_COLOR_PRESETS, | |
| 392 | 396 | 'ai_features' => [ |
| 393 | 397 | 'enabled' => (new \FluentBoards\App\Services\AiService())->isReady(), |
| 394 | 398 | ], |
| 395 | 399 | 'me' => [ |
| @@ -428,9 +432,9 @@ | ||
| 428 | 432 | 'dashiconsCss' => add_query_arg( |
| 429 | 433 | 'ver', get_bloginfo('version'), |
| 430 | 434 | site_url('/wp-includes/css/dashicons.css') |
| 431 | 435 | ), |
| 432 | - 'is_rtl' => is_rtl(), | |
| 436 | + 'is_rtl' => fluent_boards_is_rtl(), | |
| 433 | 437 | 'board_menu_items' => BoardMenuHandler::getMenuItems(), |
| 434 | 438 | 'reminder_types' => defined('FLUENT_BOARDS_PRO') ? Helper::taskReminderTypes() : [], |
| 435 | 439 | ]); |
| 436 | 440 | } |