feat(nav): show the teleprompter in the shoot phase menu
04e233e parent: c316a11 modified
web/src/project/ProjectPage.vue +6 -0 | @@ -80,6 +80,11 @@ function toggleDone() { | ||
| 80 | 80 | <span class="label">{{ s.label }}</span> |
| 81 | 81 | <span class="sub">{{ s.sub }}</span> |
| 82 | 82 | </RouterLink> |
| 83 | + <!-- le prompteur, outil du tournage sans statut : ouvert à part --> | |
| 84 | + <RouterLink v-if="step.g === 'tour'" :to="`/prompteur/${project.id}`" target="_blank" class="sib"> | |
| 85 | + <span class="dot tool" /> | |
| 86 | + <span class="label">{{ t("shoot.teleprompter") }}</span> | |
| 87 | + </RouterLink> | |
| 83 | 88 | </nav> |
| 84 | 89 | <div class="actions"> |
| 85 | 90 | <span class="chip" :style="{ background: chip[1], color: chip[2] }">{{ chip[0] }}</span> |
| @@ -110,6 +115,7 @@ header { | ||
| 110 | 115 | .sib:hover { background: var(--bg-soft); } |
| 111 | 116 | .sib.on { border-bottom-color: var(--ink); color: var(--ink) !important; } |
| 112 | 117 | .sib .dot { width: 8px; height: 8px; border-radius: 4px; flex-shrink: 0; } |
| 118 | +.sib .dot.tool { border: 1px dashed var(--dash); } | |
| 113 | 119 | .sib .label { font-size: 14px; font-weight: 450; } |
| 114 | 120 | .sib.on .label { font-weight: 600; } |
| 115 | 121 | .sib .sub { font-family: var(--mono); font-size: 10.5px; color: var(--faint); } |
| @@ -80,6 +80,11 @@ function toggleDone() { | |||
| 80 | <span class="label">{{ s.label }}</span> | 80 | <span class="label">{{ s.label }}</span> |
| 81 | <span class="sub">{{ s.sub }}</span> | 81 | <span class="sub">{{ s.sub }}</span> |
| 82 | </RouterLink> | 82 | </RouterLink> |
| 83 | + <!-- le prompteur, outil du tournage sans statut : ouvert à part --> | ||
| 84 | + <RouterLink v-if="step.g === 'tour'" :to="`/prompteur/${project.id}`" target="_blank" class="sib"> | ||
| 85 | + <span class="dot tool" /> | ||
| 86 | + <span class="label">{{ t("shoot.teleprompter") }}</span> | ||
| 87 | + </RouterLink> | ||
| 83 | </nav> | 88 | </nav> |
| 84 | <div class="actions"> | 89 | <div class="actions"> |
| 85 | <span class="chip" :style="{ background: chip[1], color: chip[2] }">{{ chip[0] }}</span> | 90 | <span class="chip" :style="{ background: chip[1], color: chip[2] }">{{ chip[0] }}</span> |
| @@ -110,6 +115,7 @@ header { | |||
| 110 | .sib:hover { background: var(--bg-soft); } | 115 | .sib:hover { background: var(--bg-soft); } |
| 111 | .sib.on { border-bottom-color: var(--ink); color: var(--ink) !important; } | 116 | .sib.on { border-bottom-color: var(--ink); color: var(--ink) !important; } |
| 112 | .sib .dot { width: 8px; height: 8px; border-radius: 4px; flex-shrink: 0; } | 117 | .sib .dot { width: 8px; height: 8px; border-radius: 4px; flex-shrink: 0; } |
| 118 | +.sib .dot.tool { border: 1px dashed var(--dash); } | ||
| 113 | .sib .label { font-size: 14px; font-weight: 450; } | 119 | .sib .label { font-size: 14px; font-weight: 450; } |
| 114 | .sib.on .label { font-weight: 600; } | 120 | .sib.on .label { font-weight: 600; } |
| 115 | .sib .sub { font-family: var(--mono); font-size: 10.5px; color: var(--faint); } | 121 | .sib .sub { font-family: var(--mono); font-size: 10.5px; color: var(--faint); } |
modified
web/src/project/TopBar.vue +6 -0 | @@ -132,6 +132,11 @@ function openProject(id: string) { | ||
| 132 | 132 | <span class="label">{{ s.label }}</span> |
| 133 | 133 | <span class="sub">{{ s.sub }}</span> |
| 134 | 134 | </RouterLink> |
| 135 | + <!-- le prompteur n'est pas une étape (pas de statut) : un outil du tournage, ouvert à part (téléphone) --> | |
| 136 | + <RouterLink v-if="g.g === 'tour'" :to="`/prompteur/${project.id}`" target="_blank" class="step tool" @click="menu = null"> | |
| 137 | + <span class="dot" /> | |
| 138 | + <span class="label">{{ t("shoot.teleprompter") }}</span> | |
| 139 | + </RouterLink> | |
| 135 | 140 | </div> |
| 136 | 141 | </div> |
| 137 | 142 | </nav> |
| @@ -237,6 +242,7 @@ header { | ||
| 237 | 242 | .step .label { flex: 1; font-size: 13.5px; font-weight: 450; } |
| 238 | 243 | .step.on .label { font-weight: 600; color: var(--ink); } |
| 239 | 244 | .step.todo .label { color: var(--muted-2); } |
| 245 | +.step.tool .dot { border: 1px dashed var(--dash); } | |
| 240 | 246 | .step .sub { font-family: var(--mono); font-size: 10.5px; color: var(--faint); } |
| 241 | 247 | |
| 242 | 248 | .worker { display: flex; align-items: center; gap: 6px; padding: 0 4px; font-family: var(--mono); font-size: 10.5px; color: var(--faint); cursor: default; } |
| @@ -132,6 +132,11 @@ function openProject(id: string) { | |||
| 132 | <span class="label">{{ s.label }}</span> | 132 | <span class="label">{{ s.label }}</span> |
| 133 | <span class="sub">{{ s.sub }}</span> | 133 | <span class="sub">{{ s.sub }}</span> |
| 134 | </RouterLink> | 134 | </RouterLink> |
| 135 | + <!-- le prompteur n'est pas une étape (pas de statut) : un outil du tournage, ouvert à part (téléphone) --> | ||
| 136 | + <RouterLink v-if="g.g === 'tour'" :to="`/prompteur/${project.id}`" target="_blank" class="step tool" @click="menu = null"> | ||
| 137 | + <span class="dot" /> | ||
| 138 | + <span class="label">{{ t("shoot.teleprompter") }}</span> | ||
| 139 | + </RouterLink> | ||
| 135 | </div> | 140 | </div> |
| 136 | </div> | 141 | </div> |
| 137 | </nav> | 142 | </nav> |
| @@ -237,6 +242,7 @@ header { | |||
| 237 | .step .label { flex: 1; font-size: 13.5px; font-weight: 450; } | 242 | .step .label { flex: 1; font-size: 13.5px; font-weight: 450; } |
| 238 | .step.on .label { font-weight: 600; color: var(--ink); } | 243 | .step.on .label { font-weight: 600; color: var(--ink); } |
| 239 | .step.todo .label { color: var(--muted-2); } | 244 | .step.todo .label { color: var(--muted-2); } |
| 245 | +.step.tool .dot { border: 1px dashed var(--dash); } | ||
| 240 | .step .sub { font-family: var(--mono); font-size: 10.5px; color: var(--faint); } | 246 | .step .sub { font-family: var(--mono); font-size: 10.5px; color: var(--faint); } |
| 241 | 247 | ||
| 242 | .worker { display: flex; align-items: center; gap: 6px; padding: 0 4px; font-family: var(--mono); font-size: 10.5px; color: var(--faint); cursor: default; } | 248 | .worker { display: flex; align-items: center; gap: 6px; padding: 0 4px; font-family: var(--mono); font-size: 10.5px; color: var(--faint); cursor: default; } |