@propbinder/mobile-design 0.3.41 → 0.3.43
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -686,11 +686,21 @@ class DsMobileSkeletonLoaderComponent {
|
|
|
686
686
|
* @default 'list'
|
|
687
687
|
*/
|
|
688
688
|
variant = input('list', ...(ngDevMode ? [{ debugName: "variant" }] : []));
|
|
689
|
+
/**
|
|
690
|
+
* Optional max width (e.g. '640px') to constrain the skeleton loader on desktop
|
|
691
|
+
*/
|
|
692
|
+
maxWidth = input(undefined, ...(ngDevMode ? [{ debugName: "maxWidth" }] : []));
|
|
693
|
+
/**
|
|
694
|
+
* If true, centers the skeleton loader horizontally (useful with maxWidth)
|
|
695
|
+
*/
|
|
696
|
+
centered = input(false, ...(ngDevMode ? [{ debugName: "centered" }] : []));
|
|
689
697
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DsMobileSkeletonLoaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
690
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: DsMobileSkeletonLoaderComponent, isStandalone: true, selector: "ds-mobile-skeleton-loader", inputs: { borderRadius: { classPropertyName: "borderRadius", publicName: "borderRadius", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
698
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: DsMobileSkeletonLoaderComponent, isStandalone: true, selector: "ds-mobile-skeleton-loader", inputs: { borderRadius: { classPropertyName: "borderRadius", publicName: "borderRadius", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, maxWidth: { classPropertyName: "maxWidth", publicName: "maxWidth", isSignal: true, isRequired: false, transformFunction: null }, centered: { classPropertyName: "centered", publicName: "centered", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
691
699
|
<div
|
|
692
700
|
class="skeleton-loader-overlay"
|
|
693
701
|
[style.border-radius.px]="borderRadius()"
|
|
702
|
+
[style.max-width]="maxWidth()"
|
|
703
|
+
[style.margin]="centered() ? '0 auto' : undefined"
|
|
694
704
|
role="status"
|
|
695
705
|
aria-live="polite"
|
|
696
706
|
aria-label="Loading">
|
|
@@ -743,7 +753,7 @@ class DsMobileSkeletonLoaderComponent {
|
|
|
743
753
|
</div>
|
|
744
754
|
}
|
|
745
755
|
</div>
|
|
746
|
-
`, isInline: true, styles: [":host{display:contents}.skeleton-loader-overlay{position:absolute;inset:0;display:flex;flex-direction:column;z-index:9999;border-radius:inherit;padding:
|
|
756
|
+
`, isInline: true, styles: [":host{display:contents}.skeleton-loader-overlay{position:absolute;inset:0;display:flex;flex-direction:column;z-index:9999;border-radius:inherit;padding:20px;overflow:hidden;pointer-events:none;background-color:var(--color-background-neutral-primary)}.skeleton-list{display:flex;flex-direction:column;gap:24px;width:100%}.skeleton-item{display:flex;flex-direction:row;align-items:center;gap:16px;width:100%}.skeleton-avatar{width:48px;height:48px;border-radius:50%;flex-shrink:0}.skeleton-text-container{display:flex;flex-direction:column;gap:10px;flex-grow:1}.skeleton-text-line{height:12px;border-radius:6px;width:100%}.skeleton-text-line.short{width:60%}.skeleton-text-line.full{width:100%}.skeleton-card-list{display:flex;flex-direction:column;gap:16px;width:100%}.skeleton-card{width:100%;height:120px;border-radius:12px}.skeleton-details{display:flex;flex-direction:column;gap:12px;width:100%}.skeleton-title{width:70%;height:24px;border-radius:8px;margin-bottom:16px}.skeleton-box{width:100%;height:200px;border-radius:12px;margin-top:16px}.skeleton-handbook-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;width:100%}.skeleton-folder-card{display:flex;flex-direction:column;align-items:center;gap:10px}.skeleton-folder-icon{width:100%;aspect-ratio:1;border-radius:16px}.shimmer{background:#f2f4f5;background-image:linear-gradient(90deg,#fff0 0,#fff9 40px,#fff0 80px);background-size:600px 100%;animation:shimmer 1.5s infinite linear}@keyframes shimmer{0%{background-position:-300px 0}to{background-position:300px 0}}body.dark .shimmer,.dark-theme .shimmer{background:#2a2a2a;background-image:linear-gradient(90deg,#fff0 0,#ffffff0d 40px,#fff0 80px)}.pulse{background:#f2f4f5;animation:pulse 2s infinite ease-in-out}@keyframes pulse{0%{background-color:#f2f4f5}50%{background-color:#e6e8ec}to{background-color:#f2f4f5}}body.dark .pulse,.dark-theme .pulse{background:#2a2a2a;animation:pulse-dark 2s infinite ease-in-out}@keyframes pulse-dark{0%{background-color:#2a2a2a}50%{background-color:#383838}to{background-color:#2a2a2a}}@media (min-width: 768px){.skeleton-loader-overlay{padding:32px 0}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] });
|
|
747
757
|
}
|
|
748
758
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DsMobileSkeletonLoaderComponent, decorators: [{
|
|
749
759
|
type: Component,
|
|
@@ -751,6 +761,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
751
761
|
<div
|
|
752
762
|
class="skeleton-loader-overlay"
|
|
753
763
|
[style.border-radius.px]="borderRadius()"
|
|
764
|
+
[style.max-width]="maxWidth()"
|
|
765
|
+
[style.margin]="centered() ? '0 auto' : undefined"
|
|
754
766
|
role="status"
|
|
755
767
|
aria-live="polite"
|
|
756
768
|
aria-label="Loading">
|
|
@@ -803,8 +815,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
803
815
|
</div>
|
|
804
816
|
}
|
|
805
817
|
</div>
|
|
806
|
-
`, styles: [":host{display:contents}.skeleton-loader-overlay{position:absolute;inset:0;display:flex;flex-direction:column;z-index:9999;border-radius:inherit;padding:
|
|
807
|
-
}], propDecorators: { borderRadius: [{ type: i0.Input, args: [{ isSignal: true, alias: "borderRadius", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }] } });
|
|
818
|
+
`, styles: [":host{display:contents}.skeleton-loader-overlay{position:absolute;inset:0;display:flex;flex-direction:column;z-index:9999;border-radius:inherit;padding:20px;overflow:hidden;pointer-events:none;background-color:var(--color-background-neutral-primary)}.skeleton-list{display:flex;flex-direction:column;gap:24px;width:100%}.skeleton-item{display:flex;flex-direction:row;align-items:center;gap:16px;width:100%}.skeleton-avatar{width:48px;height:48px;border-radius:50%;flex-shrink:0}.skeleton-text-container{display:flex;flex-direction:column;gap:10px;flex-grow:1}.skeleton-text-line{height:12px;border-radius:6px;width:100%}.skeleton-text-line.short{width:60%}.skeleton-text-line.full{width:100%}.skeleton-card-list{display:flex;flex-direction:column;gap:16px;width:100%}.skeleton-card{width:100%;height:120px;border-radius:12px}.skeleton-details{display:flex;flex-direction:column;gap:12px;width:100%}.skeleton-title{width:70%;height:24px;border-radius:8px;margin-bottom:16px}.skeleton-box{width:100%;height:200px;border-radius:12px;margin-top:16px}.skeleton-handbook-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;width:100%}.skeleton-folder-card{display:flex;flex-direction:column;align-items:center;gap:10px}.skeleton-folder-icon{width:100%;aspect-ratio:1;border-radius:16px}.shimmer{background:#f2f4f5;background-image:linear-gradient(90deg,#fff0 0,#fff9 40px,#fff0 80px);background-size:600px 100%;animation:shimmer 1.5s infinite linear}@keyframes shimmer{0%{background-position:-300px 0}to{background-position:300px 0}}body.dark .shimmer,.dark-theme .shimmer{background:#2a2a2a;background-image:linear-gradient(90deg,#fff0 0,#ffffff0d 40px,#fff0 80px)}.pulse{background:#f2f4f5;animation:pulse 2s infinite ease-in-out}@keyframes pulse{0%{background-color:#f2f4f5}50%{background-color:#e6e8ec}to{background-color:#f2f4f5}}body.dark .pulse,.dark-theme .pulse{background:#2a2a2a;animation:pulse-dark 2s infinite ease-in-out}@keyframes pulse-dark{0%{background-color:#2a2a2a}50%{background-color:#383838}to{background-color:#2a2a2a}}@media (min-width: 768px){.skeleton-loader-overlay{padding:32px 0}}\n"] }]
|
|
819
|
+
}], propDecorators: { borderRadius: [{ type: i0.Input, args: [{ isSignal: true, alias: "borderRadius", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], maxWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxWidth", required: false }] }], centered: [{ type: i0.Input, args: [{ isSignal: true, alias: "centered", required: false }] }] } });
|
|
808
820
|
|
|
809
821
|
class DsMobileCountBadgeComponent {
|
|
810
822
|
count = input.required(...(ngDevMode ? [{ debugName: "count" }] : []));
|
|
@@ -6305,7 +6317,7 @@ class DsMobilePageMainComponent extends MobilePageBase {
|
|
|
6305
6317
|
<!-- Content wrapper -->
|
|
6306
6318
|
<div class="content-wrapper">
|
|
6307
6319
|
@if (contentLoading()) {
|
|
6308
|
-
<ds-mobile-skeleton-loader [borderRadius]="24" [variant]="contentLoadingVariant()" />
|
|
6320
|
+
<ds-mobile-skeleton-loader [borderRadius]="24" [variant]="contentLoadingVariant()" maxWidth="640px" [centered]="true" />
|
|
6309
6321
|
}
|
|
6310
6322
|
|
|
6311
6323
|
<!-- Offline indicator slot (appears at top of content) -->
|
|
@@ -6317,7 +6329,7 @@ class DsMobilePageMainComponent extends MobilePageBase {
|
|
|
6317
6329
|
</div>
|
|
6318
6330
|
</div>
|
|
6319
6331
|
</ion-content>
|
|
6320
|
-
`, isInline: true, styles: [":host{display:flex;flex-direction:column;align-items:center;height:100%;background:var(--color-header-surface);width:100%}:host ion-header{background:var(--color-header-surface);box-shadow:none;height:72px;min-height:72px;margin-top:var(--app-header-top-offset)}:host ion-header ion-toolbar{--background: var(--color-header-surface);--border-width: 0;--box-shadow: none;--padding-top: 0;--padding-bottom: 0;--padding-start: 0;--padding-end: 0;--min-height: 72px;height:72px;min-height:72px;padding:0}@media (min-width: 768px){:host ion-header{height:88px;min-height:88px}:host ion-header ion-toolbar{--min-height: 88px;height:88px;min-height:88px}}@media (min-width: 768px){:host ion-header{display:none;height:auto}}:host .header-main,:host .header-details,.header-details{display:flex;align-items:center;justify-content:space-between;background:var(--color-header-surface);position:relative}:host .header-main__title,:host .header-details .header-title,.header-details .header-title{position:absolute;left:50%;transform:translate(-50%);font-size:var(--font-size-base);font-weight:600;color:var(--color-header-content);margin:0;padding:0;--color: var(--color-header-content)}.header-details .header-title{transform:translate(-50%) translateY(-100%);opacity:0!important;pointer-events:none;transition:transform .2s ease,opacity .2s ease!important}.header-scrolled .header-details .header-title{opacity:1!important;pointer-events:auto;transform:translate(-50%) translateY(0)}:host .header-details .back-button,.header-details .back-button{background:none;border:none;padding:0;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--color-header-content);transition:opacity var(--transition-duration-fast, .2s) var(--ease-smooth, ease);z-index:10;position:relative}:host .header-details .back-button:hover,.header-details .back-button:hover{opacity:.8}:host .header-details .back-button:active,.header-details .back-button:active{opacity:.6}:host ion-content{--background: var(--color-header-surface);--padding-top: 0;--padding-start: 0;--padding-end: 0;--padding-bottom: 0;border-radius:24px 24px 0 0;overflow:hidden}:host ion-content::part(scroll){display:flex;flex-direction:column;min-height:100%;-webkit-overflow-scrolling:touch}.plt-ios :host ion-content{--background: var(--color-background-neutral-primary)}@media (min-width: 768px){:host ion-content{border-radius:24px 24px 0 0}}:host ion-header[collapse=condense]{display:none}@media (min-width: 768px){:host ion-header[collapse=condense]{display:none}}:host ion-refresher{z-index:0}:host ion-refresher-content{--color: var(--color-header-content)}:host .content-wrapper{width:100%;position:relative;z-index:20;flex:1;display:flex;flex-direction:column;background:var(--color-background-neutral-primary);border-radius:24px 24px 0 0;overflow:visible;transform:translateZ(0);will-change:transform;isolation:isolate;box-shadow:0 300px 0 0 var(--color-background-neutral-primary);padding-top:0;padding-left:var(--content-wrapper-padding, 20px);padding-right:var(--content-wrapper-padding, 20px);padding-bottom:calc(var(--mobile-content-spacing) + var(--mobile-tab-bar-height) + var(--app-safe-bottom, 0px))}:host .content-inner{max-width:640px;margin:0 auto;width:100%}@media (min-width: 768px){:host .content-wrapper{padding-top:0;padding-left:var(--content-wrapper-padding, 20px);padding-right:var(--content-wrapper-padding, 20px)}}:host .header-expandable{background:var(--color-header-surface);padding:32px 20px 24px;color:var(--header-content-color, white);position:sticky;top:0;z-index:5;transition:opacity .1s ease-out,transform .1s ease-out;flex:0 0 auto;min-height:-moz-min-content;min-height:min-content}:host .header-expandable-inner{display:flex;flex-direction:column;gap:20px;max-width:640px;margin:0 auto}:host .header-expandable__text{margin-bottom:0;gap:4px;display:flex;flex-direction:column}:host .header-expandable__title{font-size:var(--font-size-2xl);font-weight:600;color:var(--header-content-color, white);margin:0}:host .header-expandable__subtitle{font-size:var(--font-size-sm);font-weight:400;color:var(--header-content-color, white);opacity:.85;margin:0}@media (min-width: 768px){:host .header-expandable{padding:48px 20px 32px}:host .header-expandable__title{font-size:var(--font-size-3xl)}:host .header-expandable__subtitle{font-size:var(--font-size-base)}}@media (min-width: 992px){:host .header-expandable{padding-left:var(--content-padding-lg);padding-right:var(--content-padding-lg)}}@media (min-width: 1440px){:host .header-expandable{padding-left:var(--content-padding-xl);padding-right:var(--content-padding-xl)}}@media (min-width: 1768px){:host .header-expandable{padding-left:var(--content-padding-2xl);padding-right:var(--content-padding-2xl)}}@media (min-width: 1920px){:host .header-expandable{padding-left:var(--content-padding-3xl);padding-right:var(--content-padding-3xl)}}\n", ".header-main{padding:0 20px;height:72px}.header-main__title{transform:translate(-50%) translateY(-100%);opacity:0;transition:transform .6s ease,opacity .6s ease;padding:0;--color: var(--color-header-content)}.header-scrolled .header-main__title{opacity:1;transform:translate(-50%) translateY(0)}.header-main__actions{display:flex;align-items:center;gap:8px}.header-main__actions ds-avatar{cursor:pointer;-webkit-tap-highlight-color:transparent}@keyframes logoSlideIn{0%{transform:translateY(-200%);scale:.75;opacity:0}to{transform:translateY(0);scale:1;opacity:1}}.logo--first-entry{animation:logoSlideIn .75s var(--spring-curve-bouncy) .7s both}@media (min-width: 768px){.header-main{padding:16px 24px;height:88px}.header-main__title{display:none}}ion-refresher{--color: var(--color-header-content)}ion-refresher-content{--color: var(--color-header-content)}ion-refresher-content::part(spinner){color:var(--color-header-content)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "component", type: IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "component", type: IonContent, selector: "ion-content", inputs: ["color", "fixedSlotPlacement", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: IonRefresher, selector: "ion-refresher", inputs: ["closeDuration", "disabled", "mode", "pullFactor", "pullMax", "pullMin", "snapbackDuration"] }, { kind: "component", type: IonRefresherContent, selector: "ion-refresher-content", inputs: ["pullingIcon", "pullingText", "refreshingSpinner", "refreshingText"] }, { kind: "component", type: DsAvatarComponent, selector: "ds-avatar", inputs: ["type", "size", "initials", "src", "alt", "iconName", "iconColor"] }, { kind: "component", type: DsLogoComponent, selector: "ds-logo", inputs: ["variant", "size", "customHeight", "customWidth"] }, { kind: "component", type: DsMobileSkeletonLoaderComponent, selector: "ds-mobile-skeleton-loader", inputs: ["borderRadius", "variant"] }, { kind: "component", type: DsMobileNotificationButtonComponent, selector: "ds-mobile-notification-button", inputs: ["count"], outputs: ["clicked"] }] });
|
|
6332
|
+
`, isInline: true, styles: [":host{display:flex;flex-direction:column;align-items:center;height:100%;background:var(--color-header-surface);width:100%}:host ion-header{background:var(--color-header-surface);box-shadow:none;height:72px;min-height:72px;margin-top:var(--app-header-top-offset)}:host ion-header ion-toolbar{--background: var(--color-header-surface);--border-width: 0;--box-shadow: none;--padding-top: 0;--padding-bottom: 0;--padding-start: 0;--padding-end: 0;--min-height: 72px;height:72px;min-height:72px;padding:0}@media (min-width: 768px){:host ion-header{height:88px;min-height:88px}:host ion-header ion-toolbar{--min-height: 88px;height:88px;min-height:88px}}@media (min-width: 768px){:host ion-header{display:none;height:auto}}:host .header-main,:host .header-details,.header-details{display:flex;align-items:center;justify-content:space-between;background:var(--color-header-surface);position:relative}:host .header-main__title,:host .header-details .header-title,.header-details .header-title{position:absolute;left:50%;transform:translate(-50%);font-size:var(--font-size-base);font-weight:600;color:var(--color-header-content);margin:0;padding:0;--color: var(--color-header-content)}.header-details .header-title{transform:translate(-50%) translateY(-100%);opacity:0!important;pointer-events:none;transition:transform .2s ease,opacity .2s ease!important}.header-scrolled .header-details .header-title{opacity:1!important;pointer-events:auto;transform:translate(-50%) translateY(0)}:host .header-details .back-button,.header-details .back-button{background:none;border:none;padding:0;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--color-header-content);transition:opacity var(--transition-duration-fast, .2s) var(--ease-smooth, ease);z-index:10;position:relative}:host .header-details .back-button:hover,.header-details .back-button:hover{opacity:.8}:host .header-details .back-button:active,.header-details .back-button:active{opacity:.6}:host ion-content{--background: var(--color-header-surface);--padding-top: 0;--padding-start: 0;--padding-end: 0;--padding-bottom: 0;border-radius:24px 24px 0 0;overflow:hidden}:host ion-content::part(scroll){display:flex;flex-direction:column;min-height:100%;-webkit-overflow-scrolling:touch}.plt-ios :host ion-content{--background: var(--color-background-neutral-primary)}@media (min-width: 768px){:host ion-content{border-radius:24px 24px 0 0}}:host ion-header[collapse=condense]{display:none}@media (min-width: 768px){:host ion-header[collapse=condense]{display:none}}:host ion-refresher{z-index:0}:host ion-refresher-content{--color: var(--color-header-content)}:host .content-wrapper{width:100%;position:relative;z-index:20;flex:1;display:flex;flex-direction:column;background:var(--color-background-neutral-primary);border-radius:24px 24px 0 0;overflow:visible;transform:translateZ(0);will-change:transform;isolation:isolate;box-shadow:0 300px 0 0 var(--color-background-neutral-primary);padding-top:0;padding-left:var(--content-wrapper-padding, 20px);padding-right:var(--content-wrapper-padding, 20px);padding-bottom:calc(var(--mobile-content-spacing) + var(--mobile-tab-bar-height) + var(--app-safe-bottom, 0px))}:host .content-inner{max-width:640px;margin:0 auto;width:100%}@media (min-width: 768px){:host .content-wrapper{padding-top:0;padding-left:var(--content-wrapper-padding, 20px);padding-right:var(--content-wrapper-padding, 20px)}}:host .header-expandable{background:var(--color-header-surface);padding:32px 20px 24px;color:var(--header-content-color, white);position:sticky;top:0;z-index:5;transition:opacity .1s ease-out,transform .1s ease-out;flex:0 0 auto;min-height:-moz-min-content;min-height:min-content}:host .header-expandable-inner{display:flex;flex-direction:column;gap:20px;max-width:640px;margin:0 auto}:host .header-expandable__text{margin-bottom:0;gap:4px;display:flex;flex-direction:column}:host .header-expandable__title{font-size:var(--font-size-2xl);font-weight:600;color:var(--header-content-color, white);margin:0}:host .header-expandable__subtitle{font-size:var(--font-size-sm);font-weight:400;color:var(--header-content-color, white);opacity:.85;margin:0}@media (min-width: 768px){:host .header-expandable{padding:48px 20px 32px}:host .header-expandable__title{font-size:var(--font-size-3xl)}:host .header-expandable__subtitle{font-size:var(--font-size-base)}}@media (min-width: 992px){:host .header-expandable{padding-left:var(--content-padding-lg);padding-right:var(--content-padding-lg)}}@media (min-width: 1440px){:host .header-expandable{padding-left:var(--content-padding-xl);padding-right:var(--content-padding-xl)}}@media (min-width: 1768px){:host .header-expandable{padding-left:var(--content-padding-2xl);padding-right:var(--content-padding-2xl)}}@media (min-width: 1920px){:host .header-expandable{padding-left:var(--content-padding-3xl);padding-right:var(--content-padding-3xl)}}\n", ".header-main{padding:0 20px;height:72px}.header-main__title{transform:translate(-50%) translateY(-100%);opacity:0;transition:transform .6s ease,opacity .6s ease;padding:0;--color: var(--color-header-content)}.header-scrolled .header-main__title{opacity:1;transform:translate(-50%) translateY(0)}.header-main__actions{display:flex;align-items:center;gap:8px}.header-main__actions ds-avatar{cursor:pointer;-webkit-tap-highlight-color:transparent}@keyframes logoSlideIn{0%{transform:translateY(-200%);scale:.75;opacity:0}to{transform:translateY(0);scale:1;opacity:1}}.logo--first-entry{animation:logoSlideIn .75s var(--spring-curve-bouncy) .7s both}@media (min-width: 768px){.header-main{padding:16px 24px;height:88px}.header-main__title{display:none}}ion-refresher{--color: var(--color-header-content)}ion-refresher-content{--color: var(--color-header-content)}ion-refresher-content::part(spinner){color:var(--color-header-content)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "component", type: IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "component", type: IonContent, selector: "ion-content", inputs: ["color", "fixedSlotPlacement", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: IonRefresher, selector: "ion-refresher", inputs: ["closeDuration", "disabled", "mode", "pullFactor", "pullMax", "pullMin", "snapbackDuration"] }, { kind: "component", type: IonRefresherContent, selector: "ion-refresher-content", inputs: ["pullingIcon", "pullingText", "refreshingSpinner", "refreshingText"] }, { kind: "component", type: DsAvatarComponent, selector: "ds-avatar", inputs: ["type", "size", "initials", "src", "alt", "iconName", "iconColor"] }, { kind: "component", type: DsLogoComponent, selector: "ds-logo", inputs: ["variant", "size", "customHeight", "customWidth"] }, { kind: "component", type: DsMobileSkeletonLoaderComponent, selector: "ds-mobile-skeleton-loader", inputs: ["borderRadius", "variant", "maxWidth", "centered"] }, { kind: "component", type: DsMobileNotificationButtonComponent, selector: "ds-mobile-notification-button", inputs: ["count"], outputs: ["clicked"] }] });
|
|
6321
6333
|
}
|
|
6322
6334
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DsMobilePageMainComponent, decorators: [{
|
|
6323
6335
|
type: Component,
|
|
@@ -6394,7 +6406,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
6394
6406
|
<!-- Content wrapper -->
|
|
6395
6407
|
<div class="content-wrapper">
|
|
6396
6408
|
@if (contentLoading()) {
|
|
6397
|
-
<ds-mobile-skeleton-loader [borderRadius]="24" [variant]="contentLoadingVariant()" />
|
|
6409
|
+
<ds-mobile-skeleton-loader [borderRadius]="24" [variant]="contentLoadingVariant()" maxWidth="640px" [centered]="true" />
|
|
6398
6410
|
}
|
|
6399
6411
|
|
|
6400
6412
|
<!-- Offline indicator slot (appears at top of content) -->
|
|
@@ -6861,7 +6873,7 @@ class DsMobilePageDetailsComponent extends MobilePageBase {
|
|
|
6861
6873
|
<!-- Content wrapper -->
|
|
6862
6874
|
<div class="content-wrapper">
|
|
6863
6875
|
@if (contentLoading()) {
|
|
6864
|
-
<ds-mobile-skeleton-loader [borderRadius]="24" [variant]="contentLoadingVariant()" />
|
|
6876
|
+
<ds-mobile-skeleton-loader [borderRadius]="24" [variant]="contentLoadingVariant()" maxWidth="640px" [centered]="true" />
|
|
6865
6877
|
}
|
|
6866
6878
|
|
|
6867
6879
|
<!-- Offline indicator slot (appears at top of content) -->
|
|
@@ -6872,7 +6884,7 @@ class DsMobilePageDetailsComponent extends MobilePageBase {
|
|
|
6872
6884
|
</div>
|
|
6873
6885
|
</div>
|
|
6874
6886
|
</ion-content>
|
|
6875
|
-
`, isInline: true, styles: [":host{display:flex;flex-direction:column;align-items:center;height:100%;background:var(--color-header-surface);width:100%}:host ion-header{background:var(--color-header-surface);box-shadow:none;height:72px;min-height:72px;margin-top:var(--app-header-top-offset)}:host ion-header ion-toolbar{--background: var(--color-header-surface);--border-width: 0;--box-shadow: none;--padding-top: 0;--padding-bottom: 0;--padding-start: 0;--padding-end: 0;--min-height: 72px;height:72px;min-height:72px;padding:0}@media (min-width: 768px){:host ion-header{height:88px;min-height:88px}:host ion-header ion-toolbar{--min-height: 88px;height:88px;min-height:88px}}@media (min-width: 768px){:host ion-header{display:none;height:auto}}:host .header-main,:host .header-details,.header-details{display:flex;align-items:center;justify-content:space-between;background:var(--color-header-surface);position:relative}:host .header-main__title,:host .header-details .header-title,.header-details .header-title{position:absolute;left:50%;transform:translate(-50%);font-size:var(--font-size-base);font-weight:600;color:var(--color-header-content);margin:0;padding:0;--color: var(--color-header-content)}.header-details .header-title{transform:translate(-50%) translateY(-100%);opacity:0!important;pointer-events:none;transition:transform .2s ease,opacity .2s ease!important}.header-scrolled .header-details .header-title{opacity:1!important;pointer-events:auto;transform:translate(-50%) translateY(0)}:host .header-details .back-button,.header-details .back-button{background:none;border:none;padding:0;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--color-header-content);transition:opacity var(--transition-duration-fast, .2s) var(--ease-smooth, ease);z-index:10;position:relative}:host .header-details .back-button:hover,.header-details .back-button:hover{opacity:.8}:host .header-details .back-button:active,.header-details .back-button:active{opacity:.6}:host ion-content{--background: var(--color-header-surface);--padding-top: 0;--padding-start: 0;--padding-end: 0;--padding-bottom: 0;border-radius:24px 24px 0 0;overflow:hidden}:host ion-content::part(scroll){display:flex;flex-direction:column;min-height:100%;-webkit-overflow-scrolling:touch}.plt-ios :host ion-content{--background: var(--color-background-neutral-primary)}@media (min-width: 768px){:host ion-content{border-radius:24px 24px 0 0}}:host ion-header[collapse=condense]{display:none}@media (min-width: 768px){:host ion-header[collapse=condense]{display:none}}:host ion-refresher{z-index:0}:host ion-refresher-content{--color: var(--color-header-content)}:host .content-wrapper{width:100%;position:relative;z-index:20;flex:1;display:flex;flex-direction:column;background:var(--color-background-neutral-primary);border-radius:24px 24px 0 0;overflow:visible;transform:translateZ(0);will-change:transform;isolation:isolate;box-shadow:0 300px 0 0 var(--color-background-neutral-primary);padding-top:0;padding-left:var(--content-wrapper-padding, 20px);padding-right:var(--content-wrapper-padding, 20px);padding-bottom:calc(var(--mobile-content-spacing) + var(--mobile-tab-bar-height) + var(--app-safe-bottom, 0px))}:host .content-inner{max-width:640px;margin:0 auto;width:100%}@media (min-width: 768px){:host .content-wrapper{padding-top:0;padding-left:var(--content-wrapper-padding, 20px);padding-right:var(--content-wrapper-padding, 20px)}}:host .header-expandable{background:var(--color-header-surface);padding:32px 20px 24px;color:var(--header-content-color, white);position:sticky;top:0;z-index:5;transition:opacity .1s ease-out,transform .1s ease-out;flex:0 0 auto;min-height:-moz-min-content;min-height:min-content}:host .header-expandable-inner{display:flex;flex-direction:column;gap:20px;max-width:640px;margin:0 auto}:host .header-expandable__text{margin-bottom:0;gap:4px;display:flex;flex-direction:column}:host .header-expandable__title{font-size:var(--font-size-2xl);font-weight:600;color:var(--header-content-color, white);margin:0}:host .header-expandable__subtitle{font-size:var(--font-size-sm);font-weight:400;color:var(--header-content-color, white);opacity:.85;margin:0}@media (min-width: 768px){:host .header-expandable{padding:48px 20px 32px}:host .header-expandable__title{font-size:var(--font-size-3xl)}:host .header-expandable__subtitle{font-size:var(--font-size-base)}}@media (min-width: 992px){:host .header-expandable{padding-left:var(--content-padding-lg);padding-right:var(--content-padding-lg)}}@media (min-width: 1440px){:host .header-expandable{padding-left:var(--content-padding-xl);padding-right:var(--content-padding-xl)}}@media (min-width: 1768px){:host .header-expandable{padding-left:var(--content-padding-2xl);padding-right:var(--content-padding-2xl)}}@media (min-width: 1920px){:host .header-expandable{padding-left:var(--content-padding-3xl);padding-right:var(--content-padding-3xl)}}\n", "ion-refresher{--color: var(--color-header-content)}ion-refresher-content{--color: var(--color-header-content)}ion-refresher-content::part(spinner){color:var(--color-header-content)}.header-details{gap:12px;padding:0 20px;height:72px;min-height:72px}:host .header-details .back-button{width:36px;height:36px;border-radius:50%;background:color-mix(in srgb,var(--color-header-content) 10%,transparent)!important;flex-shrink:0;border:none;padding:0;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--color-header-content);transition:background var(--transition-duration-fast) var(--ease-smooth);z-index:10}:host .header-details .back-button:hover{background:color-mix(in srgb,var(--color-header-content) 16%,transparent)!important}:host .header-details .back-button:active{background:color-mix(in srgb,var(--color-header-content) 22%,transparent)!important}.header-details .header-title{left:64px}@media (min-width: 768px){ion-header{display:block!important;height:88px;min-height:88px}ion-header ion-toolbar{--min-height: 88px;height:88px;min-height:88px}.header-details{padding:16px 24px;height:88px;min-height:88px}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "component", type: IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "component", type: IonContent, selector: "ion-content", inputs: ["color", "fixedSlotPlacement", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: IonRefresher, selector: "ion-refresher", inputs: ["closeDuration", "disabled", "mode", "pullFactor", "pullMax", "pullMin", "snapbackDuration"] }, { kind: "component", type: IonRefresherContent, selector: "ion-refresher-content", inputs: ["pullingIcon", "pullingText", "refreshingSpinner", "refreshingText"] }, { kind: "component", type: DsIconComponent, selector: "ds-icon", inputs: ["name", "size", "color", "interactive"] }, { kind: "component", type: DsMobileSkeletonLoaderComponent, selector: "ds-mobile-skeleton-loader", inputs: ["borderRadius", "variant"] }, { kind: "component", type: DsMobileInlineTabsComponent, selector: "ds-mobile-inline-tabs", inputs: ["tabs", "activeTab"], outputs: ["tabChange"] }] });
|
|
6887
|
+
`, isInline: true, styles: [":host{display:flex;flex-direction:column;align-items:center;height:100%;background:var(--color-header-surface);width:100%}:host ion-header{background:var(--color-header-surface);box-shadow:none;height:72px;min-height:72px;margin-top:var(--app-header-top-offset)}:host ion-header ion-toolbar{--background: var(--color-header-surface);--border-width: 0;--box-shadow: none;--padding-top: 0;--padding-bottom: 0;--padding-start: 0;--padding-end: 0;--min-height: 72px;height:72px;min-height:72px;padding:0}@media (min-width: 768px){:host ion-header{height:88px;min-height:88px}:host ion-header ion-toolbar{--min-height: 88px;height:88px;min-height:88px}}@media (min-width: 768px){:host ion-header{display:none;height:auto}}:host .header-main,:host .header-details,.header-details{display:flex;align-items:center;justify-content:space-between;background:var(--color-header-surface);position:relative}:host .header-main__title,:host .header-details .header-title,.header-details .header-title{position:absolute;left:50%;transform:translate(-50%);font-size:var(--font-size-base);font-weight:600;color:var(--color-header-content);margin:0;padding:0;--color: var(--color-header-content)}.header-details .header-title{transform:translate(-50%) translateY(-100%);opacity:0!important;pointer-events:none;transition:transform .2s ease,opacity .2s ease!important}.header-scrolled .header-details .header-title{opacity:1!important;pointer-events:auto;transform:translate(-50%) translateY(0)}:host .header-details .back-button,.header-details .back-button{background:none;border:none;padding:0;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--color-header-content);transition:opacity var(--transition-duration-fast, .2s) var(--ease-smooth, ease);z-index:10;position:relative}:host .header-details .back-button:hover,.header-details .back-button:hover{opacity:.8}:host .header-details .back-button:active,.header-details .back-button:active{opacity:.6}:host ion-content{--background: var(--color-header-surface);--padding-top: 0;--padding-start: 0;--padding-end: 0;--padding-bottom: 0;border-radius:24px 24px 0 0;overflow:hidden}:host ion-content::part(scroll){display:flex;flex-direction:column;min-height:100%;-webkit-overflow-scrolling:touch}.plt-ios :host ion-content{--background: var(--color-background-neutral-primary)}@media (min-width: 768px){:host ion-content{border-radius:24px 24px 0 0}}:host ion-header[collapse=condense]{display:none}@media (min-width: 768px){:host ion-header[collapse=condense]{display:none}}:host ion-refresher{z-index:0}:host ion-refresher-content{--color: var(--color-header-content)}:host .content-wrapper{width:100%;position:relative;z-index:20;flex:1;display:flex;flex-direction:column;background:var(--color-background-neutral-primary);border-radius:24px 24px 0 0;overflow:visible;transform:translateZ(0);will-change:transform;isolation:isolate;box-shadow:0 300px 0 0 var(--color-background-neutral-primary);padding-top:0;padding-left:var(--content-wrapper-padding, 20px);padding-right:var(--content-wrapper-padding, 20px);padding-bottom:calc(var(--mobile-content-spacing) + var(--mobile-tab-bar-height) + var(--app-safe-bottom, 0px))}:host .content-inner{max-width:640px;margin:0 auto;width:100%}@media (min-width: 768px){:host .content-wrapper{padding-top:0;padding-left:var(--content-wrapper-padding, 20px);padding-right:var(--content-wrapper-padding, 20px)}}:host .header-expandable{background:var(--color-header-surface);padding:32px 20px 24px;color:var(--header-content-color, white);position:sticky;top:0;z-index:5;transition:opacity .1s ease-out,transform .1s ease-out;flex:0 0 auto;min-height:-moz-min-content;min-height:min-content}:host .header-expandable-inner{display:flex;flex-direction:column;gap:20px;max-width:640px;margin:0 auto}:host .header-expandable__text{margin-bottom:0;gap:4px;display:flex;flex-direction:column}:host .header-expandable__title{font-size:var(--font-size-2xl);font-weight:600;color:var(--header-content-color, white);margin:0}:host .header-expandable__subtitle{font-size:var(--font-size-sm);font-weight:400;color:var(--header-content-color, white);opacity:.85;margin:0}@media (min-width: 768px){:host .header-expandable{padding:48px 20px 32px}:host .header-expandable__title{font-size:var(--font-size-3xl)}:host .header-expandable__subtitle{font-size:var(--font-size-base)}}@media (min-width: 992px){:host .header-expandable{padding-left:var(--content-padding-lg);padding-right:var(--content-padding-lg)}}@media (min-width: 1440px){:host .header-expandable{padding-left:var(--content-padding-xl);padding-right:var(--content-padding-xl)}}@media (min-width: 1768px){:host .header-expandable{padding-left:var(--content-padding-2xl);padding-right:var(--content-padding-2xl)}}@media (min-width: 1920px){:host .header-expandable{padding-left:var(--content-padding-3xl);padding-right:var(--content-padding-3xl)}}\n", "ion-refresher{--color: var(--color-header-content)}ion-refresher-content{--color: var(--color-header-content)}ion-refresher-content::part(spinner){color:var(--color-header-content)}.header-details{gap:12px;padding:0 20px;height:72px;min-height:72px}:host .header-details .back-button{width:36px;height:36px;border-radius:50%;background:color-mix(in srgb,var(--color-header-content) 10%,transparent)!important;flex-shrink:0;border:none;padding:0;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--color-header-content);transition:background var(--transition-duration-fast) var(--ease-smooth);z-index:10}:host .header-details .back-button:hover{background:color-mix(in srgb,var(--color-header-content) 16%,transparent)!important}:host .header-details .back-button:active{background:color-mix(in srgb,var(--color-header-content) 22%,transparent)!important}.header-details .header-title{left:64px}@media (min-width: 768px){ion-header{display:block!important;height:88px;min-height:88px}ion-header ion-toolbar{--min-height: 88px;height:88px;min-height:88px}.header-details{padding:16px 24px;height:88px;min-height:88px}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "component", type: IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "component", type: IonContent, selector: "ion-content", inputs: ["color", "fixedSlotPlacement", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: IonRefresher, selector: "ion-refresher", inputs: ["closeDuration", "disabled", "mode", "pullFactor", "pullMax", "pullMin", "snapbackDuration"] }, { kind: "component", type: IonRefresherContent, selector: "ion-refresher-content", inputs: ["pullingIcon", "pullingText", "refreshingSpinner", "refreshingText"] }, { kind: "component", type: DsIconComponent, selector: "ds-icon", inputs: ["name", "size", "color", "interactive"] }, { kind: "component", type: DsMobileSkeletonLoaderComponent, selector: "ds-mobile-skeleton-loader", inputs: ["borderRadius", "variant", "maxWidth", "centered"] }, { kind: "component", type: DsMobileInlineTabsComponent, selector: "ds-mobile-inline-tabs", inputs: ["tabs", "activeTab"], outputs: ["tabChange"] }] });
|
|
6876
6888
|
}
|
|
6877
6889
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DsMobilePageDetailsComponent, decorators: [{
|
|
6878
6890
|
type: Component,
|
|
@@ -6954,7 +6966,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
6954
6966
|
<!-- Content wrapper -->
|
|
6955
6967
|
<div class="content-wrapper">
|
|
6956
6968
|
@if (contentLoading()) {
|
|
6957
|
-
<ds-mobile-skeleton-loader [borderRadius]="24" [variant]="contentLoadingVariant()" />
|
|
6969
|
+
<ds-mobile-skeleton-loader [borderRadius]="24" [variant]="contentLoadingVariant()" maxWidth="640px" [centered]="true" />
|
|
6958
6970
|
}
|
|
6959
6971
|
|
|
6960
6972
|
<!-- Offline indicator slot (appears at top of content) -->
|
|
@@ -7207,7 +7219,7 @@ class DsMobileSectionComponent {
|
|
|
7207
7219
|
<ng-content />
|
|
7208
7220
|
</div>
|
|
7209
7221
|
</section>
|
|
7210
|
-
`, isInline: true, styles: [":host{display:block;width:100%;border-bottom:1px solid transparent;transition:border-color .2s ease}:host(.has-border){border-bottom-color:var(--border-color-default)}:host(.has-border):last-child{border-bottom-color:transparent}.section{width:100%;display:flex;flex-direction:column;padding:var(--section-padding, 20px);gap:var(--section-gap, 12px);overflow:var(--section-overflow)}@media (min-width: 768px){.section{padding:var(--section-padding-desktop, var(--section-padding, 32px))}ds-mobile-page-main
|
|
7222
|
+
`, isInline: true, styles: [":host{display:block;width:100%;border-bottom:1px solid transparent;transition:border-color .2s ease}:host(.has-border){border-bottom-color:var(--border-color-default)}:host(.has-border):last-child{border-bottom-color:transparent}.section{width:100%;display:flex;flex-direction:column;padding:var(--section-padding, 20px);gap:var(--section-gap, 12px);overflow:var(--section-overflow)}@media (min-width: 768px){.section{padding:var(--section-padding-desktop, var(--section-padding, 32px))}:host-context(ds-mobile-page-main) .section,:host-context(ds-mobile-page-details) .section{padding-left:0;padding-right:0}}.section-header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:24px}.section-headline{font-family:Brockmann,sans-serif;font-size:var(--font-size-base);font-weight:600;color:var(--text-color-default-primary);margin:0;padding:0;letter-spacing:-.2px;display:flex;align-items:center;gap:6px;line-height:1.4}.section-link{font-family:Brockmann,sans-serif;font-size:var(--font-size-sm);font-weight:500;color:var(--color-accent, #5d5fef);text-decoration:none;cursor:pointer;white-space:nowrap;transition:opacity .2s ease;-webkit-tap-highlight-color:transparent;display:flex;align-items:center;gap:2px;line-height:1;-webkit-user-select:none;user-select:none}.section-link:hover{opacity:.8}.section-link:active{opacity:.6}.section-content{display:flex;flex-direction:column;gap:var(--section-content-gap)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: DsIconComponent, selector: "ds-icon", inputs: ["name", "size", "color", "interactive"] }] });
|
|
7211
7223
|
}
|
|
7212
7224
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DsMobileSectionComponent, decorators: [{
|
|
7213
7225
|
type: Component,
|
|
@@ -7239,7 +7251,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
7239
7251
|
<ng-content />
|
|
7240
7252
|
</div>
|
|
7241
7253
|
</section>
|
|
7242
|
-
`, styles: [":host{display:block;width:100%;border-bottom:1px solid transparent;transition:border-color .2s ease}:host(.has-border){border-bottom-color:var(--border-color-default)}:host(.has-border):last-child{border-bottom-color:transparent}.section{width:100%;display:flex;flex-direction:column;padding:var(--section-padding, 20px);gap:var(--section-gap, 12px);overflow:var(--section-overflow)}@media (min-width: 768px){.section{padding:var(--section-padding-desktop, var(--section-padding, 32px))}ds-mobile-page-main
|
|
7254
|
+
`, styles: [":host{display:block;width:100%;border-bottom:1px solid transparent;transition:border-color .2s ease}:host(.has-border){border-bottom-color:var(--border-color-default)}:host(.has-border):last-child{border-bottom-color:transparent}.section{width:100%;display:flex;flex-direction:column;padding:var(--section-padding, 20px);gap:var(--section-gap, 12px);overflow:var(--section-overflow)}@media (min-width: 768px){.section{padding:var(--section-padding-desktop, var(--section-padding, 32px))}:host-context(ds-mobile-page-main) .section,:host-context(ds-mobile-page-details) .section{padding-left:0;padding-right:0}}.section-header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:24px}.section-headline{font-family:Brockmann,sans-serif;font-size:var(--font-size-base);font-weight:600;color:var(--text-color-default-primary);margin:0;padding:0;letter-spacing:-.2px;display:flex;align-items:center;gap:6px;line-height:1.4}.section-link{font-family:Brockmann,sans-serif;font-size:var(--font-size-sm);font-weight:500;color:var(--color-accent, #5d5fef);text-decoration:none;cursor:pointer;white-space:nowrap;transition:opacity .2s ease;-webkit-tap-highlight-color:transparent;display:flex;align-items:center;gap:2px;line-height:1;-webkit-user-select:none;user-select:none}.section-link:hover{opacity:.8}.section-link:active{opacity:.6}.section-content{display:flex;flex-direction:column;gap:var(--section-content-gap)}\n"] }]
|
|
7243
7255
|
}], propDecorators: { headline: [{ type: i0.Input, args: [{ isSignal: true, alias: "headline", required: false }] }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], linkText: [{ type: i0.Input, args: [{ isSignal: true, alias: "linkText", required: false }] }], padding: [{ type: i0.Input, args: [{ isSignal: true, alias: "padding", required: false }] }], paddingDesktop: [{ type: i0.Input, args: [{ isSignal: true, alias: "paddingDesktop", required: false }] }], gap: [{ type: i0.Input, args: [{ isSignal: true, alias: "gap", required: false }] }], contentGap: [{ type: i0.Input, args: [{ isSignal: true, alias: "contentGap", required: false }] }], showBorder: [{ type: i0.Input, args: [{ isSignal: true, alias: "showBorder", required: false }] }], overflow: [{ type: i0.Input, args: [{ isSignal: true, alias: "overflow", required: false }] }], linkClick: [{ type: i0.Output, args: ["linkClick"] }] } });
|
|
7244
7256
|
|
|
7245
7257
|
/**
|
|
@@ -18318,12 +18330,18 @@ class DsMobileTenantPickerModalComponent {
|
|
|
18318
18330
|
pickMode = false;
|
|
18319
18331
|
/** Optional set of tenant IDs to exclude from the list (e.g. already-selected admins). */
|
|
18320
18332
|
excludeIds;
|
|
18333
|
+
/** Optional list of external tenants to use instead of the internal dummy data */
|
|
18334
|
+
set tenants(val) {
|
|
18335
|
+
this._externalTenants.set(val);
|
|
18336
|
+
}
|
|
18337
|
+
_externalTenants = signal(undefined, ...(ngDevMode ? [{ debugName: "_externalTenants" }] : []));
|
|
18321
18338
|
searchQuery = signal('', ...(ngDevMode ? [{ debugName: "searchQuery" }] : []));
|
|
18322
18339
|
selectionMode = signal(false, ...(ngDevMode ? [{ debugName: "selectionMode" }] : []));
|
|
18323
18340
|
selectedIds = signal(new Set(), ...(ngDevMode ? [{ debugName: "selectedIds" }] : []));
|
|
18324
18341
|
filteredTenants = computed(() => {
|
|
18325
18342
|
const q = this.searchQuery().toLowerCase().trim();
|
|
18326
|
-
|
|
18343
|
+
const external = this._externalTenants();
|
|
18344
|
+
let tenants = external ?? this.peerMessaging.tenants();
|
|
18327
18345
|
if (this.excludeIds?.size) {
|
|
18328
18346
|
tenants = tenants.filter(t => !this.excludeIds.has(t.id));
|
|
18329
18347
|
}
|
|
@@ -18390,7 +18408,7 @@ class DsMobileTenantPickerModalComponent {
|
|
|
18390
18408
|
const ids = [...this.selectedIds()];
|
|
18391
18409
|
if (ids.length < 2)
|
|
18392
18410
|
return;
|
|
18393
|
-
const allTenants = this.peerMessaging.tenants();
|
|
18411
|
+
const allTenants = this._externalTenants() ?? this.peerMessaging.tenants();
|
|
18394
18412
|
const selectedTenants = allTenants.filter(t => ids.includes(t.id));
|
|
18395
18413
|
const groupName = selectedTenants
|
|
18396
18414
|
.map(t => t.name.split(/\s+/)[0])
|
|
@@ -18401,7 +18419,7 @@ class DsMobileTenantPickerModalComponent {
|
|
|
18401
18419
|
await this.peerChat.createGroup(ids, groupName);
|
|
18402
18420
|
}
|
|
18403
18421
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DsMobileTenantPickerModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
18404
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: DsMobileTenantPickerModalComponent, isStandalone: true, selector: "ds-mobile-tenant-picker-modal", inputs: { pickMode: "pickMode", excludeIds: "excludeIds" }, ngImport: i0, template: `
|
|
18422
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: DsMobileTenantPickerModalComponent, isStandalone: true, selector: "ds-mobile-tenant-picker-modal", inputs: { pickMode: "pickMode", excludeIds: "excludeIds", tenants: "tenants" }, ngImport: i0, template: `
|
|
18405
18423
|
<ds-mobile-modal-base
|
|
18406
18424
|
headerTitle="Beboere"
|
|
18407
18425
|
closeButtonLabel="Luk"
|
|
@@ -18530,6 +18548,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
18530
18548
|
type: Input
|
|
18531
18549
|
}], excludeIds: [{
|
|
18532
18550
|
type: Input
|
|
18551
|
+
}], tenants: [{
|
|
18552
|
+
type: Input
|
|
18533
18553
|
}] } });
|
|
18534
18554
|
|
|
18535
18555
|
var index = /*#__PURE__*/Object.freeze({
|
|
@@ -31213,7 +31233,7 @@ class MobileCommunityPageComponent {
|
|
|
31213
31233
|
pinnedPosts = computed(() => {
|
|
31214
31234
|
// Get all posts that are explicitly marked as pinned
|
|
31215
31235
|
const allPosts = this.postsService.posts();
|
|
31216
|
-
return allPosts.filter(post => post.isPinned === true);
|
|
31236
|
+
return allPosts.filter((post) => post.isPinned === true);
|
|
31217
31237
|
}, ...(ngDevMode ? [{ debugName: "pinnedPosts" }] : []));
|
|
31218
31238
|
// Computed to check if there are any posts to display
|
|
31219
31239
|
hasAnyPosts = computed(() => {
|
|
@@ -31231,7 +31251,13 @@ class MobileCommunityPageComponent {
|
|
|
31231
31251
|
this.postModal = postModal;
|
|
31232
31252
|
this.userService = userService;
|
|
31233
31253
|
this.postsService = postsService;
|
|
31254
|
+
// Vis skeleton loader med en random delay mellem 0 og 2000 ms
|
|
31255
|
+
const randomTimeout = Math.floor(Math.random() * 2000);
|
|
31256
|
+
setTimeout(() => {
|
|
31257
|
+
this.isLoading.set(false);
|
|
31258
|
+
}, randomTimeout);
|
|
31234
31259
|
}
|
|
31260
|
+
isLoading = signal(true, ...(ngDevMode ? [{ debugName: "isLoading" }] : []));
|
|
31235
31261
|
/**
|
|
31236
31262
|
* Handle infinite scroll event
|
|
31237
31263
|
* Loads more posts when user scrolls to bottom
|
|
@@ -31282,11 +31308,11 @@ class MobileCommunityPageComponent {
|
|
|
31282
31308
|
...post,
|
|
31283
31309
|
postId: post.id,
|
|
31284
31310
|
avatarType: post.avatarType === 'icon' ? undefined : post.avatarType,
|
|
31285
|
-
focusComment
|
|
31311
|
+
focusComment,
|
|
31286
31312
|
};
|
|
31287
31313
|
await this.postModal.open(postData, {
|
|
31288
31314
|
currentUserName: 'Lars Mikkelsen', // Current user name
|
|
31289
|
-
currentUserInitials: this.userService.avatarInitials()
|
|
31315
|
+
currentUserInitials: this.userService.avatarInitials(),
|
|
31290
31316
|
});
|
|
31291
31317
|
}
|
|
31292
31318
|
}
|
|
@@ -31297,11 +31323,11 @@ class MobileCommunityPageComponent {
|
|
|
31297
31323
|
component: DsMobilePostCreateBottomSheetComponent,
|
|
31298
31324
|
componentProps: {
|
|
31299
31325
|
// This helps the component know it should auto-focus
|
|
31300
|
-
autoFocus: true
|
|
31326
|
+
autoFocus: true,
|
|
31301
31327
|
},
|
|
31302
31328
|
breakpoints: [0, 0.95, 1],
|
|
31303
31329
|
initialBreakpoint: 0.95,
|
|
31304
|
-
handle: true
|
|
31330
|
+
handle: true,
|
|
31305
31331
|
});
|
|
31306
31332
|
// Handle the result when the sheet is dismissed
|
|
31307
31333
|
const result = await sheet.onWillDismiss();
|
|
@@ -31322,7 +31348,7 @@ class MobileCommunityPageComponent {
|
|
|
31322
31348
|
isLiked: false,
|
|
31323
31349
|
likeCount: 0,
|
|
31324
31350
|
commentCount: 0,
|
|
31325
|
-
comments: []
|
|
31351
|
+
comments: [],
|
|
31326
31352
|
};
|
|
31327
31353
|
// Add to the beginning of the posts array via service
|
|
31328
31354
|
this.postsService.addPost(newPost);
|
|
@@ -31340,7 +31366,7 @@ class MobileCommunityPageComponent {
|
|
|
31340
31366
|
name: 'Sophie Andersen',
|
|
31341
31367
|
role: 'Lejer',
|
|
31342
31368
|
avatarInitials: 'SA',
|
|
31343
|
-
timestamp: '4t siden'
|
|
31369
|
+
timestamp: '4t siden',
|
|
31344
31370
|
};
|
|
31345
31371
|
// Open the lightbox with the image
|
|
31346
31372
|
await this.lightbox.open({
|
|
@@ -31353,14 +31379,14 @@ class MobileCommunityPageComponent {
|
|
|
31353
31379
|
description: description,
|
|
31354
31380
|
isLiked: true,
|
|
31355
31381
|
likeCount: 156,
|
|
31356
|
-
commentCount: 34
|
|
31357
|
-
}
|
|
31382
|
+
commentCount: 34,
|
|
31383
|
+
},
|
|
31358
31384
|
],
|
|
31359
31385
|
author: authorMeta,
|
|
31360
31386
|
enableZoom: true,
|
|
31361
31387
|
showControls: false, // Single image, no need for controls
|
|
31362
31388
|
showActions: true, // Show like & comment actions
|
|
31363
|
-
showInfo: true
|
|
31389
|
+
showInfo: true,
|
|
31364
31390
|
});
|
|
31365
31391
|
}
|
|
31366
31392
|
async openHouseRulesPdf() {
|
|
@@ -31370,7 +31396,7 @@ class MobileCommunityPageComponent {
|
|
|
31370
31396
|
name: 'Karen Nielsen',
|
|
31371
31397
|
role: 'Ejendomsadministrator',
|
|
31372
31398
|
avatarInitials: 'KN',
|
|
31373
|
-
timestamp: '2d siden'
|
|
31399
|
+
timestamp: '2d siden',
|
|
31374
31400
|
};
|
|
31375
31401
|
// Open the PDF lightbox
|
|
31376
31402
|
// Use absolute path for production deployment (Vercel, etc.)
|
|
@@ -31381,9 +31407,9 @@ class MobileCommunityPageComponent {
|
|
|
31381
31407
|
title: 'House Rules',
|
|
31382
31408
|
description: 'Building regulations and community guidelines',
|
|
31383
31409
|
fileSize: 250880, // 245 KB in bytes
|
|
31384
|
-
pageCount: 8
|
|
31410
|
+
pageCount: 8,
|
|
31385
31411
|
},
|
|
31386
|
-
author: authorMeta
|
|
31412
|
+
author: authorMeta,
|
|
31387
31413
|
});
|
|
31388
31414
|
}
|
|
31389
31415
|
/**
|
|
@@ -31394,13 +31420,13 @@ class MobileCommunityPageComponent {
|
|
|
31394
31420
|
const sheet = await this.bottomSheet.create({
|
|
31395
31421
|
component: DsMobileActionsBottomSheetComponent,
|
|
31396
31422
|
componentProps: {
|
|
31397
|
-
isOwnContent: isOwnPost
|
|
31423
|
+
isOwnContent: isOwnPost,
|
|
31398
31424
|
},
|
|
31399
31425
|
breakpoints: [0, 1],
|
|
31400
31426
|
initialBreakpoint: 1,
|
|
31401
31427
|
handle: true,
|
|
31402
31428
|
backdropDismiss: true,
|
|
31403
|
-
cssClass: 'auto-height'
|
|
31429
|
+
cssClass: 'auto-height',
|
|
31404
31430
|
});
|
|
31405
31431
|
const result = await sheet.onWillDismiss();
|
|
31406
31432
|
if (result.role === 'select' && result.data) {
|
|
@@ -31421,13 +31447,13 @@ class MobileCommunityPageComponent {
|
|
|
31421
31447
|
autoFocus: true,
|
|
31422
31448
|
isEditMode: true,
|
|
31423
31449
|
postId: postId,
|
|
31424
|
-
initialContent: post.content
|
|
31450
|
+
initialContent: post.content,
|
|
31425
31451
|
},
|
|
31426
31452
|
breakpoints: [0, 0.95, 1],
|
|
31427
31453
|
initialBreakpoint: 0.95,
|
|
31428
31454
|
handle: true,
|
|
31429
31455
|
backdropBlur: true,
|
|
31430
|
-
backdropOpacity: 0.6
|
|
31456
|
+
backdropOpacity: 0.6,
|
|
31431
31457
|
});
|
|
31432
31458
|
// Handle the result when the sheet is dismissed
|
|
31433
31459
|
const editResult = await editSheet.onWillDismiss();
|
|
@@ -31436,7 +31462,7 @@ class MobileCommunityPageComponent {
|
|
|
31436
31462
|
// Update the post via service
|
|
31437
31463
|
this.postsService.updatePost(postId, {
|
|
31438
31464
|
content: editResult.data.content,
|
|
31439
|
-
timestamp: 'Lige nu'
|
|
31465
|
+
timestamp: 'Lige nu',
|
|
31440
31466
|
});
|
|
31441
31467
|
}
|
|
31442
31468
|
break;
|
|
@@ -31453,7 +31479,7 @@ class MobileCommunityPageComponent {
|
|
|
31453
31479
|
if (likePost) {
|
|
31454
31480
|
this.postsService.updatePost(postId, {
|
|
31455
31481
|
isLiked: !likePost.isLiked,
|
|
31456
|
-
likeCount: likePost.isLiked ? likePost.likeCount - 1 : likePost.likeCount + 1
|
|
31482
|
+
likeCount: likePost.isLiked ? likePost.likeCount - 1 : likePost.likeCount + 1,
|
|
31457
31483
|
});
|
|
31458
31484
|
}
|
|
31459
31485
|
break;
|
|
@@ -31497,18 +31523,16 @@ class MobileCommunityPageComponent {
|
|
|
31497
31523
|
[notificationCount]="notificationService.unreadCount()"
|
|
31498
31524
|
[avatarInitials]="userService.avatarInitials()"
|
|
31499
31525
|
[avatarType]="userService.avatarType()"
|
|
31526
|
+
[contentLoading]="isLoading()"
|
|
31527
|
+
[contentLoadingVariant]="'card'"
|
|
31500
31528
|
(notificationClick)="handleNotificationClick()"
|
|
31501
|
-
(refresh)="handleRefresh($event)"
|
|
31502
|
-
|
|
31529
|
+
(refresh)="handleRefresh($event)"
|
|
31530
|
+
>
|
|
31503
31531
|
<!-- Offline indicator -->
|
|
31504
31532
|
@if (pageComponent.isOffline()) {
|
|
31505
|
-
<ds-mobile-offline-banner
|
|
31506
|
-
offline-indicator
|
|
31507
|
-
title="Ingen internetforbindelse"
|
|
31508
|
-
message="Nogle funktioner kan være utilgængelige">
|
|
31509
|
-
</ds-mobile-offline-banner>
|
|
31533
|
+
<ds-mobile-offline-banner offline-indicator title="Ingen internetforbindelse" message="Nogle funktioner kan være utilgængelige"> </ds-mobile-offline-banner>
|
|
31510
31534
|
}
|
|
31511
|
-
|
|
31535
|
+
|
|
31512
31536
|
<!-- Post Composer in header-expandable -->
|
|
31513
31537
|
<ds-mobile-post-composer
|
|
31514
31538
|
header-content
|
|
@@ -31517,21 +31541,20 @@ class MobileCommunityPageComponent {
|
|
|
31517
31541
|
[avatarSrc]="userService.avatarSrc()"
|
|
31518
31542
|
(composerClick)="openPostCreator()"
|
|
31519
31543
|
/>
|
|
31520
|
-
|
|
31544
|
+
|
|
31521
31545
|
<!-- Pinned Posts Section -->
|
|
31522
|
-
<ds-mobile-section
|
|
31523
|
-
headline="Fastgjorte opslag"
|
|
31524
|
-
icon="remixPushpinFill">
|
|
31546
|
+
<ds-mobile-section headline="Fastgjorte opslag" icon="remixPushpinFill">
|
|
31525
31547
|
<div class="pinned-posts-swiper-wrapper">
|
|
31526
|
-
<ds-mobile-swiper
|
|
31548
|
+
<ds-mobile-swiper
|
|
31527
31549
|
#pinnedSwiper
|
|
31528
31550
|
class="pinned-posts-swiper"
|
|
31529
|
-
[slideWidth]="'100%'"
|
|
31551
|
+
[slideWidth]="'100%'"
|
|
31530
31552
|
[gap]="32"
|
|
31531
31553
|
[pagination]="true"
|
|
31532
31554
|
[autoHeight]="true"
|
|
31533
31555
|
[progressiveOpacity]="true"
|
|
31534
|
-
[progressiveScale]="true"
|
|
31556
|
+
[progressiveScale]="true"
|
|
31557
|
+
>
|
|
31535
31558
|
@for (post of pinnedPosts(); track post.id) {
|
|
31536
31559
|
<div class="swiper-slide">
|
|
31537
31560
|
<ds-mobile-interactive-list-item-post
|
|
@@ -31547,24 +31570,19 @@ class MobileCommunityPageComponent {
|
|
|
31547
31570
|
[moreActions]="true"
|
|
31548
31571
|
(postClick)="openPost(post.id)"
|
|
31549
31572
|
(commentClick)="openPost(post.id, true)"
|
|
31550
|
-
(longPress)="handlePostLongPress(post.id, false)"
|
|
31551
|
-
|
|
31573
|
+
(longPress)="handlePostLongPress(post.id, false)"
|
|
31574
|
+
>
|
|
31552
31575
|
<post-content>
|
|
31553
31576
|
<post-text>{{ post.content }}</post-text>
|
|
31554
|
-
|
|
31577
|
+
|
|
31555
31578
|
@if (post.id === 'post-4') {
|
|
31556
31579
|
<post-attachments>
|
|
31557
|
-
<ds-mobile-card-inline-file
|
|
31558
|
-
[fileName]="'Husregler.pdf'"
|
|
31559
|
-
[fileSize]="'245 KB'"
|
|
31560
|
-
[variant]="'pdf'"
|
|
31561
|
-
[layout]="'compact'"
|
|
31562
|
-
(fileClick)="openHouseRulesPdf()">
|
|
31580
|
+
<ds-mobile-card-inline-file [fileName]="'Husregler.pdf'" [fileSize]="'245 KB'" [variant]="'pdf'" [layout]="'compact'" (fileClick)="openHouseRulesPdf()">
|
|
31563
31581
|
</ds-mobile-card-inline-file>
|
|
31564
31582
|
</post-attachments>
|
|
31565
31583
|
}
|
|
31566
31584
|
</post-content>
|
|
31567
|
-
|
|
31585
|
+
|
|
31568
31586
|
<post-actions>
|
|
31569
31587
|
<action-like [count]="post.likeCount" [active]="post.isLiked" />
|
|
31570
31588
|
<action-comment [count]="post.commentCount" (commentClick)="openPost(post.id, true)" />
|
|
@@ -31573,7 +31591,7 @@ class MobileCommunityPageComponent {
|
|
|
31573
31591
|
</div>
|
|
31574
31592
|
}
|
|
31575
31593
|
</ds-mobile-swiper>
|
|
31576
|
-
|
|
31594
|
+
|
|
31577
31595
|
<!-- Navigation Buttons -->
|
|
31578
31596
|
<div class="swiper-nav-buttons">
|
|
31579
31597
|
<ds-icon-button
|
|
@@ -31597,159 +31615,144 @@ class MobileCommunityPageComponent {
|
|
|
31597
31615
|
</div>
|
|
31598
31616
|
</div>
|
|
31599
31617
|
</ds-mobile-section>
|
|
31600
|
-
|
|
31618
|
+
|
|
31601
31619
|
<!-- All Posts Section -->
|
|
31602
|
-
<ds-mobile-section
|
|
31603
|
-
headline="Alle opslag">
|
|
31620
|
+
<ds-mobile-section headline="Alle opslag">
|
|
31604
31621
|
@if (hasAnyPosts()) {
|
|
31605
31622
|
<div class="post-list-wrapper">
|
|
31606
31623
|
<!-- All Posts Loop -->
|
|
31607
31624
|
@for (post of allPosts(); track post.id) {
|
|
31608
|
-
|
|
31609
|
-
|
|
31610
|
-
|
|
31611
|
-
|
|
31612
|
-
|
|
31613
|
-
|
|
31614
|
-
|
|
31615
|
-
|
|
31616
|
-
|
|
31617
|
-
|
|
31618
|
-
|
|
31619
|
-
|
|
31620
|
-
|
|
31621
|
-
|
|
31622
|
-
|
|
31623
|
-
|
|
31624
|
-
|
|
31625
|
-
|
|
31626
|
-
|
|
31627
|
-
|
|
31628
|
-
|
|
31629
|
-
|
|
31630
|
-
|
|
31631
|
-
|
|
31632
|
-
|
|
31633
|
-
|
|
31634
|
-
|
|
31635
|
-
|
|
31636
|
-
|
|
31637
|
-
|
|
31638
|
-
|
|
31639
|
-
|
|
31640
|
-
|
|
31641
|
-
|
|
31642
|
-
|
|
31643
|
-
|
|
31644
|
-
|
|
31645
|
-
|
|
31646
|
-
|
|
31647
|
-
|
|
31648
|
-
|
|
31649
|
-
|
|
31650
|
-
|
|
31651
|
-
|
|
31652
|
-
|
|
31653
|
-
|
|
31654
|
-
|
|
31655
|
-
|
|
31656
|
-
|
|
31657
|
-
|
|
31658
|
-
|
|
31659
|
-
|
|
31660
|
-
|
|
31661
|
-
|
|
31625
|
+
@if (post.hasInlinePhotos && post.id === 'post-2') {
|
|
31626
|
+
<!-- Post 2: With multiple images (grid layout) -->
|
|
31627
|
+
<ds-mobile-interactive-list-item-post
|
|
31628
|
+
[authorName]="post.authorName"
|
|
31629
|
+
[authorRole]="post.authorRole"
|
|
31630
|
+
[timestamp]="post.timestamp"
|
|
31631
|
+
[avatarInitials]="post.avatarInitials || ''"
|
|
31632
|
+
[avatarType]="post.avatarType"
|
|
31633
|
+
[clickable]="true"
|
|
31634
|
+
[moreActions]="true"
|
|
31635
|
+
(postClick)="openPost(post.id)"
|
|
31636
|
+
(commentClick)="openPost(post.id, true)"
|
|
31637
|
+
(longPress)="handlePostLongPress(post.id, post.authorRole === 'Dig')"
|
|
31638
|
+
>
|
|
31639
|
+
<post-content>
|
|
31640
|
+
<post-text>{{ post.content }}</post-text>
|
|
31641
|
+
<ds-mobile-inline-photo
|
|
31642
|
+
[images]="['/assets/Dummy-photos/balcony-view.jpg', '/assets/Dummy-photos/staircase.jpg', '/assets/Dummy-photos/park.jpg', '/assets/Dummy-photos/yard.jpg']"
|
|
31643
|
+
[author]="{
|
|
31644
|
+
name: 'Sophie Andersen',
|
|
31645
|
+
role: 'Lejer',
|
|
31646
|
+
avatarInitials: 'SA',
|
|
31647
|
+
avatarType: 'initials',
|
|
31648
|
+
timestamp: '4t siden',
|
|
31649
|
+
}"
|
|
31650
|
+
/>
|
|
31651
|
+
</post-content>
|
|
31652
|
+
|
|
31653
|
+
<post-actions>
|
|
31654
|
+
<action-like [active]="post.isLiked" [count]="post.likeCount" />
|
|
31655
|
+
<action-comment [count]="post.commentCount" (commentClick)="openPost(post.id, true)" />
|
|
31656
|
+
</post-actions>
|
|
31657
|
+
</ds-mobile-interactive-list-item-post>
|
|
31658
|
+
} @else if (post.hasInlinePhotos && post.id === 'post-3.5') {
|
|
31659
|
+
<!-- Post 3.5: Property Manager showcase with 6+ photos -->
|
|
31660
|
+
<ds-mobile-interactive-list-item-post
|
|
31661
|
+
[authorName]="post.authorName"
|
|
31662
|
+
[authorRole]="post.authorRole"
|
|
31663
|
+
[timestamp]="post.timestamp"
|
|
31664
|
+
[avatarInitials]="post.avatarInitials || ''"
|
|
31665
|
+
[avatarType]="post.avatarType"
|
|
31666
|
+
[showBadge]="post.showBadge || false"
|
|
31667
|
+
[clickable]="true"
|
|
31668
|
+
[moreActions]="true"
|
|
31669
|
+
(postClick)="openPost(post.id)"
|
|
31670
|
+
(commentClick)="openPost(post.id, true)"
|
|
31671
|
+
(longPress)="handlePostLongPress(post.id, false)"
|
|
31672
|
+
>
|
|
31673
|
+
<post-content>
|
|
31674
|
+
<post-text>{{ post.content }}</post-text>
|
|
31675
|
+
<ds-mobile-inline-photo
|
|
31676
|
+
[images]="[
|
|
31677
|
+
'/assets/Dummy-photos/mailboxes.jpg',
|
|
31678
|
+
'/assets/Dummy-photos/staircase.jpg',
|
|
31679
|
+
'/assets/Dummy-photos/yard.jpg',
|
|
31680
|
+
'/assets/Dummy-photos/park.jpg',
|
|
31681
|
+
'/assets/Dummy-photos/balcony-view.jpg',
|
|
31682
|
+
'/assets/Dummy-photos/handyman.jpg',
|
|
31683
|
+
]"
|
|
31684
|
+
[author]="{
|
|
31685
|
+
name: 'Karen Nielsen',
|
|
31686
|
+
role: 'Ejendomsadministrator',
|
|
31687
|
+
avatarInitials: 'KN',
|
|
31688
|
+
avatarType: 'initials',
|
|
31689
|
+
timestamp: '2d siden',
|
|
31690
|
+
}"
|
|
31691
|
+
[maxVisible]="5"
|
|
31692
|
+
/>
|
|
31693
|
+
</post-content>
|
|
31694
|
+
|
|
31695
|
+
<post-actions>
|
|
31696
|
+
<action-like [count]="post.likeCount" />
|
|
31697
|
+
<action-comment [count]="post.commentCount" (commentClick)="openPost(post.id, true)" />
|
|
31698
|
+
</post-actions>
|
|
31699
|
+
</ds-mobile-interactive-list-item-post>
|
|
31700
|
+
} @else {
|
|
31701
|
+
<!-- Regular Post -->
|
|
31702
|
+
<ds-mobile-interactive-list-item-post
|
|
31703
|
+
[authorName]="post.authorName"
|
|
31704
|
+
[authorRole]="post.authorRole"
|
|
31705
|
+
[timestamp]="post.timestamp"
|
|
31706
|
+
[avatarType]="post.avatarType"
|
|
31707
|
+
[avatarSrc]="post.avatarSrc || ''"
|
|
31708
|
+
[avatarInitials]="post.avatarInitials || ''"
|
|
31709
|
+
[clickable]="true"
|
|
31710
|
+
[moreActions]="true"
|
|
31711
|
+
(postClick)="openPost(post.id)"
|
|
31712
|
+
(commentClick)="openPost(post.id, true)"
|
|
31713
|
+
(longPress)="handlePostLongPress(post.id, post.authorRole === 'Dig')"
|
|
31714
|
+
>
|
|
31715
|
+
<post-content>
|
|
31716
|
+
@if (post.content) {
|
|
31662
31717
|
<post-text>{{ post.content }}</post-text>
|
|
31663
|
-
|
|
31664
|
-
|
|
31665
|
-
|
|
31666
|
-
|
|
31667
|
-
|
|
31668
|
-
|
|
31669
|
-
|
|
31670
|
-
'
|
|
31671
|
-
|
|
31672
|
-
|
|
31673
|
-
|
|
31674
|
-
|
|
31675
|
-
|
|
31676
|
-
|
|
31677
|
-
|
|
31678
|
-
|
|
31679
|
-
|
|
31680
|
-
|
|
31681
|
-
</post-content>
|
|
31682
|
-
|
|
31683
|
-
<post-actions>
|
|
31684
|
-
<action-like [count]="post.likeCount" />
|
|
31685
|
-
<action-comment [count]="post.commentCount" (commentClick)="openPost(post.id, true)" />
|
|
31686
|
-
</post-actions>
|
|
31687
|
-
</ds-mobile-interactive-list-item-post>
|
|
31688
|
-
} @else {
|
|
31689
|
-
<!-- Regular Post -->
|
|
31690
|
-
<ds-mobile-interactive-list-item-post
|
|
31691
|
-
[authorName]="post.authorName"
|
|
31692
|
-
[authorRole]="post.authorRole"
|
|
31693
|
-
[timestamp]="post.timestamp"
|
|
31694
|
-
[avatarType]="post.avatarType"
|
|
31695
|
-
[avatarSrc]="post.avatarSrc || ''"
|
|
31696
|
-
[avatarInitials]="post.avatarInitials || ''"
|
|
31697
|
-
[clickable]="true"
|
|
31698
|
-
[moreActions]="true"
|
|
31699
|
-
(postClick)="openPost(post.id)"
|
|
31700
|
-
(commentClick)="openPost(post.id, true)"
|
|
31701
|
-
(longPress)="handlePostLongPress(post.id, post.authorRole === 'Dig')">
|
|
31702
|
-
|
|
31703
|
-
<post-content>
|
|
31704
|
-
@if (post.content) {
|
|
31705
|
-
<post-text>{{ post.content }}</post-text>
|
|
31706
|
-
}
|
|
31707
|
-
@if (post.imageSrc) {
|
|
31708
|
-
<post-media>
|
|
31709
|
-
<img
|
|
31710
|
-
[src]="post.imageSrc"
|
|
31711
|
-
[alt]="post.imageAlt || 'Posted image'"
|
|
31712
|
-
class="clickable-image"
|
|
31713
|
-
(click)="openImageLightbox(post.imageSrc, post.imageAlt || 'Posted image', post.content, $event)"
|
|
31714
|
-
/>
|
|
31715
|
-
</post-media>
|
|
31716
|
-
}
|
|
31717
|
-
</post-content>
|
|
31718
|
-
|
|
31719
|
-
<post-actions>
|
|
31720
|
-
<action-like [count]="post.likeCount" [active]="post.isLiked" />
|
|
31721
|
-
<action-comment [count]="post.commentCount" (commentClick)="openPost(post.id, true)" />
|
|
31722
|
-
</post-actions>
|
|
31723
|
-
</ds-mobile-interactive-list-item-post>
|
|
31724
|
-
}
|
|
31718
|
+
}
|
|
31719
|
+
@if (post.imageSrc) {
|
|
31720
|
+
<post-media>
|
|
31721
|
+
<img
|
|
31722
|
+
[src]="post.imageSrc"
|
|
31723
|
+
[alt]="post.imageAlt || 'Posted image'"
|
|
31724
|
+
class="clickable-image"
|
|
31725
|
+
(click)="openImageLightbox(post.imageSrc, post.imageAlt || 'Posted image', post.content, $event)"
|
|
31726
|
+
/>
|
|
31727
|
+
</post-media>
|
|
31728
|
+
}
|
|
31729
|
+
</post-content>
|
|
31730
|
+
|
|
31731
|
+
<post-actions>
|
|
31732
|
+
<action-like [count]="post.likeCount" [active]="post.isLiked" />
|
|
31733
|
+
<action-comment [count]="post.commentCount" (commentClick)="openPost(post.id, true)" />
|
|
31734
|
+
</post-actions>
|
|
31735
|
+
</ds-mobile-interactive-list-item-post>
|
|
31725
31736
|
}
|
|
31726
|
-
|
|
31727
|
-
|
|
31728
|
-
|
|
31729
|
-
|
|
31730
|
-
|
|
31731
|
-
|
|
31732
|
-
|
|
31733
|
-
|
|
31734
|
-
|
|
31735
|
-
|
|
31736
|
-
|
|
31737
|
-
|
|
31738
|
-
|
|
31739
|
-
|
|
31740
|
-
|
|
31741
|
-
|
|
31742
|
-
|
|
31743
|
-
|
|
31744
|
-
|
|
31745
|
-
(ionInfinite)="onInfiniteScroll($event)">
|
|
31746
|
-
<ion-infinite-scroll-content
|
|
31747
|
-
loadingSpinner="crescent">
|
|
31748
|
-
</ion-infinite-scroll-content>
|
|
31749
|
-
</ion-infinite-scroll>
|
|
31750
|
-
}
|
|
31751
|
-
</ds-mobile-section>
|
|
31752
|
-
</ds-mobile-page-main>
|
|
31737
|
+
}
|
|
31738
|
+
</div>
|
|
31739
|
+
} @else {
|
|
31740
|
+
<!-- Empty State -->
|
|
31741
|
+
<div class="community-empty-state">
|
|
31742
|
+
<img src="/assets/Empty%20state-chat.png" alt="Ingen opslag endnu" class="empty-state-image" />
|
|
31743
|
+
<h3 class="empty-state-title">Ingen opslag endnu</h3>
|
|
31744
|
+
<p class="empty-state-description">Vær den første til at dele noget med dit fællesskab</p>
|
|
31745
|
+
</div>
|
|
31746
|
+
}
|
|
31747
|
+
|
|
31748
|
+
<!-- Infinite Scroll -->
|
|
31749
|
+
@if (hasAnyPosts()) {
|
|
31750
|
+
<ion-infinite-scroll threshold="100px" [disabled]="!hasMorePosts() || pageComponent.isOffline()" (ionInfinite)="onInfiniteScroll($event)">
|
|
31751
|
+
<ion-infinite-scroll-content loadingSpinner="crescent"> </ion-infinite-scroll-content>
|
|
31752
|
+
</ion-infinite-scroll>
|
|
31753
|
+
}
|
|
31754
|
+
</ds-mobile-section>
|
|
31755
|
+
</ds-mobile-page-main>
|
|
31753
31756
|
`, isInline: true, styles: [".pinned-posts-swiper-wrapper{padding:0;position:relative}.swiper-nav-buttons{display:contents}.swiper-nav-button{position:absolute;top:50%;transform:translateY(-50%);z-index:10}.swiper-nav-button:first-child{left:-48px}.swiper-nav-button:last-child{right:-48px}::ng-deep .swiper-nav-button button{border-radius:50%!important;width:48px!important;height:48px!important;padding:0!important}@media (max-width: 767px){.swiper-nav-buttons{display:none}}::ng-deep .pinned-posts-swiper .swiper-slide{width:100%;max-width:600px;height:auto}@media (min-width: 768px){::ng-deep .pinned-posts-swiper .swiper-slide{max-width:100%}}.swiper-post-item{width:100%;height:auto}::ng-deep .pinned-posts-swiper .swiper-slide ds-mobile-interactive-list-item-post{height:auto}::ng-deep .pinned-posts-swiper .swiper-wrapper{height:auto;align-items:flex-start}.post-list-wrapper{display:flex;flex-direction:column}.clickable-image{cursor:pointer;transition:transform .2s ease,opacity .2s ease;border-radius:8px;display:block;width:100%;aspect-ratio:16/9;object-fit:cover}.clickable-image:active{transform:scale(.98);opacity:.9}.community-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.empty-state-image{width:96px;height:96px;margin-bottom:24px}.empty-state-title{font-family:Brockmann,sans-serif;font-size:var(--font-size-base);font-weight:600;color:var(--color-text-primary);margin:16px 0 8px}.empty-state-description{font-family:Brockmann,sans-serif;font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}ion-infinite-scroll{--color: var(--color-primary-surface)}ion-infinite-scroll-content{--color: var(--color-primary-surface)}ion-infinite-scroll-content::part(spinner){color:var(--color-primary-surface)}\n"], dependencies: [{ kind: "component", type: DsMobilePageMainComponent, selector: "ds-mobile-page-main", inputs: ["title", "headerTitle", "headerSubtitle", "firstEntry", "avatarType", "avatarInitials", "avatarSrc", "avatarIconName", "showNotification", "notificationCount", "showRefresh", "showCondensedHeader", "scrollThreshold", "headerFadeDistance", "contentPadding", "profileMenuItems"], outputs: ["notificationClick", "avatarClick", "profileActionSelected", "refresh", "scroll"] }, { kind: "component", type: DsMobileSectionComponent, selector: "ds-mobile-section", inputs: ["headline", "icon", "linkText", "padding", "paddingDesktop", "gap", "contentGap", "showBorder", "overflow"], outputs: ["linkClick"] }, { kind: "component", type: DsMobileInteractiveListItemPostComponent, selector: "ds-mobile-interactive-list-item-post", inputs: ["authorName", "authorRole", "timestamp", "avatarInitials", "avatarType", "avatarSrc", "avatarIconName", "showBadge", "variant", "align", "clickable", "enableLongPress", "moreActions"], outputs: ["postClick", "commentClick", "longPress"] }, { kind: "component", type: DsMobilePostComposerComponent, selector: "ds-mobile-post-composer", inputs: ["avatarInitials", "avatarType", "avatarSrc", "avatarIconName", "placeholder", "buttonText"], outputs: ["composerClick"] }, { kind: "component", type: DsMobileSwiperComponent, selector: "ds-mobile-swiper", inputs: ["slideWidth", "gap", "pagination", "autoHeight", "progressiveOpacity", "progressiveScale"] }, { kind: "component", type: PostContentComponent, selector: "post-content" }, { kind: "component", type: PostTextComponent, selector: "post-text" }, { kind: "component", type: PostMediaComponent, selector: "post-media" }, { kind: "component", type: PostAttachmentsComponent, selector: "post-attachments" }, { kind: "component", type: PostActionsComponent, selector: "post-actions" }, { kind: "component", type: ActionLikeComponent, selector: "action-like", inputs: ["active", "count"], outputs: ["activeChange", "countChange", "likeClick"] }, { kind: "component", type: ActionCommentComponent, selector: "action-comment", inputs: ["count"], outputs: ["commentClick"] }, { kind: "component", type: DsMobileCardInlineFileComponent, selector: "ds-mobile-card-inline-file", inputs: ["fileName", "fileSize", "variant", "layout", "fileUrl"], outputs: ["fileClick"] }, { kind: "component", type: DsIconButtonComponent, selector: "ds-icon-button", inputs: ["variant", "size", "icon", "disabled", "loading", "pressed", "expanded", "ariaLabel", "tooltip", "tooltipDisabled", "tooltipPlacement"], outputs: ["clicked", "focused", "blurred"] }, { kind: "component", type: DsMobileInlinePhotoComponent, selector: "ds-mobile-inline-photo", inputs: ["images", "loadingStates", "author", "maxVisible", "useGrid"], outputs: ["photoClick"] }, { kind: "component", type: DsMobileOfflineBannerComponent, selector: "ds-mobile-offline-banner", inputs: ["icon", "title", "message"] }, { kind: "component", type: IonInfiniteScroll, selector: "ion-infinite-scroll", inputs: ["disabled", "position", "threshold"] }, { kind: "component", type: IonInfiniteScrollContent, selector: "ion-infinite-scroll-content", inputs: ["loadingSpinner", "loadingText"] }] });
|
|
31754
31757
|
}
|
|
31755
31758
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: MobileCommunityPageComponent, decorators: [{
|
|
@@ -31772,7 +31775,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
31772
31775
|
DsMobileInlinePhotoComponent,
|
|
31773
31776
|
DsMobileOfflineBannerComponent,
|
|
31774
31777
|
IonInfiniteScroll,
|
|
31775
|
-
IonInfiniteScrollContent
|
|
31778
|
+
IonInfiniteScrollContent,
|
|
31776
31779
|
], template: `
|
|
31777
31780
|
<ds-mobile-page-main
|
|
31778
31781
|
#pageComponent
|
|
@@ -31780,18 +31783,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
31780
31783
|
[notificationCount]="notificationService.unreadCount()"
|
|
31781
31784
|
[avatarInitials]="userService.avatarInitials()"
|
|
31782
31785
|
[avatarType]="userService.avatarType()"
|
|
31786
|
+
[contentLoading]="isLoading()"
|
|
31787
|
+
[contentLoadingVariant]="'card'"
|
|
31783
31788
|
(notificationClick)="handleNotificationClick()"
|
|
31784
|
-
(refresh)="handleRefresh($event)"
|
|
31785
|
-
|
|
31789
|
+
(refresh)="handleRefresh($event)"
|
|
31790
|
+
>
|
|
31786
31791
|
<!-- Offline indicator -->
|
|
31787
31792
|
@if (pageComponent.isOffline()) {
|
|
31788
|
-
<ds-mobile-offline-banner
|
|
31789
|
-
offline-indicator
|
|
31790
|
-
title="Ingen internetforbindelse"
|
|
31791
|
-
message="Nogle funktioner kan være utilgængelige">
|
|
31792
|
-
</ds-mobile-offline-banner>
|
|
31793
|
+
<ds-mobile-offline-banner offline-indicator title="Ingen internetforbindelse" message="Nogle funktioner kan være utilgængelige"> </ds-mobile-offline-banner>
|
|
31793
31794
|
}
|
|
31794
|
-
|
|
31795
|
+
|
|
31795
31796
|
<!-- Post Composer in header-expandable -->
|
|
31796
31797
|
<ds-mobile-post-composer
|
|
31797
31798
|
header-content
|
|
@@ -31800,21 +31801,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
31800
31801
|
[avatarSrc]="userService.avatarSrc()"
|
|
31801
31802
|
(composerClick)="openPostCreator()"
|
|
31802
31803
|
/>
|
|
31803
|
-
|
|
31804
|
+
|
|
31804
31805
|
<!-- Pinned Posts Section -->
|
|
31805
|
-
<ds-mobile-section
|
|
31806
|
-
headline="Fastgjorte opslag"
|
|
31807
|
-
icon="remixPushpinFill">
|
|
31806
|
+
<ds-mobile-section headline="Fastgjorte opslag" icon="remixPushpinFill">
|
|
31808
31807
|
<div class="pinned-posts-swiper-wrapper">
|
|
31809
|
-
<ds-mobile-swiper
|
|
31808
|
+
<ds-mobile-swiper
|
|
31810
31809
|
#pinnedSwiper
|
|
31811
31810
|
class="pinned-posts-swiper"
|
|
31812
|
-
[slideWidth]="'100%'"
|
|
31811
|
+
[slideWidth]="'100%'"
|
|
31813
31812
|
[gap]="32"
|
|
31814
31813
|
[pagination]="true"
|
|
31815
31814
|
[autoHeight]="true"
|
|
31816
31815
|
[progressiveOpacity]="true"
|
|
31817
|
-
[progressiveScale]="true"
|
|
31816
|
+
[progressiveScale]="true"
|
|
31817
|
+
>
|
|
31818
31818
|
@for (post of pinnedPosts(); track post.id) {
|
|
31819
31819
|
<div class="swiper-slide">
|
|
31820
31820
|
<ds-mobile-interactive-list-item-post
|
|
@@ -31830,24 +31830,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
31830
31830
|
[moreActions]="true"
|
|
31831
31831
|
(postClick)="openPost(post.id)"
|
|
31832
31832
|
(commentClick)="openPost(post.id, true)"
|
|
31833
|
-
(longPress)="handlePostLongPress(post.id, false)"
|
|
31834
|
-
|
|
31833
|
+
(longPress)="handlePostLongPress(post.id, false)"
|
|
31834
|
+
>
|
|
31835
31835
|
<post-content>
|
|
31836
31836
|
<post-text>{{ post.content }}</post-text>
|
|
31837
|
-
|
|
31837
|
+
|
|
31838
31838
|
@if (post.id === 'post-4') {
|
|
31839
31839
|
<post-attachments>
|
|
31840
|
-
<ds-mobile-card-inline-file
|
|
31841
|
-
[fileName]="'Husregler.pdf'"
|
|
31842
|
-
[fileSize]="'245 KB'"
|
|
31843
|
-
[variant]="'pdf'"
|
|
31844
|
-
[layout]="'compact'"
|
|
31845
|
-
(fileClick)="openHouseRulesPdf()">
|
|
31840
|
+
<ds-mobile-card-inline-file [fileName]="'Husregler.pdf'" [fileSize]="'245 KB'" [variant]="'pdf'" [layout]="'compact'" (fileClick)="openHouseRulesPdf()">
|
|
31846
31841
|
</ds-mobile-card-inline-file>
|
|
31847
31842
|
</post-attachments>
|
|
31848
31843
|
}
|
|
31849
31844
|
</post-content>
|
|
31850
|
-
|
|
31845
|
+
|
|
31851
31846
|
<post-actions>
|
|
31852
31847
|
<action-like [count]="post.likeCount" [active]="post.isLiked" />
|
|
31853
31848
|
<action-comment [count]="post.commentCount" (commentClick)="openPost(post.id, true)" />
|
|
@@ -31856,7 +31851,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
31856
31851
|
</div>
|
|
31857
31852
|
}
|
|
31858
31853
|
</ds-mobile-swiper>
|
|
31859
|
-
|
|
31854
|
+
|
|
31860
31855
|
<!-- Navigation Buttons -->
|
|
31861
31856
|
<div class="swiper-nav-buttons">
|
|
31862
31857
|
<ds-icon-button
|
|
@@ -31880,159 +31875,144 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
31880
31875
|
</div>
|
|
31881
31876
|
</div>
|
|
31882
31877
|
</ds-mobile-section>
|
|
31883
|
-
|
|
31878
|
+
|
|
31884
31879
|
<!-- All Posts Section -->
|
|
31885
|
-
<ds-mobile-section
|
|
31886
|
-
headline="Alle opslag">
|
|
31880
|
+
<ds-mobile-section headline="Alle opslag">
|
|
31887
31881
|
@if (hasAnyPosts()) {
|
|
31888
31882
|
<div class="post-list-wrapper">
|
|
31889
31883
|
<!-- All Posts Loop -->
|
|
31890
31884
|
@for (post of allPosts(); track post.id) {
|
|
31891
|
-
|
|
31892
|
-
|
|
31893
|
-
|
|
31894
|
-
|
|
31895
|
-
|
|
31896
|
-
|
|
31897
|
-
|
|
31898
|
-
|
|
31899
|
-
|
|
31900
|
-
|
|
31901
|
-
|
|
31902
|
-
|
|
31903
|
-
|
|
31904
|
-
|
|
31905
|
-
|
|
31906
|
-
|
|
31907
|
-
|
|
31908
|
-
|
|
31909
|
-
|
|
31910
|
-
|
|
31911
|
-
|
|
31912
|
-
|
|
31913
|
-
|
|
31914
|
-
|
|
31915
|
-
|
|
31916
|
-
|
|
31917
|
-
|
|
31918
|
-
|
|
31919
|
-
|
|
31920
|
-
|
|
31921
|
-
|
|
31922
|
-
|
|
31923
|
-
|
|
31924
|
-
|
|
31925
|
-
|
|
31926
|
-
|
|
31927
|
-
|
|
31928
|
-
|
|
31929
|
-
|
|
31930
|
-
|
|
31931
|
-
|
|
31932
|
-
|
|
31933
|
-
|
|
31934
|
-
|
|
31935
|
-
|
|
31936
|
-
|
|
31937
|
-
|
|
31938
|
-
|
|
31939
|
-
|
|
31940
|
-
|
|
31941
|
-
|
|
31942
|
-
|
|
31943
|
-
|
|
31944
|
-
|
|
31885
|
+
@if (post.hasInlinePhotos && post.id === 'post-2') {
|
|
31886
|
+
<!-- Post 2: With multiple images (grid layout) -->
|
|
31887
|
+
<ds-mobile-interactive-list-item-post
|
|
31888
|
+
[authorName]="post.authorName"
|
|
31889
|
+
[authorRole]="post.authorRole"
|
|
31890
|
+
[timestamp]="post.timestamp"
|
|
31891
|
+
[avatarInitials]="post.avatarInitials || ''"
|
|
31892
|
+
[avatarType]="post.avatarType"
|
|
31893
|
+
[clickable]="true"
|
|
31894
|
+
[moreActions]="true"
|
|
31895
|
+
(postClick)="openPost(post.id)"
|
|
31896
|
+
(commentClick)="openPost(post.id, true)"
|
|
31897
|
+
(longPress)="handlePostLongPress(post.id, post.authorRole === 'Dig')"
|
|
31898
|
+
>
|
|
31899
|
+
<post-content>
|
|
31900
|
+
<post-text>{{ post.content }}</post-text>
|
|
31901
|
+
<ds-mobile-inline-photo
|
|
31902
|
+
[images]="['/assets/Dummy-photos/balcony-view.jpg', '/assets/Dummy-photos/staircase.jpg', '/assets/Dummy-photos/park.jpg', '/assets/Dummy-photos/yard.jpg']"
|
|
31903
|
+
[author]="{
|
|
31904
|
+
name: 'Sophie Andersen',
|
|
31905
|
+
role: 'Lejer',
|
|
31906
|
+
avatarInitials: 'SA',
|
|
31907
|
+
avatarType: 'initials',
|
|
31908
|
+
timestamp: '4t siden',
|
|
31909
|
+
}"
|
|
31910
|
+
/>
|
|
31911
|
+
</post-content>
|
|
31912
|
+
|
|
31913
|
+
<post-actions>
|
|
31914
|
+
<action-like [active]="post.isLiked" [count]="post.likeCount" />
|
|
31915
|
+
<action-comment [count]="post.commentCount" (commentClick)="openPost(post.id, true)" />
|
|
31916
|
+
</post-actions>
|
|
31917
|
+
</ds-mobile-interactive-list-item-post>
|
|
31918
|
+
} @else if (post.hasInlinePhotos && post.id === 'post-3.5') {
|
|
31919
|
+
<!-- Post 3.5: Property Manager showcase with 6+ photos -->
|
|
31920
|
+
<ds-mobile-interactive-list-item-post
|
|
31921
|
+
[authorName]="post.authorName"
|
|
31922
|
+
[authorRole]="post.authorRole"
|
|
31923
|
+
[timestamp]="post.timestamp"
|
|
31924
|
+
[avatarInitials]="post.avatarInitials || ''"
|
|
31925
|
+
[avatarType]="post.avatarType"
|
|
31926
|
+
[showBadge]="post.showBadge || false"
|
|
31927
|
+
[clickable]="true"
|
|
31928
|
+
[moreActions]="true"
|
|
31929
|
+
(postClick)="openPost(post.id)"
|
|
31930
|
+
(commentClick)="openPost(post.id, true)"
|
|
31931
|
+
(longPress)="handlePostLongPress(post.id, false)"
|
|
31932
|
+
>
|
|
31933
|
+
<post-content>
|
|
31934
|
+
<post-text>{{ post.content }}</post-text>
|
|
31935
|
+
<ds-mobile-inline-photo
|
|
31936
|
+
[images]="[
|
|
31937
|
+
'/assets/Dummy-photos/mailboxes.jpg',
|
|
31938
|
+
'/assets/Dummy-photos/staircase.jpg',
|
|
31939
|
+
'/assets/Dummy-photos/yard.jpg',
|
|
31940
|
+
'/assets/Dummy-photos/park.jpg',
|
|
31941
|
+
'/assets/Dummy-photos/balcony-view.jpg',
|
|
31942
|
+
'/assets/Dummy-photos/handyman.jpg',
|
|
31943
|
+
]"
|
|
31944
|
+
[author]="{
|
|
31945
|
+
name: 'Karen Nielsen',
|
|
31946
|
+
role: 'Ejendomsadministrator',
|
|
31947
|
+
avatarInitials: 'KN',
|
|
31948
|
+
avatarType: 'initials',
|
|
31949
|
+
timestamp: '2d siden',
|
|
31950
|
+
}"
|
|
31951
|
+
[maxVisible]="5"
|
|
31952
|
+
/>
|
|
31953
|
+
</post-content>
|
|
31954
|
+
|
|
31955
|
+
<post-actions>
|
|
31956
|
+
<action-like [count]="post.likeCount" />
|
|
31957
|
+
<action-comment [count]="post.commentCount" (commentClick)="openPost(post.id, true)" />
|
|
31958
|
+
</post-actions>
|
|
31959
|
+
</ds-mobile-interactive-list-item-post>
|
|
31960
|
+
} @else {
|
|
31961
|
+
<!-- Regular Post -->
|
|
31962
|
+
<ds-mobile-interactive-list-item-post
|
|
31963
|
+
[authorName]="post.authorName"
|
|
31964
|
+
[authorRole]="post.authorRole"
|
|
31965
|
+
[timestamp]="post.timestamp"
|
|
31966
|
+
[avatarType]="post.avatarType"
|
|
31967
|
+
[avatarSrc]="post.avatarSrc || ''"
|
|
31968
|
+
[avatarInitials]="post.avatarInitials || ''"
|
|
31969
|
+
[clickable]="true"
|
|
31970
|
+
[moreActions]="true"
|
|
31971
|
+
(postClick)="openPost(post.id)"
|
|
31972
|
+
(commentClick)="openPost(post.id, true)"
|
|
31973
|
+
(longPress)="handlePostLongPress(post.id, post.authorRole === 'Dig')"
|
|
31974
|
+
>
|
|
31975
|
+
<post-content>
|
|
31976
|
+
@if (post.content) {
|
|
31945
31977
|
<post-text>{{ post.content }}</post-text>
|
|
31946
|
-
|
|
31947
|
-
|
|
31948
|
-
|
|
31949
|
-
|
|
31950
|
-
|
|
31951
|
-
|
|
31952
|
-
|
|
31953
|
-
'
|
|
31954
|
-
|
|
31955
|
-
|
|
31956
|
-
|
|
31957
|
-
|
|
31958
|
-
|
|
31959
|
-
|
|
31960
|
-
|
|
31961
|
-
|
|
31962
|
-
|
|
31963
|
-
|
|
31964
|
-
</post-content>
|
|
31965
|
-
|
|
31966
|
-
<post-actions>
|
|
31967
|
-
<action-like [count]="post.likeCount" />
|
|
31968
|
-
<action-comment [count]="post.commentCount" (commentClick)="openPost(post.id, true)" />
|
|
31969
|
-
</post-actions>
|
|
31970
|
-
</ds-mobile-interactive-list-item-post>
|
|
31971
|
-
} @else {
|
|
31972
|
-
<!-- Regular Post -->
|
|
31973
|
-
<ds-mobile-interactive-list-item-post
|
|
31974
|
-
[authorName]="post.authorName"
|
|
31975
|
-
[authorRole]="post.authorRole"
|
|
31976
|
-
[timestamp]="post.timestamp"
|
|
31977
|
-
[avatarType]="post.avatarType"
|
|
31978
|
-
[avatarSrc]="post.avatarSrc || ''"
|
|
31979
|
-
[avatarInitials]="post.avatarInitials || ''"
|
|
31980
|
-
[clickable]="true"
|
|
31981
|
-
[moreActions]="true"
|
|
31982
|
-
(postClick)="openPost(post.id)"
|
|
31983
|
-
(commentClick)="openPost(post.id, true)"
|
|
31984
|
-
(longPress)="handlePostLongPress(post.id, post.authorRole === 'Dig')">
|
|
31985
|
-
|
|
31986
|
-
<post-content>
|
|
31987
|
-
@if (post.content) {
|
|
31988
|
-
<post-text>{{ post.content }}</post-text>
|
|
31989
|
-
}
|
|
31990
|
-
@if (post.imageSrc) {
|
|
31991
|
-
<post-media>
|
|
31992
|
-
<img
|
|
31993
|
-
[src]="post.imageSrc"
|
|
31994
|
-
[alt]="post.imageAlt || 'Posted image'"
|
|
31995
|
-
class="clickable-image"
|
|
31996
|
-
(click)="openImageLightbox(post.imageSrc, post.imageAlt || 'Posted image', post.content, $event)"
|
|
31997
|
-
/>
|
|
31998
|
-
</post-media>
|
|
31999
|
-
}
|
|
32000
|
-
</post-content>
|
|
32001
|
-
|
|
32002
|
-
<post-actions>
|
|
32003
|
-
<action-like [count]="post.likeCount" [active]="post.isLiked" />
|
|
32004
|
-
<action-comment [count]="post.commentCount" (commentClick)="openPost(post.id, true)" />
|
|
32005
|
-
</post-actions>
|
|
32006
|
-
</ds-mobile-interactive-list-item-post>
|
|
32007
|
-
}
|
|
31978
|
+
}
|
|
31979
|
+
@if (post.imageSrc) {
|
|
31980
|
+
<post-media>
|
|
31981
|
+
<img
|
|
31982
|
+
[src]="post.imageSrc"
|
|
31983
|
+
[alt]="post.imageAlt || 'Posted image'"
|
|
31984
|
+
class="clickable-image"
|
|
31985
|
+
(click)="openImageLightbox(post.imageSrc, post.imageAlt || 'Posted image', post.content, $event)"
|
|
31986
|
+
/>
|
|
31987
|
+
</post-media>
|
|
31988
|
+
}
|
|
31989
|
+
</post-content>
|
|
31990
|
+
|
|
31991
|
+
<post-actions>
|
|
31992
|
+
<action-like [count]="post.likeCount" [active]="post.isLiked" />
|
|
31993
|
+
<action-comment [count]="post.commentCount" (commentClick)="openPost(post.id, true)" />
|
|
31994
|
+
</post-actions>
|
|
31995
|
+
</ds-mobile-interactive-list-item-post>
|
|
32008
31996
|
}
|
|
32009
|
-
|
|
32010
|
-
|
|
32011
|
-
|
|
32012
|
-
|
|
32013
|
-
|
|
32014
|
-
|
|
32015
|
-
|
|
32016
|
-
|
|
32017
|
-
|
|
32018
|
-
|
|
32019
|
-
|
|
32020
|
-
|
|
32021
|
-
|
|
32022
|
-
|
|
32023
|
-
|
|
32024
|
-
|
|
32025
|
-
|
|
32026
|
-
|
|
32027
|
-
|
|
32028
|
-
(ionInfinite)="onInfiniteScroll($event)">
|
|
32029
|
-
<ion-infinite-scroll-content
|
|
32030
|
-
loadingSpinner="crescent">
|
|
32031
|
-
</ion-infinite-scroll-content>
|
|
32032
|
-
</ion-infinite-scroll>
|
|
32033
|
-
}
|
|
32034
|
-
</ds-mobile-section>
|
|
32035
|
-
</ds-mobile-page-main>
|
|
31997
|
+
}
|
|
31998
|
+
</div>
|
|
31999
|
+
} @else {
|
|
32000
|
+
<!-- Empty State -->
|
|
32001
|
+
<div class="community-empty-state">
|
|
32002
|
+
<img src="/assets/Empty%20state-chat.png" alt="Ingen opslag endnu" class="empty-state-image" />
|
|
32003
|
+
<h3 class="empty-state-title">Ingen opslag endnu</h3>
|
|
32004
|
+
<p class="empty-state-description">Vær den første til at dele noget med dit fællesskab</p>
|
|
32005
|
+
</div>
|
|
32006
|
+
}
|
|
32007
|
+
|
|
32008
|
+
<!-- Infinite Scroll -->
|
|
32009
|
+
@if (hasAnyPosts()) {
|
|
32010
|
+
<ion-infinite-scroll threshold="100px" [disabled]="!hasMorePosts() || pageComponent.isOffline()" (ionInfinite)="onInfiniteScroll($event)">
|
|
32011
|
+
<ion-infinite-scroll-content loadingSpinner="crescent"> </ion-infinite-scroll-content>
|
|
32012
|
+
</ion-infinite-scroll>
|
|
32013
|
+
}
|
|
32014
|
+
</ds-mobile-section>
|
|
32015
|
+
</ds-mobile-page-main>
|
|
32036
32016
|
`, styles: [".pinned-posts-swiper-wrapper{padding:0;position:relative}.swiper-nav-buttons{display:contents}.swiper-nav-button{position:absolute;top:50%;transform:translateY(-50%);z-index:10}.swiper-nav-button:first-child{left:-48px}.swiper-nav-button:last-child{right:-48px}::ng-deep .swiper-nav-button button{border-radius:50%!important;width:48px!important;height:48px!important;padding:0!important}@media (max-width: 767px){.swiper-nav-buttons{display:none}}::ng-deep .pinned-posts-swiper .swiper-slide{width:100%;max-width:600px;height:auto}@media (min-width: 768px){::ng-deep .pinned-posts-swiper .swiper-slide{max-width:100%}}.swiper-post-item{width:100%;height:auto}::ng-deep .pinned-posts-swiper .swiper-slide ds-mobile-interactive-list-item-post{height:auto}::ng-deep .pinned-posts-swiper .swiper-wrapper{height:auto;align-items:flex-start}.post-list-wrapper{display:flex;flex-direction:column}.clickable-image{cursor:pointer;transition:transform .2s ease,opacity .2s ease;border-radius:8px;display:block;width:100%;aspect-ratio:16/9;object-fit:cover}.clickable-image:active{transform:scale(.98);opacity:.9}.community-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.empty-state-image{width:96px;height:96px;margin-bottom:24px}.empty-state-title{font-family:Brockmann,sans-serif;font-size:var(--font-size-base);font-weight:600;color:var(--color-text-primary);margin:16px 0 8px}.empty-state-description{font-family:Brockmann,sans-serif;font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}ion-infinite-scroll{--color: var(--color-primary-surface)}ion-infinite-scroll-content{--color: var(--color-primary-surface)}ion-infinite-scroll-content::part(spinner){color:var(--color-primary-surface)}\n"] }]
|
|
32037
32017
|
}], ctorParameters: () => [{ type: i1$3.Router }, { type: i1$3.ActivatedRoute }, { type: DsMobileBottomSheetService }, { type: DsMobileLightboxService }, { type: DsMobilePostDetailModalService }, { type: UserService }, { type: PostsService }], propDecorators: { pageComponent: [{
|
|
32038
32018
|
type: ViewChild,
|
|
@@ -32288,7 +32268,12 @@ class MobileHandbookPageComponent {
|
|
|
32288
32268
|
];
|
|
32289
32269
|
constructor(userService) {
|
|
32290
32270
|
this.userService = userService;
|
|
32271
|
+
const randomTimeout = Math.floor(Math.random() * 2000);
|
|
32272
|
+
setTimeout(() => {
|
|
32273
|
+
this.isLoading.set(false);
|
|
32274
|
+
}, randomTimeout);
|
|
32291
32275
|
}
|
|
32276
|
+
isLoading = signal(true, ...(ngDevMode ? [{ debugName: "isLoading" }] : []));
|
|
32292
32277
|
async handleNotificationClick() {
|
|
32293
32278
|
const tapped = await this.notificationModal.open();
|
|
32294
32279
|
if (tapped)
|
|
@@ -32309,7 +32294,7 @@ class MobileHandbookPageComponent {
|
|
|
32309
32294
|
}
|
|
32310
32295
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: MobileHandbookPageComponent, deps: [{ token: UserService }], target: i0.ɵɵFactoryTarget.Component });
|
|
32311
32296
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: MobileHandbookPageComponent, isStandalone: true, selector: "app-mobile-handbook-page", viewQueries: [{ propertyName: "pageComponent", first: true, predicate: ["pageComponent"], descendants: true }], ngImport: i0, template: `
|
|
32312
|
-
<ds-mobile-page-main #pageComponent title="Håndbog" [notificationCount]="notificationService.unreadCount()" [avatarInitials]="userService.avatarInitials()" [avatarType]="userService.avatarType()" (notificationClick)="handleNotificationClick()" (refresh)="handleRefresh($event)">
|
|
32297
|
+
<ds-mobile-page-main #pageComponent title="Håndbog" [notificationCount]="notificationService.unreadCount()" [avatarInitials]="userService.avatarInitials()" [avatarType]="userService.avatarType()" [contentLoading]="isLoading()" [contentLoadingVariant]="'handbook'" (notificationClick)="handleNotificationClick()" (refresh)="handleRefresh($event)">
|
|
32313
32298
|
<!-- Offline indicator -->
|
|
32314
32299
|
@if (pageComponent.isOffline()) {
|
|
32315
32300
|
<ds-mobile-offline-banner offline-indicator title="Ingen internetforbindelse" message="Nogle funktioner kan være utilgængelige"> </ds-mobile-offline-banner>
|
|
@@ -32335,7 +32320,7 @@ class MobileHandbookPageComponent {
|
|
|
32335
32320
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: MobileHandbookPageComponent, decorators: [{
|
|
32336
32321
|
type: Component,
|
|
32337
32322
|
args: [{ selector: 'app-mobile-handbook-page', standalone: true, imports: [DsMobilePageMainComponent, DsMobileSectionComponent, DsMobileHandbookFolderComponent, DsMobileOfflineBannerComponent], template: `
|
|
32338
|
-
<ds-mobile-page-main #pageComponent title="Håndbog" [notificationCount]="notificationService.unreadCount()" [avatarInitials]="userService.avatarInitials()" [avatarType]="userService.avatarType()" (notificationClick)="handleNotificationClick()" (refresh)="handleRefresh($event)">
|
|
32323
|
+
<ds-mobile-page-main #pageComponent title="Håndbog" [notificationCount]="notificationService.unreadCount()" [avatarInitials]="userService.avatarInitials()" [avatarType]="userService.avatarType()" [contentLoading]="isLoading()" [contentLoadingVariant]="'handbook'" (notificationClick)="handleNotificationClick()" (refresh)="handleRefresh($event)">
|
|
32339
32324
|
<!-- Offline indicator -->
|
|
32340
32325
|
@if (pageComponent.isOffline()) {
|
|
32341
32326
|
<ds-mobile-offline-banner offline-indicator title="Ingen internetforbindelse" message="Nogle funktioner kan være utilgængelige"> </ds-mobile-offline-banner>
|
|
@@ -33540,19 +33525,25 @@ class MobileInquiriesPageComponent {
|
|
|
33540
33525
|
this.userService = userService;
|
|
33541
33526
|
this.navCtrl = navCtrl;
|
|
33542
33527
|
this.newInquiryModal = newInquiryModal;
|
|
33528
|
+
// Vis skeleton loader med en random delay mellem 0 og 2000 ms
|
|
33529
|
+
const randomTimeout = Math.floor(Math.random() * 2000);
|
|
33530
|
+
setTimeout(() => {
|
|
33531
|
+
this.isLoading.set(false);
|
|
33532
|
+
}, randomTimeout);
|
|
33543
33533
|
}
|
|
33534
|
+
isLoading = signal(true, ...(ngDevMode ? [{ debugName: "isLoading" }] : []));
|
|
33544
33535
|
filterStatus = signal('all', ...(ngDevMode ? [{ debugName: "filterStatus" }] : []));
|
|
33545
33536
|
tabItems = [
|
|
33546
33537
|
{ id: 'all', label: 'Alle' },
|
|
33547
33538
|
{ id: 'open', label: 'Åben' },
|
|
33548
|
-
{ id: 'closed', label: 'Lukket' }
|
|
33539
|
+
{ id: 'closed', label: 'Lukket' },
|
|
33549
33540
|
];
|
|
33550
33541
|
filteredInquiries = computed(() => {
|
|
33551
33542
|
const all = this.inquiriesService.inquiries();
|
|
33552
33543
|
const status = this.filterStatus();
|
|
33553
33544
|
if (status === 'all')
|
|
33554
33545
|
return all;
|
|
33555
|
-
return all.filter(i => i.status === status);
|
|
33546
|
+
return all.filter((i) => i.status === status);
|
|
33556
33547
|
}, ...(ngDevMode ? [{ debugName: "filteredInquiries" }] : []));
|
|
33557
33548
|
setFilter(status) {
|
|
33558
33549
|
this.filterStatus.set(status);
|
|
@@ -33564,7 +33555,7 @@ class MobileInquiriesPageComponent {
|
|
|
33564
33555
|
console.log('Opening inquiry:', inquiryId);
|
|
33565
33556
|
// Navigate to inquiry detail page with custom transition (absolute path outside tabs for animations)
|
|
33566
33557
|
this.navCtrl.navigateForward([`/inquiry-detail/${inquiryId}`], {
|
|
33567
|
-
animation: customPageTransition
|
|
33558
|
+
animation: customPageTransition,
|
|
33568
33559
|
});
|
|
33569
33560
|
}
|
|
33570
33561
|
showInquiryActions(inquiryId) {
|
|
@@ -33607,7 +33598,7 @@ class MobileInquiriesPageComponent {
|
|
|
33607
33598
|
});
|
|
33608
33599
|
// Close the modal
|
|
33609
33600
|
await this.newInquiryModal.close();
|
|
33610
|
-
}
|
|
33601
|
+
},
|
|
33611
33602
|
});
|
|
33612
33603
|
}
|
|
33613
33604
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: MobileInquiriesPageComponent, deps: [{ token: UserService }, { token: i1.NavController }, { token: DsMobileNewInquiryModalService }], target: i0.ɵɵFactoryTarget.Component });
|
|
@@ -33618,27 +33609,21 @@ class MobileInquiriesPageComponent {
|
|
|
33618
33609
|
[notificationCount]="notificationService.unreadCount()"
|
|
33619
33610
|
[avatarInitials]="userService.avatarInitials()"
|
|
33620
33611
|
[avatarType]="userService.avatarType()"
|
|
33612
|
+
[contentLoading]="isLoading()"
|
|
33613
|
+
[contentLoadingVariant]="'list'"
|
|
33621
33614
|
(notificationClick)="handleNotificationClick()"
|
|
33622
|
-
(refresh)="handleRefresh($event)"
|
|
33623
|
-
|
|
33615
|
+
(refresh)="handleRefresh($event)"
|
|
33616
|
+
>
|
|
33624
33617
|
<!-- Offline indicator -->
|
|
33625
33618
|
@if (pageComponent.isOffline()) {
|
|
33626
|
-
<ds-mobile-offline-banner
|
|
33627
|
-
offline-indicator
|
|
33628
|
-
title="Ingen internetforbindelse"
|
|
33629
|
-
message="Nogle funktioner kan være utilgængelige">
|
|
33630
|
-
</ds-mobile-offline-banner>
|
|
33619
|
+
<ds-mobile-offline-banner offline-indicator title="Ingen internetforbindelse" message="Nogle funktioner kan være utilgængelige"> </ds-mobile-offline-banner>
|
|
33631
33620
|
}
|
|
33632
|
-
|
|
33621
|
+
|
|
33633
33622
|
<!-- Filter tabs in header -->
|
|
33634
33623
|
<div header-content>
|
|
33635
|
-
<ds-mobile-inline-tabs
|
|
33636
|
-
[tabs]="tabItems"
|
|
33637
|
-
[activeTab]="filterStatus()"
|
|
33638
|
-
(tabChange)="setFilter($any($event))">
|
|
33639
|
-
</ds-mobile-inline-tabs>
|
|
33624
|
+
<ds-mobile-inline-tabs [tabs]="tabItems" [activeTab]="filterStatus()" (tabChange)="setFilter($any($event))"> </ds-mobile-inline-tabs>
|
|
33640
33625
|
</div>
|
|
33641
|
-
|
|
33626
|
+
|
|
33642
33627
|
<ds-mobile-section>
|
|
33643
33628
|
@if (filteredInquiries().length > 0) {
|
|
33644
33629
|
<div class="inquiry-list-wrapper">
|
|
@@ -33652,7 +33637,8 @@ class MobileInquiriesPageComponent {
|
|
|
33652
33637
|
[clickable]="true"
|
|
33653
33638
|
[showChevron]="false"
|
|
33654
33639
|
[enableLongPress]="false"
|
|
33655
|
-
(inquiryClick)="openInquiryDetail(inquiry.id)"
|
|
33640
|
+
(inquiryClick)="openInquiryDetail(inquiry.id)"
|
|
33641
|
+
>
|
|
33656
33642
|
</ds-mobile-interactive-list-item-inquiry>
|
|
33657
33643
|
}
|
|
33658
33644
|
</div>
|
|
@@ -33676,12 +33662,7 @@ class MobileInquiriesPageComponent {
|
|
|
33676
33662
|
</ds-mobile-page-main>
|
|
33677
33663
|
|
|
33678
33664
|
<!-- FAB for creating new inquiry -->
|
|
33679
|
-
<ds-mobile-fab
|
|
33680
|
-
icon="remixAddLine"
|
|
33681
|
-
position="bottom-right"
|
|
33682
|
-
ariaLabel="Create new inquiry"
|
|
33683
|
-
(clicked)="createNewInquiry()">
|
|
33684
|
-
</ds-mobile-fab>
|
|
33665
|
+
<ds-mobile-fab icon="remixAddLine" position="bottom-right" ariaLabel="Create new inquiry" (clicked)="createNewInquiry()"> </ds-mobile-fab>
|
|
33685
33666
|
`, isInline: true, styles: [".inquiry-list-wrapper{display:flex;flex-direction:column;margin-top:-12px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.empty-state-title{font-family:Brockmann,sans-serif;font-size:var(--font-size-base);font-weight:600;color:var(--color-text-primary);margin-top:-16px;z-index:4}.empty-state-description{font-family:Brockmann,sans-serif;font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}\n"], dependencies: [{ kind: "component", type: DsMobilePageMainComponent, selector: "ds-mobile-page-main", inputs: ["title", "headerTitle", "headerSubtitle", "firstEntry", "avatarType", "avatarInitials", "avatarSrc", "avatarIconName", "showNotification", "notificationCount", "showRefresh", "showCondensedHeader", "scrollThreshold", "headerFadeDistance", "contentPadding", "profileMenuItems"], outputs: ["notificationClick", "avatarClick", "profileActionSelected", "refresh", "scroll"] }, { kind: "component", type: DsMobileSectionComponent, selector: "ds-mobile-section", inputs: ["headline", "icon", "linkText", "padding", "paddingDesktop", "gap", "contentGap", "showBorder", "overflow"], outputs: ["linkClick"] }, { kind: "component", type: DsMobileIllustrationComponent, selector: "ds-mobile-illustration", inputs: ["variant", "size", "alt"] }, { kind: "component", type: DsMobileInteractiveListItemInquiryComponent, selector: "ds-mobile-interactive-list-item-inquiry", inputs: ["title", "description", "status", "statusLabel", "timestamp", "iconName", "iconColor", "variant", "align", "clickable", "showChevron", "enableLongPress", "moreActions"], outputs: ["inquiryClick", "longPress"] }, { kind: "component", type: DsMobileInlineTabsComponent, selector: "ds-mobile-inline-tabs", inputs: ["tabs", "activeTab"], outputs: ["tabChange"] }, { kind: "component", type: DsMobileOfflineBannerComponent, selector: "ds-mobile-offline-banner", inputs: ["icon", "title", "message"] }, { kind: "component", type: DsMobileFabComponent, selector: "ds-mobile-fab", inputs: ["icon", "position", "size", "ariaLabel", "disabled"], outputs: ["clicked"] }] });
|
|
33686
33667
|
}
|
|
33687
33668
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: MobileInquiriesPageComponent, decorators: [{
|
|
@@ -33693,9 +33674,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
33693
33674
|
DsMobileInteractiveListItemInquiryComponent,
|
|
33694
33675
|
DsMobileInlineTabsComponent,
|
|
33695
33676
|
DsMobileOfflineBannerComponent,
|
|
33696
|
-
DsMobileFabComponent
|
|
33677
|
+
DsMobileFabComponent,
|
|
33697
33678
|
], host: {
|
|
33698
|
-
class: 'ion-page'
|
|
33679
|
+
class: 'ion-page',
|
|
33699
33680
|
}, template: `
|
|
33700
33681
|
<ds-mobile-page-main
|
|
33701
33682
|
#pageComponent
|
|
@@ -33703,27 +33684,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
33703
33684
|
[notificationCount]="notificationService.unreadCount()"
|
|
33704
33685
|
[avatarInitials]="userService.avatarInitials()"
|
|
33705
33686
|
[avatarType]="userService.avatarType()"
|
|
33687
|
+
[contentLoading]="isLoading()"
|
|
33688
|
+
[contentLoadingVariant]="'list'"
|
|
33706
33689
|
(notificationClick)="handleNotificationClick()"
|
|
33707
|
-
(refresh)="handleRefresh($event)"
|
|
33708
|
-
|
|
33690
|
+
(refresh)="handleRefresh($event)"
|
|
33691
|
+
>
|
|
33709
33692
|
<!-- Offline indicator -->
|
|
33710
33693
|
@if (pageComponent.isOffline()) {
|
|
33711
|
-
<ds-mobile-offline-banner
|
|
33712
|
-
offline-indicator
|
|
33713
|
-
title="Ingen internetforbindelse"
|
|
33714
|
-
message="Nogle funktioner kan være utilgængelige">
|
|
33715
|
-
</ds-mobile-offline-banner>
|
|
33694
|
+
<ds-mobile-offline-banner offline-indicator title="Ingen internetforbindelse" message="Nogle funktioner kan være utilgængelige"> </ds-mobile-offline-banner>
|
|
33716
33695
|
}
|
|
33717
|
-
|
|
33696
|
+
|
|
33718
33697
|
<!-- Filter tabs in header -->
|
|
33719
33698
|
<div header-content>
|
|
33720
|
-
<ds-mobile-inline-tabs
|
|
33721
|
-
[tabs]="tabItems"
|
|
33722
|
-
[activeTab]="filterStatus()"
|
|
33723
|
-
(tabChange)="setFilter($any($event))">
|
|
33724
|
-
</ds-mobile-inline-tabs>
|
|
33699
|
+
<ds-mobile-inline-tabs [tabs]="tabItems" [activeTab]="filterStatus()" (tabChange)="setFilter($any($event))"> </ds-mobile-inline-tabs>
|
|
33725
33700
|
</div>
|
|
33726
|
-
|
|
33701
|
+
|
|
33727
33702
|
<ds-mobile-section>
|
|
33728
33703
|
@if (filteredInquiries().length > 0) {
|
|
33729
33704
|
<div class="inquiry-list-wrapper">
|
|
@@ -33737,7 +33712,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
33737
33712
|
[clickable]="true"
|
|
33738
33713
|
[showChevron]="false"
|
|
33739
33714
|
[enableLongPress]="false"
|
|
33740
|
-
(inquiryClick)="openInquiryDetail(inquiry.id)"
|
|
33715
|
+
(inquiryClick)="openInquiryDetail(inquiry.id)"
|
|
33716
|
+
>
|
|
33741
33717
|
</ds-mobile-interactive-list-item-inquiry>
|
|
33742
33718
|
}
|
|
33743
33719
|
</div>
|
|
@@ -33761,12 +33737,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
33761
33737
|
</ds-mobile-page-main>
|
|
33762
33738
|
|
|
33763
33739
|
<!-- FAB for creating new inquiry -->
|
|
33764
|
-
<ds-mobile-fab
|
|
33765
|
-
icon="remixAddLine"
|
|
33766
|
-
position="bottom-right"
|
|
33767
|
-
ariaLabel="Create new inquiry"
|
|
33768
|
-
(clicked)="createNewInquiry()">
|
|
33769
|
-
</ds-mobile-fab>
|
|
33740
|
+
<ds-mobile-fab icon="remixAddLine" position="bottom-right" ariaLabel="Create new inquiry" (clicked)="createNewInquiry()"> </ds-mobile-fab>
|
|
33770
33741
|
`, styles: [".inquiry-list-wrapper{display:flex;flex-direction:column;margin-top:-12px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.empty-state-title{font-family:Brockmann,sans-serif;font-size:var(--font-size-base);font-weight:600;color:var(--color-text-primary);margin-top:-16px;z-index:4}.empty-state-description{font-family:Brockmann,sans-serif;font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}\n"] }]
|
|
33771
33742
|
}], ctorParameters: () => [{ type: UserService }, { type: i1.NavController }, { type: DsMobileNewInquiryModalService }], propDecorators: { pageComponent: [{
|
|
33772
33743
|
type: ViewChild,
|
|
@@ -39033,5 +39004,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
39033
39004
|
* Generated bundle index. Do not edit.
|
|
39034
39005
|
*/
|
|
39035
39006
|
|
|
39036
|
-
export { AcceptInvitePageComponent, ActionCommentComponent, ActionLikeComponent, AvatarUploadPageComponent, BaseModalService, ContentRowComponent, CreateAccountPageComponent, DEFAULT_SERVICE_PAGE_LABELS, DsAppIconComponent, DsAvatarWithBadgeComponent, DsLogoComponent, DsMobileAccessSheetComponent, DsMobileActionListItemComponent, DsMobileActionsBottomSheetComponent, DsMobileAddGroupTenantsModalComponent, DsMobileAppLoadingComponent, DsMobileAttachmentPreviewComponent, DsMobileBookingCancelConfirmationComponent, DsMobileBookingConfirmationWrapperComponent, DsMobileBookingDetailSheetComponent, DsMobileBookingDetailSheetService, DsMobileBookingModalComponent, DsMobileBookingModalService, DsMobileBookingSummaryComponent, DsMobileBottomSheetHeaderComponent, DsMobileBottomSheetService, DsMobileBottomSheetWrapperComponent, DsMobileCapacitySheetComponent, DsMobileCardInlineBannerComponent, DsMobileCardInlineComponent, DsMobileCardInlineContactComponent, DsMobileCardInlineFileComponent, DsMobileChatModalComponent, DsMobileChatModalService, DsMobileActionsBottomSheetComponent as DsMobileCommentActionsBottomSheetComponent, DsMobileCommentComponent, DsMobileCommunityAdminPickerComponent, DsMobileCommunityAdminsModalComponent, DsMobileConfirmationSheetComponent, DsMobileContactListItemComponent, DsMobileContentComponent, DsMobileCountBadgeComponent, DsMobileCreateGroupModalComponent, DsMobileDropdownComponent, DsMobileEditGroupModalComponent, DsMobileEmptyStateComponent, DsMobileFabComponent, DsMobileFacilityArchiveConfirmationComponent, DsMobileFacilityCreationConfirmationWrapperComponent, DsMobileFacilityCreationModalComponent, DsMobileFacilityCreationModalService, DsMobileFacilityDeleteConfirmationComponent, DsMobileFacilityDetailModalComponent, DsMobileFacilityDetailModalService, DsMobileFileAttachmentComponent, DsMobileGlassSpinnerComponent, DsMobileGroupAvatarStackComponent, DsMobileGroupMembersModalComponent, DsMobileHandbookDetailModalComponent, DsMobileHandbookDetailModalService, DsMobileHandbookFolderComponent, DsMobileHandbookFolderMiniComponent, DsMobileHeaderContentComponent, DsMobileHeaderContentTileComponent, DsMobileIllustrationComponent, DsMobileImagePlaceholderComponent, DsMobileInlinePhotoComponent, DsMobileInlineTabsComponent, DsMobileInteractiveListItemBookingComponent, DsMobileInteractiveListItemInquiryComponent, DsMobileInteractiveListItemMessageComponent, DsMobileInteractiveListItemPostComponent, DsMobileLightboxImageComponent as DsMobileLightboxComponent, DsMobileLightboxFooterComponent, DsMobileLightboxHeaderComponent, DsMobileLightboxImageComponent, DsMobileLightboxImageWithDescriptionComponent, DsMobileLightboxPdfComponent, DsMobileLightboxService, DsMobileListItemComponent, DsMobileListItemStaticComponent, DsMobileListSearchComponent, DsMobileLoaderOverlayComponent, DsMobileLongPressDirective, DsMobileMediaActionsPanelComponent, DsMobileMessageBubbleComponent, DsMobileMessageComposerComponent, DsMobileModalBaseComponent, DsMobileModalService, DsMobileNewInquiryModalComponent, DsMobileNewInquiryModalService, DsMobileNotificationButtonComponent, DsMobileNotificationModalComponent, DsMobileNotificationModalService, DsMobileNotificationPromptComponent, DsMobileOfflineBannerComponent, DsMobilePageDetailsComponent, DsMobilePageMainComponent, DsMobilePillComponent, DsMobileActionsBottomSheetComponent as DsMobilePostActionsBottomSheetComponent, DsMobilePostComposerComponent, DsMobilePostCreateBottomSheetComponent, DsMobilePostDetailModalComponent, DsMobilePostDetailModalService, DsMobilePriceSheetComponent, DsMobileProfileActionsSheetComponent, DsMobilePromptBottomSheetComponent, DsMobilePropertyBannerComponent, DsMobileRichTextEditorComponent, DsMobileSectionComponent, DsMobileServiceVendorModalService, DsMobileServiceVendorSheetComponent, DsMobileSwiperComponent, DsMobileSwiperWithNavComponent, DsMobileSystemMessageBannerComponent, DsMobileTabBarComponent, DsMobileTabsComponent, DsMobileTenantPickerModalComponent, DsMobileToggleComponent, DsMobileWhenCanBookSheetComponent, DsMobileWhoCanBookSheetComponent, DsTextInputComponent, FamilyAccessPageComponent, FamilyAccessService, InquiriesService, InviteSuccessPageComponent, MediaPickerService, MobileBookingPageComponent, MobileCommunityPageComponent, MobileHandbookPageComponent, MobileHomePageComponent, MobileInquiriesPageComponent, MobileInquiryDetailPageComponent, MobileModalBase, MobilePageBase, MobilePostDetailPageComponent, MobileTabsExampleComponent, NOTIFICATION_ICON_MAP, NotificationPromptService, NotificationService, PageLoadingService, PostActionsComponent, PostAttachmentsComponent, PostContentComponent, PostCreatePageComponent, PostMediaComponent, PostPdfAttachmentComponent, PostTextComponent, PostsService, RelativeTimePipe, SAMPLE_NOTIFICATIONS, SectionHeaderComponent, ServicesPageComponent, SettingsModalService, SignInPageComponent, SignInToAcceptPageComponent, TenantChatPageComponent, TileContentComponent, TileIconComponent, TileLabelComponent, TileValueComponent, TrackingPermissionService, UserService, VENDOR_MODAL_SERVICE, WhitelabelDemoModalComponent, WhitelabelDemoModalService, WhitelabelService, customBackTransition, customPageTransition, dateBucket };
|
|
39007
|
+
export { AcceptInvitePageComponent, ActionCommentComponent, ActionLikeComponent, AvatarUploadPageComponent, BaseModalService, ContentRowComponent, CreateAccountPageComponent, DEFAULT_SERVICE_PAGE_LABELS, DsAppIconComponent, DsAvatarWithBadgeComponent, DsLogoComponent, DsMobileAccessSheetComponent, DsMobileActionListItemComponent, DsMobileActionsBottomSheetComponent, DsMobileAddGroupTenantsModalComponent, DsMobileAppLoadingComponent, DsMobileAttachmentPreviewComponent, DsMobileBookingCancelConfirmationComponent, DsMobileBookingConfirmationWrapperComponent, DsMobileBookingDetailSheetComponent, DsMobileBookingDetailSheetService, DsMobileBookingModalComponent, DsMobileBookingModalService, DsMobileBookingSummaryComponent, DsMobileBottomSheetHeaderComponent, DsMobileBottomSheetService, DsMobileBottomSheetWrapperComponent, DsMobileCapacitySheetComponent, DsMobileCardInlineBannerComponent, DsMobileCardInlineComponent, DsMobileCardInlineContactComponent, DsMobileCardInlineFileComponent, DsMobileChatModalComponent, DsMobileChatModalService, DsMobileActionsBottomSheetComponent as DsMobileCommentActionsBottomSheetComponent, DsMobileCommentComponent, DsMobileCommunityAdminPickerComponent, DsMobileCommunityAdminsModalComponent, DsMobileConfirmationSheetComponent, DsMobileContactListItemComponent, DsMobileContentComponent, DsMobileCountBadgeComponent, DsMobileCreateGroupModalComponent, DsMobileDropdownComponent, DsMobileEditGroupModalComponent, DsMobileEmptyStateComponent, DsMobileFabComponent, DsMobileFacilityArchiveConfirmationComponent, DsMobileFacilityCreationConfirmationWrapperComponent, DsMobileFacilityCreationModalComponent, DsMobileFacilityCreationModalService, DsMobileFacilityDeleteConfirmationComponent, DsMobileFacilityDetailModalComponent, DsMobileFacilityDetailModalService, DsMobileFileAttachmentComponent, DsMobileGlassSpinnerComponent, DsMobileGroupAvatarStackComponent, DsMobileGroupMembersModalComponent, DsMobileHandbookDetailModalComponent, DsMobileHandbookDetailModalService, DsMobileHandbookFolderComponent, DsMobileHandbookFolderMiniComponent, DsMobileHeaderContentComponent, DsMobileHeaderContentTileComponent, DsMobileIllustrationComponent, DsMobileImagePlaceholderComponent, DsMobileInlinePhotoComponent, DsMobileInlineTabsComponent, DsMobileInteractiveListItemBookingComponent, DsMobileInteractiveListItemInquiryComponent, DsMobileInteractiveListItemMessageComponent, DsMobileInteractiveListItemPostComponent, DsMobileLightboxImageComponent as DsMobileLightboxComponent, DsMobileLightboxFooterComponent, DsMobileLightboxHeaderComponent, DsMobileLightboxImageComponent, DsMobileLightboxImageWithDescriptionComponent, DsMobileLightboxPdfComponent, DsMobileLightboxService, DsMobileListItemComponent, DsMobileListItemStaticComponent, DsMobileListSearchComponent, DsMobileLoaderOverlayComponent, DsMobileLongPressDirective, DsMobileMediaActionsPanelComponent, DsMobileMessageBubbleComponent, DsMobileMessageComposerComponent, DsMobileModalBaseComponent, DsMobileModalService, DsMobileNewInquiryModalComponent, DsMobileNewInquiryModalService, DsMobileNotificationButtonComponent, DsMobileNotificationModalComponent, DsMobileNotificationModalService, DsMobileNotificationPromptComponent, DsMobileOfflineBannerComponent, DsMobilePageDetailsComponent, DsMobilePageMainComponent, DsMobilePillComponent, DsMobileActionsBottomSheetComponent as DsMobilePostActionsBottomSheetComponent, DsMobilePostComposerComponent, DsMobilePostCreateBottomSheetComponent, DsMobilePostDetailModalComponent, DsMobilePostDetailModalService, DsMobilePriceSheetComponent, DsMobileProfileActionsSheetComponent, DsMobilePromptBottomSheetComponent, DsMobilePropertyBannerComponent, DsMobileRichTextEditorComponent, DsMobileSectionComponent, DsMobileServiceVendorModalService, DsMobileServiceVendorSheetComponent, DsMobileSwiperComponent, DsMobileSwiperWithNavComponent, DsMobileSystemMessageBannerComponent, DsMobileTabBarComponent, DsMobileTabsComponent, DsMobileTenantPickerModalComponent, DsMobileToggleComponent, DsMobileWhenCanBookSheetComponent, DsMobileWhoCanBookSheetComponent, DsTextInputComponent, FamilyAccessPageComponent, FamilyAccessService, InquiriesService, InviteSuccessPageComponent, MediaPickerService, MobileBookingPageComponent, MobileCommunityPageComponent, MobileHandbookPageComponent, MobileHomePageComponent, MobileInquiriesPageComponent, MobileInquiryDetailPageComponent, MobileModalBase, MobilePageBase, MobilePostDetailPageComponent, MobileTabsExampleComponent, NOTIFICATION_ICON_MAP, NotificationPromptService, NotificationService, PageLoadingService, PeerChatLauncherService, PeerMessagingService, PostActionsComponent, PostAttachmentsComponent, PostContentComponent, PostCreatePageComponent, PostMediaComponent, PostPdfAttachmentComponent, PostTextComponent, PostsService, RelativeTimePipe, SAMPLE_NOTIFICATIONS, SectionHeaderComponent, ServicesPageComponent, SettingsModalService, SignInPageComponent, SignInToAcceptPageComponent, TenantChatPageComponent, TileContentComponent, TileIconComponent, TileLabelComponent, TileValueComponent, TrackingPermissionService, UserService, VENDOR_MODAL_SERVICE, WhitelabelDemoModalComponent, WhitelabelDemoModalService, WhitelabelService, customBackTransition, customPageTransition, dateBucket, isPeerDirectConversation, isPeerGroupConversation, peerTenantToParticipant };
|
|
39037
39008
|
//# sourceMappingURL=propbinder-mobile-design.mjs.map
|