@include('partials.site-favicon') @stack('styles') @stack('head') @php $isGlobalScenarioContext = request()->routeIs('scenario.global.*'); $setupChannelQuery = request()->query('setup_channel'); $isSetupAccountContext = in_array($setupChannelQuery, ['mail', 'line'], true) && request()->routeIs('account.index', 'account.create', 'account.edit'); $isSetupProductContext = request()->boolean('setup') && request()->routeIs('product.*'); $isSetupHubContext = request()->routeIs('setting.*') || $isSetupAccountContext || $isSetupProductContext; $isFunnelHubContext = request()->routeIs('funnel.*'); $isDeliveryContext = ! $isGlobalScenarioContext && ! $isSetupAccountContext && (request()->routeIs('account.*') || request()->routeIs('scenario.*') || request()->routeIs('subscriber.*') || request()->routeIs('step.*') || request()->routeIs('scenario.workspace.*')); $ctxDeliveryAccount = request()->route('account'); $inDeliveryAccountWorkspace = $isDeliveryContext && $ctxDeliveryAccount instanceof \App\Models\DeliveryAccount; $isSiteContext = request()->routeIs('site.*'); $ctxSiteParam = request()->route('site'); $ctxSite = $ctxSiteParam instanceof \App\Models\MembershipSite ? $ctxSiteParam : null; $ctxCourseParam = request()->route('course'); $ctxCourse = $ctxCourseParam instanceof \App\Models\BundleCourse ? $ctxCourseParam : null; $courseWorkspaceSlug = request()->route('slug'); $inCourseWorkspace = $ctxCourse && request()->routeIs('site.course.workspace.*'); $isEventContext = request()->routeIs('event.*'); $ctxEventParam = request()->route('event'); $ctxEvent = $ctxEventParam instanceof \App\Models\Event ? $ctxEventParam : null; $eventWorkspaceSlug = request()->route('slug'); $isPartnerContext = request()->routeIs('partner.*'); $isContractContext = request()->routeIs('contract.*'); @endphp
@php $brandHomeUrl = \App\Support\OperatorContext::allows('dashboard') ? route('dashboard') : (\App\Support\OperatorPermissionCatalog::firstAllowedUrl(\App\Support\OperatorContext::current()) ?? route('dashboard')); @endphp monaka Growth Console
@if($isGlobalScenarioContext) シナリオ配信 @elseif($isDeliveryContext && $inDeliveryAccountWorkspace) @php $da = $ctxDeliveryAccount; $scenarioNavActive = request()->routeIs('scenario.*') || request()->routeIs('subscriber.*') || request()->routeIs('step.*') || request()->routeIs('scenario.workspace.*') || request()->routeIs('scenario.broadcast.*'); $ws = fn (string $slug) => route('account.workspace.show', [$da, $slug]); $wAct = fn (string $slug) => request()->routeIs('account.workspace.show') && (string) request()->route('slug') === $slug; $ctxScenario = null; @endphp @if(request()->route()) @php $_scParam = request()->route('scenario'); $ctxScenario = $_scParam instanceof \App\Models\Scenario ? $_scParam : null; @endphp @endif @php $inScenarioShell = $ctxScenario && request()->routeIs('subscriber.*', 'step.*', 'scenario.workspace.*', 'scenario.broadcast.*'); @endphp @if(! $inScenarioShell)
送信用アカウント
{{ $da->name }}
シナリオ管理 @else @php $sc = $ctxScenario; $sws = fn (string $slug) => route('scenario.workspace.show', [$da, $sc, $slug]); $wsAct = fn (string $slug) => request()->routeIs('scenario.workspace.show') && (string) (request()->route()->parameter('slug') ?? 'overview') === $slug; $regRoutesNavActive = request()->routeIs('scenario.workspace.show') && in_array((string) (request()->route()->parameter('slug') ?? ''), ['registration-routes', 'line-registration-routes'], true); $broadcastNavActive = request()->routeIs('scenario.broadcast.*'); $aw = fn (string $slug) => route('account.workspace.show', [$da, $slug]); $awAct = fn (string $slug) => request()->routeIs('account.workspace.show') && (string) request()->route('slug') === $slug; $scHasExplicitChannelLink = $sc->mail_delivery_account_id !== null || $sc->line_delivery_account_id !== null; $scHasMailChannel = $scHasExplicitChannelLink ? $sc->mail_delivery_account_id !== null : in_array((string) $da->type, ['email', 'both'], true); $scHasLineChannel = $scHasExplicitChannelLink ? $sc->line_delivery_account_id !== null : in_array((string) $da->type, ['line', 'both'], true); $scGroupName = optional($sc->group)->name ?: '未分類'; @endphp
シナリオ管理
{{ $scGroupName }} {{ $sc->name }}
シナリオ一覧へ戻る シナリオ概要 @if($scHasMailChannel)
メール管理
読者一覧 読者数推移 メール一斉送信 ステップ配信 リマインダ配信 予約中 送信済 メール配信エラー 登録フォーム・読者項目 @php $formUnsubActive = $wsAct('form-unsubscribe') || $wsAct('form-unsubscribe-register') || $wsAct('form-unsubscribe-cancel') || $wsAct('form-unsubscribe-settings') || $wsAct('form-unsubscribe-tags'); @endphp 登録・解除フォーム @if($formUnsubActive)
登録フォーム 解除フォーム 登録・解除フォーム設定 フォームタグ
@endif @if(! ($scHasMailChannel && $scHasLineChannel)) 登録経路 @endif 独自置き換え文字 @endif @if($scHasLineChannel)
LINE管理
LINEチャット 読者数推移 @if(! ($scHasMailChannel && $scHasLineChannel)) 登録経路 @endif LINE一斉送信 {{-- メール側の「ステップ配信」と対称に置く。ここが無いと、LINEだけのシナリオでは 概要ページのタイルからしか行けず、機能があることに気づけない (2026-08-04 に利用者から指摘を受けて追加)。 --}} LINEステップ配信 LINE友だち LINE自動応答 LINEリッチメニュー LINEテンプレート LINEカスタム送信者 LINEアカウント LINE通知設定 LINE配信エラー @php $lineRegActive = $wsAct('line-register-page') || $wsAct('line-register-page-settings'); @endphp LINE登録ページ @if($lineRegActive)
LINE登録ページ設定
@endif @endif
共通
@if($scHasMailChannel && $scHasLineChannel) 登録経路 @endif ラベル設定 シナリオ設定 シナリオ内アンケート @endif @elseif($isDeliveryContext)
メール・LINE配信
送信用アカウント
送信用アカウント一覧 アーカイブ済
シナリオ 送信ドメイン認証
サポート
マニュアル よくある質問 お問い合わせ 機能改善要望 @elseif($isSiteContext) @php $siteSidebarTooltipEsc = static function (string $html): string { return htmlspecialchars($html, ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8'); }; $siteSidebarTooltips = [ 'course_back' => 'コース一覧へ戻る
この教材コースの作業を終え、サイト内のコース一覧に戻ります。', 'course_workspace' => 'コース設定
グループ作成 → レッスン追加の順で進めます。受講生の確認・受講状況・コース名やサムネイルの編集などもカードから選べます。', 'courses' => 'コース
教材(レッスン入り)の一覧です。コースを追加し、中身は各コースの「コース設定」で編集します。', 'bundles' => 'コースの結合
複数コースをひとまとめにして開放する単位です。セット販売やまとめて渡すときに使います。コース1本だけなら「受講生管理」でコース名を選べば結合は不要です。', 'members' => '受講生管理
会員の追加・パスワード変更・コースまたはコースの結合へのアクセス付与・解除を行います。', 'announcements' => 'お知らせ管理
会員マイページに表示するお知らせを作成・公開します。全体または特定のコースの結合の受講生向けに出し分けできます。', 'url' => 'URL管理
会員向けログインURLを確認・コピーします。案内メールや購入者への連絡に使います。', 'site_settings' => 'サイト設定
サイト名・ロゴ・公開状態・ログイン用URL(スラッグ)・ヘッダーなど、サイト全体の基本設定です。', 'page_settings' => 'ページ設定
会員が見る画面の見た目と文言(コースページ・ログイン・レッスン共通・固定ページ)を編集します。', 'page_course' => 'コースページ
ログイン後のマイページ(学習コンテンツ一覧)のヘッダー・フッター・説明文・絞り込み表示など。', 'page_lesson' => 'レッスンページ
すべてのレッスンに共通する下部案内文・前後レッスンへのリンク・サイト共通CSSなど。', 'page_login' => 'ログインページ
会員ログイン画面のタイトル・ロゴ・背景・案内文を編集します。', 'page_fixed' => '固定ページ
利用規約・FAQなど教材以外のページを追加・編集します。左メニューへの表示も設定できます。', 'site_index' => 'サイト一覧
運営中の会員サイトの一覧です。別サイトの選択や新規作成もここから行います。', ]; $siteNavTooltipAttrs = static function (string $key) use ($siteSidebarTooltips, $siteSidebarTooltipEsc): string { $html = $siteSidebarTooltips[$key] ?? ''; return ' data-bs-toggle="tooltip" data-bs-placement="right" data-bs-html="true" data-bs-custom-class="sidebar-nav-tooltip" data-bs-title="'.$siteSidebarTooltipEsc($html).'"'; }; @endphp @if($inCourseWorkspace)
コース
{{ $ctxCourse->name }}
コース一覧へ戻る コース設定

グループ → レッスンの順で、コース設定のカードから開きます。各項目の説明はメニューにカーソルを合わせて確認できます。

@elseif($ctxSite)
会員サイト
{{ $ctxSite->name }}
コース コースの結合 受講生管理 ラベル設定 お知らせ管理 URL管理 サイト設定 @php $sitePageSettingsActive = request()->routeIs('site.page-settings*'); $sitePageSettingsTab = request()->query('tab', 'course'); $sitePageSettingTabs = [ 'course' => ['label' => 'コースページ', 'tip' => 'page_course'], 'lesson' => ['label' => 'レッスンページ', 'tip' => 'page_lesson'], 'login' => ['label' => 'ログインページ', 'tip' => 'page_login'], 'fixed' => ['label' => '固定ページ', 'tip' => 'page_fixed'], ]; @endphp ページ設定 @if($sitePageSettingsActive)
@foreach($sitePageSettingTabs as $tabKey => $tabMeta) {{ $tabMeta['label'] }} @endforeach
@endif @endif
全体設定
サイト一覧
サポート
マニュアル よくある質問 お問い合わせ 機能改善要望 @elseif($isEventContext) @if($ctxEvent)
イベント
{{ $ctxEvent->name }}
@php $ew = fn (string $slug) => route('event.workspace.show', [$ctxEvent, $slug]); $ewAct = fn (string $slug) => request()->routeIs('event.workspace.show') && (string) $eventWorkspaceSlug === $slug; @endphp 日程設定 申込者 リマインダ配信 申込フォーム・申込者項目 申込フォーム @if($ewAct('booking-form'))
サンクス・公開
@endif 担当者設定 イベント設定 @endif
全体設定
イベント一覧
サポート
マニュアル よくある質問 お問い合わせ 機能改善要望 @elseif($isContractContext)
契約書
契約書トップ 契約書一覧 テンプレート 契約書設定
サポート
@include('layouts.partials.sidebar-support-nav') @elseif($isPartnerContext) @php $partnerNavTooltips = [ 'campaigns' => '案件一覧
紹介してもらう案件(成果地点と報酬)を作ります。
メール登録・LINE登録・購入・イベント申込のどれを成果とするかを決めます。', 'conversions' => '成約状況
紹介経由で発生した成果を1件ずつ確認します。
未確定・確定・支払済・無効の状態で絞り込めます。', 'ranking' => 'ランキング
期間内の成果件数が多い順にパートナーを並べます。', 'rewards' => '報酬集計
パートナーごとの報酬を、未確定・確定・支払済に分けて集計します。', 'groups' => 'パートナーグループ
パートナーを用途別にまとめます。
グループを消してもパートナーは残り、「グループなし」に戻ります。', 'partners' => 'パートナー一覧
紹介者の登録・編集を行います。
連絡先と振込先、参加ステータスを管理します。', 'links' => 'URL管理
案件 × パートナーごとの紹介URLを発行します。
クリック数と最終クリック日時を確認できます。', 'settings' => '設定
紹介の有効期間・承認方式・支払いサイクルなど、パートナー機能全体の既定値を決めます。', ]; $partnerNavAttrs = static function (string $key) use ($partnerNavTooltips): string { $html = $partnerNavTooltips[$key] ?? ''; return 'data-bs-toggle="tooltip" data-bs-placement="right" data-bs-html="true" data-bs-custom-class="sidebar-nav-tooltip" data-bs-title="' .htmlspecialchars($html, ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8').'"'; }; @endphp
パートナー
案件一覧 成約状況 ランキング 報酬集計 パートナーグループ パートナー一覧 URL管理 設定 @include('layouts.partials.sidebar-support-nav') @else
メイン
@if(\App\Support\OperatorContext::allows('dashboard')) ダッシュボード @endif @if($isSetupHubContext) @include('setting.partials.setup-sidebar-nav') @include('layouts.partials.sidebar-support-nav') @elseif($isFunnelHubContext)
ファネル構築
ファネル構築 @php $ctxFunnel = $ctxFunnel ?? request()->route('funnel'); @endphp @if($ctxFunnel)
選択中ファネル
{{ is_object($ctxFunnel) ? ($ctxFunnel->name ?? 'ファネル') : 'ファネル' }}
ページ ファネルマップ(β) データ(合算) データ(日別) 登録者 登録経路 コメント ファネル共通設定 @endif @include('layouts.partials.sidebar-support-nav') @else
ファネル構築
ファネル構築
配信
メール・LINE配信 シナリオ
コンテンツ
会員サイト イベント・予約
決済
商品管理 売上一覧
パートナー
パートナー
管理
メディア管理 設定 @endif @endif