@propbinder/mobile-design 0.3.42 → 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
|
/**
|
|
@@ -31221,7 +31233,7 @@ class MobileCommunityPageComponent {
|
|
|
31221
31233
|
pinnedPosts = computed(() => {
|
|
31222
31234
|
// Get all posts that are explicitly marked as pinned
|
|
31223
31235
|
const allPosts = this.postsService.posts();
|
|
31224
|
-
return allPosts.filter(post => post.isPinned === true);
|
|
31236
|
+
return allPosts.filter((post) => post.isPinned === true);
|
|
31225
31237
|
}, ...(ngDevMode ? [{ debugName: "pinnedPosts" }] : []));
|
|
31226
31238
|
// Computed to check if there are any posts to display
|
|
31227
31239
|
hasAnyPosts = computed(() => {
|
|
@@ -31239,7 +31251,13 @@ class MobileCommunityPageComponent {
|
|
|
31239
31251
|
this.postModal = postModal;
|
|
31240
31252
|
this.userService = userService;
|
|
31241
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);
|
|
31242
31259
|
}
|
|
31260
|
+
isLoading = signal(true, ...(ngDevMode ? [{ debugName: "isLoading" }] : []));
|
|
31243
31261
|
/**
|
|
31244
31262
|
* Handle infinite scroll event
|
|
31245
31263
|
* Loads more posts when user scrolls to bottom
|
|
@@ -31290,11 +31308,11 @@ class MobileCommunityPageComponent {
|
|
|
31290
31308
|
...post,
|
|
31291
31309
|
postId: post.id,
|
|
31292
31310
|
avatarType: post.avatarType === 'icon' ? undefined : post.avatarType,
|
|
31293
|
-
focusComment
|
|
31311
|
+
focusComment,
|
|
31294
31312
|
};
|
|
31295
31313
|
await this.postModal.open(postData, {
|
|
31296
31314
|
currentUserName: 'Lars Mikkelsen', // Current user name
|
|
31297
|
-
currentUserInitials: this.userService.avatarInitials()
|
|
31315
|
+
currentUserInitials: this.userService.avatarInitials(),
|
|
31298
31316
|
});
|
|
31299
31317
|
}
|
|
31300
31318
|
}
|
|
@@ -31305,11 +31323,11 @@ class MobileCommunityPageComponent {
|
|
|
31305
31323
|
component: DsMobilePostCreateBottomSheetComponent,
|
|
31306
31324
|
componentProps: {
|
|
31307
31325
|
// This helps the component know it should auto-focus
|
|
31308
|
-
autoFocus: true
|
|
31326
|
+
autoFocus: true,
|
|
31309
31327
|
},
|
|
31310
31328
|
breakpoints: [0, 0.95, 1],
|
|
31311
31329
|
initialBreakpoint: 0.95,
|
|
31312
|
-
handle: true
|
|
31330
|
+
handle: true,
|
|
31313
31331
|
});
|
|
31314
31332
|
// Handle the result when the sheet is dismissed
|
|
31315
31333
|
const result = await sheet.onWillDismiss();
|
|
@@ -31330,7 +31348,7 @@ class MobileCommunityPageComponent {
|
|
|
31330
31348
|
isLiked: false,
|
|
31331
31349
|
likeCount: 0,
|
|
31332
31350
|
commentCount: 0,
|
|
31333
|
-
comments: []
|
|
31351
|
+
comments: [],
|
|
31334
31352
|
};
|
|
31335
31353
|
// Add to the beginning of the posts array via service
|
|
31336
31354
|
this.postsService.addPost(newPost);
|
|
@@ -31348,7 +31366,7 @@ class MobileCommunityPageComponent {
|
|
|
31348
31366
|
name: 'Sophie Andersen',
|
|
31349
31367
|
role: 'Lejer',
|
|
31350
31368
|
avatarInitials: 'SA',
|
|
31351
|
-
timestamp: '4t siden'
|
|
31369
|
+
timestamp: '4t siden',
|
|
31352
31370
|
};
|
|
31353
31371
|
// Open the lightbox with the image
|
|
31354
31372
|
await this.lightbox.open({
|
|
@@ -31361,14 +31379,14 @@ class MobileCommunityPageComponent {
|
|
|
31361
31379
|
description: description,
|
|
31362
31380
|
isLiked: true,
|
|
31363
31381
|
likeCount: 156,
|
|
31364
|
-
commentCount: 34
|
|
31365
|
-
}
|
|
31382
|
+
commentCount: 34,
|
|
31383
|
+
},
|
|
31366
31384
|
],
|
|
31367
31385
|
author: authorMeta,
|
|
31368
31386
|
enableZoom: true,
|
|
31369
31387
|
showControls: false, // Single image, no need for controls
|
|
31370
31388
|
showActions: true, // Show like & comment actions
|
|
31371
|
-
showInfo: true
|
|
31389
|
+
showInfo: true,
|
|
31372
31390
|
});
|
|
31373
31391
|
}
|
|
31374
31392
|
async openHouseRulesPdf() {
|
|
@@ -31378,7 +31396,7 @@ class MobileCommunityPageComponent {
|
|
|
31378
31396
|
name: 'Karen Nielsen',
|
|
31379
31397
|
role: 'Ejendomsadministrator',
|
|
31380
31398
|
avatarInitials: 'KN',
|
|
31381
|
-
timestamp: '2d siden'
|
|
31399
|
+
timestamp: '2d siden',
|
|
31382
31400
|
};
|
|
31383
31401
|
// Open the PDF lightbox
|
|
31384
31402
|
// Use absolute path for production deployment (Vercel, etc.)
|
|
@@ -31389,9 +31407,9 @@ class MobileCommunityPageComponent {
|
|
|
31389
31407
|
title: 'House Rules',
|
|
31390
31408
|
description: 'Building regulations and community guidelines',
|
|
31391
31409
|
fileSize: 250880, // 245 KB in bytes
|
|
31392
|
-
pageCount: 8
|
|
31410
|
+
pageCount: 8,
|
|
31393
31411
|
},
|
|
31394
|
-
author: authorMeta
|
|
31412
|
+
author: authorMeta,
|
|
31395
31413
|
});
|
|
31396
31414
|
}
|
|
31397
31415
|
/**
|
|
@@ -31402,13 +31420,13 @@ class MobileCommunityPageComponent {
|
|
|
31402
31420
|
const sheet = await this.bottomSheet.create({
|
|
31403
31421
|
component: DsMobileActionsBottomSheetComponent,
|
|
31404
31422
|
componentProps: {
|
|
31405
|
-
isOwnContent: isOwnPost
|
|
31423
|
+
isOwnContent: isOwnPost,
|
|
31406
31424
|
},
|
|
31407
31425
|
breakpoints: [0, 1],
|
|
31408
31426
|
initialBreakpoint: 1,
|
|
31409
31427
|
handle: true,
|
|
31410
31428
|
backdropDismiss: true,
|
|
31411
|
-
cssClass: 'auto-height'
|
|
31429
|
+
cssClass: 'auto-height',
|
|
31412
31430
|
});
|
|
31413
31431
|
const result = await sheet.onWillDismiss();
|
|
31414
31432
|
if (result.role === 'select' && result.data) {
|
|
@@ -31429,13 +31447,13 @@ class MobileCommunityPageComponent {
|
|
|
31429
31447
|
autoFocus: true,
|
|
31430
31448
|
isEditMode: true,
|
|
31431
31449
|
postId: postId,
|
|
31432
|
-
initialContent: post.content
|
|
31450
|
+
initialContent: post.content,
|
|
31433
31451
|
},
|
|
31434
31452
|
breakpoints: [0, 0.95, 1],
|
|
31435
31453
|
initialBreakpoint: 0.95,
|
|
31436
31454
|
handle: true,
|
|
31437
31455
|
backdropBlur: true,
|
|
31438
|
-
backdropOpacity: 0.6
|
|
31456
|
+
backdropOpacity: 0.6,
|
|
31439
31457
|
});
|
|
31440
31458
|
// Handle the result when the sheet is dismissed
|
|
31441
31459
|
const editResult = await editSheet.onWillDismiss();
|
|
@@ -31444,7 +31462,7 @@ class MobileCommunityPageComponent {
|
|
|
31444
31462
|
// Update the post via service
|
|
31445
31463
|
this.postsService.updatePost(postId, {
|
|
31446
31464
|
content: editResult.data.content,
|
|
31447
|
-
timestamp: 'Lige nu'
|
|
31465
|
+
timestamp: 'Lige nu',
|
|
31448
31466
|
});
|
|
31449
31467
|
}
|
|
31450
31468
|
break;
|
|
@@ -31461,7 +31479,7 @@ class MobileCommunityPageComponent {
|
|
|
31461
31479
|
if (likePost) {
|
|
31462
31480
|
this.postsService.updatePost(postId, {
|
|
31463
31481
|
isLiked: !likePost.isLiked,
|
|
31464
|
-
likeCount: likePost.isLiked ? likePost.likeCount - 1 : likePost.likeCount + 1
|
|
31482
|
+
likeCount: likePost.isLiked ? likePost.likeCount - 1 : likePost.likeCount + 1,
|
|
31465
31483
|
});
|
|
31466
31484
|
}
|
|
31467
31485
|
break;
|
|
@@ -31505,18 +31523,16 @@ class MobileCommunityPageComponent {
|
|
|
31505
31523
|
[notificationCount]="notificationService.unreadCount()"
|
|
31506
31524
|
[avatarInitials]="userService.avatarInitials()"
|
|
31507
31525
|
[avatarType]="userService.avatarType()"
|
|
31526
|
+
[contentLoading]="isLoading()"
|
|
31527
|
+
[contentLoadingVariant]="'card'"
|
|
31508
31528
|
(notificationClick)="handleNotificationClick()"
|
|
31509
|
-
(refresh)="handleRefresh($event)"
|
|
31510
|
-
|
|
31529
|
+
(refresh)="handleRefresh($event)"
|
|
31530
|
+
>
|
|
31511
31531
|
<!-- Offline indicator -->
|
|
31512
31532
|
@if (pageComponent.isOffline()) {
|
|
31513
|
-
<ds-mobile-offline-banner
|
|
31514
|
-
offline-indicator
|
|
31515
|
-
title="Ingen internetforbindelse"
|
|
31516
|
-
message="Nogle funktioner kan være utilgængelige">
|
|
31517
|
-
</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>
|
|
31518
31534
|
}
|
|
31519
|
-
|
|
31535
|
+
|
|
31520
31536
|
<!-- Post Composer in header-expandable -->
|
|
31521
31537
|
<ds-mobile-post-composer
|
|
31522
31538
|
header-content
|
|
@@ -31525,21 +31541,20 @@ class MobileCommunityPageComponent {
|
|
|
31525
31541
|
[avatarSrc]="userService.avatarSrc()"
|
|
31526
31542
|
(composerClick)="openPostCreator()"
|
|
31527
31543
|
/>
|
|
31528
|
-
|
|
31544
|
+
|
|
31529
31545
|
<!-- Pinned Posts Section -->
|
|
31530
|
-
<ds-mobile-section
|
|
31531
|
-
headline="Fastgjorte opslag"
|
|
31532
|
-
icon="remixPushpinFill">
|
|
31546
|
+
<ds-mobile-section headline="Fastgjorte opslag" icon="remixPushpinFill">
|
|
31533
31547
|
<div class="pinned-posts-swiper-wrapper">
|
|
31534
|
-
<ds-mobile-swiper
|
|
31548
|
+
<ds-mobile-swiper
|
|
31535
31549
|
#pinnedSwiper
|
|
31536
31550
|
class="pinned-posts-swiper"
|
|
31537
|
-
[slideWidth]="'100%'"
|
|
31551
|
+
[slideWidth]="'100%'"
|
|
31538
31552
|
[gap]="32"
|
|
31539
31553
|
[pagination]="true"
|
|
31540
31554
|
[autoHeight]="true"
|
|
31541
31555
|
[progressiveOpacity]="true"
|
|
31542
|
-
[progressiveScale]="true"
|
|
31556
|
+
[progressiveScale]="true"
|
|
31557
|
+
>
|
|
31543
31558
|
@for (post of pinnedPosts(); track post.id) {
|
|
31544
31559
|
<div class="swiper-slide">
|
|
31545
31560
|
<ds-mobile-interactive-list-item-post
|
|
@@ -31555,24 +31570,19 @@ class MobileCommunityPageComponent {
|
|
|
31555
31570
|
[moreActions]="true"
|
|
31556
31571
|
(postClick)="openPost(post.id)"
|
|
31557
31572
|
(commentClick)="openPost(post.id, true)"
|
|
31558
|
-
(longPress)="handlePostLongPress(post.id, false)"
|
|
31559
|
-
|
|
31573
|
+
(longPress)="handlePostLongPress(post.id, false)"
|
|
31574
|
+
>
|
|
31560
31575
|
<post-content>
|
|
31561
31576
|
<post-text>{{ post.content }}</post-text>
|
|
31562
|
-
|
|
31577
|
+
|
|
31563
31578
|
@if (post.id === 'post-4') {
|
|
31564
31579
|
<post-attachments>
|
|
31565
|
-
<ds-mobile-card-inline-file
|
|
31566
|
-
[fileName]="'Husregler.pdf'"
|
|
31567
|
-
[fileSize]="'245 KB'"
|
|
31568
|
-
[variant]="'pdf'"
|
|
31569
|
-
[layout]="'compact'"
|
|
31570
|
-
(fileClick)="openHouseRulesPdf()">
|
|
31580
|
+
<ds-mobile-card-inline-file [fileName]="'Husregler.pdf'" [fileSize]="'245 KB'" [variant]="'pdf'" [layout]="'compact'" (fileClick)="openHouseRulesPdf()">
|
|
31571
31581
|
</ds-mobile-card-inline-file>
|
|
31572
31582
|
</post-attachments>
|
|
31573
31583
|
}
|
|
31574
31584
|
</post-content>
|
|
31575
|
-
|
|
31585
|
+
|
|
31576
31586
|
<post-actions>
|
|
31577
31587
|
<action-like [count]="post.likeCount" [active]="post.isLiked" />
|
|
31578
31588
|
<action-comment [count]="post.commentCount" (commentClick)="openPost(post.id, true)" />
|
|
@@ -31581,7 +31591,7 @@ class MobileCommunityPageComponent {
|
|
|
31581
31591
|
</div>
|
|
31582
31592
|
}
|
|
31583
31593
|
</ds-mobile-swiper>
|
|
31584
|
-
|
|
31594
|
+
|
|
31585
31595
|
<!-- Navigation Buttons -->
|
|
31586
31596
|
<div class="swiper-nav-buttons">
|
|
31587
31597
|
<ds-icon-button
|
|
@@ -31605,159 +31615,144 @@ class MobileCommunityPageComponent {
|
|
|
31605
31615
|
</div>
|
|
31606
31616
|
</div>
|
|
31607
31617
|
</ds-mobile-section>
|
|
31608
|
-
|
|
31618
|
+
|
|
31609
31619
|
<!-- All Posts Section -->
|
|
31610
|
-
<ds-mobile-section
|
|
31611
|
-
headline="Alle opslag">
|
|
31620
|
+
<ds-mobile-section headline="Alle opslag">
|
|
31612
31621
|
@if (hasAnyPosts()) {
|
|
31613
31622
|
<div class="post-list-wrapper">
|
|
31614
31623
|
<!-- All Posts Loop -->
|
|
31615
31624
|
@for (post of allPosts(); track post.id) {
|
|
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
|
-
|
|
31662
|
-
|
|
31663
|
-
|
|
31664
|
-
|
|
31665
|
-
|
|
31666
|
-
|
|
31667
|
-
|
|
31668
|
-
|
|
31669
|
-
|
|
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) {
|
|
31670
31717
|
<post-text>{{ post.content }}</post-text>
|
|
31671
|
-
|
|
31672
|
-
|
|
31673
|
-
|
|
31674
|
-
|
|
31675
|
-
|
|
31676
|
-
|
|
31677
|
-
|
|
31678
|
-
'
|
|
31679
|
-
|
|
31680
|
-
|
|
31681
|
-
|
|
31682
|
-
|
|
31683
|
-
|
|
31684
|
-
|
|
31685
|
-
|
|
31686
|
-
|
|
31687
|
-
|
|
31688
|
-
|
|
31689
|
-
</post-content>
|
|
31690
|
-
|
|
31691
|
-
<post-actions>
|
|
31692
|
-
<action-like [count]="post.likeCount" />
|
|
31693
|
-
<action-comment [count]="post.commentCount" (commentClick)="openPost(post.id, true)" />
|
|
31694
|
-
</post-actions>
|
|
31695
|
-
</ds-mobile-interactive-list-item-post>
|
|
31696
|
-
} @else {
|
|
31697
|
-
<!-- Regular Post -->
|
|
31698
|
-
<ds-mobile-interactive-list-item-post
|
|
31699
|
-
[authorName]="post.authorName"
|
|
31700
|
-
[authorRole]="post.authorRole"
|
|
31701
|
-
[timestamp]="post.timestamp"
|
|
31702
|
-
[avatarType]="post.avatarType"
|
|
31703
|
-
[avatarSrc]="post.avatarSrc || ''"
|
|
31704
|
-
[avatarInitials]="post.avatarInitials || ''"
|
|
31705
|
-
[clickable]="true"
|
|
31706
|
-
[moreActions]="true"
|
|
31707
|
-
(postClick)="openPost(post.id)"
|
|
31708
|
-
(commentClick)="openPost(post.id, true)"
|
|
31709
|
-
(longPress)="handlePostLongPress(post.id, post.authorRole === 'Dig')">
|
|
31710
|
-
|
|
31711
|
-
<post-content>
|
|
31712
|
-
@if (post.content) {
|
|
31713
|
-
<post-text>{{ post.content }}</post-text>
|
|
31714
|
-
}
|
|
31715
|
-
@if (post.imageSrc) {
|
|
31716
|
-
<post-media>
|
|
31717
|
-
<img
|
|
31718
|
-
[src]="post.imageSrc"
|
|
31719
|
-
[alt]="post.imageAlt || 'Posted image'"
|
|
31720
|
-
class="clickable-image"
|
|
31721
|
-
(click)="openImageLightbox(post.imageSrc, post.imageAlt || 'Posted image', post.content, $event)"
|
|
31722
|
-
/>
|
|
31723
|
-
</post-media>
|
|
31724
|
-
}
|
|
31725
|
-
</post-content>
|
|
31726
|
-
|
|
31727
|
-
<post-actions>
|
|
31728
|
-
<action-like [count]="post.likeCount" [active]="post.isLiked" />
|
|
31729
|
-
<action-comment [count]="post.commentCount" (commentClick)="openPost(post.id, true)" />
|
|
31730
|
-
</post-actions>
|
|
31731
|
-
</ds-mobile-interactive-list-item-post>
|
|
31732
|
-
}
|
|
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>
|
|
31733
31736
|
}
|
|
31734
|
-
|
|
31735
|
-
|
|
31736
|
-
|
|
31737
|
-
|
|
31738
|
-
|
|
31739
|
-
|
|
31740
|
-
|
|
31741
|
-
|
|
31742
|
-
|
|
31743
|
-
|
|
31744
|
-
|
|
31745
|
-
|
|
31746
|
-
|
|
31747
|
-
|
|
31748
|
-
|
|
31749
|
-
|
|
31750
|
-
|
|
31751
|
-
|
|
31752
|
-
|
|
31753
|
-
(ionInfinite)="onInfiniteScroll($event)">
|
|
31754
|
-
<ion-infinite-scroll-content
|
|
31755
|
-
loadingSpinner="crescent">
|
|
31756
|
-
</ion-infinite-scroll-content>
|
|
31757
|
-
</ion-infinite-scroll>
|
|
31758
|
-
}
|
|
31759
|
-
</ds-mobile-section>
|
|
31760
|
-
</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>
|
|
31761
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"] }] });
|
|
31762
31757
|
}
|
|
31763
31758
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: MobileCommunityPageComponent, decorators: [{
|
|
@@ -31780,7 +31775,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
31780
31775
|
DsMobileInlinePhotoComponent,
|
|
31781
31776
|
DsMobileOfflineBannerComponent,
|
|
31782
31777
|
IonInfiniteScroll,
|
|
31783
|
-
IonInfiniteScrollContent
|
|
31778
|
+
IonInfiniteScrollContent,
|
|
31784
31779
|
], template: `
|
|
31785
31780
|
<ds-mobile-page-main
|
|
31786
31781
|
#pageComponent
|
|
@@ -31788,18 +31783,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
31788
31783
|
[notificationCount]="notificationService.unreadCount()"
|
|
31789
31784
|
[avatarInitials]="userService.avatarInitials()"
|
|
31790
31785
|
[avatarType]="userService.avatarType()"
|
|
31786
|
+
[contentLoading]="isLoading()"
|
|
31787
|
+
[contentLoadingVariant]="'card'"
|
|
31791
31788
|
(notificationClick)="handleNotificationClick()"
|
|
31792
|
-
(refresh)="handleRefresh($event)"
|
|
31793
|
-
|
|
31789
|
+
(refresh)="handleRefresh($event)"
|
|
31790
|
+
>
|
|
31794
31791
|
<!-- Offline indicator -->
|
|
31795
31792
|
@if (pageComponent.isOffline()) {
|
|
31796
|
-
<ds-mobile-offline-banner
|
|
31797
|
-
offline-indicator
|
|
31798
|
-
title="Ingen internetforbindelse"
|
|
31799
|
-
message="Nogle funktioner kan være utilgængelige">
|
|
31800
|
-
</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>
|
|
31801
31794
|
}
|
|
31802
|
-
|
|
31795
|
+
|
|
31803
31796
|
<!-- Post Composer in header-expandable -->
|
|
31804
31797
|
<ds-mobile-post-composer
|
|
31805
31798
|
header-content
|
|
@@ -31808,21 +31801,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
31808
31801
|
[avatarSrc]="userService.avatarSrc()"
|
|
31809
31802
|
(composerClick)="openPostCreator()"
|
|
31810
31803
|
/>
|
|
31811
|
-
|
|
31804
|
+
|
|
31812
31805
|
<!-- Pinned Posts Section -->
|
|
31813
|
-
<ds-mobile-section
|
|
31814
|
-
headline="Fastgjorte opslag"
|
|
31815
|
-
icon="remixPushpinFill">
|
|
31806
|
+
<ds-mobile-section headline="Fastgjorte opslag" icon="remixPushpinFill">
|
|
31816
31807
|
<div class="pinned-posts-swiper-wrapper">
|
|
31817
|
-
<ds-mobile-swiper
|
|
31808
|
+
<ds-mobile-swiper
|
|
31818
31809
|
#pinnedSwiper
|
|
31819
31810
|
class="pinned-posts-swiper"
|
|
31820
|
-
[slideWidth]="'100%'"
|
|
31811
|
+
[slideWidth]="'100%'"
|
|
31821
31812
|
[gap]="32"
|
|
31822
31813
|
[pagination]="true"
|
|
31823
31814
|
[autoHeight]="true"
|
|
31824
31815
|
[progressiveOpacity]="true"
|
|
31825
|
-
[progressiveScale]="true"
|
|
31816
|
+
[progressiveScale]="true"
|
|
31817
|
+
>
|
|
31826
31818
|
@for (post of pinnedPosts(); track post.id) {
|
|
31827
31819
|
<div class="swiper-slide">
|
|
31828
31820
|
<ds-mobile-interactive-list-item-post
|
|
@@ -31838,24 +31830,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
31838
31830
|
[moreActions]="true"
|
|
31839
31831
|
(postClick)="openPost(post.id)"
|
|
31840
31832
|
(commentClick)="openPost(post.id, true)"
|
|
31841
|
-
(longPress)="handlePostLongPress(post.id, false)"
|
|
31842
|
-
|
|
31833
|
+
(longPress)="handlePostLongPress(post.id, false)"
|
|
31834
|
+
>
|
|
31843
31835
|
<post-content>
|
|
31844
31836
|
<post-text>{{ post.content }}</post-text>
|
|
31845
|
-
|
|
31837
|
+
|
|
31846
31838
|
@if (post.id === 'post-4') {
|
|
31847
31839
|
<post-attachments>
|
|
31848
|
-
<ds-mobile-card-inline-file
|
|
31849
|
-
[fileName]="'Husregler.pdf'"
|
|
31850
|
-
[fileSize]="'245 KB'"
|
|
31851
|
-
[variant]="'pdf'"
|
|
31852
|
-
[layout]="'compact'"
|
|
31853
|
-
(fileClick)="openHouseRulesPdf()">
|
|
31840
|
+
<ds-mobile-card-inline-file [fileName]="'Husregler.pdf'" [fileSize]="'245 KB'" [variant]="'pdf'" [layout]="'compact'" (fileClick)="openHouseRulesPdf()">
|
|
31854
31841
|
</ds-mobile-card-inline-file>
|
|
31855
31842
|
</post-attachments>
|
|
31856
31843
|
}
|
|
31857
31844
|
</post-content>
|
|
31858
|
-
|
|
31845
|
+
|
|
31859
31846
|
<post-actions>
|
|
31860
31847
|
<action-like [count]="post.likeCount" [active]="post.isLiked" />
|
|
31861
31848
|
<action-comment [count]="post.commentCount" (commentClick)="openPost(post.id, true)" />
|
|
@@ -31864,7 +31851,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
31864
31851
|
</div>
|
|
31865
31852
|
}
|
|
31866
31853
|
</ds-mobile-swiper>
|
|
31867
|
-
|
|
31854
|
+
|
|
31868
31855
|
<!-- Navigation Buttons -->
|
|
31869
31856
|
<div class="swiper-nav-buttons">
|
|
31870
31857
|
<ds-icon-button
|
|
@@ -31888,159 +31875,144 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
31888
31875
|
</div>
|
|
31889
31876
|
</div>
|
|
31890
31877
|
</ds-mobile-section>
|
|
31891
|
-
|
|
31878
|
+
|
|
31892
31879
|
<!-- All Posts Section -->
|
|
31893
|
-
<ds-mobile-section
|
|
31894
|
-
headline="Alle opslag">
|
|
31880
|
+
<ds-mobile-section headline="Alle opslag">
|
|
31895
31881
|
@if (hasAnyPosts()) {
|
|
31896
31882
|
<div class="post-list-wrapper">
|
|
31897
31883
|
<!-- All Posts Loop -->
|
|
31898
31884
|
@for (post of allPosts(); track post.id) {
|
|
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
|
-
|
|
31945
|
-
|
|
31946
|
-
|
|
31947
|
-
|
|
31948
|
-
|
|
31949
|
-
|
|
31950
|
-
|
|
31951
|
-
|
|
31952
|
-
|
|
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) {
|
|
31953
31977
|
<post-text>{{ post.content }}</post-text>
|
|
31954
|
-
|
|
31955
|
-
|
|
31956
|
-
|
|
31957
|
-
|
|
31958
|
-
|
|
31959
|
-
|
|
31960
|
-
|
|
31961
|
-
'
|
|
31962
|
-
|
|
31963
|
-
|
|
31964
|
-
|
|
31965
|
-
|
|
31966
|
-
|
|
31967
|
-
|
|
31968
|
-
|
|
31969
|
-
|
|
31970
|
-
|
|
31971
|
-
|
|
31972
|
-
</post-content>
|
|
31973
|
-
|
|
31974
|
-
<post-actions>
|
|
31975
|
-
<action-like [count]="post.likeCount" />
|
|
31976
|
-
<action-comment [count]="post.commentCount" (commentClick)="openPost(post.id, true)" />
|
|
31977
|
-
</post-actions>
|
|
31978
|
-
</ds-mobile-interactive-list-item-post>
|
|
31979
|
-
} @else {
|
|
31980
|
-
<!-- Regular Post -->
|
|
31981
|
-
<ds-mobile-interactive-list-item-post
|
|
31982
|
-
[authorName]="post.authorName"
|
|
31983
|
-
[authorRole]="post.authorRole"
|
|
31984
|
-
[timestamp]="post.timestamp"
|
|
31985
|
-
[avatarType]="post.avatarType"
|
|
31986
|
-
[avatarSrc]="post.avatarSrc || ''"
|
|
31987
|
-
[avatarInitials]="post.avatarInitials || ''"
|
|
31988
|
-
[clickable]="true"
|
|
31989
|
-
[moreActions]="true"
|
|
31990
|
-
(postClick)="openPost(post.id)"
|
|
31991
|
-
(commentClick)="openPost(post.id, true)"
|
|
31992
|
-
(longPress)="handlePostLongPress(post.id, post.authorRole === 'Dig')">
|
|
31993
|
-
|
|
31994
|
-
<post-content>
|
|
31995
|
-
@if (post.content) {
|
|
31996
|
-
<post-text>{{ post.content }}</post-text>
|
|
31997
|
-
}
|
|
31998
|
-
@if (post.imageSrc) {
|
|
31999
|
-
<post-media>
|
|
32000
|
-
<img
|
|
32001
|
-
[src]="post.imageSrc"
|
|
32002
|
-
[alt]="post.imageAlt || 'Posted image'"
|
|
32003
|
-
class="clickable-image"
|
|
32004
|
-
(click)="openImageLightbox(post.imageSrc, post.imageAlt || 'Posted image', post.content, $event)"
|
|
32005
|
-
/>
|
|
32006
|
-
</post-media>
|
|
32007
|
-
}
|
|
32008
|
-
</post-content>
|
|
32009
|
-
|
|
32010
|
-
<post-actions>
|
|
32011
|
-
<action-like [count]="post.likeCount" [active]="post.isLiked" />
|
|
32012
|
-
<action-comment [count]="post.commentCount" (commentClick)="openPost(post.id, true)" />
|
|
32013
|
-
</post-actions>
|
|
32014
|
-
</ds-mobile-interactive-list-item-post>
|
|
32015
|
-
}
|
|
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>
|
|
32016
31996
|
}
|
|
32017
|
-
|
|
32018
|
-
|
|
32019
|
-
|
|
32020
|
-
|
|
32021
|
-
|
|
32022
|
-
|
|
32023
|
-
|
|
32024
|
-
|
|
32025
|
-
|
|
32026
|
-
|
|
32027
|
-
|
|
32028
|
-
|
|
32029
|
-
|
|
32030
|
-
|
|
32031
|
-
|
|
32032
|
-
|
|
32033
|
-
|
|
32034
|
-
|
|
32035
|
-
|
|
32036
|
-
(ionInfinite)="onInfiniteScroll($event)">
|
|
32037
|
-
<ion-infinite-scroll-content
|
|
32038
|
-
loadingSpinner="crescent">
|
|
32039
|
-
</ion-infinite-scroll-content>
|
|
32040
|
-
</ion-infinite-scroll>
|
|
32041
|
-
}
|
|
32042
|
-
</ds-mobile-section>
|
|
32043
|
-
</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>
|
|
32044
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"] }]
|
|
32045
32017
|
}], ctorParameters: () => [{ type: i1$3.Router }, { type: i1$3.ActivatedRoute }, { type: DsMobileBottomSheetService }, { type: DsMobileLightboxService }, { type: DsMobilePostDetailModalService }, { type: UserService }, { type: PostsService }], propDecorators: { pageComponent: [{
|
|
32046
32018
|
type: ViewChild,
|
|
@@ -32296,7 +32268,12 @@ class MobileHandbookPageComponent {
|
|
|
32296
32268
|
];
|
|
32297
32269
|
constructor(userService) {
|
|
32298
32270
|
this.userService = userService;
|
|
32271
|
+
const randomTimeout = Math.floor(Math.random() * 2000);
|
|
32272
|
+
setTimeout(() => {
|
|
32273
|
+
this.isLoading.set(false);
|
|
32274
|
+
}, randomTimeout);
|
|
32299
32275
|
}
|
|
32276
|
+
isLoading = signal(true, ...(ngDevMode ? [{ debugName: "isLoading" }] : []));
|
|
32300
32277
|
async handleNotificationClick() {
|
|
32301
32278
|
const tapped = await this.notificationModal.open();
|
|
32302
32279
|
if (tapped)
|
|
@@ -32317,7 +32294,7 @@ class MobileHandbookPageComponent {
|
|
|
32317
32294
|
}
|
|
32318
32295
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: MobileHandbookPageComponent, deps: [{ token: UserService }], target: i0.ɵɵFactoryTarget.Component });
|
|
32319
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: `
|
|
32320
|
-
<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)">
|
|
32321
32298
|
<!-- Offline indicator -->
|
|
32322
32299
|
@if (pageComponent.isOffline()) {
|
|
32323
32300
|
<ds-mobile-offline-banner offline-indicator title="Ingen internetforbindelse" message="Nogle funktioner kan være utilgængelige"> </ds-mobile-offline-banner>
|
|
@@ -32343,7 +32320,7 @@ class MobileHandbookPageComponent {
|
|
|
32343
32320
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: MobileHandbookPageComponent, decorators: [{
|
|
32344
32321
|
type: Component,
|
|
32345
32322
|
args: [{ selector: 'app-mobile-handbook-page', standalone: true, imports: [DsMobilePageMainComponent, DsMobileSectionComponent, DsMobileHandbookFolderComponent, DsMobileOfflineBannerComponent], template: `
|
|
32346
|
-
<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)">
|
|
32347
32324
|
<!-- Offline indicator -->
|
|
32348
32325
|
@if (pageComponent.isOffline()) {
|
|
32349
32326
|
<ds-mobile-offline-banner offline-indicator title="Ingen internetforbindelse" message="Nogle funktioner kan være utilgængelige"> </ds-mobile-offline-banner>
|
|
@@ -33548,19 +33525,25 @@ class MobileInquiriesPageComponent {
|
|
|
33548
33525
|
this.userService = userService;
|
|
33549
33526
|
this.navCtrl = navCtrl;
|
|
33550
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);
|
|
33551
33533
|
}
|
|
33534
|
+
isLoading = signal(true, ...(ngDevMode ? [{ debugName: "isLoading" }] : []));
|
|
33552
33535
|
filterStatus = signal('all', ...(ngDevMode ? [{ debugName: "filterStatus" }] : []));
|
|
33553
33536
|
tabItems = [
|
|
33554
33537
|
{ id: 'all', label: 'Alle' },
|
|
33555
33538
|
{ id: 'open', label: 'Åben' },
|
|
33556
|
-
{ id: 'closed', label: 'Lukket' }
|
|
33539
|
+
{ id: 'closed', label: 'Lukket' },
|
|
33557
33540
|
];
|
|
33558
33541
|
filteredInquiries = computed(() => {
|
|
33559
33542
|
const all = this.inquiriesService.inquiries();
|
|
33560
33543
|
const status = this.filterStatus();
|
|
33561
33544
|
if (status === 'all')
|
|
33562
33545
|
return all;
|
|
33563
|
-
return all.filter(i => i.status === status);
|
|
33546
|
+
return all.filter((i) => i.status === status);
|
|
33564
33547
|
}, ...(ngDevMode ? [{ debugName: "filteredInquiries" }] : []));
|
|
33565
33548
|
setFilter(status) {
|
|
33566
33549
|
this.filterStatus.set(status);
|
|
@@ -33572,7 +33555,7 @@ class MobileInquiriesPageComponent {
|
|
|
33572
33555
|
console.log('Opening inquiry:', inquiryId);
|
|
33573
33556
|
// Navigate to inquiry detail page with custom transition (absolute path outside tabs for animations)
|
|
33574
33557
|
this.navCtrl.navigateForward([`/inquiry-detail/${inquiryId}`], {
|
|
33575
|
-
animation: customPageTransition
|
|
33558
|
+
animation: customPageTransition,
|
|
33576
33559
|
});
|
|
33577
33560
|
}
|
|
33578
33561
|
showInquiryActions(inquiryId) {
|
|
@@ -33615,7 +33598,7 @@ class MobileInquiriesPageComponent {
|
|
|
33615
33598
|
});
|
|
33616
33599
|
// Close the modal
|
|
33617
33600
|
await this.newInquiryModal.close();
|
|
33618
|
-
}
|
|
33601
|
+
},
|
|
33619
33602
|
});
|
|
33620
33603
|
}
|
|
33621
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 });
|
|
@@ -33626,27 +33609,21 @@ class MobileInquiriesPageComponent {
|
|
|
33626
33609
|
[notificationCount]="notificationService.unreadCount()"
|
|
33627
33610
|
[avatarInitials]="userService.avatarInitials()"
|
|
33628
33611
|
[avatarType]="userService.avatarType()"
|
|
33612
|
+
[contentLoading]="isLoading()"
|
|
33613
|
+
[contentLoadingVariant]="'list'"
|
|
33629
33614
|
(notificationClick)="handleNotificationClick()"
|
|
33630
|
-
(refresh)="handleRefresh($event)"
|
|
33631
|
-
|
|
33615
|
+
(refresh)="handleRefresh($event)"
|
|
33616
|
+
>
|
|
33632
33617
|
<!-- Offline indicator -->
|
|
33633
33618
|
@if (pageComponent.isOffline()) {
|
|
33634
|
-
<ds-mobile-offline-banner
|
|
33635
|
-
offline-indicator
|
|
33636
|
-
title="Ingen internetforbindelse"
|
|
33637
|
-
message="Nogle funktioner kan være utilgængelige">
|
|
33638
|
-
</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>
|
|
33639
33620
|
}
|
|
33640
|
-
|
|
33621
|
+
|
|
33641
33622
|
<!-- Filter tabs in header -->
|
|
33642
33623
|
<div header-content>
|
|
33643
|
-
<ds-mobile-inline-tabs
|
|
33644
|
-
[tabs]="tabItems"
|
|
33645
|
-
[activeTab]="filterStatus()"
|
|
33646
|
-
(tabChange)="setFilter($any($event))">
|
|
33647
|
-
</ds-mobile-inline-tabs>
|
|
33624
|
+
<ds-mobile-inline-tabs [tabs]="tabItems" [activeTab]="filterStatus()" (tabChange)="setFilter($any($event))"> </ds-mobile-inline-tabs>
|
|
33648
33625
|
</div>
|
|
33649
|
-
|
|
33626
|
+
|
|
33650
33627
|
<ds-mobile-section>
|
|
33651
33628
|
@if (filteredInquiries().length > 0) {
|
|
33652
33629
|
<div class="inquiry-list-wrapper">
|
|
@@ -33660,7 +33637,8 @@ class MobileInquiriesPageComponent {
|
|
|
33660
33637
|
[clickable]="true"
|
|
33661
33638
|
[showChevron]="false"
|
|
33662
33639
|
[enableLongPress]="false"
|
|
33663
|
-
(inquiryClick)="openInquiryDetail(inquiry.id)"
|
|
33640
|
+
(inquiryClick)="openInquiryDetail(inquiry.id)"
|
|
33641
|
+
>
|
|
33664
33642
|
</ds-mobile-interactive-list-item-inquiry>
|
|
33665
33643
|
}
|
|
33666
33644
|
</div>
|
|
@@ -33684,12 +33662,7 @@ class MobileInquiriesPageComponent {
|
|
|
33684
33662
|
</ds-mobile-page-main>
|
|
33685
33663
|
|
|
33686
33664
|
<!-- FAB for creating new inquiry -->
|
|
33687
|
-
<ds-mobile-fab
|
|
33688
|
-
icon="remixAddLine"
|
|
33689
|
-
position="bottom-right"
|
|
33690
|
-
ariaLabel="Create new inquiry"
|
|
33691
|
-
(clicked)="createNewInquiry()">
|
|
33692
|
-
</ds-mobile-fab>
|
|
33665
|
+
<ds-mobile-fab icon="remixAddLine" position="bottom-right" ariaLabel="Create new inquiry" (clicked)="createNewInquiry()"> </ds-mobile-fab>
|
|
33693
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"] }] });
|
|
33694
33667
|
}
|
|
33695
33668
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: MobileInquiriesPageComponent, decorators: [{
|
|
@@ -33701,9 +33674,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
33701
33674
|
DsMobileInteractiveListItemInquiryComponent,
|
|
33702
33675
|
DsMobileInlineTabsComponent,
|
|
33703
33676
|
DsMobileOfflineBannerComponent,
|
|
33704
|
-
DsMobileFabComponent
|
|
33677
|
+
DsMobileFabComponent,
|
|
33705
33678
|
], host: {
|
|
33706
|
-
class: 'ion-page'
|
|
33679
|
+
class: 'ion-page',
|
|
33707
33680
|
}, template: `
|
|
33708
33681
|
<ds-mobile-page-main
|
|
33709
33682
|
#pageComponent
|
|
@@ -33711,27 +33684,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
33711
33684
|
[notificationCount]="notificationService.unreadCount()"
|
|
33712
33685
|
[avatarInitials]="userService.avatarInitials()"
|
|
33713
33686
|
[avatarType]="userService.avatarType()"
|
|
33687
|
+
[contentLoading]="isLoading()"
|
|
33688
|
+
[contentLoadingVariant]="'list'"
|
|
33714
33689
|
(notificationClick)="handleNotificationClick()"
|
|
33715
|
-
(refresh)="handleRefresh($event)"
|
|
33716
|
-
|
|
33690
|
+
(refresh)="handleRefresh($event)"
|
|
33691
|
+
>
|
|
33717
33692
|
<!-- Offline indicator -->
|
|
33718
33693
|
@if (pageComponent.isOffline()) {
|
|
33719
|
-
<ds-mobile-offline-banner
|
|
33720
|
-
offline-indicator
|
|
33721
|
-
title="Ingen internetforbindelse"
|
|
33722
|
-
message="Nogle funktioner kan være utilgængelige">
|
|
33723
|
-
</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>
|
|
33724
33695
|
}
|
|
33725
|
-
|
|
33696
|
+
|
|
33726
33697
|
<!-- Filter tabs in header -->
|
|
33727
33698
|
<div header-content>
|
|
33728
|
-
<ds-mobile-inline-tabs
|
|
33729
|
-
[tabs]="tabItems"
|
|
33730
|
-
[activeTab]="filterStatus()"
|
|
33731
|
-
(tabChange)="setFilter($any($event))">
|
|
33732
|
-
</ds-mobile-inline-tabs>
|
|
33699
|
+
<ds-mobile-inline-tabs [tabs]="tabItems" [activeTab]="filterStatus()" (tabChange)="setFilter($any($event))"> </ds-mobile-inline-tabs>
|
|
33733
33700
|
</div>
|
|
33734
|
-
|
|
33701
|
+
|
|
33735
33702
|
<ds-mobile-section>
|
|
33736
33703
|
@if (filteredInquiries().length > 0) {
|
|
33737
33704
|
<div class="inquiry-list-wrapper">
|
|
@@ -33745,7 +33712,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
33745
33712
|
[clickable]="true"
|
|
33746
33713
|
[showChevron]="false"
|
|
33747
33714
|
[enableLongPress]="false"
|
|
33748
|
-
(inquiryClick)="openInquiryDetail(inquiry.id)"
|
|
33715
|
+
(inquiryClick)="openInquiryDetail(inquiry.id)"
|
|
33716
|
+
>
|
|
33749
33717
|
</ds-mobile-interactive-list-item-inquiry>
|
|
33750
33718
|
}
|
|
33751
33719
|
</div>
|
|
@@ -33769,12 +33737,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
33769
33737
|
</ds-mobile-page-main>
|
|
33770
33738
|
|
|
33771
33739
|
<!-- FAB for creating new inquiry -->
|
|
33772
|
-
<ds-mobile-fab
|
|
33773
|
-
icon="remixAddLine"
|
|
33774
|
-
position="bottom-right"
|
|
33775
|
-
ariaLabel="Create new inquiry"
|
|
33776
|
-
(clicked)="createNewInquiry()">
|
|
33777
|
-
</ds-mobile-fab>
|
|
33740
|
+
<ds-mobile-fab icon="remixAddLine" position="bottom-right" ariaLabel="Create new inquiry" (clicked)="createNewInquiry()"> </ds-mobile-fab>
|
|
33778
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"] }]
|
|
33779
33742
|
}], ctorParameters: () => [{ type: UserService }, { type: i1.NavController }, { type: DsMobileNewInquiryModalService }], propDecorators: { pageComponent: [{
|
|
33780
33743
|
type: ViewChild,
|
|
@@ -39041,5 +39004,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
39041
39004
|
* Generated bundle index. Do not edit.
|
|
39042
39005
|
*/
|
|
39043
39006
|
|
|
39044
|
-
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 };
|
|
39045
39008
|
//# sourceMappingURL=propbinder-mobile-design.mjs.map
|