Remove "coming soon" label from Ruby tab and runner output
Seto Elkahfi committed
Jun 29, 2025 at 11:56 UTC
4b3687b99b46d17fbdda5f379eebdfd756beea11
1 file changed
+33
-32
app/components/TabbedRunner.tsx
+33
-32
@@ -1,4 +1,4 @@
1
-"use client"
1
+"use client";
2
3
import { JSX, useState } from "react";
4
@@ -15,7 +15,7 @@ const runnerSnippets = {
15
✔ Deployment complete.`,
16
Ruby: `$ smb
17
✔ Valid config
18
-✔ Ruby 🟥 runner detected (coming soon)
18
+✔ Ruby 🟥 runner detected
19
✔ Valid project
20
✔ Valid deployment setup
21
☱ Deploying > Use key path: ~/.ssh/id_11@smbcloud
@@ -32,31 +32,31 @@ const runnerSnippets = {
32
☱ Deploying > Building the app ✔
33
☲ Deploying > App restart ✔
34
☱ Deploying > App is running ✔
35
-✔ Deployment complete.`
35
+✔ Deployment complete.`,
36
};
37
38
export default function TabbedRunner() {
39
- const [tab, setTab] = useState<keyof typeof runnerSnippets>('NodeJS');
39
+ const [tab, setTab] = useState<keyof typeof runnerSnippets>("NodeJS");
40
const tabs: { key: keyof typeof runnerSnippets; label: string }[] = [
41
- { key: 'NodeJS', label: 'NodeJS' },
42
- { key: 'Swift', label: 'Swift' },
43
- { key: 'Ruby', label: 'Ruby (coming soon)' },
41
+ { key: "NodeJS", label: "NodeJS" },
42
+ { key: "Swift", label: "Swift" },
43
+ { key: "Ruby", label: "Ruby" },
44
];
45
return (
46
<div>
47
- <div style={{ display: 'flex', gap: 8, marginBottom: 8 }}>
48
- {tabs.map(t => (
47
+ <div style={{ display: "flex", gap: 8, marginBottom: 8 }}>
48
+ {tabs.map((t) => (
49
<button
50
key={t.key}
51
onClick={() => setTab(t.key)}
52
style={{
53
- border: 'none',
54
- background: tab === t.key ? '#222' : '#eee',
55
- color: tab === t.key ? '#fff' : '#222',
56
- padding: '4px 12px',
53
+ border: "none",
54
+ background: tab === t.key ? "#222" : "#eee",
55
+ color: tab === t.key ? "#fff" : "#222",
56
+ padding: "4px 12px",
57
borderRadius: 4,
58
- cursor: 'pointer',
59
- fontWeight: tab === t.key ? 'bold' : 'normal'
58
+ cursor: "pointer",
59
+ fontWeight: tab === t.key ? "bold" : "normal",
60
}}
61
>
62
{t.label}
@@ -64,23 +64,24 @@ export default function TabbedRunner() {
64
))}
65
</div>
66
<pre>
67
- {
68
- runnerSnippets[tab]
69
- .split('\n')
70
- .map((line, idx) => (
71
- <span key={idx}>
72
- {line.split('✔').reduce((acc, part, i, arr) => {
73
- if (i === arr.length - 1) return [...acc, part];
74
- return [
75
- ...acc,
76
- part,
77
- <span key={`check-${i}`} style={{ color: 'green' }}>✔</span>
78
- ];
79
- }, [] as (string | JSX.Element)[])}
80
- {'\n'}
81
- </span>
82
- ))
83
- }
67
+ {runnerSnippets[tab].split("\n").map((line, idx) => (
68
+ <span key={idx}>
69
+ {line.split("✔").reduce(
70
+ (acc, part, i, arr) => {
71
+ if (i === arr.length - 1) return [...acc, part];
72
+ return [
73
+ ...acc,
74
+ part,
75
+ <span key={`check-${i}`} style={{ color: "green" }}>
76
+ ✔
77
+ </span>,
78
+ ];
79
+ },
80
+ [] as (string | JSX.Element)[],
81
+ )}
82
+ {"\n"}
83
+ </span>
84
+ ))}
85
</pre>
86
</div>
87
);