diff --git a/custom_components/package_tracker/frontend/package-tracker-card.js b/custom_components/package_tracker/frontend/package-tracker-card.js index 92f4029..56199d2 100644 --- a/custom_components/package_tracker/frontend/package-tracker-card.js +++ b/custom_components/package_tracker/frontend/package-tracker-card.js @@ -420,7 +420,7 @@ const dt=t=>(e,i)=>{void 0!==i?i.addInitializer(()=>{customElements.define(t,e)} ${0===t.length?q`
No packages being tracked
`:q`
${t.map(t=>this._renderPackage(t))}
`} - `}async _copyTrackingNumber(t){await navigator.clipboard.writeText(t.attributes.tracking_number??""),this._copiedId=t.entityId,setTimeout(()=>{this._copiedId=null},2e3)}async _handleRefresh(){if(!this._refreshing&&this.hass){this._refreshing=!0;try{await this.hass.callService("package_tracker","refresh_packages",{})}catch{}finally{this._refreshing=!1}}}_getPackages(){let t=Object.keys(this.hass.states).filter(t=>{if(!t.startsWith("sensor."))return!1;const e=this.hass.states[t].attributes;return void 0!==e.tracking_number&&void 0!==e.carrier}).map(t=>{const e=this.hass.states[t];return{entityId:t,state:e.state,attributes:e.attributes}});this._config?.show_delivered||(t=t.filter(t=>"delivered"!==t.state));const e={out_for_delivery:0,exception:1,in_transit:2,pre_transit:3,unknown:4,expired:5,delivered:6};return t.sort((t,i)=>{const r=e[t.state]??4,s=e[i.state]??4;if(r!==s)return r-s;return(t.attributes.estimated_delivery?new Date(t.attributes.estimated_delivery).getTime():1/0)-(i.attributes.estimated_delivery?new Date(i.attributes.estimated_delivery).getTime():1/0)}),t}_renderPackage(t){const e=t.state||"unknown",i=mt[e]||mt.unknown,r=vt[e]||vt.unknown,s=$t[e]||e,o=t.attributes;let n="";if(o.estimated_delivery)try{n=new Date(o.estimated_delivery).toLocaleDateString(void 0,{month:"short",day:"numeric"})}catch{}const a=o.events?.[0]?.description||"";let c="";if(o.last_updated)try{c=new Date(o.last_updated).toLocaleString(void 0,{month:"short",day:"numeric",hour:"numeric",minute:"2-digit"})}catch{}return q` + `}async _copyTrackingNumber(t){await navigator.clipboard.writeText(t.attributes.tracking_number??""),this._copiedId=t.entityId,setTimeout(()=>{this._copiedId=null},2e3)}async _handleRefresh(){if(!this._refreshing&&this.hass){this._refreshing=!0;try{await this.hass.callService("package_tracker","refresh_packages",{})}catch{}finally{this._refreshing=!1}}}_getPackages(){let t=Object.keys(this.hass.states).filter(t=>{if(!t.startsWith("sensor."))return!1;const e=this.hass.states[t].attributes;return void 0!==e.tracking_number&&void 0!==e.carrier}).map(t=>{const e=this.hass.states[t];return{entityId:t,state:e.state,attributes:e.attributes}});this._config?.show_delivered||(t=t.filter(t=>"delivered"!==t.state));const e={out_for_delivery:0,exception:1,in_transit:2,pre_transit:3,unknown:4,expired:5,delivered:6};return t.sort((t,i)=>{const r=e[t.state]??4,s=e[i.state]??4;if(r!==s)return r-s;return(t.attributes.estimated_delivery?new Date(t.attributes.estimated_delivery).getTime():1/0)-(i.attributes.estimated_delivery?new Date(i.attributes.estimated_delivery).getTime():1/0)}),t}_renderPackage(t){const e=t.state||"unknown",i=mt[e]||mt.unknown,r=vt[e]||vt.unknown,s=$t[e]||e,o=t.attributes;let n="";if(o.estimated_delivery)try{n=new Date(o.estimated_delivery).toLocaleDateString(void 0,{weekday:"short",month:"short",day:"numeric"})}catch{}const a=o.events?.[0]?.description||"";let c="";if(o.last_updated)try{c=new Date(o.last_updated).toLocaleString(void 0,{month:"short",day:"numeric",hour:"numeric",minute:"2-digit"})}catch{}return q`
${o.label||"Package"} diff --git a/frontend-src/src/package-tracker-card.ts b/frontend-src/src/package-tracker-card.ts index 1b103cd..b884196 100644 --- a/frontend-src/src/package-tracker-card.ts +++ b/frontend-src/src/package-tracker-card.ts @@ -180,6 +180,7 @@ export class PackageTrackerCard extends LitElement { try { const date = new Date(attrs.estimated_delivery); etaStr = date.toLocaleDateString(undefined, { + weekday: "short", month: "short", day: "numeric", });