[yoga-19] our.specialities.component.tsx make image editable

This commit is contained in:
Roland Schneider 2025-08-26 21:50:12 +02:00
parent 054cb48e4c
commit a3e57f295f
8 changed files with 40 additions and 2 deletions

View File

@ -140,6 +140,9 @@
}, },
"right4": { "right4": {
"fields": ["*"] "fields": ["*"]
},
"image": {
"fields": ["name","mime","url"]
} }
} }
} }

View File

@ -51,6 +51,9 @@
}, },
"right4": { "right4": {
"fields": ["*"] "fields": ["*"]
},
"image": {
"fields": ["name","mime","url"]
} }
} }
}, },

View File

@ -1,6 +1,8 @@
import YogaImageComponent from "@/components/yoga.image.component"; import YogaImageComponent from "@/components/yoga.image.component";
import OurSpecialitiesItemComponent from "@/components/our.specialities.item.component"; import OurSpecialitiesItemComponent from "@/components/our.specialities.item.component";
import {YogaSpecialitiesComponent_Plain} from "@/types/generated-strapi-interfaces/api/yoga-specialities-component"; import {YogaSpecialitiesComponent_Plain} from "@/types/generated-strapi-interfaces/api/yoga-specialities-component";
import {StrapiFile} from "@/types/types";
import strapiApi from "@/api/strapi/strapi-api";
export interface Props{ export interface Props{
config: YogaSpecialitiesComponent_Plain config: YogaSpecialitiesComponent_Plain
@ -14,8 +16,14 @@ const OurSpecialitiesComponent = ({ config: { title,header,description,
right1, right1,
right2, right2,
right3, right3,
right4 right4,
image
} }: Props) => { } }: Props) => {
const imageFile: StrapiFile = image as StrapiFile;
const imageUrl = strapiApi.getImageUrl(imageFile?.url)
return ( return (
<section className="our_specialties_section"> <section className="our_specialties_section">
@ -43,7 +51,7 @@ const OurSpecialitiesComponent = ({ config: { title,header,description,
</div> </div>
<div className="col-lg-6 col-md-4 col-sm-6 col-xs-12 d-md-block d-none"> <div className="col-lg-6 col-md-4 col-sm-6 col-xs-12 d-md-block d-none">
<figure className="specialties_image mb-0"> <figure className="specialties_image mb-0">
<YogaImageComponent src="/assets/images/specialties_image.png" alt="" className="img-fluid" /> <YogaImageComponent src={imageUrl} alt="" className="img-fluid" />
</figure> </figure>
</div> </div>
<div className="col-lg-3 col-md-4 col-sm-6 col-xs-12" data-aos="fade-right"> <div className="col-lg-3 col-md-4 col-sm-6 col-xs-12" data-aos="fade-right">

View File

@ -1,7 +1,9 @@
// Interface automatically generated by schemas-to-ts // Interface automatically generated by schemas-to-ts
import { YogaSingleSpeciality } from './yoga-single-speciality'; import { YogaSingleSpeciality } from './yoga-single-speciality';
import { Media } from '../components/shared/Media';
import { YogaSingleSpeciality_Plain } from './yoga-single-speciality'; import { YogaSingleSpeciality_Plain } from './yoga-single-speciality';
import { Media_Plain } from '../components/shared/Media';
import { AdminPanelRelationPropertyModification } from '../common/AdminPanelRelationPropertyModification'; import { AdminPanelRelationPropertyModification } from '../common/AdminPanelRelationPropertyModification';
export interface YogaSpecialitiesComponent { export interface YogaSpecialitiesComponent {
@ -19,6 +21,7 @@ export interface YogaSpecialitiesComponent {
right2?: { data: YogaSingleSpeciality }; right2?: { data: YogaSingleSpeciality };
right3?: { data: YogaSingleSpeciality }; right3?: { data: YogaSingleSpeciality };
right4?: { data: YogaSingleSpeciality }; right4?: { data: YogaSingleSpeciality };
image?: { data: Media };
locale: string; locale: string;
localizations?: { data: YogaSpecialitiesComponent[] }; localizations?: { data: YogaSpecialitiesComponent[] };
}; };
@ -37,6 +40,7 @@ export interface YogaSpecialitiesComponent_Plain {
right2?: YogaSingleSpeciality_Plain; right2?: YogaSingleSpeciality_Plain;
right3?: YogaSingleSpeciality_Plain; right3?: YogaSingleSpeciality_Plain;
right4?: YogaSingleSpeciality_Plain; right4?: YogaSingleSpeciality_Plain;
image?: Media_Plain;
locale: string; locale: string;
localizations?: YogaSpecialitiesComponent_Plain[]; localizations?: YogaSpecialitiesComponent_Plain[];
} }
@ -55,6 +59,7 @@ export interface YogaSpecialitiesComponent_NoRelations {
right2?: number; right2?: number;
right3?: number; right3?: number;
right4?: number; right4?: number;
image?: number;
locale: string; locale: string;
localizations?: YogaSpecialitiesComponent[]; localizations?: YogaSpecialitiesComponent[];
} }
@ -73,6 +78,7 @@ export interface YogaSpecialitiesComponent_AdminPanelLifeCycle {
right2?: AdminPanelRelationPropertyModification<YogaSingleSpeciality_Plain>; right2?: AdminPanelRelationPropertyModification<YogaSingleSpeciality_Plain>;
right3?: AdminPanelRelationPropertyModification<YogaSingleSpeciality_Plain>; right3?: AdminPanelRelationPropertyModification<YogaSingleSpeciality_Plain>;
right4?: AdminPanelRelationPropertyModification<YogaSingleSpeciality_Plain>; right4?: AdminPanelRelationPropertyModification<YogaSingleSpeciality_Plain>;
image?: AdminPanelRelationPropertyModification<Media_Plain>;
locale: string; locale: string;
localizations?: YogaSpecialitiesComponent[]; localizations?: YogaSpecialitiesComponent[];
} }

View File

@ -39,6 +39,9 @@
specialityRight4: { specialityRight4: {
fields: ['*'] , fields: ['*'] ,
}, },
"image": {
"fields": ["name","mime","url"]
}
} }
} }
}, },

