Skip to content

Commit a6c76d9

Browse files
committed
More icons
1 parent bf8937f commit a6c76d9

3 files changed

Lines changed: 75 additions & 48 deletions

File tree

frontend/src/assets/connectors/component-logo-map.tsx

Lines changed: 68 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -18,34 +18,63 @@ import { RedpandaUILetterIcon } from 'components/redpanda-ui/components/icons';
1818
import {
1919
Activity,
2020
Archive,
21+
ArrowRightLeft,
2122
Ban,
2223
BarChart3,
24+
Bomb,
25+
BookOpen,
26+
Boxes,
27+
Braces,
2328
CircleSlash,
29+
Columns3,
2430
Command,
2531
Cpu,
2632
Database,
33+
Eraser,
2734
File,
2835
FileArchive,
2936
FileInput,
37+
FileJson,
3038
FileOutput,
3139
FileSearch,
3240
FileSpreadsheet,
3341
FileText,
42+
Filter,
3443
Folder,
3544
FolderOpen,
45+
FolderUp,
3646
GitBranch,
47+
GitFork,
3748
Globe,
49+
HardDrive,
3850
Layers,
51+
LifeBuoy,
52+
ListOrdered,
53+
MemoryStick,
54+
Moon,
55+
MousePointer,
3956
Network,
4057
Package,
58+
PlusSquare,
59+
Radio,
60+
Regex,
4161
RefreshCw,
62+
Repeat,
63+
Replace,
64+
Reply,
65+
Ruler,
66+
Scissors,
4267
ScrollText,
4368
Server,
4469
Settings,
4570
Share2,
71+
Shield,
72+
Sparkles,
4673
Terminal,
4774
Type,
75+
Wand2,
4876
Workflow,
77+
Zap,
4978
} from 'lucide-react';
5079
import type { SVGProps } from 'react';
5180

