update launcher app api config

This commit is contained in:
chyoo
2026-07-01 17:20:22 +09:00
parent 6660990609
commit ebf4c9f07f
2 changed files with 13 additions and 5 deletions
+1 -1
View File
@@ -33,7 +33,7 @@ export const FALLBACK_APPS: LauncherApp[] = [
displayName: 'LMS', displayName: 'LMS',
description: '자율주행 교육 과정, 실습 콘텐츠, 사용자 학습 이력을 통합 관리하는 학습 관리 시스템입니다.', description: '자율주행 교육 과정, 실습 콘텐츠, 사용자 학습 이력을 통합 관리하는 학습 관리 시스템입니다.',
subtitle: '자율주행 교육 콘텐츠\n학습 관리 시스템', subtitle: '자율주행 교육 콘텐츠\n학습 관리 시스템',
videoPath: '/video/lms.mp4', videoPath: './video/lms.mp4',
iconKey: 'graduation', iconKey: 'graduation',
launchUrl: 'http://localhost:5176', launchUrl: 'http://localhost:5176',
devAppPath: './apps/lms/lms-fe', devAppPath: './apps/lms/lms-fe',
+12 -4
View File
@@ -2,6 +2,13 @@ import type { LauncherApp } from '../config/apps'
const DEFAULT_DETAIL_URL = 'https://www.futuredrive.net/solutions/astudio' const DEFAULT_DETAIL_URL = 'https://www.futuredrive.net/solutions/astudio'
function resolvePackagedAssetPath(path?: string | null): string | null {
if (!path) return null
if (/^(https?:|file:|data:|blob:)/i.test(path)) return path
if (path.startsWith('/video/')) return `.${path}`
return path
}
interface AppViewProps { interface AppViewProps {
app: LauncherApp app: LauncherApp
isRunning: boolean isRunning: boolean
@@ -17,6 +24,7 @@ function AppView({ app, isRunning, onShowManual, onFocusApp, onCloseApp }: AppVi
const appTitle = titleRest const appTitle = titleRest
? <>{titleFirst}<br /><span>{titleRest}</span></> ? <>{titleFirst}<br /><span>{titleRest}</span></>
: <span>{titleFirst}</span> : <span>{titleFirst}</span>
const videoPath = resolvePackagedAssetPath(app.videoPath)
if (isRunning) { if (isRunning) {
return ( return (
@@ -62,12 +70,12 @@ function AppView({ app, isRunning, onShowManual, onFocusApp, onCloseApp }: AppVi
<div className="flex-1 flex items-start relative overflow-hidden pt-[80px] pb-[80px] pl-[52px]"> <div className="flex-1 flex items-start relative overflow-hidden pt-[80px] pb-[80px] pl-[52px]">
{/* 비디오 배경 */} {/* 비디오 배경 */}
{app.videoPath && ( {videoPath && (
<> <>
<video <video
key={app.videoPath} key={videoPath}
className="car-video" className="car-video"
src={app.videoPath} src={videoPath}
autoPlay autoPlay
loop loop
muted muted
@@ -79,7 +87,7 @@ function AppView({ app, isRunning, onShowManual, onFocusApp, onCloseApp }: AppVi
</> </>
)} )}
{!app.videoPath && ( {!videoPath && (
<div className="absolute inset-0 bg-[radial-gradient(ellipse_70%_50%_at_50%_50%,rgba(59,127,250,0.04)_0%,transparent_70%)]" /> <div className="absolute inset-0 bg-[radial-gradient(ellipse_70%_50%_at_50%_50%,rgba(59,127,250,0.04)_0%,transparent_70%)]" />
)} )}