diff --git a/frontend/app/package.json b/frontend/app/package.json index 86f86445..b8c389d3 100644 --- a/frontend/app/package.json +++ b/frontend/app/package.json @@ -96,7 +96,7 @@ "jsonpath-plus": "6.0.1", "leaflet": "1.9.3", "leaflet.markercluster": "1.5.3", - "material-symbols": "0.4.1", + "material-symbols": "0.10.0", "moment": "2.29.4", "ngx-logger": "5.0.12", "ngx-markdown": "13.1.0", diff --git a/frontend/app/src/app/modules/data/data-icon.config.ts b/frontend/app/src/app/modules/data/data-icon.config.ts index 11d44438..81bad882 100644 --- a/frontend/app/src/app/modules/data/data-icon.config.ts +++ b/frontend/app/src/app/modules/data/data-icon.config.ts @@ -1,16 +1,16 @@ /* - * Copyright (C) 2022 StApps - * This program is free software: you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the Free - * Software Foundation, version 3. + * Copyright (C) 2023 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. * - * You should have received a copy of the GNU General Public License along with - * this program. If not, see . + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . */ import {SCThingType} from '@openstapps/core'; import {SCIcon} from '../../util/ion-icon/icon'; @@ -21,7 +21,7 @@ export const DataIcons: Record = { 'article': SCIcon`article`, 'book': SCIcon`book`, 'building': SCIcon`location_city`, - 'certification': SCIcon`fact_check`, + 'certification': SCIcon`contract`, 'catalog': SCIcon`inventory_2`, 'contact point': SCIcon`contact_page`, 'course of study': SCIcon`school`, diff --git a/frontend/app/src/app/modules/data/data.module.ts b/frontend/app/src/app/modules/data/data.module.ts index 2fa72694..8f04c248 100644 --- a/frontend/app/src/app/modules/data/data.module.ts +++ b/frontend/app/src/app/modules/data/data.module.ts @@ -101,6 +101,7 @@ import {browserFactory, SimpleBrowser} from '../../util/browser.factory'; import {StappsRatingComponent} from './elements/rating.component'; import {DishCharacteristicsComponent} from './types/dish/dish-characteristics.component'; import {SkeletonListComponent} from './list/skeleton-list.component'; +import {CertificationsInDetailComponent} from './elements/certifications-in-detail.component'; /** * Module for handling data @@ -113,6 +114,7 @@ import {SkeletonListComponent} from './list/skeleton-list.component'; AddressDetailComponent, CatalogDetailContentComponent, CatalogListItemComponent, + CertificationsInDetailComponent, DishCharacteristicsComponent, DataDetailComponent, DataDetailContentComponent, diff --git a/frontend/app/src/app/modules/data/elements/certifications-in-detail.component.ts b/frontend/app/src/app/modules/data/elements/certifications-in-detail.component.ts new file mode 100644 index 00000000..72c06952 --- /dev/null +++ b/frontend/app/src/app/modules/data/elements/certifications-in-detail.component.ts @@ -0,0 +1,25 @@ +/* + * Copyright (C) 2023 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ +import {Component, Input} from '@angular/core'; +import {SCCertificationWithoutReferences} from '@openstapps/core'; + +@Component({ + selector: 'stapps-certifications-in-detail', + templateUrl: 'certifications-in-detail.html', + styleUrls: ['certifications-in-detail.scss'], +}) +export class CertificationsInDetailComponent { + @Input() certifications: SCCertificationWithoutReferences[] = []; +} diff --git a/frontend/app/src/app/modules/data/elements/certifications-in-detail.html b/frontend/app/src/app/modules/data/elements/certifications-in-detail.html new file mode 100644 index 00000000..af2cc55f --- /dev/null +++ b/frontend/app/src/app/modules/data/elements/certifications-in-detail.html @@ -0,0 +1,43 @@ + + + {{ 'data.types.certification.TITLE' | translate }} + +
+ + + + + + {{ 'name' | thingTranslate: cert }} + {{ 'description' | thingTranslate: cert }} + + + + +
+ + + +
+
diff --git a/frontend/app/src/app/modules/data/elements/certifications-in-detail.scss b/frontend/app/src/app/modules/data/elements/certifications-in-detail.scss new file mode 100644 index 00000000..565c6724 --- /dev/null +++ b/frontend/app/src/app/modules/data/elements/certifications-in-detail.scss @@ -0,0 +1,33 @@ +/*! + * Copyright (C) 2023 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + +.certification-list { + container-type: inline-size; + width: 100%; + height: fit-content; +} + +img { + cursor: pointer; + width: 25cqw; + max-width: 96px; + padding-inline-end: 4px; +} + +@media (prefers-color-scheme: dark) { + img { + filter: invert(1) hue-rotate(180deg) brightness(135%); + } +} diff --git a/frontend/app/src/app/modules/data/types/dish/dish-characteristics.html b/frontend/app/src/app/modules/data/types/dish/dish-characteristics.html index 05e3d3d5..89040309 100644 --- a/frontend/app/src/app/modules/data/types/dish/dish-characteristics.html +++ b/frontend/app/src/app/modules/data/types/dish/dish-characteristics.html @@ -13,14 +13,29 @@ ~ this program. If not, see . --> + + + + + + + +
+
{{ 'categories' | thingTranslate: item | join: ', ' | titlecase }}
diff --git a/frontend/app/src/app/modules/data/types/dish/dish-characteristics.scss b/frontend/app/src/app/modules/data/types/dish/dish-characteristics.scss index ed0b3f52..fcf41a2b 100644 --- a/frontend/app/src/app/modules/data/types/dish/dish-characteristics.scss +++ b/frontend/app/src/app/modules/data/types/dish/dish-characteristics.scss @@ -12,15 +12,22 @@ * You should have received a copy of the GNU General Public License along with * this program. If not, see . */ +$size: 16px; + ion-note { list-style: none; display: flex; flex-direction: row-reverse; + align-items: center; justify-content: flex-start; } abbr { - width: 16px; + height: $size; +} + +.mask-image { + width: $size; aspect-ratio: 1; background: var(--ion-color-medium); @@ -30,9 +37,18 @@ abbr { mask-position: center; mask-size: contain; mask-mode: alpha; - - + ion-label::after { - content: '•'; - margin-inline: var(--spacing-xs); - } +} + +img { + height: 100%; + background: var(--background-url); +} + +.sep { + display: none; + margin-inline: var(--spacing-xs); +} + +abbr + .sep { + display: revert; } diff --git a/frontend/app/src/app/modules/data/types/dish/dish-detail-content.component.ts b/frontend/app/src/app/modules/data/types/dish/dish-detail-content.component.ts index b370436a..a47fccf9 100644 --- a/frontend/app/src/app/modules/data/types/dish/dish-detail-content.component.ts +++ b/frontend/app/src/app/modules/data/types/dish/dish-detail-content.component.ts @@ -1,5 +1,5 @@ /* - * Copyright (C) 2018, 2019 StApps + * Copyright (C) 2023 StApps * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the Free * Software Foundation, version 3. @@ -24,8 +24,5 @@ import {SCDish} from '@openstapps/core'; templateUrl: 'dish-detail-content.html', }) export class DishDetailContentComponent { - /** - * TODO - */ @Input() item: SCDish; } diff --git a/frontend/app/src/app/modules/data/types/dish/dish-detail-content.html b/frontend/app/src/app/modules/data/types/dish/dish-detail-content.html index 438b8f0c..7228e06f 100644 --- a/frontend/app/src/app/modules/data/types/dish/dish-detail-content.html +++ b/frontend/app/src/app/modules/data/types/dish/dish-detail-content.html @@ -15,6 +15,10 @@ +