|
14 | 14 | | "funkwhale"
|
15 | 15 | | "peertube"
|
16 | 16 | | "mattermost"
|
| 17 | + | "discourse" |
| 18 | + | "taiga" |
17 | 19 | | "owncloud";
|
18 | 20 | export let tab: TabsType = undefined;
|
19 | 21 |
|
|
33 | 35 | { label: "Caprover", value: "caprover" },
|
34 | 36 | { label: "FunkWhale", value: "funkwhale" },
|
35 | 37 | { label: "Peertube", value: "peertube" },
|
| 38 | + { label: "Mattermost", value: "mattermost" }, |
| 39 | + { label: "Discourse", value: "discourse" }, |
36 | 40 | { label: "Taiga", value: "taiga" },
|
37 | 41 | { label: "Owncloud", value: "owncloud" }
|
38 | 42 | ];
|
|
361 | 365 | message={err.message || err || "Failed to list Peertube"}
|
362 | 366 | />
|
363 | 367 | {/await}
|
| 368 | + |
364 | 369 | <!-- FunkWhale -->
|
365 | 370 | {:else if active === "funkwhale"}
|
366 | 371 | {#await list?.loadFunkwhale()}
|
|
403 | 408 | message={err.message || err || "Failed to list Funkwhale"}
|
404 | 409 | />
|
405 | 410 | {/await}
|
| 411 | + |
| 412 | + <!-- Taiga --> |
406 | 413 | {:else if active === "taiga"}
|
407 | 414 | {#await list.loadTaiga()}
|
408 | 415 | <Alert type="info" message="Listing Taiga Instances..." />
|
|
462 | 469 | />
|
463 | 470 | {/await}
|
464 | 471 |
|
| 472 | + <!-- Mattermost --> |
| 473 | + {:else if active === "mattermost"} |
| 474 | + {#await list?.loadMattermost()} |
| 475 | + <Alert type="info" message="Listing Mattermost..." /> |
| 476 | + {:then rows} |
| 477 | + {#if rows.length} |
| 478 | + <Table |
| 479 | + rowsData={rows} |
| 480 | + headers={_vmHeader} |
| 481 | + rows={_createVMRow(rows)} |
| 482 | + actions={[ |
| 483 | + { |
| 484 | + type: "info", |
| 485 | + label: "Show Details", |
| 486 | + click: (_, i) => (infoToShow = rows[i].details), |
| 487 | + disabled: () => removing !== null, |
| 488 | + loading: (i) => removing === rows[i].name, |
| 489 | + }, |
| 490 | + { |
| 491 | + type: "warning", |
| 492 | + label: "Visit", |
| 493 | + click: (_, i) => { |
| 494 | + const domain = rows[i].details.env.SITE_URL; |
| 495 | + window.open(domain, "_blank").focus(); |
| 496 | + }, |
| 497 | + disabled: (i) => { |
| 498 | + const env = rows[i].details.env; |
| 499 | + return !env || !env.SITE_URL || removing !== null; |
| 500 | + }, |
| 501 | + }, |
| 502 | + ]} |
| 503 | + on:selected={_onSelectRowHandler} |
| 504 | + /> |
| 505 | + {:else} |
| 506 | + <Alert type="info" message="No Mattermost found on this profile." /> |
| 507 | + {/if} |
| 508 | + {:catch err} |
| 509 | + <Alert |
| 510 | + type="danger" |
| 511 | + message={err.message || err || "Failed to list Mattermost"} |
| 512 | + /> |
| 513 | + {/await} |
| 514 | + |
| 515 | + <!-- Discourse --> |
| 516 | + {:else if active === "discourse"} |
| 517 | + {#await list?.loadDiscourse()} |
| 518 | + <Alert type="info" message="Listing Discourse..." /> |
| 519 | + {:then rows} |
| 520 | + {#if rows.length} |
| 521 | + <Table |
| 522 | + rowsData={rows} |
| 523 | + headers={_vmHeader} |
| 524 | + rows={_createVMRow(rows)} |
| 525 | + actions={[ |
| 526 | + { |
| 527 | + type: "info", |
| 528 | + label: "Show Details", |
| 529 | + click: (_, i) => (infoToShow = rows[i].details), |
| 530 | + disabled: () => removing !== null, |
| 531 | + loading: (i) => removing === rows[i].name, |
| 532 | + }, |
| 533 | + { |
| 534 | + type: "warning", |
| 535 | + label: "Visit", |
| 536 | + click: (_, i) => { |
| 537 | + const domain = rows[i].details.env.DISCOURSE_HOSTNAME; |
| 538 | + window.open("https://" + domain, "_blank").focus(); |
| 539 | + }, |
| 540 | + disabled: (i) => { |
| 541 | + const env = rows[i].details.env; |
| 542 | + return !env || !env.DISCOURSE_HOSTNAME || removing !== null; |
| 543 | + }, |
| 544 | + }, |
| 545 | + ]} |
| 546 | + on:selected={_onSelectRowHandler} |
| 547 | + /> |
| 548 | + {:else} |
| 549 | + <Alert type="info" message="No Discourses found on this profile." /> |
| 550 | + {/if} |
| 551 | + {:catch err} |
| 552 | + <Alert |
| 553 | + type="danger" |
| 554 | + message={err.message || err || "Failed to list Discourse"} |
| 555 | + /> |
| 556 | + {/await} |
| 557 | + |
465 | 558 | <!-- Owncloud -->
|
466 | 559 | {:else if active === "owncloud"}
|
467 | 560 | {#await list.loadOwncloud()}
|
|
0 commit comments