- 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
165 lines
4.7 KiB
Plaintext
165 lines
4.7 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="../../scripts/messages.lua"></script>
|
|
<title>Chat</title>
|
|
<style>
|
|
.chat-screen {
|
|
width: 100%;
|
|
height: 100%;
|
|
background-color: #121212;
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
|
|
.chat-header {
|
|
display: flex;
|
|
align-items: center;
|
|
padding: 8px 16px;
|
|
background-color: #1E1E1E;
|
|
}
|
|
|
|
.chat-avatar {
|
|
width: 48px;
|
|
height: 48px;
|
|
border-radius: 24px;
|
|
margin-right: 12px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
font-size: 20px;
|
|
color: #000000;
|
|
}
|
|
|
|
.chat-header-info {
|
|
flex: 1;
|
|
}
|
|
|
|
.chat-header-name {
|
|
font-size: 16px;
|
|
font-weight: 500;
|
|
color: #FFFFFF;
|
|
}
|
|
|
|
.chat-header-status {
|
|
font-size: 16px;
|
|
color: #4CAF50;
|
|
}
|
|
|
|
.chat-messages {
|
|
flex: 1;
|
|
overflow: auto;
|
|
padding: 16px;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 8px;
|
|
}
|
|
|
|
.message-bubble {
|
|
max-width: 75%;
|
|
padding: 12px 16px;
|
|
border-radius: 18px;
|
|
font-size: 18px;
|
|
line-height: 1.4;
|
|
}
|
|
|
|
.message-sent {
|
|
align-self: flex-end;
|
|
background-color: #BB86FC;
|
|
color: #000000;
|
|
border-bottom-right-radius: 4px;
|
|
}
|
|
|
|
.message-received {
|
|
align-self: flex-start;
|
|
background-color: #2D2D2D;
|
|
color: #FFFFFF;
|
|
border-bottom-left-radius: 4px;
|
|
}
|
|
|
|
.message-time {
|
|
font-size: 16px;
|
|
color: #666666;
|
|
margin-top: 4px;
|
|
text-align: right;
|
|
}
|
|
|
|
.message-time-received {
|
|
text-align: left;
|
|
}
|
|
|
|
.chat-input-bar {
|
|
display: flex;
|
|
align-items: center;
|
|
padding: 8px 16px;
|
|
background-color: #1E1E1E;
|
|
gap: 8px;
|
|
}
|
|
|
|
.chat-input {
|
|
flex: 1;
|
|
padding: 12px 18px;
|
|
background-color: #2D2D2D;
|
|
border-radius: 24px;
|
|
color: #FFFFFF;
|
|
font-size: 18px;
|
|
}
|
|
|
|
.chat-send-btn {
|
|
width: 56px;
|
|
height: 56px;
|
|
border-radius: 28px;
|
|
background-color: #BB86FC;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.chat-send-btn:hover {
|
|
background-color: #9C64FC;
|
|
}
|
|
|
|
.chat-send-btn img {
|
|
width: 28px;
|
|
height: 28px;
|
|
pointer-events: none;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body class="chat-screen">
|
|
<!-- Chat Header -->
|
|
<div class="app-bar">
|
|
<div class="app-bar-nav btn-icon" onclick="goBack()"><img src="../../icons/back.tga" style="width: 32px; height: 32px;"/></div>
|
|
<div class="chat-avatar" id="chat-avatar" style="background-color: #4CAF50;">J</div>
|
|
<div class="chat-header-info">
|
|
<div class="chat-header-name" id="chat-name">John Wilson</div>
|
|
<div class="chat-header-status">Online</div>
|
|
</div>
|
|
<div class="btn-icon"><img src="../../icons/phone.tga" style="width: 32px; height: 32px;"/></div>
|
|
<div class="btn-icon"><img src="../../icons/more.tga" style="width: 32px; height: 32px;"/></div>
|
|
</div>
|
|
|
|
<!-- Messages -->
|
|
<div class="chat-messages" id="chat-messages">
|
|
<div class="message-bubble message-received">Hey!</div>
|
|
<div class="message-bubble message-received">What are you up to?</div>
|
|
<div class="message-bubble message-sent">Not much, just working</div>
|
|
<div class="message-bubble message-received">Cool! There's a party at Mike's tonight</div>
|
|
<div class="message-bubble message-received">Hey, are you coming to the party tonight?</div>
|
|
</div>
|
|
|
|
<!-- Input Bar -->
|
|
<div class="chat-input-bar">
|
|
<div class="btn-icon"><img src="../../icons/add.tga" style="width: 32px; height: 32px;"/></div>
|
|
<input class="chat-input" type="text" placeholder="Type a message..." id="message-input"/>
|
|
<div class="chat-send-btn">
|
|
<img src="../../icons/send.tga"/>
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</rml>
|