Skip to content

Commit 9d3ac38

Browse files
feat: complete rebranding, implement smart polling and webhook instructions UI
1 parent 00db2dc commit 9d3ac38

2 files changed

Lines changed: 91 additions & 2 deletions

File tree

backend/src/modules/sync/sync.processor.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ export class SyncProcessor {
2424

2525
@Process('sync-repo')
2626
async handleSyncJob(job: Job<SyncJobPayload>): Promise<void> {
27-
const { repoName: jobRepoName, repoFullName, eventType } = job.data;
2827
const org = this.configService.get<string>('GITHUB_ORG', 'c2siorg');
2928

3029
// Parse owner and repoName from fullName
@@ -40,7 +39,9 @@ export class SyncProcessor {
4039
// 1. Fetch repo metadata via GraphQL
4140
const repoData = await this.github.fetchSingleRepo(name, owner);
4241
if (!repoData) {
43-
this.logger.warn(`Repo "${owner}/${name}" not found on GitHub — skipping`);
42+
this.logger.warn(
43+
`Repo "${owner}/${name}" not found on GitHub — skipping`,
44+
);
4445
return;
4546
}
4647

frontend/src/app/features/repository-list/repository-list.component.css

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,7 @@ mat-card-content {
120120
margin-bottom: 16px;
121121
display: -webkit-box;
122122
-webkit-line-clamp: 2;
123+
line-clamp: 2;
123124
-webkit-box-orient: vertical;
124125
overflow: hidden;
125126
}
@@ -214,6 +215,93 @@ mat-card-content {
214215
flex: 1;
215216
}
216217

218+
.analyze-actions {
219+
display: flex;
220+
align-items: center;
221+
margin-bottom: 24px;
222+
margin-top: -12px;
223+
}
224+
225+
.webhook-toggle {
226+
font-size: 0.85rem;
227+
color: #1976d2;
228+
}
229+
230+
/* Webhook Panel Styles */
231+
.webhook-panel {
232+
background: white;
233+
border-radius: 8px;
234+
margin-bottom: 24px;
235+
border-left: 4px solid #1976d2;
236+
overflow: hidden;
237+
}
238+
239+
.panel-header {
240+
display: flex;
241+
align-items: center;
242+
padding: 12px 16px;
243+
background-color: #f8f9fa;
244+
border-bottom: 1px solid #eee;
245+
}
246+
247+
.panel-header mat-icon {
248+
margin-right: 8px;
249+
color: #1976d2;
250+
}
251+
252+
.panel-header h3 {
253+
margin: 0;
254+
font-size: 1rem;
255+
font-weight: 500;
256+
}
257+
258+
.panel-body {
259+
padding: 16px;
260+
}
261+
262+
.panel-body p {
263+
margin: 0 0 12px;
264+
font-size: 0.9rem;
265+
color: #666;
266+
}
267+
268+
.panel-body ol {
269+
margin: 0;
270+
padding-left: 24px;
271+
font-size: 0.9rem;
272+
}
273+
274+
.panel-body li {
275+
margin-bottom: 8px;
276+
}
277+
278+
.panel-body code {
279+
background: #f1f1f1;
280+
padding: 2px 6px;
281+
border-radius: 4px;
282+
font-family: monospace;
283+
font-size: 0.85rem;
284+
color: #d81b60;
285+
}
286+
287+
.info-note {
288+
display: flex;
289+
align-items: center;
290+
margin-top: 16px;
291+
padding: 8px 12px;
292+
background-color: #e3f2fd;
293+
border-radius: 4px;
294+
font-size: 0.85rem;
295+
color: #1565c0;
296+
}
297+
298+
.info-note mat-icon {
299+
font-size: 18px;
300+
width: 18px;
301+
height: 18px;
302+
margin-right: 8px;
303+
}
304+
217305
.analyze-btn {
218306
height: 56px;
219307
margin-top: -1.25em; /* Align with material input */

0 commit comments

Comments
 (0)