34 lines
950 B
JavaScript
34 lines
950 B
JavaScript
// Listen for subscription status updates from the webpage
|
|
window.addEventListener(
|
|
'message',
|
|
function (event) {
|
|
// Validate message structure and origin
|
|
if (!event.data || typeof event.data !== 'object') return
|
|
|
|
const { type, text } = event.data
|
|
|
|
// Verify all required fields are present and valid
|
|
if (
|
|
type === 'FROM_PAGE' &&
|
|
text?.type === 'subscription_status' &&
|
|
text?.extensionId === chrome.runtime.id &&
|
|
typeof text?.status === 'string'
|
|
) {
|
|
// Log the validated message
|
|
console.log('Subscription status update received:', text.status)
|
|
|
|
chrome.storage.sync.set(
|
|
{ dm_subscription_status: text.status.toLowerCase() },
|
|
() => {
|
|
console.log('Subscription status updated:', text.status)
|
|
}
|
|
)
|
|
|
|
if (text.status.toLowerCase() === 'active') {
|
|
chrome.storage.sync.remove('dm_clicks_count', () => {})
|
|
}
|
|
}
|
|
},
|
|
false
|
|
)
|