Files
MosisService/src/main/assets/apps/home/home.rml
omigamedev 1f91d7508e add base-apps with manifests, layout system, and testing documentation
- Rename test-apps to base-apps with proper manifest.json for each app
- Add is_system_app flag to app discovery and Lua API
- Fix icon path resolution for /system/icons/ paths
- Add layout.lua and layout.rcss for reusable UI components
- Update home screen to dynamically load all apps from manifests
- Update all app RML files to use layout components
- Comprehensive testing framework documentation with JSON action format
- Add tests/ directory structure for automated UI testing
2026-01-20 09:14:05 +01:00

106 lines
3.3 KiB
Plaintext

<rml>
<head>
<link type="text/rcss" href="../../ui/html.rcss"/>
<link type="text/rcss" href="../../ui/theme.rcss"/>
<link type="text/rcss" href="../../ui/components.rcss"/>
<script src="../../scripts/navigation.lua"></script>
<script src="home.lua"></script>
<title>Virtual Smartphone - Home</title>
<style>
.home-screen {
width: 100%;
height: 100%;
background-color: #121212;
display: flex;
flex-direction: column;
}
.home-content {
flex: 1;
padding-bottom: 80px;
}
.app-icon-image img {
width: 48px;
height: 48px;
pointer-events: none;
}
.dock-item img {
width: 48px;
height: 48px;
pointer-events: none;
}
.status-bar-icons img {
pointer-events: none;
}
/* Third-party apps section */
.app-grid-section {
display: flex;
flex-wrap: wrap;
width: 100%;
}
/* Third-party apps use same sizing as system apps */
#installed-apps .app-icon {
width: 25%;
box-sizing: border-box;
padding: 8px 0;
}
#installed-apps .app-icon-image {
width: 72px;
height: 72px;
border-radius: 18px;
display: flex;
align-items: center;
justify-content: center;
margin: 0 auto 12px auto;
cursor: pointer;
}
#installed-apps .app-icon-image:hover {
transform: scale(1.05);
}
#installed-apps .app-icon-label {
display: block;
text-align: center;
font-size: 16px;
color: #FFFFFF;
}
</style>
</head>
<body class="home-screen" onload="initHome(document)">
<!-- Status Bar -->
<div class="status-bar">
<span class="status-bar-time">12:30</span>
<div class="status-bar-icons">
<img src="../../icons/wifi.tga" style="width: 24px; height: 24px;"/>
<img src="../../icons/signal.tga" style="width: 24px; height: 24px;"/>
<img src="../../icons/battery.tga" style="width: 24px; height: 24px;"/>
</div>
</div>
<!-- App Grid -->
<div class="home-content">
<div class="app-grid">
<!-- All apps dynamically populated by home.lua -->
<div id="installed-apps" class="app-grid-section">
<!-- Apps will be rendered here by home.lua -->
</div>
</div>
</div>
<!-- Dock -->
<div class="dock">
<div id="dock-phone" class="dock-item" style="background-color: #4CAF50;" onclick="navigateTo('dialer')"><img src="../../icons/phone.tga"/></div>
<div id="dock-messages" class="dock-item" style="background-color: #2196F3;" onclick="navigateTo('messages')"><img src="../../icons/message.tga"/></div>
<div id="dock-contacts" class="dock-item" style="background-color: #FF9800;" onclick="navigateTo('contacts')"><img src="../../icons/contacts.tga"/></div>
<div id="dock-browser" class="dock-item" style="background-color: #F44336;" onclick="navigateTo('browser')"><img src="../../icons/browser.tga"/></div>
</div>
</body>
</rml>