implement data model binding

This commit is contained in:
2026-01-16 08:12:11 +01:00
parent 67b337b84e
commit ac5ca2beb6
18 changed files with 1219 additions and 551 deletions

View File

@@ -4,7 +4,6 @@
<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/phone.lua"></script>
<title>Phone</title>
<style>
.dialer-screen {
@@ -105,7 +104,7 @@
}
</style>
</head>
<body class="dialer-screen">
<body class="dialer-screen" data-model="phone">
<!-- App Bar -->
<div class="app-bar">
<div class="btn-icon" onclick="goBack()"><img src="../icons/back.tga" style="width: 24px; height: 24px;"/></div>
@@ -114,69 +113,71 @@
<!-- Tabs -->
<div class="dialer-tabs">
<div class="dialer-tab" id="tab-keypad">Keypad</div>
<div class="dialer-tab active" id="tab-recent">Recent</div>
<div class="dialer-tab" id="tab-contacts">Contacts</div>
<div class="dialer-tab active" id="tab-keypad">Keypad</div>
<div class="dialer-tab" id="tab-recent">Recent</div>
<div class="dialer-tab" onclick="navigateTo('contacts')">Contacts</div>
</div>
<!-- Dial Display -->
<div class="dial-display" id="dial-display"></div>
<div class="dial-display">{{ dial_number }}</div>
<!-- Dial Pad -->
<div class="dial-pad">
<div class="dial-key" onclick="dialPress('1')">
<div class="dial-key" data-event-click="dial_press('1')">
<span class="dial-key-number">1</span>
<span class="dial-key-letters"></span>
</div>
<div class="dial-key" onclick="dialPress('2')">
<div class="dial-key" data-event-click="dial_press('2')">
<span class="dial-key-number">2</span>
<span class="dial-key-letters">ABC</span>
</div>
<div class="dial-key" onclick="dialPress('3')">
<div class="dial-key" data-event-click="dial_press('3')">
<span class="dial-key-number">3</span>
<span class="dial-key-letters">DEF</span>
</div>
<div class="dial-key" onclick="dialPress('4')">
<div class="dial-key" data-event-click="dial_press('4')">
<span class="dial-key-number">4</span>
<span class="dial-key-letters">GHI</span>
</div>
<div class="dial-key" onclick="dialPress('5')">
<div class="dial-key" data-event-click="dial_press('5')">
<span class="dial-key-number">5</span>
<span class="dial-key-letters">JKL</span>
</div>
<div class="dial-key" onclick="dialPress('6')">
<div class="dial-key" data-event-click="dial_press('6')">
<span class="dial-key-number">6</span>
<span class="dial-key-letters">MNO</span>
</div>
<div class="dial-key" onclick="dialPress('7')">
<div class="dial-key" data-event-click="dial_press('7')">
<span class="dial-key-number">7</span>
<span class="dial-key-letters">PQRS</span>
</div>
<div class="dial-key" onclick="dialPress('8')">
<div class="dial-key" data-event-click="dial_press('8')">
<span class="dial-key-number">8</span>
<span class="dial-key-letters">TUV</span>
</div>
<div class="dial-key" onclick="dialPress('9')">
<div class="dial-key" data-event-click="dial_press('9')">
<span class="dial-key-number">9</span>
<span class="dial-key-letters">WXYZ</span>
</div>
<div class="dial-key" onclick="dialPress('*')">
<div class="dial-key" data-event-click="dial_press('*')">
<span class="dial-key-number">*</span>
<span class="dial-key-letters"></span>
</div>
<div class="dial-key" onclick="dialPress('0')">
<div class="dial-key" data-event-click="dial_press('0')">
<span class="dial-key-number">0</span>
<span class="dial-key-letters">+</span>
</div>
<div class="dial-key" onclick="dialPress('#')">
<div class="dial-key" data-event-click="dial_press('#')">
<span class="dial-key-number">#</span>
<span class="dial-key-letters"></span>
</div>
</div>
<!-- Call Button -->
<!-- Call Actions -->
<div class="dial-actions">
<div class="dial-call-btn" onclick="makeCall()"><img src="../icons/call_small.tga" style="width: 32px; height: 32px;"/></div>
<div style="width: 56px;"></div>
<div class="dial-call-btn" data-event-click="make_call()"><img src="../icons/call_small.tga" style="width: 32px; height: 32px; pointer-events: none;"/></div>
<div class="btn-icon" data-event-click="dial_backspace()" style="width: 56px; height: 56px;"><img src="../icons/backspace.tga" style="width: 24px; height: 24px; pointer-events: none;"/></div>
</div>
<!-- Bottom Navigation -->