Skip to content

Commit 1f8cc5e

Browse files
fix: make spinner a pure loading indicator (#172)
1 parent 3043584 commit 1f8cc5e

66 files changed

Lines changed: 139 additions & 398 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

src/commands/api-keys/create.ts

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -97,19 +97,15 @@ Permissions:
9797

9898
await runCreate(
9999
{
100-
spinner: {
101-
loading: 'Creating API key...',
102-
success: 'API key created',
103-
fail: 'Failed to create API key',
104-
},
100+
loading: 'Creating API key...',
105101
sdkCall: (resend) =>
106102
resend.apiKeys.create({
107103
name,
108104
...(permission && { permission }),
109105
...(domainId && { domain_id: domainId }),
110106
}),
111107
onInteractive: (d) => {
112-
console.log(`\n ${pc.gray('Name:')} ${name}`);
108+
console.log(` ${pc.gray('Name:')} ${name}`);
113109
console.log(` ${pc.gray('ID:')} ${d.id}`);
114110
console.log(` ${pc.gray('Token:')} ${d.token}`);
115111
console.log(

src/commands/api-keys/delete.ts

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -36,13 +36,9 @@ can delete itself — the API does not prevent self-deletion.`,
3636
!!opts.yes,
3737
{
3838
confirmMessage: `Delete API key ${id}?\nAny services using this key will stop working.`,
39-
spinner: {
40-
loading: 'Deleting API key...',
41-
success: 'API key deleted',
42-
fail: 'Failed to delete API key',
43-
},
39+
loading: 'Deleting API key...',
4440
object: 'api-key',
45-
successMsg: 'API key deleted.',
41+
successMsg: 'API key deleted',
4642
sdkCall: (resend) => resend.apiKeys.remove(id),
4743
},
4844
globalOpts,

src/commands/api-keys/list.ts

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,7 @@ export const listApiKeysCommand = new Command('list')
2222
const globalOpts = cmd.optsWithGlobals() as GlobalOpts;
2323
await runList(
2424
{
25-
spinner: {
26-
loading: 'Fetching API keys...',
27-
success: 'API keys fetched',
28-
fail: 'Failed to list API keys',
29-
},
25+
loading: 'Fetching API keys...',
3026
sdkCall: (resend) => resend.apiKeys.list(),
3127
onInteractive: (list) => console.log(renderApiKeysTable(list.data)),
3228
},

src/commands/broadcasts/create.ts

Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -225,15 +225,7 @@ Scheduling:
225225

226226
await runCreate(
227227
{
228-
spinner: {
229-
loading: 'Creating broadcast...',
230-
success: opts.send
231-
? opts.scheduledAt
232-
? 'Broadcast scheduled'
233-
: 'Broadcast sent'
234-
: 'Broadcast created',
235-
fail: 'Failed to create broadcast',
236-
},
228+
loading: 'Creating broadcast...',
237229
sdkCall: (resend) =>
238230
resend.broadcasts.create({
239231
from,
@@ -252,14 +244,14 @@ Scheduling:
252244
onInteractive: (d) => {
253245
if (opts.send) {
254246
if (opts.scheduledAt) {
255-
console.log(`\nBroadcast scheduled: ${d.id}`);
247+
console.log(`Broadcast scheduled: ${d.id}`);
256248
} else {
257-
console.log(`\nBroadcast sent: ${d.id}`);
249+
console.log(`Broadcast sent: ${d.id}`);
258250
}
259251
} else {
260-
console.log(`\nBroadcast created: ${d.id}`);
252+
console.log(`Broadcast created: ${d.id}`);
261253
console.log('Status: draft');
262-
console.log(`\nSend it with: resend broadcasts send ${d.id}`);
254+
console.log(`Send it with: resend broadcasts send ${d.id}`);
263255
}
264256
},
265257
},

src/commands/broadcasts/delete.ts

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -35,13 +35,9 @@ Non-interactive: --yes is required to confirm deletion when stdin/stdout is not
3535
!!opts.yes,
3636
{
3737
confirmMessage: `Delete broadcast ${id}?\nIf scheduled, delivery will be cancelled.`,
38-
spinner: {
39-
loading: 'Deleting broadcast...',
40-
success: 'Broadcast deleted',
41-
fail: 'Failed to delete broadcast',
42-
},
38+
loading: 'Deleting broadcast...',
4339
object: 'broadcast',
44-
successMsg: 'Broadcast deleted.',
40+
successMsg: 'Broadcast deleted',
4541
sdkCall: (resend) => resend.broadcasts.remove(id),
4642
},
4743
globalOpts,

src/commands/broadcasts/get.ts

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,14 +28,10 @@ Use this command to retrieve the full broadcast payload.`,
2828
const id = await pickId(idArg, broadcastPickerConfig, globalOpts);
2929
await runGet(
3030
{
31-
spinner: {
32-
loading: 'Fetching broadcast...',
33-
success: 'Broadcast fetched',
34-
fail: 'Failed to fetch broadcast',
35-
},
31+
loading: 'Fetching broadcast...',
3632
sdkCall: (resend) => resend.broadcasts.get(id),
3733
onInteractive: (b) => {
38-
console.log(`\nBroadcast: ${b.id}`);
34+
console.log(`Broadcast: ${b.id}`);
3935
console.log(` Status: ${broadcastStatusIndicator(b.status)}`);
4036
console.log(` Name: ${b.name ?? '(untitled)'}`);
4137
console.log(` From: ${b.from ?? '—'}`);

src/commands/broadcasts/list.ts

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -49,11 +49,7 @@ To retrieve full details (html, from, subject), use: resend broadcasts get <id>`
4949
);
5050
await runList(
5151
{
52-
spinner: {
53-
loading: 'Fetching broadcasts...',
54-
success: 'Broadcasts fetched',
55-
fail: 'Failed to list broadcasts',
56-
},
52+
loading: 'Fetching broadcasts...',
5753
sdkCall: (resend) => resend.broadcasts.list(paginationOpts),
5854
onInteractive: (list) => {
5955
console.log(renderBroadcastsTable(list.data));

src/commands/broadcasts/send.ts

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -36,25 +36,17 @@ Scheduling:
3636
const globalOpts = cmd.optsWithGlobals() as GlobalOpts;
3737
const id = await pickId(idArg, sendBroadcastPickerConfig, globalOpts);
3838

39-
const successMsg = opts.scheduledAt
40-
? `\nBroadcast scheduled: ${id}`
41-
: `\nBroadcast sent: ${id}`;
42-
4339
await runWrite(
4440
{
45-
spinner: {
46-
loading: opts.scheduledAt
47-
? 'Scheduling broadcast...'
48-
: 'Sending broadcast...',
49-
success: opts.scheduledAt ? 'Broadcast scheduled' : 'Broadcast sent',
50-
fail: 'Failed to send broadcast',
51-
},
41+
loading: opts.scheduledAt
42+
? 'Scheduling broadcast...'
43+
: 'Sending broadcast...',
5244
sdkCall: (resend) =>
5345
resend.broadcasts.send(id, {
5446
...(opts.scheduledAt && { scheduledAt: opts.scheduledAt }),
5547
}),
5648
errorCode: 'send_error',
57-
successMsg,
49+
successMsg: opts.scheduledAt ? 'Broadcast scheduled' : 'Broadcast sent',
5850
permission: 'sending_access',
5951
},
6052
globalOpts,

src/commands/broadcasts/update.ts

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -137,11 +137,7 @@ Variable interpolation:
137137

138138
await runWrite(
139139
{
140-
spinner: {
141-
loading: 'Updating broadcast...',
142-
success: 'Broadcast updated',
143-
fail: 'Failed to update broadcast',
144-
},
140+
loading: 'Updating broadcast...',
145141
sdkCall: (resend) =>
146142
resend.broadcasts.update(id, {
147143
...(opts.from != null && { from: opts.from }),
@@ -151,7 +147,7 @@ Variable interpolation:
151147
...(opts.name != null && { name: opts.name }),
152148
}),
153149
errorCode: 'update_error',
154-
successMsg: `\nBroadcast updated: ${id}`,
150+
successMsg: `Broadcast updated: ${id}`,
155151
},
156152
globalOpts,
157153
);

src/commands/contact-properties/create.ts

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -103,14 +103,10 @@ built-in contact fields and may cause unexpected behavior in broadcasts.`,
103103

104104
await runCreate(
105105
{
106-
spinner: {
107-
loading: 'Creating contact property...',
108-
success: 'Contact property created',
109-
fail: 'Failed to create contact property',
110-
},
106+
loading: 'Creating contact property...',
111107
sdkCall: (resend) => resend.contactProperties.create(payload),
112108
onInteractive: (data) => {
113-
console.log(`\nContact property created: ${data.id}`);
109+
console.log(`Contact property created: ${data.id}`);
114110
},
115111
},
116112
globalOpts,

0 commit comments

Comments
 (0)