diff --git a/bizmatch/src/app/pages/details/details-commercial-property-listing/details-commercial-property-listing.component.html b/bizmatch/src/app/pages/details/details-commercial-property-listing/details-commercial-property-listing.component.html index 00a1203..4b06490 100644 --- a/bizmatch/src/app/pages/details/details-commercial-property-listing/details-commercial-property-listing.component.html +++ b/bizmatch/src/app/pages/details/details-commercial-property-listing/details-commercial-property-listing.component.html @@ -96,3 +96,120 @@ --> + +
+
+
+

{{ listing?.title }}

+ +
+ @if (listing && listing.imageOrder.length > 0) { + + } +
+
+
+

+ +
+
+
{{ detail.label }}
+
{{ detail.value }}
+
+
+ @if(listing && listingUser && (listingUser?.email===user?.email || isAdmin())){ + + } +
+ +
+ +
+

Contact the Author of this Listing

+

Please include your contact info below

+
+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+
+ + +
+
+
+ Listing by Mia Hernandez + Realtor logo +
+ +
+
+
+
+
+
+
+
diff --git a/bizmatch/src/app/pages/details/details-commercial-property-listing/details-commercial-property-listing.component.scss b/bizmatch/src/app/pages/details/details-commercial-property-listing/details-commercial-property-listing.component.scss index e69de29..2bc0dfe 100644 --- a/bizmatch/src/app/pages/details/details-commercial-property-listing/details-commercial-property-listing.component.scss +++ b/bizmatch/src/app/pages/details/details-commercial-property-listing/details-commercial-property-listing.component.scss @@ -0,0 +1,36 @@ +::ng-deep p { + display: block; + margin-top: 1em; + margin-bottom: 1em; + margin-left: 0; + margin-right: 0; + font-size: 1rem; /* oder 1rem, abhängig vom Browser und den Standardeinstellungen */ + line-height: 1.5; +} +::ng-deep h1 { + display: block; + font-size: 2em; /* etwa 32px */ + margin-top: 0.67em; + margin-bottom: 0.67em; + margin-left: 0; + margin-right: 0; + font-weight: bold; +} +::ng-deep h2 { + display: block; + font-size: 1.5em; /* etwa 24px */ + margin-top: 0.83em; + margin-bottom: 0.83em; + margin-left: 0; + margin-right: 0; + font-weight: bold; +} +::ng-deep h3 { + display: block; + font-size: 1.17em; /* etwa 18.72px */ + margin-top: 1em; + margin-bottom: 1em; + margin-left: 0; + margin-right: 0; + font-weight: bold; +} diff --git a/bizmatch/src/app/pages/details/details-commercial-property-listing/details-commercial-property-listing.component.ts b/bizmatch/src/app/pages/details/details-commercial-property-listing/details-commercial-property-listing.component.ts index 29f7ee7..b332ccd 100644 --- a/bizmatch/src/app/pages/details/details-commercial-property-listing/details-commercial-property-listing.component.ts +++ b/bizmatch/src/app/pages/details/details-commercial-property-listing/details-commercial-property-listing.component.ts @@ -1,6 +1,7 @@ -import { Component } from '@angular/core'; +import { Component, NgZone } from '@angular/core'; import { DomSanitizer, SafeHtml } from '@angular/platform-browser'; import { ActivatedRoute, Router } from '@angular/router'; +import { faTimes } from '@fortawesome/free-solid-svg-icons'; import { KeycloakService } from 'keycloak-angular'; import onChange from 'on-change'; import { lastValueFrom } from 'rxjs'; @@ -54,6 +55,9 @@ export class DetailsCommercialPropertyListingComponent { ts = new Date().getTime(); env = environment; errorResponse: ErrorResponse; + faTimes = faTimes; + propertyDetails = []; + constructor( private activatedRoute: ActivatedRoute, private listingsService: ListingsService, @@ -65,6 +69,7 @@ export class DetailsCommercialPropertyListingComponent { public historyService: HistoryService, public keycloakService: KeycloakService, private imageService: ImageService, + private ngZone: NgZone, ) { this.mailinfo = { sender: {}, userId: '', email: '', url: environment.mailinfoUrl }; @@ -81,6 +86,27 @@ export class DetailsCommercialPropertyListingComponent { this.listing = await lastValueFrom(this.listingsService.getListingById(this.id, 'commercialProperty')); this.listingUser = await this.userService.getById(this.listing.userId); this.description = this.sanitizer.bypassSecurityTrustHtml(this.listing.description); + import('flowbite').then(flowbite => { + flowbite.initCarousels(); + }); + this.propertyDetails = [ + { label: 'Property Category', value: this.selectOptions.getCommercialProperty(this.listing.type) }, + { label: 'Located in', value: this.selectOptions.getState(this.listing.state) }, + { label: 'City', value: this.listing.city }, + { label: 'Zip Code', value: this.listing.zipCode }, + { label: 'County', value: this.listing.county }, + { label: 'Asking Price:', value: `$${this.listing.price?.toLocaleString()}` }, + ]; + //this.initFlowbite(); + } + private initFlowbite() { + this.ngZone.runOutsideAngular(() => { + import('flowbite') + .then(flowbite => { + flowbite.initCarousels(); + }) + .catch(error => console.error('Error initializing Flowbite:', error)); + }); } isAdmin() { return this.keycloakService.getUserRoles(true).includes('ADMIN'); @@ -100,4 +126,7 @@ export class DetailsCommercialPropertyListingComponent { containsError(fieldname: string) { return this.errorResponse?.fields.map(f => f.fieldname).includes(fieldname); } + getImageIndices(): number[] { + return this.listing && this.listing.imageOrder ? this.listing.imageOrder.slice(1).map((e, i) => i + 1) : []; + } } diff --git a/bizmatch/src/app/pages/details/details-user/details-user.component.html b/bizmatch/src/app/pages/details/details-user/details-user.component.html index f40d23c..09a1c86 100644 --- a/bizmatch/src/app/pages/details/details-user/details-user.component.html +++ b/bizmatch/src/app/pages/details/details-user/details-user.component.html @@ -134,3 +134,177 @@ } --> +
+
+ +
+
+ Profile picture of Avery Brown smiling +
+

+ Avery Brown + +

+

+ Company + - + New Mexico Business Sales + | + For Sale + - + + 9 +

+
+ +
+ +
+ + +

Helping business owners in southern New Mexico sell their businesses and assisting buyers in finding the perfect opportunity.

+ + +
+

Company Profile

+

+ New Mexico Business Sales is a trusted business brokerage firm serving the southern New Mexico market. Our team of experienced brokers is committed to providing personalized service and expert guidance to ensure + a smooth and successful transaction for our clients. +

+ + +
+
+ Name + Avery Brown +
+
+ Phone Number + (575) 555-7890 +
+
+ EMail Address + avery.brown@nmbizsales.com +
+
+ Company Location + Las Cruces - NM +
+
+ + +
+

Services we offer

+

What We Offer

+
    +
  • Business listings
  • +
  • Buyer search and qualification
  • +
  • Due diligence support
  • +
  • Financing assistance
  • +
  • Closing coordination
  • +
+
+ + +
+

Areas (Counties) we serve

+
+ Doña Ana County-NM + Otero County-NM + Luna County-NM + Sierra County-NM + Grant County-NM +
+
+ + +
+

Licensed In

+ 4.2700P-NM +
+
+ + +
+

My Business Listings For Sale

+
+
+
+ + Food and Restaurant +
+

Successful Coffee Shop in The Colony

+
+
+
+ + Food and Restaurant +
+

Established Craft Beer Bar in Wylie

+
+
+
+ + Industrial Services +
+

Profitable Electrical Contracting Business in New Braunfels

+
+
+
+ + Service +
+

Successful Fitness Center in Coppell

+
+
+
+ + Mixed Use +
+

Mixed-Use Development Opportunity

+
+
+
+ + Land +
+

Upscale Golf Course

+
+
+
+ + +
+

My Commercial Property Listings For Sale

+
+
+
+ Car Dealership and Service Center +
+

Mixed Use

+

Car Dealership and Service Center

+
+
+
+
+
+ Cold Storage Warehouse +
+

Industrial

+

Cold Storage Warehouse

+
+
+
+
+
+ Retail Strip Center in Round Rock +
+

Retail

+

Retail Strip Center in Round Rock

+
+
+
+
+
+
+
diff --git a/bizmatch/src/app/pages/listings/broker-listings/broker-listings.component.html b/bizmatch/src/app/pages/listings/broker-listings/broker-listings.component.html index 581f413..21ed78f 100644 --- a/bizmatch/src/app/pages/listings/broker-listings/broker-listings.component.html +++ b/bizmatch/src/app/pages/listings/broker-listings/broker-listings.component.html @@ -86,7 +86,7 @@ } @else { } -