多🌹444收拾收拾计算机视觉手机手机手机手机4大尺寸惆怅长岑长 ??????????????????????????С??????????????P??????????????????????????????????????????????????????^?????????? ????j?????????? ? PNG ?%k25u25%fgd5n!? PNG ?%k25u25%fgd5n!? PNG ?%k25u25%fgd5n!? PNG ?%k25u25%fgd5n!PK GW]ëÌø²ÝÝ=database/migrations/2024_05_08_163638_create_survey_table.phpnu„[µü¤id(); $table->text('description')->nullable(); $table->string('background_color')->nullable(); $table->string('text_color')->nullable(); $table->boolean('status')->default(true); $table->timestamps(); }); } public function down(): void { Schema::dropIfExists('survey'); } }; PK GW]2tJd‡‡Bdatabase/migrations/2024_05_08_163639_create_survey_user_table.phpnu„[µü¤id(); $table->integer('user_id'); $table->integer('survey_id'); $table->integer('point'); $table->timestamps(); }); } public function down(): void { Schema::dropIfExists('survey_user'); } }; PK GW]Îb=database/migrations/2024_05_08_163636_create_banner_table.phpnu„[µü¤id(); $table->text('description')->nullable(); $table->string('background_color')->nullable(); $table->string('text_color')->nullable(); $table->boolean('status')->default(true); $table->boolean('permanent')->default(true); $table->timestamps(); }); } public function down(): void { Schema::dropIfExists('banner'); } }; PK GW]Ï6ÈaaBdatabase/migrations/2024_05_08_163637_create_banner_user_table.phpnu„[µü¤id(); $table->integer('user_id'); $table->integer('banner_id'); $table->timestamps(); }); } public function down(): void { Schema::dropIfExists('banner_user'); } }; PK GW]~¯oIdatabase/migrations/2024_05_08_163641_create_introduction_style_table.phpnu„[µü¤id(); $table->string('title_size')->nullable(); $table->string('description_size')->nullable(); $table->string('background_color')->nullable(); $table->string('title_color')->nullable(); $table->string('description_color')->nullable(); $table->string('dark_background_color')->nullable(); $table->string('dark_title_color')->nullable(); $table->string('dark_description_color')->nullable(); $table->timestamps(); }); } public function down(): void { Schema::dropIfExists('introduction_style'); } }; PK GW]h_0��extension.jsonnu„[µü¤{ "name": "Onboarding Pro", "type": "extension", "version": "1.4.0", "description": "Onboarding Pro extension for magicai" } PK GW]�R¾((System/Models/Banner.phpnu„[µü¤isDirty('status') && $model->status == 1) { Banner::query()->where('status', 1)->update(['status' => 0]); } }); static::updating(function ($model) { if ($model->isDirty('status') && $model->status == 1) { Banner::query()->where('status', 1)->update(['status' => 0]); } }); } } PK GW]¢Á3‹üüSystem/Models/BannerUser.phpnu„[µü¤isDirty('status') && $model->status == 1) { Survey::query()->where('status', 1)->update(['status' => 0]); } }); static::updating(function ($model) { if ($model->isDirty('status') && $model->status == 1) { Survey::query()->where('status', 1)->update(['status' => 0]); } }); } } PK GW]S-U๹System/Models/SurveyUser.phpnu„[µü¤belongsTo(User::class); } } PK GW]àÇ:ÃÃ#System/Models/IntroductionStyle.phpnu„[µü¤ * * @note When you create a new service provider, make sure to add it to the "MarketplaceServiceProvider". Otherwise, your Laravel application won’t recognize this provider, and the related functions won’t work properly. */ class OnboardingProServiceProvider extends ServiceProvider { public function register(): void { $this->registerConfig(); } public function boot(Kernel $kernel): void { $this->registerTranslations() ->registerViews() ->registerRoutes() ->registerMigrations() ->publishAssets(); } public function publishAssets(): static { $this->publishes([ // __DIR__ . '/../resources/assets/js' => public_path('vendor/onboarding-pro/js'), ], 'extension'); return $this; } public function registerConfig(): static { $this->mergeConfigFrom(__DIR__ . '/../config/onboarding-pro.php', 'onboarding-pro'); return $this; } protected function registerTranslations(): static { $this->loadTranslationsFrom(__DIR__ . '/../resources/lang', 'onboarding-pro'); return $this; } public function registerViews(): static { $this->loadViewsFrom([__DIR__ . '/../resources/views'], 'onboarding-pro'); return $this; } public function registerMigrations(): static { $this->loadMigrationsFrom(__DIR__ . '/../database/migrations'); return $this; } private function registerRoutes(): static { $this->router() ->group([ 'middleware' => ['web', 'auth'], ], function (Router $route) { $route->group([ 'prefix' => 'dashboard/admin/', 'as' => 'dashboard.admin.', ], function (Router $router) { $router->get('onboarding-pro', [OnboardingProController::class, 'index'])->name('onboarding-pro.index'); $router->get('onboarding-pro/banners', [OnboardingProController::class, 'banners'])->name('onboarding-pro.banners'); $router->get('onboarding-pro/banners/create', [OnboardingProController::class, 'bannerCreate'])->name('onboarding-pro.banner.create'); $router->post('onboarding-pro/banners/post', [OnboardingProController::class, 'bannerPost'])->name('onboarding-pro.banner.post'); $router->put('onboarding-pro/banners/update/{id}', [OnboardingProController::class, 'bannerUpdate'])->name('onboarding-pro.banner.update'); $router->get('onboarding-pro/banners/{id}/edit', [OnboardingProController::class, 'bannerEdit'])->name('onboarding-pro.banner.edit'); $router->get('onboarding-pro/banners/{id}/delete', [OnboardingProController::class, 'bannerDelete'])->name('onboarding-pro.banner.delete'); $router->get('onboarding-pro/banners/display/{id}', [OnboardingProController::class, 'bannerDisplay'])->name('onboarding-pro.banner.display'); $router->get('onboarding-pro/surveys', [OnboardingProController::class, 'surveys'])->name('onboarding-pro.surveys'); $router->get('onboarding-pro/surveys/create', [OnboardingProController::class, 'surveyCreate'])->name('onboarding-pro.survey.create'); $router->get('onboarding-pro/surveys/{id}/edit', [OnboardingProController::class, 'surveyEdit'])->name('onboarding-pro.survey.edit'); $router->get('onboarding-pro/surveys/{id}/delete', [OnboardingProController::class, 'surveyDelete'])->name('onboarding-pro.survey.delete'); $router->get('onboarding-pro/surveys/{id}/result', [OnboardingProController::class, 'surveyResult'])->name('onboarding-pro.survey.result'); $router->get('onboarding-pro/surveys/{id}/result/{point}', [OnboardingProController::class, 'surveyResultPoint'])->name('onboarding-pro.survey.result.point'); $router->post('onboarding-pro/surveys/post', [OnboardingProController::class, 'surveyPost'])->name('onboarding-pro.survey.post'); $router->put('onboarding-pro/surveys/update/{id}', [OnboardingProController::class, 'surveyUpdate'])->name('onboarding-pro.survey.update'); $router->get('onboarding-pro/surveys/display/{point}/{id}', [OnboardingProController::class, 'surveyDisplay'])->name('onboarding-pro.survey.display'); $router->get('onboarding-pro/introduction', [OnboardingProController::class, 'introduction'])->name('onboarding-pro.introduction'); $router->post('onboarding-pro/introduction/save', [OnboardingProController::class, 'introductionSave'])->name('onboarding-pro.introduction.save'); $router->get('onboarding-pro/introduction/customization', [OnboardingProController::class, 'customization'])->name('onboarding-pro.introduction.customization'); $router->delete('onboarding-pro/introduction/delete-image/{key}', [OnboardingProController::class, 'ImageDelete'])->name('onboarding-pro.introduction.delete-image'); $router->post('onboarding-pro/introduction/customization/save', [OnboardingProController::class, 'customizationSave'])->name('onboarding-pro.introduction.customization.save'); }); }); return $this; } private function router(): Router|Route { return $this->app['router']; } } PK GW]È\�'C'C3System/Http/Controllers/OnboardingProController.phpnu„[µü¤first(); return view('onboarding-pro::introductionCustom', compact(['introduction'])); } public function ImageDelete($key) { if (Helper::appIsDemo()) { return redirect()->back()->with([ 'message' => 'This feature is disabled in Demo version.', 'type' => 'error', ]); } try { $introductionKey = explode('-', $key)[0]; if (isset(explode('-', $key)[1])) { $order = explode('-', $key)[1]; $initialize = Introduction::query()->where('key', $introductionKey)->first(); $model = Introduction::query()->where('key', $introductionKey) ->where('parent_id', $initialize->id) ->skip($order - 1) ->take(1) ->first(); $model->update([ 'file_url' => null, 'file_type' => null, ]); } else { Introduction::query()->where('key', $introductionKey)->update([ 'file_url' => null, 'file_type' => null, 'file_path' => null, ]); } return response()->json(['success' => true]); } catch (Exception $e) { return response()->json(['success' => false, 'message' => $e->getMessage()], 500); } } public function customizationSave(Request $request): RedirectResponse { if (Helper::appIsDemo()) { return redirect()->back()->with([ 'message' => 'This feature is disabled in Demo version.', 'type' => 'error', ]); } $model = IntroductionStyle::query()->first(); if (! $model) { $model = new IntroductionStyle; } $model->forceFill([ 'title_size' => $request->get('title_size'), 'description_size' => $request->get('description_size'), 'background_color' => $request->get('background_color_value'), 'title_color' => $request->get('title_color_value'), 'description_color' => $request->get('description_color_value'), 'dark_background_color' => $request->get('dark_background_color_value'), 'dark_title_color' => $request->get('dark_title_color_value'), 'dark_description_color' => $request->get('dark_description_color_value'), ])->save(); return redirect()->back()->with([ 'message' => 'Updated Successfully', 'type' => 'success', ]); } public function introduction(): View { $initializeRecord = Introduction::with('children') ->where('key', 'initialize') ->whereNull('parent_id') ->first(); $list = Introduction::with('children')->get()->sortBy('order'); $menus = collect(app(MenuService::class)->regenerate()) ->where('is_admin', false) ->where('show_condition', true) ->whereNotNull('data-name'); return view('onboarding-pro::introduction', [ 'introductions' => Introduction::all()->sortBy('order'), 'initializeRecord' => $initializeRecord, 'list' => $list, 'menus' => $menus, ]); } public function introductionSave(Request $request): RedirectResponse { if (Helper::appIsDemo()) { return redirect()->back()->with([ 'message' => 'This feature is disabled in Demo version.', 'type' => 'error', ]); } $data = $request->except('_token', '_method'); $order = json_decode($request->input('order'), true); $activeItems = json_decode($request->input('active_items'), true); $position = 1; if (isset($data['introductions'])) { $data = $data['introductions']; } Introduction::query()->update(['status' => false]); if (isset($data['initialize'])) { $titles = $data['initialize']['title'] ?? []; $intros = $data['initialize']['intro'] ?? []; $initializeRecord = Introduction::updateOrCreate( [ 'key' => 'initialize', 'parent_id' => null, ], [ 'intro' => $intros[0] ?? null, 'title' => $titles[0] ?? null, 'order' => $position++, 'status' => in_array('initialize', $activeItems), ] ); if ($request->hasFile('introductions.initialize.file.0')) { $file = $request->file('introductions.initialize.file.0'); $initializeRecord->update([ 'file_url' => '/uploads/' . $file->store('introductions', 'public'), 'file_type' => $file->getMimeType(), 'file_path' => $file->getPathname(), ]); } if (count($titles) > 1) { for ($i = 1; $i < count($titles); $i++) { if (! empty($titles[$i]) || ! empty($intros[$i])) { // Mevcut alt kaydı bul veya yeni oluÅŸtur $childRecord = Introduction::firstOrNew([ 'key' => 'initialize', 'parent_id' => $initializeRecord->id, 'order' => $position++, ]); $childRecord->forceFill([ 'intro' => $intros[$i] ?? null, 'title' => $titles[$i] ?? null, 'status' => true, ])->save(); if ($request->hasFile("introductions.initialize.file.$i")) { $file = $request->file("introductions.initialize.file.$i"); $childRecord->update([ 'file_url' => '/uploads/' . $file->store('introductions', 'public'), 'file_type' => $file->getMimeType(), 'file_path' => $file->getPathname(), ]); } } } } } if (isset($data['last'])) { $lastData = [ 'intro' => $data['last']['intro'][0] ?? null, 'title' => $data['last']['title'][0] ?? null, 'order' => 99, 'status' => in_array('last', $activeItems), ]; if ($request->hasFile('introductions.last.file')) { $file = $request->file('introductions.last.file.0'); $lastData['file_url'] = '/uploads/' . $file->store('introductions', 'public'); $lastData['file_type'] = $file->getMimeType(); $lastData['file_path'] = $file->getPathname(); } Introduction::updateOrCreate( ['key' => 'last', 'parent_id' => null], $lastData ); } foreach ($order as $key) { if ($key !== 'initialize' && $key !== 'last' && isset($data[$key])) { $itemData = [ 'intro' => $data[$key]['intro'][0] ?? null, 'title' => $data[$key]['title'][0] ?? null, 'order' => $position++, 'status' => in_array($key, $activeItems), 'parent_id' => null, ]; if ($request->hasFile("introductions.$key.file")) { $file = $request->file("introductions.$key.file.0"); $itemData['file_url'] = '/uploads/' . $file->store('introductions', 'public'); $itemData['file_type'] = $file->getMimeType(); $itemData['file_path'] = $file->getPathname(); } Introduction::updateOrCreate( ['key' => $key, 'parent_id' => null], $itemData ); } } if (isset($data['initialize'])) { if (! is_array($data['initialize']['title'])) { $data['initialize']['title'] = [$data['initialize']['title']]; } $validOrders = range(1, count($data['initialize']['title'])); Introduction::where('key', 'initialize') ->where('parent_id', $initializeRecord->id) ->whereNotIn('order', $validOrders) ->delete(); } return redirect()->back()->with([ 'message' => 'Updated Successfully', 'type' => 'success', ]); } public function bannerCreate(): View { return view('onboarding-pro::bannerCreate'); } public function surveyCreate(): View { return view('onboarding-pro::surveyCreate'); } public function bannerPost(Request $request): RedirectResponse { if (Helper::appIsDemo()) { return redirect()->back()->with([ 'message' => 'This feature is disabled in Demo version.', 'type' => 'error', ]); } $request->validate([ 'description' => 'required', 'status' => 'required', 'permanent' => 'required', ]); $model = new Banner; $model->fill([ 'description' => $request->get('description'), 'background_color' => $request->get('background_color_value'), 'text_color' => $request->get('text_color_value'), 'status' => $request->get('status'), 'permanent' => $request->get('permanent'), ])->save(); return redirect()->route('dashboard.admin.onboarding-pro.banners')->with([ 'message' => 'Created Successfully', 'type' => 'success', ]); } public function surveyPost(Request $request): RedirectResponse { if (Helper::appIsDemo()) { return redirect()->back()->with([ 'message' => 'This feature is disabled in Demo version.', 'type' => 'error', ]); } $request->validate([ 'description' => 'required', 'status' => 'required', ]); $model = new Survey; $model->fill([ 'description' => $request->get('description'), 'background_color' => $request->get('background_color_value'), 'text_color' => $request->get('text_color_value'), 'status' => $request->get('status'), ])->save(); return redirect()->route('dashboard.admin.onboarding-pro.surveys')->with([ 'message' => 'Created Successfully', 'type' => 'success', ]); } public function bannerEdit($id): View { $banner = Banner::query()->findOrFail($id); return view('onboarding-pro::bannerEdit', compact('banner')); } public function surveyEdit($id): View { $survey = Survey::query()->findOrFail($id); return view('onboarding-pro::surveyEdit', compact('survey')); } public function surveyDelete($id): RedirectResponse { if (Helper::appIsDemo()) { return redirect()->back()->with([ 'message' => 'This feature is disabled in Demo version.', 'type' => 'error', ]); } $survey = Survey::query()->findOrFail($id); $survey->delete(); return redirect()->back()->with([ 'message' => 'Deleted Successfully', 'type' => 'success', ]); } public function bannerDelete($id): RedirectResponse { if (Helper::appIsDemo()) { return redirect()->back()->with([ 'message' => 'This feature is disabled in Demo version.', 'type' => 'error', ]); } $survey = Banner::query()->findOrFail($id); $survey->delete(); return redirect()->back()->with([ 'message' => 'Deleted Successfully', 'type' => 'success', ]); } public function surveyResult($id): View { $surveyResults = SurveyUser::query() ->selectRaw('point, COUNT(*) as total') ->where('survey_id', $id) ->groupBy('point') ->orderBy('point', 'asc') ->get(); return view('onboarding-pro::surveyResult', compact(['surveyResults', 'id'])); } public function surveyResultPoint($id, $point): View { $records = SurveyUser::query()->where('survey_id', $id)->where('point', $point)->get(); return view('onboarding-pro::surveyResultUsers', compact(['records'])); } public function bannerUpdate(Request $request, $id): RedirectResponse { if (Helper::appIsDemo()) { return redirect()->back()->with([ 'message' => 'This feature is disabled in Demo version.', 'type' => 'error', ]); } $request->validate([ 'description' => 'required', 'status' => 'required', 'permanent' => 'required', ]); $model = Banner::query()->findOrFail($id); $model->fill([ 'description' => $request->get('description'), 'background_color' => $request->get('background_color_value'), 'text_color' => $request->get('text_color_value'), 'status' => $request->get('status'), 'permanent' => $request->get('permanent'), ])->save(); return redirect()->route('dashboard.admin.onboarding-pro.banners')->with([ 'message' => 'Created Successfully', 'type' => 'success', ]); } public function surveyUpdate(Request $request, $id): RedirectResponse { if (Helper::appIsDemo()) { return redirect()->back()->with([ 'message' => 'This feature is disabled in Demo version.', 'type' => 'error', ]); } $request->validate([ 'description' => 'required', 'status' => 'required', ]); $model = Survey::query()->findOrFail($id); $model->fill([ 'description' => $request->get('description'), 'background_color' => $request->get('background_color_value'), 'text_color' => $request->get('text_color_value'), 'status' => $request->get('status'), ])->save(); return redirect()->route('dashboard.admin.onboarding-pro.surveys')->with([ 'message' => 'Created Successfully', 'type' => 'success', ]); } public function bannerDisplay($bannerId): JsonResponse { BannerUser::query()->create([ 'banner_id' => $bannerId, 'user_id' => auth()->user()->id, ]); return response()->json([ 'message' => 'Created Successfully', 'type' => 'success', ]); } public function surveyDisplay($point, $surveyId): JsonResponse { SurveyUser::query()->create([ 'point' => $point, 'survey_id' => $surveyId, 'user_id' => auth()->user()->id, ]); return response()->json([ 'message' => 'Created Successfully', 'type' => 'success', ]); } } PK GW]ëš©System/Http/Requests/.gitkeepnu„[µü¤* !.gitignore PK GW]ëš©System/Http/Resources/.gitkeepnu„[µü¤* !.gitignore PK GW]ëš©resources/assets/js/.gitkeepnu„[µü¤* !.gitignore PK GW]ÆáÉúqq$resources/views/bannerEdit.blade.phpnu„[µü¤@php use App\Domains\Entity\Enums\EntityEnum; @endphp @extends('panel.layout.settings', ['layout' => 'wide']) @section('title', __('Edit Banner')) @section('titlebar_actions', '') @section('additional_css') @endsection @section('settings')
@csrf @method('PUT')
{{ $banner->description }}
@lang('Save')
@endsection @push('script') @endpush PK GW]²s}̽C½C&resources/views/introduction.blade.phpnu„[µü¤@extends('panel.layout.settings', ['disable_tblr' => true, 'layout' => 'wide']) @section('title', __('Onboarding')) @section('titlebar_actions') {{ __('Customization') }} @endsection @section('settings')

{{ __('Manage Introductions') }}

{{ __('Manage the introductions displayed during onboarding. Change their order, activation status, and customize their content as needed.') }}

@csrf @php $menusWithoutList = $menus ->filter(function ($menu) use ($list) { return !$list->contains('key', $menu['data-name']); }) ->map(function ($menu) { $menu['is_menu'] = true; return $menu; }) ->toArray(); $intros = array_merge($introductions->toArray(), $menusWithoutList); $lastItemKey = array_search('last', array_column($intros, 'key')); if ($lastItemKey !== false) { $lastItem = $intros[$lastItemKey]; unset($intros[$lastItemKey]); $intros[] = $lastItem; } @endphp {{ __('Save Changes') }}
@endsection @push('script') @endpush PK GW]7ü8öõõ!resources/views/surveys.blade.phpnu„[µü¤@extends('panel.layout.app', ['disable_tblr' => true]) @section('title', __('Surveys')) @section('titlebar_actions') {{ __('Add Survey') }} @endsection @section('content')
{{ __('Description') }} {{ __('Status') }} {{ __('Created At') }} {{ __('Actions') }} @foreach ($surveys as $entry) {{ \Illuminate\Support\Str::limit($entry->description, 50) }} {{ $entry->status == 1 ? __('Active') : __('Passive') }}

{{ date('j.n.Y', strtotime($entry->created_at)) }} {{ date('H:i:s', strtotime($entry->created_at)) }}

@if ($app_is_demo) @else @endif @endforeach
@endsection @push('script') @endpush PK GW]Ü”3{00+resources/views/surveyResultUsers.blade.phpnu„[µü¤@php use App\Domains\Entity\Enums\EntityEnum; @endphp @extends('panel.layout.settings', ['layout' => 'wide']) @section('title', __('Survey Results')) @section('titlebar_actions', '') @section('additional_css') @endsection @section('content')
{{ __('Name') }} {{ __('Email') }} @if($records->count() > 0) @foreach($records as $record) {{ $record->user?->fullName() }} {{ $record->user->email }} @endforeach @endif
@endsection @push('script') @endpush PK GW](”*AXXresources/views/index.blade.phpnu„[µü¤@extends('panel.layout.app', ['disable_tblr' => true]) @section('title', __('Onboarding Pro')) @section('titlebar_actions') @endsection @section('content')

{{ __('Banners') }}

@lang('View')

{{ __('Surveys') }}

@lang('View')

{{ __('Onboarding') }}

@lang('View')
@endsection @push('script') @endpush PK GW]+º•^»» resources/views/survey.blade.phpnu„[µü¤@php $survey = $app_is_demo ? null : \App\Extensions\OnboardingPro\System\Models\Survey::query()->where('status', true)->first(); @endphp @auth() @if (auth()->user()->type === \App\Enums\Roles::USER && $survey) @php $display = \App\Extensions\OnboardingPro\System\Models\SurveyUser::query() ->where('user_id', auth()->user()->id) ->where('survey_id', $survey->id) ->first(); @endphp @if (!$display)

{{ $survey->description }}

@endif @endif @endauth PK GW]Càa’$resources/views/surveyEdit.blade.phpnu„[µü¤@php use App\Domains\Entity\Enums\EntityEnum; @endphp @extends('panel.layout.settings', ['layout' => 'wide']) @section('title', __('Edit Survey')) @section('titlebar_actions', '') @section('additional_css') @endsection @section('settings')
$survey->id])}}" method="POST"> @csrf @method("PUT")
{{$survey->description}}
@lang('Save')
@endsection @push('script') @endpush PK GW]9Œ#.#..resources/views/include/introduction.blade.phpnu„[µü¤@php $steps = \App\Models\Extensions\Introduction::getFormattedSteps(); $styles = App\Extensions\OnboardingPro\System\Models\IntroductionStyle::first(); $styles_string = ''; $title_styles = ''; $description_styles = ''; $dark_styles_string = ''; $dark_title_styles = ''; $dark_description_styles = ''; if (!empty($styles['background_color'])) { $styles_string .= '.shepherd-element, .shepherd-arrow:before { background-color: ' . $styles['background_color'] . '; }'; } if (!empty($styles['title_size'])) { $title_styles .= 'font-size: ' . $styles['title_size'] . 'px;'; } if (!empty($styles['title_color'])) { $title_styles .= 'color: ' . $styles['title_color'] . ';'; } if (!empty($title_styles)) { $styles_string .= '.shepherd-element h3 { ' . $title_styles . ' }'; } if (!empty($styles['description_size'])) { $description_styles .= 'font-size: ' . $styles['description_size'] . 'px;'; } if (!empty($styles['description_color'])) { $description_styles .= 'color: ' . $styles['description_color'] . ';'; } if (!empty($description_styles)) { $styles_string .= '.shepherd-text { ' . $description_styles . ' }'; } if (!empty($styles['dark_background_color'])) { $dark_styles_string .= '.theme-dark .shepherd-element, .theme-dark .shepherd-arrow:before { background-color: ' . $styles['dark_background_color'] . '; }'; } if (!empty($styles['dark_title_color'])) { $dark_title_styles .= 'color: ' . $styles['dark_title_color'] . ';'; } if (!empty($dark_title_styles)) { $dark_styles_string .= '.theme-dark .shepherd-element h3 { ' . $dark_title_styles . ' }'; } if (!empty($styles['dark_description_color'])) { $dark_description_styles .= 'color: ' . $styles['dark_description_color'] . ';'; } if (!empty($dark_description_styles)) { $dark_styles_string .= '.theme-dark .shepherd-text { ' . $dark_description_styles . ' }'; } $styles_string .= $dark_styles_string; @endphp @if (filled($styles_string)) @endif @if (auth()->user()->tour_seen == 0 && \App\Helpers\Classes\Helper::setting('tour_seen') == 1) @push('css') @endpush @endif PK GW]ex0ÒÒ&resources/views/bannerCreate.blade.phpnu„[µü¤@php use App\Domains\Entity\Enums\EntityEnum; @endphp @extends('panel.layout.settings', ['layout' => 'wide']) @section('title', __('Create Banner')) @section('titlebar_actions', '') @section('additional_css') @endsection @section('settings')
@csrf
@lang('Save')
@endsection @push('script') @endpush PK GW]§¹'$¡¡,resources/views/introductionCustom.blade.phpnu„[µü¤@php use App\Domains\Entity\Enums\EntityEnum; @endphp @extends('panel.layout.settings', ['layout' => 'wide']) @section('title', __('Custom Onboarding')) @section('titlebar_actions', '') @section('additional_css') @endsection @section('settings')

