1+ import { LitElement , html , css } from 'lit' ;
2+ import { pages } from 'build-time-data' ;
3+ import 'qwc/qwc-extension-link.js' ;
4+
5+ export class QwcGitHubAppCard extends LitElement {
6+
7+ static styles = css `
8+ .identity {
9+ display: flex;
10+ justify-content: flex-start;
11+ }
12+
13+ .description {
14+ padding-bottom: 10px;
15+ }
16+
17+ .logo {
18+ padding-bottom: 10px;
19+ margin-right: 5px;
20+ }
21+
22+ .card-content {
23+ color: var(--lumo-contrast-90pct);
24+ display: flex;
25+ flex-direction: column;
26+ justify-content: flex-start;
27+ padding: 2px 2px;
28+ height: 100%;
29+ }
30+
31+ .card-content slot {
32+ display: flex;
33+ flex-flow: column wrap;
34+ padding-top: 5px;
35+ }
36+ ` ;
37+
38+ static properties = {
39+ extensionName : { attribute : true } ,
40+ description : { attribute : true } ,
41+ guide : { attribute : true } ,
42+ namespace : { attribute : true } ,
43+ } ;
44+
45+
46+ constructor ( ) {
47+ super ( ) ;
48+ }
49+
50+ connectedCallback ( ) {
51+ super . connectedCallback ( ) ;
52+ }
53+
54+ render ( ) {
55+ return html `< div class ="card-content " slot ="content ">
56+ < div class ="identity ">
57+ < div class ="logo ">
58+ < img src ="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOTgiIGhlaWdodD0iOTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00OC44NTQgMEMyMS44MzkgMCAwIDIyIDAgNDkuMjE3YzAgMjEuNzU2IDEzLjk5MyA0MC4xNzIgMzMuNDA1IDQ2LjY5IDIuNDI3LjQ5IDMuMzE2LTEuMDU5IDMuMzE2LTIuMzYyIDAtMS4xNDEtLjA4LTUuMDUyLS4wOC05LjEyNy0xMy41OSAyLjkzNC0xNi40Mi01Ljg2Ny0xNi40Mi01Ljg2Ny0yLjE4NC01LjcwNC01LjQyLTcuMTctNS40Mi03LjE3LTQuNDQ4LTMuMDE1LjMyNC0zLjAxNS4zMjQtMy4wMTUgNC45MzQuMzI2IDcuNTIzIDUuMDUyIDcuNTIzIDUuMDUyIDQuMzY3IDcuNDk2IDExLjQwNCA1LjM3OCAxNC4yMzUgNC4wNzQuNDA0LTMuMTc4IDEuNjk5LTUuMzc4IDMuMDc0LTYuNi0xMC44MzktMS4xNDEtMjIuMjQzLTUuMzc4LTIyLjI0My0yNC4yODMgMC01LjM3OCAxLjk0LTkuNzc4IDUuMDE0LTEzLjItLjQ4NS0xLjIyMi0yLjE4NC02LjI3NS40ODYtMTMuMDM4IDAgMCA0LjEyNS0xLjMwNCAxMy40MjYgNS4wNTJhNDYuOTcgNDYuOTcgMCAwIDEgMTIuMjE0LTEuNjNjNC4xMjUgMCA4LjMzLjU3MSAxMi4yMTMgMS42MyA5LjMwMi02LjM1NiAxMy40MjctNS4wNTIgMTMuNDI3LTUuMDUyIDIuNjcgNi43NjMuOTcgMTEuODE2LjQ4NSAxMy4wMzggMy4xNTUgMy40MjIgNS4wMTUgNy44MjIgNS4wMTUgMTMuMiAwIDE4LjkwNS0xMS40MDQgMjMuMDYtMjIuMzI0IDI0LjI4MyAxLjc4IDEuNTQ4IDMuMzE2IDQuNDgxIDMuMzE2IDkuMTI2IDAgNi42LS4wOCAxMS44OTctLjA4IDEzLjUyNiAwIDEuMzA0Ljg5IDIuODUzIDMuMzE2IDIuMzY0IDE5LjQxMi02LjUyIDMzLjQwNS0yNC45MzUgMzMuNDA1LTQ2LjY5MUM5Ny43MDcgMjIgNzUuNzg4IDAgNDguODU0IDB6IiBmaWxsPSIjZmZmIi8+PC9zdmc+ "
59+ alt ="${ this . extensionName } "
60+ title ="${ this . extensionName } "
61+ width ="32 "
62+ height ="32 ">
63+ </ div >
64+ < div class ="description "> ${ this . description } </ div >
65+ </ div >
66+ ${ this . _renderCardLinks ( ) }
67+ </ div >
68+ ` ;
69+ }
70+
71+ _renderCardLinks ( ) {
72+ return html `${ pages . map ( page => html `
73+ < qwc-extension-link slot ="link "
74+ namespace ="${ this . namespace } "
75+ extensionName ="${ this . extensionName } "
76+ iconName ="${ page . icon } "
77+ displayName ="${ page . title } "
78+ staticLabel ="${ page . staticLabel } "
79+ dynamicLabel ="${ page . dynamicLabel } "
80+ streamingLabel ="${ page . streamingLabel } "
81+ path ="${ page . id } "
82+ ?embed =${ page . embed }
83+ externalUrl ="${ page . metadata . externalUrl } "
84+ webcomponent="${ page . componentLink } " >
85+ </ qwc-extension-link >
86+ ` ) } `;
87+ }
88+
89+ }
90+ customElements . define ( 'qwc-github-app-card' , QwcGitHubAppCard ) ;
0 commit comments