View File

@ -1,7 +1,9 @@
// Interface automatically generated by schemas-to-ts // Interface automatically generated by schemas-to-ts
import { YogaSingleSpeciality } from './yoga-single-speciality'; import { YogaSingleSpeciality } from './yoga-single-speciality';
import { Media } from '../components/shared/Media';
import { YogaSingleSpeciality_Plain } from './yoga-single-speciality'; import { YogaSingleSpeciality_Plain } from './yoga-single-speciality';
import { Media_Plain } from '../components/shared/Media';
import { AdminPanelRelationPropertyModification } from '../common/AdminPanelRelationPropertyModification'; import { AdminPanelRelationPropertyModification } from '../common/AdminPanelRelationPropertyModification';
export interface YogaSpecialitiesComponent { export interface YogaSpecialitiesComponent {
@ -19,6 +21,7 @@ export interface YogaSpecialitiesComponent {
right2?: { data: YogaSingleSpeciality }; right2?: { data: YogaSingleSpeciality };
right3?: { data: YogaSingleSpeciality }; right3?: { data: YogaSingleSpeciality };
right4?: { data: YogaSingleSpeciality }; right4?: { data: YogaSingleSpeciality };
image?: { data: Media };
locale: string; locale: string;
localizations?: { data: YogaSpecialitiesComponent[] }; localizations?: { data: YogaSpecialitiesComponent[] };
}; };
@ -37,6 +40,7 @@ export interface YogaSpecialitiesComponent_Plain {
right2?: YogaSingleSpeciality_Plain; right2?: YogaSingleSpeciality_Plain;
right3?: YogaSingleSpeciality_Plain; right3?: YogaSingleSpeciality_Plain;
right4?: YogaSingleSpeciality_Plain; right4?: YogaSingleSpeciality_Plain;
image?: Media_Plain;
locale: string; locale: string;
localizations?: YogaSpecialitiesComponent_Plain[]; localizations?: YogaSpecialitiesComponent_Plain[];
} }
@ -55,6 +59,7 @@ export interface YogaSpecialitiesComponent_NoRelations {
right2?: number; right2?: number;
right3?: number; right3?: number;
right4?: number; right4?: number;
image?: number;
locale: string; locale: string;
localizations?: YogaSpecialitiesComponent[]; localizations?: YogaSpecialitiesComponent[];
} }
@ -73,6 +78,7 @@ export interface YogaSpecialitiesComponent_AdminPanelLifeCycle {
right2?: AdminPanelRelationPropertyModification<YogaSingleSpeciality_Plain>; right2?: AdminPanelRelationPropertyModification<YogaSingleSpeciality_Plain>;
right3?: AdminPanelRelationPropertyModification<YogaSingleSpeciality_Plain>; right3?: AdminPanelRelationPropertyModification<YogaSingleSpeciality_Plain>;
right4?: AdminPanelRelationPropertyModification<YogaSingleSpeciality_Plain>; right4?: AdminPanelRelationPropertyModification<YogaSingleSpeciality_Plain>;
image?: AdminPanelRelationPropertyModification<Media_Plain>;
locale: string; locale: string;
localizations?: YogaSpecialitiesComponent[]; localizations?: YogaSpecialitiesComponent[];
} }

View File

@ -87,6 +87,14 @@
"type": "relation", "type": "relation",
"relation": "oneToOne", "relation": "oneToOne",
"target": "api::yoga-single-speciality.yoga-single-speciality" "target": "api::yoga-single-speciality.yoga-single-speciality"
},
"image": {
"allowedTypes": [
"images",
"files"
],
"type": "media",
"multiple": false
} }
} }
} }

View File

@ -1976,6 +1976,7 @@ export interface ApiYogaSpecialitiesComponentYogaSpecialitiesComponent
localized: true; localized: true;
}; };
}>; }>;
image: Schema.Attribute.Media<'images' | 'files'>;
left1: Schema.Attribute.Relation< left1: Schema.Attribute.Relation<
'oneToOne', 'oneToOne',
'api::yoga-single-speciality.yoga-single-speciality' 'api::yoga-single-speciality.yoga-single-speciality'