arthrod's picture
Update app.py
3a61167 verified
import marimo
__generated_with = "0.13.1-dev16"
app = marimo.App()
@app.cell
def _(mo):
import marimo as mo
mo.Html("""
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Our t:able Legal Journey</title>
<style>
body {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
background-color: #f8f9fa;
color: #333333;
display: flex;
justify-content: center;
align-items: center;
min-height: 100vh;
margin: 0;
padding: 20px;
box-sizing: border-box;
}
.container {
background-color: #ffffff;
padding: 30px 40px;
border-radius: 12px;
box-shadow: 0 6px 12px rgba(0, 0, 0, 0.08);
text-align: center;
max-width: 600px;
width: 100%;
overflow: hidden;
}
.page {
display: none;
animation: fadeIn 0.4s ease-in-out;
}
.page.active {
display: block;
}
@keyframes fadeIn {
from { opacity: 0; transform: translateY(8px); }
to { opacity: 1; transform: translateY(0); }
}
h2 {
color: #00A87E;
margin-bottom: 20px;
font-size: 1.8em;
font-weight: 600;
}
p {
font-size: 1.1em;
line-height: 1.6;
margin-bottom: 25px;
color: #555555;
}
svg {
max-width: 140px;
height: auto;
margin: 20px auto;
display: block;
}
.cat-gallery {
display: flex;
justify-content: space-around;
flex-wrap: wrap;
gap: 15px;
margin-bottom: 20px;
}
.cat-gallery svg {
max-width: 90px;
}
.navigation {
margin-top: 30px;
display: flex;
justify-content: space-between;
}
button {
background-color: #00A87E;
color: #ffffff;
border: none;
padding: 10px 22px;
border-radius: 8px;
font-family: inherit;
font-size: 1em;
font-weight: 500;
cursor: pointer;
transition: background-color 0.2s ease, transform 0.1s ease, box-shadow 0.1s ease;
box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}
button:hover {
background-color: #008a68;
box-shadow: 0 4px 8px rgba(0,0,0,0.07);
}
button:active {
transform: translateY(1px);
box-shadow: 0 1px 2px rgba(0,0,0,0.05);
}
button:disabled {
background-color: #b2e0d4;
color: #6c757d;
cursor: not-allowed;
opacity: 0.8;
box-shadow: none;
}
</style>
</head>
<body>
<div class="container">
<!-- Page 1 -->
<div id="page1" class="page active">
<h2>Our t:able Legal Journey</h2>
<p>When we thought legal would say "no", we were surprised by their creative "yes, and"!</p>
<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
<title>Legal Scale</title>
<line x1="50" y1="20" x2="50" y2="80" stroke="#6c757d" stroke-width="3"/>
<line x1="30" y1="30" x2="70" y2="30" stroke="#6c757d" stroke-width="3"/>
<circle cx="50" cy="20" r="5" fill="#00A87E"/>
<circle cx="30" cy="40" r="10" fill="#e6f7f3" stroke="#b2e0d4" stroke-width="1"/>
<circle cx="70" cy="40" r="10" fill="#e6f7f3" stroke="#b2e0d4" stroke-width="1"/>
<rect x="40" y="80" width="20" height="5" fill="#6c757d"/>
</svg>
</div>
""")
return
@app.cell
def _(mo):
import marimo as mo
# Page 2 Content
mo.Html("""
<!-- Page 2 -->
<div id="page2" class="page">
<h2>A t:able Conversation!</h2>
<p>But actually talking with them sparked creativity and opened doors to solutions!</p>
<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
<title>Idea Lightbulb</title>
<path d="M 50 10 C 30 10, 25 30, 25 50 C 25 70, 35 80, 40 85 L 60 85 C 65 80, 75 70, 75 50 C 75 30, 70 10, 50 10 Z" fill="#e6f7f3" stroke="#b2e0d4" stroke-width="1.5"/>
<path d="M 45 65 C 40 70, 60 70, 55 65 L 50 80" stroke="#6c757d" stroke-width="1" fill="none"/>
<rect x="40" y="84" width="20" height="5" fill="#cccccc" stroke="#a9a9a9" stroke-width="0.5"/>
<rect x="42" y="89" width="16" height="3" fill="#cccccc" stroke="#a9a9a9" stroke-width="0.5"/>
<rect x="44" y="92" width="12" height="3" fill="#cccccc" stroke="#a9a9a9" stroke-width="0.5"/>
<path d="M 60 20 L 65 25" stroke="#ffd700" stroke-width="2.5" stroke-linecap="round"/>
<path d="M 70 35 L 75 40" stroke="#ffd700" stroke-width="2.5" stroke-linecap="round"/>
<path d="M 70 55 L 75 60" stroke="#ffd700" stroke-width="2.5" stroke-linecap="round"/>
</svg>
</div>
""")
return
@app.cell
def _(mo):
import marimo as mo
# Page 3 Content
mo.Html("""
<!-- Page 3 -->
<div id="page3" class="page">
<h2>Bonus: Team Mascots!</h2>
<p>...and we discovered our legal partners appreciate cute companions too!</p>
<div class="cat-gallery">
<svg viewBox="0 0 50 50" xmlns="http://www.w3.org/2000/svg">
<title>Teal Accented Sitting Cat</title>
<path d="M 10 45 C 5 30, 15 15, 25 15 C 35 15, 45 30, 40 45 Z" fill="#e0e0e0" stroke="#aaaaaa" stroke-width="0.5"/>
<circle cx="25" cy="18" r="10" fill="#e0e0e0" stroke="#aaaaaa" stroke-width="0.5"/>
<path d="M 18 12 L 15 8 L 22 10 Z" fill="#e0e0e0" stroke="#aaaaaa" stroke-width="0.5"/>
<path d="M 32 12 L 35 8 L 28 10 Z" fill="#e0e0e0" stroke="#aaaaaa" stroke-width="0.5"/>
<circle cx="22" cy="18" r="1.2" fill="#00A87E"/>
<circle cx="28" cy="18" r="1.2" fill="#00A87E"/>
<path d="M 24 21 L 26 21 L 25 22 Z" fill="#6c757d"/>
<path d="M 40 40 Q 50 35, 45 25" stroke="#aaaaaa" stroke-width="2" fill="none" stroke-linecap="round"/>
</svg>
<svg viewBox="0 0 50 50" xmlns="http://www.w3.org/2000/svg">
<title>Grey Lounging Cat</title>
<path d="M 5 40 C 15 30, 35 30, 45 40 C 40 45, 10 45, 5 40 Z" fill="#d3d3d3" stroke="#a9a9a9" stroke-width="0.5"/>
<circle cx="15" cy="30" r="8" fill="#d3d3d3" stroke="#a9a9a9" stroke-width="0.5"/>
<path d="M 10 25 L 7 22 L 13 24 Z" fill="#d3d3d3" stroke="#a9a9a9" stroke-width="0.5"/>
<path d="M 20 25 L 23 22 L 17 24 Z" fill="#d3d3d3" stroke="#a9a9a9" stroke-width="0.5"/>
<path d="M 12 30 Q 14 28, 16 30" stroke="#606060" stroke-width="0.5" fill="none"/>
<path d="M 18 30 Q 20 28, 22 30" stroke="#606060" stroke-width="0.5" fill="none"/>
<path d="M 45 40 Q 50 38, 48 30" stroke="#a9a9a9" stroke-width="2" fill="none" stroke-linecap="round"/>
</svg>
<svg viewBox="0 0 50 50" xmlns="http://www.w3.org/2000/svg">
<title>Black and White Cat Face</title>
<circle cx="25" cy="25" r="15" fill="#ffffff" stroke="#cccccc" stroke-width="0.5"/>
<path d="M 20 10 Q 25 20, 30 10 C 28 5, 22 5, 20 10 Z" fill="#444444"/>
<path d="M 32 20 a 5 5 0 1 1 -10 0 a 5 5 0 1 1 10 0" fill="#444444"/>
<path d="M 15 15 L 10 10 L 20 13 Z" fill="#444444"/>
<path d="M 35 15 L 40 10 L 30 13 Z" fill="#ffffff" stroke="#cccccc" stroke-width="0.5"/>
<circle cx="20" cy="25" r="1.5" fill="#333333"/>
<circle cx="30" cy="25" r="1.5" fill="#333333"/>
<path d="M 24 29 L 26 29 L 25 30 Z" fill="#aaaaaa"/>
<path d="M 25 30 Q 23 32, 21 31" stroke="#666666" stroke-width="0.5" fill="none" stroke-linecap="round"/>
<path d="M 25 30 Q 27 32, 29 31" stroke="#666666" stroke-width="0.5" fill="none" stroke-linecap="round"/>
<path d="M 18 27 L 10 26" stroke="#bbbbbb" stroke-width="0.3" fill="none"/>
<path d="M 18 29 L 10 30" stroke="#bbbbbb" stroke-width="0.3" fill="none"/>
<path d="M 18 31 L 10 34" stroke="#bbbbbb" stroke-width="0.3" fill="none"/>
<path d="M 32 27 L 40 26" stroke="#bbbbbb" stroke-width="0.3" fill="none"/>
<path d="M 32 29 L 40 30" stroke="#bbbbbb" stroke-width="0.3" fill="none"/>
<path d="M 32 31 L 40 34" stroke="#bbbbbb" stroke-width="0.3" fill="none"/>
</svg>
</div>
</div>
""")
return
@app.cell
def _(mo):
import marimo as mo
# Page 4: Conclusion
mo.Html("""
<!-- Page 4: Conclusion -->
<div id="page4" class="page">
<h2>Collaboration Wins!</h2>
<p>Working together transforms challenges into opportunities. Legal can be a great partner!</p>
<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
<title>Handshake</title>
<path d="M 10 50 Q 20 40, 35 45 L 45 50 Q 55 55, 50 65 L 30 75 Q 15 70, 10 60 Z" fill="#f5e0c4" stroke="#6c757d" stroke-width="1"/>
<path d="M 35 45 Q 45 35, 55 45" fill="#f5e0c4" stroke="#6c757d" stroke-width="1"/>
<path d="M 90 50 Q 80 40, 65 45 L 55 50 Q 45 55, 50 65 L 70 75 Q 85 70, 90 60 Z" fill="#d1bea8" stroke="#5a4d41" stroke-width="1"/>
<path d="M 65 45 Q 55 35, 45 45" fill="#d1bea8" stroke="#5a4d41" stroke-width="1"/>
<rect x="5" y="60" width="10" height="15" fill="#e0e0e0" rx="2"/>
<rect x="85" y="60" width="10" height="15" fill="#f0f0f0" rx="2"/>
</svg>
</div>
<!-- Navigation Buttons -->
<div class="navigation">
<button id="prevBtn" disabled>Previous</button>
<button id="nextBtn">Next</button>
</div>
</div>
<script>
document.addEventListener('DOMContentLoaded', function() {
const pages = document.querySelectorAll('.page');
const prevBtn = document.getElementById('prevBtn');
const nextBtn = document.getElementById('nextBtn');
let currentPage = 0;
function showPage(pageIndex) {
pages.forEach((page, index) => {
if (index === pageIndex) {
page.classList.add('active');
} else {
page.classList.remove('active');
}
});
prevBtn.disabled = pageIndex === 0;
nextBtn.disabled = pageIndex === pages.length - 1;
}
prevBtn.addEventListener('click', function() {
if (currentPage > 0) {
currentPage--;
showPage(currentPage);
}
});
nextBtn.addEventListener('click', function() {
if (currentPage < pages.length - 1) {
currentPage++;
showPage(currentPage);
}
});
// Initialize
showPage(currentPage);
});
</script>
</body>
</html>
""")
return
@app.cell
def _():
import marimo as mo
return mo
if __name__ == "__main__":
app.run()