feat: add StreamEmbed widget, move course progress to footer corner

- Add StreamEmbed component supporting Twitch and YouTube embeds
  with live badge, platform icon, aspect-ratio 16:9, external link
- Replace AudioPlayer on AdminHome with StreamEmbed (configure
  channel name in streamConfig ref)
- Move course progress % to bottom-right footer corner alongside
  price/cert badge; remove separate progress row above footer

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-16 06:32:25 +03:00
parent ab329301bf
commit bea5f78b6e
3 changed files with 137 additions and 24 deletions

View File

@@ -84,7 +84,7 @@
<div class="flex-1" />
<!-- Stats row -->
<div class="flex items-center gap-3 text-xs text-ink-gray-5 mb-2 flex-wrap">
<div class="flex items-center gap-3 text-xs text-ink-gray-5 mb-3 flex-wrap">
<span v-if="course.lessons" class="flex items-center gap-1">
<BookOpen class="h-3.5 w-3.5" />
{{ course.lessons }} {{ __('lessons') }}
@@ -99,11 +99,6 @@
</span>
</div>
<!-- Progress text -->
<div v-if="user && course.membership" class="text-xs text-ink-gray-5 mb-2">
{{ Math.ceil(course.membership.progress) }}% {{ __('completed') }}
</div>
<!-- Footer -->
<div class="flex items-center justify-between pt-3 border-t border-outline-gray-1">
<!-- Instructors -->
@@ -123,9 +118,15 @@
/>
</div>
<!-- Right side: price + cert -->
<!-- Right side: progress % / price / cert -->
<div class="flex items-center gap-2">
<span v-if="course.paid_course" class="text-sm font-semibold text-ink-gray-9">
<span
v-if="user && course.membership"
class="text-xs font-medium text-ink-green-3"
>
{{ Math.ceil(course.membership.progress) }}%
</span>
<span v-else-if="course.paid_course" class="text-sm font-semibold text-ink-gray-9">
{{ course.price }}
</span>
<Tooltip