Skip to content

Commit 4e3134e

Browse files
Merge pull request #74 from TryCli-Studio/dev
feat(ui): update landing page icons and fix docs layout
2 parents 709a30c + 181fb4a commit 4e3134e

7 files changed

Lines changed: 69 additions & 5099 deletions

File tree

client/src/components/limit.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ pub fn LimitReached() -> impl IntoView {
55
view! {
66
<div class="limit-container" style="display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100vh; width: 100%; padding: 20px; text-align: center; background: var(--bg-dark);">
77
<div style="max-width: 600px; padding: 40px; border: 1px solid var(--border); border-radius: 12px; background: var(--bg-panel); box-shadow: 0 20px 50px -10px rgba(0,0,0,0.5);">
8-
<div style="font-size: 4rem; margin-bottom: 20px;">"🛑"</div>
98
<h1 style="font-size: 2rem; font-weight: 800; margin-bottom: 1rem; color: var(--text-main);">
109
"Compute Limit Reached"
1110
</h1>

client/src/pages/docs.rs

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -236,10 +236,6 @@ curl -fsSL https://my-tool.com/install.sh | sh"</code></pre>
236236
<li><strong>"Ephemeral:"</strong>" All viewer sessions are temporary. As soon as the user closes the tab or the session times out, the container is destroyed and all data is wiped."</li>
237237
</ul>
238238
</section>
239-
240-
<div class="docs-footer">
241-
<p>"Need help? "<a href="https://github.com/TryCli-Studio/trycli/issues" target="_blank" rel="noopener noreferrer">"Open an issue on GitHub"</a>" or join our community."</p>
242-
</div>
243239
</main>
244240
</div>
245241
</div>

client/src/pages/home.rs

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -135,17 +135,23 @@ pub fn LandingPage() -> impl IntoView {
135135
<h2 class="section-title"><span class="text-gradient">"Key Features"</span></h2>
136136
<div class="features-grid">
137137
<article class="feature-card">
138-
<div class="icon-box">"🚀"</div>
138+
<div class="icon-box">
139+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"></path><polyline points="3.27 6.96 12 12.01 20.73 6.96"></polyline><line x1="12" y1="22.08" x2="12" y2="12"></line></svg>
140+
</div>
139141
<h3>"Instant Sandboxes"</h3>
140142
<p>"Every session launches a fresh, isolated Ubuntu container. No shared state, no conflicts, and automatic teardown."</p>
141143
</article>
142144
<article class="feature-card">
143-
<div class="icon-box">"📸"</div>
145+
<div class="icon-box">
146+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="16 18 22 12 16 6"></polyline><polyline points="8 6 2 12 8 18"></polyline></svg>
147+
</div>
144148
<h3>"Embed Everywhere"</h3>
145149
<p>"Snapshot your environment and embed it in docs, blogs, or wikis. Each embed launches a new isolated session per viewer."</p>
146150
</article>
147151
<article class="feature-card">
148-
<div class="icon-box">"📘"</div>
152+
<div class="icon-box">
153+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 19.5A2.5 2.5 0 0 1 6.5 17H20"></path><path d="M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z"></path></svg>
154+
</div>
149155
<h3>"Interactive Guides"</h3>
150156
<p>"Split-pane interface pairs a real-time terminal with a GitHub-flavored Markdown editor for step-by-step walkthroughs."</p>
151157
</article>
@@ -208,7 +214,7 @@ pub fn LandingPage() -> impl IntoView {
208214
</div>
209215
</div>
210216
<div class="footer-bottom">
211-
<span class="copyright">2025 TryCLI Studio. All rights reserved."</span><br/>
217+
<span class="copyright">2026 TryCLI Studio. All rights reserved."</span><br/>
212218
<span class="copyright">"Built with ❤️"</span>
213219
</div>
214220
</div>

client/styles/05-terminal.css

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,9 @@
2020
transition: opacity 0.2s;
2121
}
2222

23-
.dot.red { background: #ef4444; }
24-
.dot.yellow { background: #eab308; }
25-
.dot.green { background: #22c55e; }
23+
.dot.red { background: #ef4444; margin: 4px;}
24+
.dot.yellow { background: #eab308;}
25+
.dot.green { background: #22c55e; margin: 4px;}
2626

2727
.terminal-header:hover .dot {
2828
opacity: 1;

client/styles/07-landing.css

Lines changed: 52 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
position: relative;
1414
}
1515

16+
/* Subtle background grid */
1617
.landing-container::before {
1718
content: "";
1819
position: absolute;
@@ -21,12 +22,12 @@
2122
width: 100%;
2223
height: 100%;
2324
background-image:
24-
linear-gradient(rgba(255, 255, 255, 0.03) 1px, transparent 1px),
25-
linear-gradient(90deg, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
26-
background-size: 40px 40px;
25+
linear-gradient(rgba(255, 255, 255, 0.02) 1px, transparent 1px),
26+
linear-gradient(90deg, rgba(255, 255, 255, 0.02) 1px, transparent 1px);
27+
background-size: 50px 50px;
2728
z-index: -1;
28-
mask-image: radial-gradient(circle at center, black 40%, transparent 100%);
29-
-webkit-mask-image: radial-gradient(circle at center, black 40%, transparent 100%);
29+
mask-image: radial-gradient(circle at center, black 30%, transparent 80%);
30+
-webkit-mask-image: radial-gradient(circle at center, black 30%, transparent 80%);
3031
}
3132

3233
.landing-nav {
@@ -79,9 +80,10 @@
7980
}
8081

8182
.text-gradient {
82-
background: linear-gradient(to right, #ffffff, #888888);
83+
background: linear-gradient(to right, #ffffff, #9ca3af);
8384
-webkit-background-clip: text;
8485
-webkit-text-fill-color: transparent;
86+
background-clip: text;
8587
}
8688

8789
.hero-subtitle {
@@ -103,17 +105,17 @@
103105

104106
/* Section Styles */
105107
.section-features,
106-
.section-tech,
107108
.section-usage {
108-
padding: 80px 0;
109+
padding: 100px 0;
109110
border-bottom: 1px solid var(--border);
110111
position: relative;
112+
background: linear-gradient(to bottom, transparent, rgba(0,0,0,0.2));
111113
}
112114

113115
.section-title {
114116
font-size: 2.5rem;
115117
font-weight: 800;
116-
margin-bottom: 3rem;
118+
margin-bottom: 1rem;
117119
text-align: center;
118120
color: var(--text-main);
119121
letter-spacing: -0.03em;
@@ -132,32 +134,48 @@
132134
/* Features Grid */
133135
.features-grid {
134136
display: grid;
135-
grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
137+
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
136138
gap: 24px;
137139
}
138140

139141
.feature-card {
140-
background: rgba(255, 255, 255, 0.02);
142+
background: var(--bg-panel);
141143
border: 1px solid var(--border);
142144
padding: 2rem;
143145
border-radius: 12px;
144146
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
145147
display: flex;
146148
flex-direction: column;
147149
align-items: flex-start;
150+
position: relative;
151+
overflow: hidden;
148152
}
149153

154+
/* Refined Hover Effect */
150155
.feature-card:hover {
151156
transform: translateY(-5px);
152-
border-color: var(--accent);
153-
background: rgba(255, 255, 255, 0.04);
154-
box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.5);
157+
border-color: #52525b; /* Zinc-600 */
158+
background: #27272a; /* Zinc-800 */
159+
box-shadow: 0 10px 40px -10px rgba(0, 0, 0, 0.5);
155160
}
156161

162+
/* Icon Box for SVGs */
157163
.icon-box {
158-
font-size: 2rem;
164+
width: 48px;
165+
height: 48px;
166+
display: flex;
167+
align-items: center;
168+
justify-content: center;
169+
background: rgba(255, 255, 255, 0.05);
170+
border: 1px solid rgba(255, 255, 255, 0.1);
171+
border-radius: 10px;
159172
margin-bottom: 1.25rem;
160-
line-height: 1;
173+
color: var(--text-main);
174+
}
175+
176+
.feature-card:hover .icon-box {
177+
background: rgba(255, 255, 255, 0.1);
178+
color: white;
161179
}
162180

163181
.feature-card h3 {
@@ -174,6 +192,23 @@
174192
margin: 0;
175193
}
176194

195+
/* Usage Cases Specifics */
196+
.case-card {
197+
background: transparent;
198+
}
199+
200+
.case-header {
201+
display: flex;
202+
align-items: center;
203+
gap: 12px;
204+
margin-bottom: 12px;
205+
}
206+
207+
.case-header h3 {
208+
margin: 0;
209+
font-size: 1.1rem;
210+
}
211+
177212
/* Final CTA */
178213
.final-cta {
179214
display: flex;
@@ -210,8 +245,4 @@
210245
width: 100%;
211246
justify-content: center;
212247
}
213-
214-
.section-title {
215-
font-size: 2rem;
216-
}
217-
}
248+
}

client/styles/08-footer-docs.css

Lines changed: 4 additions & 96 deletions
Original file line numberDiff line numberDiff line change
@@ -91,99 +91,6 @@
9191
}
9292
}
9393

94-
/* ====================================
95-
FOOTER
96-
==================================== */
97-
98-
.landing-footer {
99-
background: #020202;
100-
padding: 3rem 0;
101-
margin-top: auto;
102-
border-top: 1px solid #1f1f22;
103-
width: 100%;
104-
}
105-
106-
.footer-container {
107-
max-width: 1100px;
108-
margin: 0 auto;
109-
padding: 0 24px;
110-
display: flex;
111-
flex-direction: column;
112-
gap: 2rem;
113-
}
114-
115-
.footer-top {
116-
display: flex;
117-
justify-content: space-between;
118-
align-items: flex-start;
119-
width: 100%;
120-
flex-wrap: wrap;
121-
gap: 20px;
122-
}
123-
124-
.footer-brand {
125-
display: flex;
126-
flex-direction: column;
127-
gap: 0.5rem;
128-
}
129-
130-
.brand-name {
131-
font-weight: 800;
132-
font-size: 1.2rem;
133-
color: white;
134-
}
135-
136-
.footer-brand p {
137-
margin: 0;
138-
color: var(--text-muted);
139-
font-size: 0.9rem;
140-
}
141-
142-
.footer-links {
143-
display: flex;
144-
gap: 24px;
145-
}
146-
147-
.footer-links a {
148-
color: var(--text-muted);
149-
text-decoration: none;
150-
font-size: 0.95rem;
151-
transition: color 0.2s;
152-
}
153-
154-
.footer-links a:hover {
155-
color: var(--text-main);
156-
}
157-
158-
.footer-bottom {
159-
border-top: 1px solid rgba(255, 255, 255, 0.05);
160-
padding-top: 1.5rem;
161-
text-align: center;
162-
}
163-
164-
.copyright {
165-
color: #52525b;
166-
font-size: 0.85rem;
167-
}
168-
169-
.brand-link {
170-
color: inherit;
171-
text-decoration: none;
172-
}
173-
174-
/* Mobile Responsive */
175-
@media (max-width: 768px) {
176-
.footer-top {
177-
flex-direction: column;
178-
align-items: center;
179-
text-align: center;
180-
}
181-
182-
.footer-brand {
183-
align-items: center;
184-
}
185-
}
186-
18794
/* ====================================
18895
DOCUMENTATION PAGE
18996
==================================== */
@@ -206,8 +113,8 @@
206113
.docs-layout {
207114
display: flex;
208115
flex: 1;
209-
max-width: 1400px;
210-
margin: 0 auto;
116+
/* max-width: 1400px;
117+
margin: 0 auto; */
211118
width: 100%;
212119
}
213120

@@ -275,9 +182,10 @@
275182
/* Documentation Content */
276183
.docs-content {
277184
flex: 1;
278-
max-width: 900px;
185+
max-width: 950px;
279186
padding: 60px 40px;
280187
line-height: 1.7;
188+
margin: 0 auto;
281189
}
282190

283191
.docs-content h1 {

0 commit comments

Comments
 (0)