@@ -136,35 +165,35 @@ export const componentLogoMap = {
136165
beanstalkd: BeanstalkdLogo,
137166
benchmark: Activity,
138167
bloblang: RedpandaLetterLogo,
139-
bounds_check: undefined,
140-
branch: undefined,
168+
bounds_check: Ruler,
169+
branch: GitFork,
141170
broker: Share2,
142171
cache: Database,
143172
cached: Database,
144173
cassandra: CassandraLogo,
145-
catch: undefined,
146-
chunker: undefined,
174+
catch: Shield,
175+
chunker: Scissors,
147176
cockroachdb_changefeed: SiCockroachlabs,
148177
cohere_chat: CohereLogo,
149178
cohere_embeddings: CohereLogo,
150179
cohere_rerank: CohereLogo,
151180
command: Command,
152181
compress: FileArchive,
153182
couchbase: CouchbaseLogo,
154-
crash: undefined,
183+
crash: Bomb,
155184
csv: FileSpreadsheet,
156185
cyborgdb: Database,
157186
cypher: SiNeo4j,
158187
decompress: FolderOpen,
159-
dedupe: undefined,
188+
dedupe: Filter,
160189
discord: DiscordLogo,
161190
drop: Ban,
162191
drop_on: Ban,
163-
dynamic: undefined,
192+
dynamic: Zap,
164193
elasticsearch_v8: ElasticsearchLogo,
165-
fallback: undefined,
194+
fallback: LifeBuoy,
166195
file: File,
167-
for_each: undefined,
196+
for_each: Repeat,
168197
gateway: Network,
169198
gcp_bigquery: GoogleCloudLogo,
170199
gcp_bigquery_select: GoogleCloudLogo,
@@ -174,7 +203,7 @@ export const componentLogoMap = {
174203
gcp_spanner_cdc: GoogleCloudLogo,
175204
gcp_vertex_ai_chat: GoogleCloudLogo,
176205
gcp_vertex_ai_embeddings: GoogleCloudLogo,
177-
generate: undefined,
206+
generate: Sparkles,
178207
git: GitBranch,
179208
google_drive_download: GoogleDriveLogo,
180209
google_drive_list_labels: GoogleDriveLogo,
@@ -188,11 +217,11 @@ export const componentLogoMap = {
188217
http_server: Server,
189218
iceberg: IcebergLogo,
190219
influxdb: InfluxDBLogo,
191-
inproc: undefined,
192-
insert_part: undefined,
220+
inproc: Cpu,
221+
insert_part: PlusSquare,
193222
jaeger: SiJaeger,
194223
javascript: JavaScriptLogo,
195-
jmespath: undefined,
224+
jmespath: Braces,
196225
jq: JqLogo,
197226
json_api: JSONLogo,
198227
json_array: JSONLogo,
@@ -204,18 +233,18 @@ export const componentLogoMap = {
204233
local: Folder,
205234
log: ScrollText,
206235
logger: ScrollText,
207-
lru: undefined,
208-
mapping: undefined,
236+
lru: HardDrive,
237+
mapping: ArrowRightLeft,
209238
memcached: MemcachedLogo,
210-
memory: undefined,
239+
memory: MemoryStick,
211240
metric: BarChart3,
212241
microsoft_sql_server_cdc: MicrosoftsqlserverLogo,
213242
mongodb: MongoDBLogo,
214243
mongodb_cdc: MongoDBLogo,
215244
mqtt: SiMqtt,
216-
msgpack: undefined,
217-
multilevel: undefined,
218-
mutation: undefined,
245+
msgpack: Package,
246+
multilevel: Boxes,
247+
mutation: Wand2,
219248
mysql_cdc: MySQLLogo,
220249
nanomsg: NanomsgLogo,
221250
nats: NatsLogo,
@@ -241,7 +270,7 @@ export const componentLogoMap = {
241270
oracledb_cdc: OracleLogo,
242271
otlp_grpc: OpenTelemetryLogo,
243272
otlp_http: OpenTelemetryLogo,
244-
parallel: undefined,
273+
parallel: Columns3,
245274
parquet: SiApacheparquet,
246275
parquet_decode: SiApacheparquet,
247276
parquet_encode: SiApacheparquet,
@@ -256,10 +285,10 @@ export const componentLogoMap = {
256285
pulsar: SiApachepulsar,
257286
pusher: PusherLogo,
258287
qdrant: QdrantLogo,
259-
questdb: undefined,
288+
questdb: Database,
260289
rate_limit: Activity,
261-
re_match: undefined,
262-
read_until: undefined,
290+
re_match: Regex,
291+
read_until: BookOpen,
263292
redis: RedisLogo,
264293
redis_hash: RedisLogo,
265294
redis_list: RedisLogo,
@@ -273,35 +302,35 @@ export const componentLogoMap = {
273302
redpanda_migrator: RedpandaLetterLogo,
274303
redpanda_migrator_bundle: RedpandaLetterLogo,
275304
redpanda_migrator_offsets: RedpandaLetterLogo,
276-
reject: undefined,
277-
reject_errored: undefined,
305+
reject: Ban,
306+
reject_errored: Ban,
278307
resource: Package,
279308
retry: RefreshCw,
280309
ristretto: SiDgraph,
281310
salesforce: SiSalesforce,
282311
salesforce_cdc: SiSalesforce,
283312
salesforce_graphql: SiSalesforce,
284313
salesforce_sink: SiSalesforce,
285-
schema_registry: undefined,
286-
schema_registry_decode: undefined,
287-
schema_registry_encode: undefined,
288-
select_parts: undefined,
314+
schema_registry: FileJson,
315+
schema_registry_decode: FileJson,
316+
schema_registry_encode: FileJson,
317+
select_parts: MousePointer,
289318
sentry_capture: SentryLogo,
290-
sequence: undefined,
291-
sftp: undefined,
292-
skip_bom: undefined,
319+
sequence: ListOrdered,
320+
sftp: FolderUp,
321+
skip_bom: Eraser,
293322
slack: SlackLogo,
294323
slack_post: SlackLogo,
295324
slack_reaction: SlackLogo,
296325
slack_thread: SlackLogo,
297326
slack_users: SlackLogo,
298-
sleep: undefined,
327+
sleep: Moon,
299328
snowflake_put: SnowflakeLogo,
300329
snowflake_streaming: SnowflakeLogo,
301330
socket: Network,
302331
socket_server: Server,
303332
spicedb_watch: AuthzedLogo,
304-
split: undefined,
333+
split: Scissors,
305334
splunk: SiSplunk,
306335
splunk_hec: SiSplunk,
307336
sql: Database,
@@ -319,20 +348,20 @@ export const componentLogoMap = {
319348
stdin: FileInput,
320349
stdout: FileOutput,
321350
subprocess: Terminal,
322-
switch: undefined,
323-
sync_response: undefined,
351+
switch: Replace,
352+
sync_response: Reply,
324353
tcp: Network,
325354
tcp_server: Server,
326355
text: Type,
327356
timeplus: Database,
328357
tracer: OpenTelemetryLogo,
329-
try: undefined,
358+
try: Shield,
330359
unarchive: FolderOpen,
331360
websocket: WebSocketLogo,
332-
while: undefined,
361+
while: Repeat,
333362
workflow: Workflow,
334363
xml: XmlLogo,
335-
zmq4: undefined,
364+
zmq4: Radio,
336365
} as const;
337366

338367
export type ComponentName = keyof typeof componentLogoMap;

frontend/src/components/pages/rp-connect/onboarding/connect-tiles.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -376,7 +376,7 @@ export const ConnectTiles = memo(
376376

377377
<div className="relative">
378378
<div
379-
className={cn('max-h-[50vh] min-h-[400px] overflow-y-auto py-4', tileWrapperClassName)}
379+
className={cn('max-h-[50vh] min-h-100 overflow-y-auto py-4', tileWrapperClassName)}
380380
onScroll={checkScrollable}
381381
ref={scrollContainerRef}
382382
>

frontend/src/components/pages/rp-connect/pipeline/list.tsx

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ import {
2222
getPaginationRowModel,
2323
useReactTable,
2424
} from '@tanstack/react-table';
25-
import { type ComponentName, componentLogoMap } from 'assets/connectors/component-logo-map';
25+
import type { ComponentName } from 'assets/connectors/component-logo-map';
2626
import { isSystemTag } from 'components/constants';
2727
import { Badge } from 'components/redpanda-ui/components/badge';
2828
import { BadgeGroup } from 'components/redpanda-ui/components/badge-group';
@@ -49,7 +49,7 @@ import { cn } from 'components/redpanda-ui/lib/utils';
4949
import { DeleteResourceAlertDialog, DeleteResourceMenuItem } from 'components/ui/delete-resource-alert-dialog';
5050
import { PIPELINE_STATE_OPTIONS, STARTABLE_STATES, STOPPABLE_STATES } from 'components/ui/pipeline/constants';
5151
import { isEmbedded, isFeatureFlagEnabled } from 'config';
52-
import { AlertCircle, MoreHorizontal } from 'lucide-react';
52+
import { AlertCircle, Box, MoreHorizontal } from 'lucide-react';
5353
import {
5454
DeletePipelineRequestSchema,
5555
StartPipelineRequestSchema,
@@ -318,14 +318,12 @@ type CreateColumnsOptions = {
318318
isDeletingPipeline: boolean;
319319
};
320320

321-
// Renders a connector-name badge with its service logo when one is registered
322-
// in `componentLogoMap`. Names without a mapping (custom processors, niche
323-
// connectors) just show the text — the badge layout stays identical.
321+
// Renders a connector-name badge with its service logo; falls back to a
322+
// generic Box icon when no specific logo is registered so badge layout is
323+
// consistent across all components.
324324
const ComponentBadge = ({ name }: { name: string }) => (
325325
<Badge variant="neutral-inverted">
326-
{componentLogoMap[name as ComponentName] ? (
327-
<ConnectorLogo className="size-3.5 shrink-0" name={name as ComponentName} />
328-
) : null}
326+
<ConnectorLogo className="size-3.5" fallback={Box} name={name as ComponentName} />
329327
{name}
330328
</Badge>
331329
);

0 commit comments

Comments
 (0)