Skip to content

Commit 2a15c78

Browse files
committed
calculator
1 parent 8df0008 commit 2a15c78

File tree

5 files changed

+27
-49
lines changed

5 files changed

+27
-49
lines changed

.icarukTime.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
{
2-
"idleHeartbeats": 15080,
3-
"navigatingHeartbeats": 3374,
4-
"totalCodingHeartbeats": 20378,
2+
"idleHeartbeats": 15229,
3+
"navigatingHeartbeats": 3444,
4+
"totalCodingHeartbeats": 20757,
55
"languageHeartbeats": {
66
"jsonc": 47,
77
"toml": 3790,
8-
"markdown": 11824,
8+
"markdown": 12203,
99
"html": 3210,
1010
"scminput": 1111,
1111
"yaml": 17,
@@ -55,7 +55,7 @@
5555
"layouts/shortcodes/qr.html": 92,
5656
"content/posts/constructor_in_rust/index.md": 841,
5757
"extension-output-mkxml.vscode-filesize-#1-filesize": 210,
58-
"content/test/calculator/index.md": 398,
58+
"content/test/calculator/index.md": 777,
5959
"Untitled-1": 121
6060
}
6161
}
File renamed without changes.

content/test/calculator/iced_test-7afbea151ae2bbad_bg.wasm renamed to content/test/calculator/iced_test-b5aab44a424fdba5_bg.wasm

5.76 MB
Binary file not shown.

content/test/calculator/index.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,12 @@
55
<meta name="viewport" content="width=device-width, initial-scale=1" />
66
<title>Iced_test - Iced</title>
77
<base href="/" />
8-
<link rel="modulepreload" href="/iced_test-7afbea151ae2bbad.js" crossorigin="anonymous" integrity="sha384-SQ7lnJftC/gepu76qQlEWlVU7ucPiO01Ii3Z0Kis58Vd/eErV/5EY9LFIFxDvV/F"><link rel="preload" href="/iced_test-7afbea151ae2bbad_bg.wasm" crossorigin="anonymous" integrity="sha384-ztTxHOzHJ50sSBSjswYsD4GO2ZmqU9axYu66OCrhleUAFTq9EkAkBS3ScqOFxMnL" as="fetch" type="application/wasm"></head>
8+
<link rel="modulepreload" href="/iced_test-b5aab44a424fdba5.js" crossorigin="anonymous" integrity="sha384-SQ7lnJftC/gepu76qQlEWlVU7ucPiO01Ii3Z0Kis58Vd/eErV/5EY9LFIFxDvV/F"><link rel="preload" href="/iced_test-b5aab44a424fdba5_bg.wasm" crossorigin="anonymous" integrity="sha384-YRI8jSbmlyeG8nYtlibc9JNLjURWwAjkw/EMEFEa110o1m1bEdcpwYZd+ZULTSWc" as="fetch" type="application/wasm"></head>
99
<body>
1010

1111
<script type="module">
12-
import init, * as bindings from '/iced_test-7afbea151ae2bbad.js';
13-
const wasm = await init({ module_or_path: '/iced_test-7afbea151ae2bbad_bg.wasm' });
12+
import init, * as bindings from '/iced_test-b5aab44a424fdba5.js';
13+
const wasm = await init({ module_or_path: '/iced_test-b5aab44a424fdba5_bg.wasm' });
1414

1515

1616
window.wasmBindings = bindings;

content/test/calculator/index.md

Lines changed: 19 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -9,51 +9,29 @@ description = "Just a simple calculator made with Rust + Iced"
99
image = "thumbnail.png"
1010
+++
1111

12-
This is a Rust calculator built with Iced UI running in WebAssembly.
13-
14-
<div style="text-align: center; margin: 40px 0;">
15-
<button id="calc-button" style="padding: 15px 30px; font-size: 18px; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; border: none; border-radius: 8px; cursor: pointer; box-shadow: 0 4px 15px rgba(0,0,0,0.2); transition: all 0.3s ease;">
16-
Launch Calculator
17-
</button>
18-
</div>
19-
20-
<div id="calculator-container" style="display: none; width: 100%; height: 600px; border: 1px solid #ccc; margin: 20px 0;"></div>
12+
<div id="calculator-frame" style="width: 400px; height: 500px; border: 2px solid #ddd; border-radius: 8px; margin: 20px auto; overflow: hidden; box-shadow: 0 4px 6px rgba(0,0,0,0.1); background: white;"></div>
2113

2214
<script type="module">
2315
import init, * as bindings from './iced_test-7afbea151ae2bbad.js';
2416

25-
let calcInitialized = false;
26-
27-
document.getElementById('calc-button').addEventListener('click', async () => {
28-
if (!calcInitialized) {
29-
const container = document.getElementById('calculator-container');
30-
container.style.display = 'block';
31-
32-
try {
33-
const wasm = await init({ module_or_path: './iced_test-7afbea151ae2bbad_bg.wasm' });
34-
window.wasmBindings = bindings;
35-
dispatchEvent(new CustomEvent("TrunkApplicationStarted", {detail: {wasm}}));
36-
calcInitialized = true;
37-
} catch (error) {
38-
console.error('Failed to load calculator:', error);
39-
container.innerHTML = '<p style="color: red; text-align: center;">Failed to load calculator. Please check console for details.</p>';
17+
// Initialize calculator immediately
18+
try {
19+
const wasm = await init({ module_or_path: './iced_test-7afbea151ae2bbad_bg.wasm' });
20+
window.wasmBindings = bindings;
21+
dispatchEvent(new CustomEvent("TrunkApplicationStarted", {detail: {wasm}}));
22+
23+
// Move the calculator canvas into our frame
24+
setTimeout(() => {
25+
const canvas = document.querySelector('canvas');
26+
const frame = document.getElementById('calculator-frame');
27+
if (canvas && frame) {
28+
frame.appendChild(canvas);
4029
}
41-
}
42-
});
43-
</script>
44-
45-
<style>
46-
#calc-button:hover {
47-
transform: translateY(-2px);
48-
box-shadow: 0 6px 20px rgba(0,0,0,0.3);
49-
}
50-
51-
#calc-button:active {
52-
transform: translateY(0);
30+
}, 100);
31+
} catch (error) {
32+
console.error('Failed to load calculator:', error);
33+
document.getElementById('calculator-frame').innerHTML = '<p style="color: red; text-align: center; padding: 20px;">Failed to load calculator. Please check console for details.</p>';
5334
}
35+
</script>
5436

55-
#calculator-container {
56-
background: #f5f5f5;
57-
border-radius: 8px;
58-
}
59-
</style>
37+
This is a Rust calculator built with Iced UI running in WebAssembly.

0 commit comments

Comments
 (0)