Skip to content

Commit 40b8508

Browse files
committed
refactor: remove presets section and update related content
1 parent 29aa7b4 commit 40b8508

File tree

1 file changed

+2
-217
lines changed

1 file changed

+2
-217
lines changed

src/routes/+page.svelte

Lines changed: 2 additions & 217 deletions
Original file line numberDiff line numberDiff line change
@@ -23,30 +23,7 @@
2323
setTimeout(() => (copied = ''), 2000);
2424
}
2525
26-
const presets = [
27-
{
28-
id: 'minimal',
29-
name: 'minimal',
30-
icon: '🎯',
31-
description: 'CLI essentials for servers, containers, or minimalists. Fast and lightweight.',
32-
tools: ['ripgrep', 'fd', 'bat', 'fzf', 'lazygit', 'gh']
33-
},
34-
{
35-
id: 'developer',
36-
name: 'developer',
37-
icon: '',
38-
badge: 'Recommended',
39-
description: 'Ready-to-code Mac setup. Everything you need to start building immediately.',
40-
tools: ['node', 'go', 'docker', 'VS Code', 'Chrome', 'OrbStack']
41-
},
42-
{
43-
id: 'full',
44-
name: 'full',
45-
icon: '🌟',
46-
description: 'Complete dev environment with languages, DevOps, databases, and AI tools.',
47-
tools: ['python', 'rustup', 'kubectl', 'terraform', 'ollama', 'Cursor']
48-
}
49-
];
26+
5027
</script>
5128

5229
<svelte:head>
@@ -195,7 +172,7 @@
195172
<div class="step">
196173
<div class="step-number">2</div>
197174
<h3>Pick your tools</h3>
198-
<p>Choose a preset or use the interactive TUI to toggle exactly what you want.</p>
175+
<p>Use the interactive TUI to pick a preset or toggle exactly what you want.</p>
199176
</div>
200177
<div class="step">
201178
<div class="step-number">3</div>
@@ -210,43 +187,7 @@
210187
</div>
211188
</section>
212189

