From 9cdebed9796e3191f11d90fcbca1973de8cd1ec7 Mon Sep 17 00:00:00 2001 From: Andras Schmelczer Date: Sun, 15 Jun 2025 12:15:58 +0100 Subject: [PATCH] Generate example page --- examples/website/.gitignore | 3 + examples/website/index.html | 90 ++++++++++++++++ examples/website/style.css | 200 ++++++++++++++++++++++++++++++++++++ 3 files changed, 293 insertions(+) create mode 100644 examples/website/.gitignore create mode 100644 examples/website/index.html create mode 100644 examples/website/style.css diff --git a/examples/website/.gitignore b/examples/website/.gitignore new file mode 100644 index 0000000..8c5f1db --- /dev/null +++ b/examples/website/.gitignore @@ -0,0 +1,3 @@ +reconcile.js +reconcile_bg.wasm + diff --git a/examples/website/index.html b/examples/website/index.html new file mode 100644 index 0000000..1cc5266 --- /dev/null +++ b/examples/website/index.html @@ -0,0 +1,90 @@ + + + + + + 3-Way Text Merge + + + +
+

3-Way Text Merge

+
+
+
+ + +
+
+
+
+ + +
+
+ + +
+
+
+
+ +
+ + +
+
+
+
+
+ + + diff --git a/examples/website/style.css b/examples/website/style.css new file mode 100644 index 0000000..f17c315 --- /dev/null +++ b/examples/website/style.css @@ -0,0 +1,200 @@ +body { + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; + margin: 0; + padding: 20px; + background-color: #f0f2f5; + color: #333; +} + +.container { + max-width: 1200px; + margin: 0 auto; + display: flex; + flex-direction: column; + gap: 20px; +} + +h1 { + text-align: center; + color: #1c1e21; +} + +.diamond-layout { + display: grid; + grid-template-rows: auto auto auto; + grid-template-columns: 1fr 1fr 1fr; + gap: 20px 20px; + justify-items: center; + align-items: center; + margin-bottom: 20px; +} + +.diamond-row { + display: contents; +} + +.diamond-row-top .diamond-parent { + grid-column: 2 / 3; + grid-row: 1 / 2; +} +.diamond-row-middle .diamond-left { + grid-column: 1 / 2; + grid-row: 2 / 3; +} +.diamond-row-middle .diamond-right { + grid-column: 3 / 4; + grid-row: 2 / 3; +} +.diamond-row-bottom .diamond-bottom-content { + display: flex; + flex-direction: column; + align-items: center; + width: 100%; + gap: 10px; + grid-column: 2 / 3; + grid-row: 3 / 4; +} + +.diamond-row-bottom .diamond-result { + width: 100%; + max-width: 100%; + flex: 1 1 100%; +} + +.diamond-bottom-content { + width: 100%; + max-width: none; + display: flex; + flex-direction: column; + align-items: center; + gap: 10px; +} + +.diamond-bottom-content .diamond-result { + width: 100%; + max-width: 100%; +} + +.diamond-bottom-content textarea { + width: 100%; + max-width: 100%; +} + +.diamond-parent, .diamond-result { + grid-column: 1 / -1 !important; + width: 100%; + max-width: none; + min-width: 0; +} + +.diamond-left, .diamond-right { + min-width: 280px; + max-width: 500px; + width: 100%; +} + + +@media (max-width: 900px) { + .diamond-layout { + grid-template-columns: 1fr 1fr; + } + .diamond-row-top .diamond-parent, + .diamond-row-bottom .diamond-bottom-content { + grid-column: 1 / 3; + } + .diamond-row-middle .diamond-left { + grid-column: 1 / 2; + } + .diamond-row-middle .diamond-right { + grid-column: 2 / 3; + } +} + +@media (max-width: 600px) { + .diamond-layout { + grid-template-columns: 1fr; + gap: 10px; + } + .diamond-row-top .diamond-parent, + .diamond-row-middle .diamond-left, + .diamond-row-middle .diamond-right, + .diamond-row-bottom .diamond-bottom-content { + grid-column: 1 / 2; + } + .diamond-row-bottom .diamond-bottom-content { + align-items: stretch; + } + .diamond-result textarea, + .diamond-parent textarea, + .diamond-left textarea, + .diamond-right textarea { + font-size: 1rem; + min-height: 100px; + } + button { + font-size: 1.1rem; + padding: 14px 0; + width: 100%; + } + .container { + padding: 8px; + } +} + +@media (max-width: 600px) { + .diamond-layout { + grid-template-columns: 1fr; + gap: 10px; + } + .diamond-row-top .diamond-parent, + .diamond-row-middle .diamond-left, + .diamond-row-middle .diamond-right, + .diamond-row-bottom .diamond-result { + grid-column: 1 / 2; + } +} + +.text-area { + display: flex; + flex-direction: column; +} + +label { + margin-bottom: 5px; + font-weight: bold; +} + +textarea { + width: 100%; + padding: 10px; + border: 1px solid #ccc; + border-radius: 6px; + font-size: 1rem; + box-sizing: border-box; + resize: none; +} + +textarea[readonly] { + background-color: #e9ebee; +} + +button { + padding: 10px 20px; + border: none; + border-radius: 6px; + background-color: #007bff; + color: white; + font-size: 1rem; + cursor: pointer; + align-self: center; +} + +button:hover { + background-color: #0056b3; +} + +@media (max-width: 768px) { + .text-areas { + grid-template-columns: 1fr; + } +}