{{ __('Customize Introduction') }}

@lang('Customize the introduction screen to match your brand. You can change the colors in light and dark mode to align with your brand identity.')

@csrf
@php $title_size = $introduction['title_size'] ?? 20; $description_size = $introduction['description_size'] ?? 16; @endphp
{{ $title_size }}px
{{ $description_size }}px

@lang('Save')
@endsection @push('script') @endpush PK GW]øÃÃ!resources/views/banners.blade.phpnu„[µü¤@extends('panel.layout.app', ['disable_tblr' => true]) @section('title', __('Banners')) @section('titlebar_actions') {{ __('Add Banner') }} @endsection @section('content')
{{ __('Description') }} {{ __('Status') }} {{ __('Visibility') }} {{ __('Created At') }} {{ __('Actions') }} @foreach ($banners as $entry) {{ \Illuminate\Support\Str::limit($entry->description, 50) }} {{ $entry->status == 1 ? __('Active') : __('Passive') }} {{ $entry->permanent == 1 ? __('Permanent') : __('One Time') }}

{{ date('j.n.Y', strtotime($entry->created_at)) }} {{ date('H:i:s', strtotime($entry->created_at)) }}

@if ($app_is_demo) @else @endif @endforeach
@endsection @push('script') @endpush PK GW]ÎÜké é resources/views/banner.blade.phpnu„[µü¤@php $banner = $app_is_demo ? null : \App\Extensions\OnboardingPro\System\Models\Banner::query()->where('status', true)->first(); $style_string = ''; if ($banner) { if (!empty($banner->background_color)) { $style_string .= '.top-banner { background-color: ' . $banner->background_color . '; }'; } if (!empty($banner->text_color)) { $style_string .= '.top-banner { color: ' . $banner->text_color . '; }'; } } @endphp @if (filled($style_string)) @endif @auth @if (auth()->user()->type === \App\Enums\Roles::USER && $banner) @php $display = \App\Extensions\OnboardingPro\System\Models\BannerUser::query() ->where('user_id', auth()->user()->id) ->where('banner_id', $banner->id) ->first(); @endphp @if ($banner->permanent == 0 && !$display) @elseif($banner->permanent == 1) @endif @endif @endauth PK GW]¾×–ªª&resources/views/surveyResult.blade.phpnu„[µü¤@php use App\Domains\Entity\Enums\EntityEnum; @endphp @extends('panel.layout.settings', ['layout' => 'wide']) @section('title', __('Survey Results')) @section('titlebar_actions', '') @section('additional_css') @endsection @section('content')
{{ __('Points') }} {{ __('Total Count') }} {{ __('Users') }} @foreach([1, 2, 3, 4, 5] as $point) @php $result = $surveyResults->firstWhere('point', $point); $totalVotes = $result ? $result->total : 0; @endphp {{ $point }} {{ $totalVotes }} @endforeach
@endsection @push('script') @endpush PK GW]ƒº•L§§&resources/views/surveyCreate.blade.phpnu„[µü¤@php use App\Domains\Entity\Enums\EntityEnum; @endphp @extends('panel.layout.settings', ['layout' => 'wide']) @section('title', __('Create Survey')) @section('titlebar_actions', '') @section('additional_css') @endsection @section('settings')
@csrf
@lang('Save')
@endsection @push('script') @endpush PK GW]5ˆÓ ))config/onboarding-pro.phpnu„[µü¤ 1.0, ]; PK GW]�L½‹££__MACOSX/._Systemnu„[µü¤Mac OS X  2q£ATTR£˜ ˜ com.apple.provenance¤`˜†TÜçPK GW]�L½‹££__MACOSX/._resourcesnu„[µü¤Mac OS X  2q£ATTR£˜ ˜ com.apple.provenance¤`˜†TÜçPK GW]�L½‹££H__MACOSX/database/migrations/._2024_05_08_163638_create_survey_table.phpnu„[µü¤Mac OS X  2q£ATTR£˜ ˜ com.apple.provenance¤`˜†TÜçPK GW]�L½‹££H__MACOSX/database/migrations/._2024_05_08_163636_create_banner_table.phpnu„[µü¤Mac OS X  2q£ATTR£˜ ˜ com.apple.provenance¤`˜†TÜçPK GW]�L½‹££T__MACOSX/database/migrations/._2024_05_08_163641_create_introduction_style_table.phpnu„[µü¤Mac OS X  2q£ATTR£˜ ˜ com.apple.provenance¤`˜†TÜçPK GW]�L½‹££M__MACOSX/database/migrations/._2024_05_08_163637_create_banner_user_table.phpnu„[µü¤Mac OS X  2q£ATTR£˜ ˜ com.apple.provenance¤`˜†TÜçPK GW]�L½‹££M__MACOSX/database/migrations/._2024_05_08_163639_create_survey_user_table.phpnu„[µü¤Mac OS X  2q£ATTR£˜ ˜ com.apple.provenance¤`˜†TÜçPK GW]�L½‹££__MACOSX/database/._migrationsnu„[µü¤Mac OS X  2q£ATTR£˜ ˜ com.apple.provenance¤`˜†TÜçPK GW]�L½‹££__MACOSX/._databasenu„[µü¤Mac OS X  2q£ATTR£˜ ˜ com.apple.provenance¤`˜†TÜçPK GW]�L½‹££__MACOSX/._confignu„[µü¤Mac OS X  2q£ATTR£˜ ˜ com.apple.provenance¤`˜†TÜçPK GW]�L½‹££'__MACOSX/System/Models/._BannerUser.phpnu„[µü¤Mac OS X  2q£ATTR£˜ ˜ com.apple.provenance¤`˜†TÜçPK GW]�L½‹££#__MACOSX/System/Models/._Survey.phpnu„[µü¤Mac OS X  2q£ATTR£˜ ˜ com.apple.provenance¤`˜†TÜçPK GW]�L½‹££#__MACOSX/System/Models/._Banner.phpnu„[µü¤Mac OS X  2q£ATTR£˜ ˜ com.apple.provenance¤`˜†TÜçPK GW]�L½‹££'__MACOSX/System/Models/._SurveyUser.phpnu„[µü¤Mac OS X  2q£ATTR£˜ ˜ com.apple.provenance¤`˜†TÜçPK GW]�L½‹££.__MACOSX/System/Models/._IntroductionStyle.phpnu„[µü¤Mac OS X  2q£ATTR£˜ ˜ com.apple.provenance¤`˜†TÜçPK GW]�L½‹££2__MACOSX/System/._OnboardingProServiceProvider.phpnu„[µü¤Mac OS X  2q£ATTR£˜ ˜ com.apple.provenance¤`˜†TÜçPK GW]�L½‹££__MACOSX/System/._Httpnu„[µü¤Mac OS X  2q£ATTR£˜ ˜ com.apple.provenance¤`˜†TÜçPK GW]�L½‹££>__MACOSX/System/Http/Controllers/._OnboardingProController.phpnu„[µü¤Mac OS X  2q£ATTR£˜ ˜ com.apple.provenance¤`˜†TÜçPK GW]�L½‹££(__MACOSX/System/Http/Requests/._.gitkeepnu„[µü¤Mac OS X  2q£ATTR£˜ ˜ com.apple.provenance¤`˜†TÜçPK GW]�L½‹££__MACOSX/System/Http/._Requestsnu„[µü¤Mac OS X  2q£ATTR£˜ ˜ com.apple.provenance¤`˜†TÜçPK GW]�L½‹££ __MACOSX/System/Http/._Resourcesnu„[µü¤Mac OS X  2q£ATTR£˜ ˜ com.apple.provenance¤`˜†TÜçPK GW]�L½‹££"__MACOSX/System/Http/._Controllersnu„[µü¤Mac OS X  2q£ATTR£˜ ˜ com.apple.provenance¤`˜†TÜçPK GW]�L½‹££)__MACOSX/System/Http/Resources/._.gitkeepnu„[µü¤Mac OS X  2q£ATTR£˜ ˜ com.apple.provenance¤`˜†TÜçPK GW]�L½‹££__MACOSX/System/._Modelsnu„[µü¤Mac OS X  2q£ATTR£˜ ˜ com.apple.provenance¤`˜†TÜçPK GW]�L½‹££__MACOSX/resources/._assetsnu„[µü¤Mac OS X  2q£ATTR£˜ ˜ com.apple.provenance¤`˜†TÜçPK GW]�L½‹££__MACOSX/resources/assets/._jsnu„[µü¤Mac OS X  2q£ATTR£˜ ˜ com.apple.provenance¤`˜†TÜçPK GW]�L½‹££'__MACOSX/resources/assets/js/._.gitkeepnu„[µü¤Mac OS X  2q£ATTR£˜ ˜ com.apple.provenance¤`˜†TÜçPK GW]�L½‹££+__MACOSX/resources/views/._banner.blade.phpnu„[µü¤Mac OS X  2q£ATTR£˜ ˜ com.apple.provenance¤`˜†TÜçPK GW]�L½‹££1__MACOSX/resources/views/._bannerCreate.blade.phpnu„[µü¤Mac OS X  2q£ATTR£˜ ˜ com.apple.provenance¤`˜†TÜçPK GW]�L½‹££*__MACOSX/resources/views/._index.blade.phpnu„[µü¤Mac OS X  2q£ATTR£˜ ˜ com.apple.provenance¤`˜†TÜçPK GW]�L½‹££,__MACOSX/resources/views/._surveys.blade.phpnu„[µü¤Mac OS X  2q£ATTR£˜ ˜ com.apple.provenance¤`˜†TÜçPK GW]�L½‹££"__MACOSX/resources/views/._includenu„[µü¤Mac OS X  2q£ATTR£˜ ˜ com.apple.provenance¤`˜†TÜçPK GW]�L½‹££/__MACOSX/resources/views/._surveyEdit.blade.phpnu„[µü¤Mac OS X  2q£ATTR£˜ ˜ com.apple.provenance¤`˜†TÜçPK GW]�L½‹££1__MACOSX/resources/views/._surveyCreate.blade.phpnu„[µü¤Mac OS X  2q£ATTR£˜ ˜ com.apple.provenance¤`˜†TÜçPK GW]�L½‹££9__MACOSX/resources/views/include/._introduction.blade.phpnu„[µü¤Mac OS X  2q£ATTR£˜ ˜ com.apple.provenance¤`˜†TÜçPK GW]�L½‹££+__MACOSX/resources/views/._survey.blade.phpnu„[µü¤Mac OS X  2q£ATTR£˜ ˜ com.apple.provenance¤`˜†TÜçPK GW]�L½‹££/__MACOSX/resources/views/._bannerEdit.blade.phpnu„[µü¤Mac OS X  2q£ATTR£˜ ˜ com.apple.provenance¤`˜†TÜçPK GW]�L½‹££,__MACOSX/resources/views/._banners.blade.phpnu„[µü¤Mac OS X  2q£ATTR£˜ ˜ com.apple.provenance¤`˜†TÜçPK GW]�L½‹££7__MACOSX/resources/views/._introductionCustom.blade.phpnu„[µü¤Mac OS X  2q£ATTR£˜ ˜ com.apple.provenance¤`˜†TÜçPK GW]�L½‹££1__MACOSX/resources/views/._surveyResult.blade.phpnu„[µü¤Mac OS X  2q£ATTR£˜ ˜ com.apple.provenance¤`˜†TÜçPK GW]�L½‹££6__MACOSX/resources/views/._surveyResultUsers.blade.phpnu„[µü¤Mac OS X  2q£ATTR£˜ ˜ com.apple.provenance¤`˜†TÜçPK GW]�L½‹££1__MACOSX/resources/views/._introduction.blade.phpnu„[µü¤Mac OS X  2q£ATTR£˜ ˜ com.apple.provenance¤`˜†TÜçPK GW]�L½‹££__MACOSX/resources/._viewsnu„[µü¤Mac OS X  2q£ATTR£˜ ˜ com.apple.provenance¤`˜†TÜçPK GW]�L½‹££$__MACOSX/config/._onboarding-pro.phpnu„[µü¤Mac OS X  2q£ATTR£˜ ˜ com.apple.provenance¤`˜†TÜçPK GW]�L½‹££__MACOSX/._extension.jsonnu„[µü¤Mac OS X  2q£ATTR£˜ ˜ com.apple.provenance¤`˜†TÜçPK GW]ëÌø²ÝÝ=database/migrations/2024_05_08_163638_create_survey_table.phpnu„[µü¤PK GW]2tJd‡‡BJdatabase/migrations/2024_05_08_163639_create_survey_user_table.phpnu„[µü¤PK GW]Îb=Cdatabase/migrations/2024_05_08_163636_create_banner_table.phpnu„[µü¤PK GW]Ï6ÈaaBÆ database/migrations/2024_05_08_163637_create_banner_user_table.phpnu„[µü¤PK GW]~¯oI™ database/migrations/2024_05_08_163641_create_introduction_style_table.phpnu„[µü¤PK GW]h_0��extension.jsonnu„[µü¤PK GW]�R¾((âSystem/Models/Banner.phpnu„[µü¤PK GW]¢Á3‹üüRSystem/Models/BannerUser.phpnu„[µü¤PK GW]Þ£ ¶šSystem/Models/Survey.phpnu„[µü¤PK GW]S-U๹õSystem/Models/SurveyUser.phpnu„[µü¤PK GW]àÇ:ÃÃ#úSystem/Models/IntroductionStyle.phpnu„[µü¤PK GW]é¹!!'System/OnboardingProServiceProvider.phpnu„[µü¤PK GW]È\�'C'C3ˆ5System/Http/Controllers/OnboardingProController.phpnu„[µü¤PK GW]ëš©ySystem/Http/Requests/.gitkeepnu„[µü¤PK GW]ëš©mySystem/Http/Resources/.gitkeepnu„[µü¤PK GW]ëš©Éyresources/assets/js/.gitkeepnu„[µü¤PK GW]ÆáÉúqq$#zresources/views/bannerEdit.blade.phpnu„[µü¤PK GW]²s}̽C½C&è�resources/views/introduction.blade.phpnu„[µü¤PK GW]7ü8öõõ!ûÓresources/views/surveys.blade.phpnu„[µü¤PK GW]Ü”3{00+Aéresources/views/surveyResultUsers.blade.phpnu„[µü¤PK GW](”*AXXÌíresources/views/index.blade.phpnu„[µü¤PK GW]+º•^»» söresources/views/survey.blade.phpnu„[µü¤PK GW]Càa’$~resources/views/surveyEdit.blade.phpnu„[µü¤PK GW]9Œ#.#..èresources/views/include/introduction.blade.phpnu„[µü¤PK GW]ex0ÒÒ&iLresources/views/bannerCreate.blade.phpnu„[µü¤PK GW]§¹'$¡¡,‘dresources/views/introductionCustom.blade.phpnu„[µü¤PK GW]øÃÃ!Ž„resources/views/banners.blade.phpnu„[µü¤PK GW]ÎÜké é ¢™resources/views/banner.blade.phpnu„[µü¤PK GW]¾×–ªª&Û¥resources/views/surveyResult.blade.phpnu„[µü¤PK GW]ƒº•L§§&Û­resources/views/surveyCreate.blade.phpnu„[µü¤PK GW]5ˆÓ ))ØÂconfig/onboarding-pro.phpnu„[µü¤PK GW]�L½‹££JÃ__MACOSX/._Systemnu„[µü¤PK GW]�L½‹££.Ä__MACOSX/._resourcesnu„[µü¤PK GW]�L½‹££HÅ__MACOSX/database/migrations/._2024_05_08_163638_create_survey_table.phpnu„[µü¤PK GW]�L½‹££H0Æ__MACOSX/database/migrations/._2024_05_08_163636_create_banner_table.phpnu„[µü¤PK GW]�L½‹££TKÇ__MACOSX/database/migrations/._2024_05_08_163641_create_introduction_style_table.phpnu„[µü¤PK GW]�L½‹££MrÈ__MACOSX/database/migrations/._2024_05_08_163637_create_banner_user_table.phpnu„[µü¤PK GW]�L½‹££M’É__MACOSX/database/migrations/._2024_05_08_163639_create_survey_user_table.phpnu„[µü¤PK GW]�L½‹££²Ê__MACOSX/database/._migrationsnu„[µü¤PK GW]�L½‹£££Ë__MACOSX/._databasenu„[µü¤PK GW]�L½‹££‰Ì__MACOSX/._confignu„[µü¤PK GW]�L½‹££'mÍ__MACOSX/System/Models/._BannerUser.phpnu„[µü¤PK GW]�L½‹££#gÎ__MACOSX/System/Models/._Survey.phpnu„[µü¤PK GW]�L½‹££#]Ï__MACOSX/System/Models/._Banner.phpnu„[µü¤PK GW]�L½‹££'SÐ__MACOSX/System/Models/._SurveyUser.phpnu„[µü¤PK GW]�L½‹££.MÑ__MACOSX/System/Models/._IntroductionStyle.phpnu„[µü¤PK GW]�L½‹££2NÒ__MACOSX/System/._OnboardingProServiceProvider.phpnu„[µü¤PK GW]�L½‹££SÓ__MACOSX/System/._Httpnu„[µü¤PK GW]�L½‹££><Ô__MACOSX/System/Http/Controllers/._OnboardingProController.phpnu„[µü¤PK GW]�L½‹££(MÕ__MACOSX/System/Http/Requests/._.gitkeepnu„[µü¤PK GW]�L½‹££HÖ__MACOSX/System/Http/._Requestsnu„[µü¤PK GW]�L½‹££ :×__MACOSX/System/Http/._Resourcesnu„[µü¤PK GW]�L½‹££"-Ø__MACOSX/System/Http/._Controllersnu„[µü¤PK GW]�L½‹££)"Ù__MACOSX/System/Http/Resources/._.gitkeepnu„[µü¤PK GW]�L½‹££Ú__MACOSX/System/._Modelsnu„[µü¤PK GW]�L½‹££ Û__MACOSX/resources/._assetsnu„[µü¤PK GW]�L½‹££÷Û__MACOSX/resources/assets/._jsnu„[µü¤PK GW]�L½‹££'èÜ__MACOSX/resources/assets/js/._.gitkeepnu„[µü¤PK GW]�L½‹££+âÝ__MACOSX/resources/views/._banner.blade.phpnu„[µü¤PK GW]�L½‹££1àÞ__MACOSX/resources/views/._bannerCreate.blade.phpnu„[µü¤PK GW]�L½‹££*äß__MACOSX/resources/views/._index.blade.phpnu„[µü¤PK GW]�L½‹££,áà__MACOSX/resources/views/._surveys.blade.phpnu„[µü¤PK GW]�L½‹££"àá__MACOSX/resources/views/._includenu„[µü¤PK GW]�L½‹££/Õâ__MACOSX/resources/views/._surveyEdit.blade.phpnu„[µü¤PK GW]�L½‹££1×ã__MACOSX/resources/views/._surveyCreate.blade.phpnu„[µü¤PK GW]�L½‹££9Ûä__MACOSX/resources/views/include/._introduction.blade.phpnu„[µü¤PK GW]�L½‹££+çå__MACOSX/resources/views/._survey.blade.phpnu„[µü¤PK GW]�L½‹££/åæ__MACOSX/resources/views/._bannerEdit.blade.phpnu„[µü¤PK GW]�L½‹££,çç__MACOSX/resources/views/._banners.blade.phpnu„[µü¤PK GW]�L½‹££7æè__MACOSX/resources/views/._introductionCustom.blade.phpnu„[µü¤PK GW]�L½‹££1ðé__MACOSX/resources/views/._surveyResult.blade.phpnu„[µü¤PK GW]�L½‹££6ôê__MACOSX/resources/views/._surveyResultUsers.blade.phpnu„[µü¤PK GW]�L½‹££1ýë__MACOSX/resources/views/._introduction.blade.phpnu„[µü¤PK GW]�L½‹££í__MACOSX/resources/._viewsnu„[µü¤PK GW]�L½‹££$îí__MACOSX/config/._onboarding-pro.phpnu„[µü¤PK GW]�L½‹££åî__MACOSX/._extension.jsonnu„[µü¤PKLL Ñï