213-
<section class="presets-section">
214-
<div class="section-header">
215-
<h2 class="section-title">Choose Your Preset</h2>
216-
<p class="section-subtitle">Start with a preset, customize with the interactive selector</p>
217-
</div>
218-
<div class="presets-container">
219-
{#each presets as preset}
220-
<button
221-
class="preset-card"
222-
class:featured={preset.id === 'developer'}
223-
class:copied={copied === preset.id}
224-
onclick={() => copyCommand(`curl -fsSL https://openboot.dev/install.sh | bash -s -- --preset ${preset.id}`, preset.id)}
225-
>
226-
<div class="preset-icon">{preset.icon}</div>
227-
<div class="preset-header">
228-
<h3>
229-
{preset.name}
230-
{#if preset.badge}
231-
<span class="badge">{preset.badge}</span>
232-
{/if}
233-
</h3>
234-
</div>
235-
<p>{preset.description}</p>
236-
<div class="preset-tools">
237-
{#each preset.tools as tool}
238-
<span>{tool}</span>
239-
{/each}
240-
</div>
241-
<div class="command-preview">
242-
<span class="cmd">curl ... | bash -s -- --preset {preset.id}</span>
243-
<span class="hint">{copied === preset.id ? 'Copied!' : 'Click to copy'}</span>
244-
</div>
245-
</button>
246-
{/each}
247-
</div>
248190

249-
</section>
250191
</div>
251192
</main>
252193

@@ -714,158 +655,6 @@
714655
margin: 0;
715656
}
716657
717-
/* ── Presets Section ──────────────────────────────── */
718-
719-
.presets-section {
720-
margin-bottom: 20px;
721-
}
722-
723-
.section-header {
724-
text-align: center;
725-
margin-bottom: 40px;
726-
}
727-
728-
.section-title {
729-
font-size: 1.75rem;
730-
font-weight: 700;
731-
margin-bottom: 12px;
732-
letter-spacing: -0.02em;
733-
}
734-
735-
.section-subtitle {
736-
color: var(--text-secondary);
737-
font-size: 1rem;
738-
}
739-
740-
.presets-container {
741-
display: grid;
742-
grid-template-columns: repeat(3, 1fr);
743-
gap: 16px;
744-
}
745-
746-
.preset-card {
747-
background: var(--bg-secondary);
748-
border: 1px solid var(--border);
749-
border-radius: 16px;
750-
padding: 28px;
751-
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
752-
position: relative;
753-
overflow: hidden;
754-
cursor: pointer;
755-
text-align: left;
756-
}
757-
758-
.preset-card:hover {
759-
border-color: var(--border-hover);
760-
transform: translateY(-4px);
761-
box-shadow: 0 12px 40px rgba(0, 0, 0, 0.2), 0 0 0 1px var(--border-hover);
762-
}
763-
764-
.preset-card.featured {
765-
background: linear-gradient(135deg, var(--bg-secondary) 0%, rgba(34, 197, 94, 0.06) 100%);
766-
border-color: rgba(34, 197, 94, 0.3);
767-
}
768-
769-
.preset-card.featured:hover {
770-
border-color: rgba(34, 197, 94, 0.5);
771-
box-shadow: 0 12px 40px rgba(0, 0, 0, 0.2), 0 0 20px rgba(34, 197, 94, 0.08);
772-
}
773-
774-
.preset-card.copied {
775-
border-color: var(--accent);
776-
box-shadow: 0 0 16px rgba(34, 197, 94, 0.15);
777-
}
778-
779-
.preset-icon {
780-
width: 48px;
781-
height: 48px;
782-
border-radius: 12px;
783-
display: flex;
784-
align-items: center;
785-
justify-content: center;
786-
font-size: 1.5rem;
787-
margin-bottom: 16px;
788-
background: rgba(255, 255, 255, 0.05);
789-
border: 1px solid rgba(255, 255, 255, 0.08);
790-
}
791-
792-
.preset-header h3 {
793-
font-size: 1.1rem;
794-
font-weight: 600;
795-
display: flex;
796-
align-items: center;
797-
gap: 10px;
798-
margin-bottom: 8px;
799-
}
800-
801-
.badge {
802-
font-size: 0.6rem;
803-
padding: 3px 8px;
804-
background: var(--accent);
805-
color: #000;
806-
border-radius: 20px;
807-
font-weight: 700;
808-
text-transform: uppercase;
809-
letter-spacing: 0.04em;
810-
}
811-
812-
.preset-card p {
813-
color: var(--text-secondary);
814-
font-size: 0.875rem;
815-
margin-bottom: 16px;
816-
line-height: 1.5;
817-
}
818-
819-
.preset-tools {
820-
display: flex;
821-
flex-wrap: wrap;
822-
gap: 6px;
823-
}
824-
825-
.preset-tools span {
826-
font-family: 'JetBrains Mono', monospace;
827-
font-size: 0.7rem;
828-
padding: 4px 10px;
829-
background: var(--bg-tertiary);
830-
border: 1px solid var(--border);
831-
border-radius: 20px;
832-
color: var(--text-secondary);
833-
transition: all 0.2s;
834-
}
835-
836-
.preset-card:hover .preset-tools span {
837-
border-color: var(--border-hover);
838-
}
839-
840-
.command-preview {
841-
position: absolute;
842-
bottom: 0;
843-
left: 0;
844-
right: 0;
845-
padding: 12px 20px;
846-
background: linear-gradient(to top, rgba(0, 0, 0, 0.95) 0%, rgba(0, 0, 0, 0.8) 100%);
847-
font-family: 'JetBrains Mono', monospace;
848-
font-size: 0.7rem;
849-
color: var(--accent);
850-
opacity: 0;
851-
transform: translateY(100%);
852-
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
853-
border-radius: 0 0 16px 16px;
854-
display: flex;
855-
align-items: center;
856-
justify-content: space-between;
857-
}
858-
859-
.preset-card:hover .command-preview {
860-
opacity: 1;
861-
transform: translateY(0);
862-
}
863-
864-
.command-preview .hint {
865-
color: var(--text-muted);
866-
font-size: 0.65rem;
867-
}
868-
869658
/* ── Footer ───────────────────────────────────────── */
870659
871660
footer {
@@ -975,10 +764,6 @@
975764
font-size: 1.75rem;
976765
}
977766
978-
.presets-container {
979-
grid-template-columns: 1fr;
980-
}
981-
982767
.install-command code {
983768
font-size: 0.7rem;
984769
}

0 commit comments

Comments
 (0)