WIP: DIsplay name for the web app
This commit is contained in:
		
							parent
							
								
									2d26a990a9
								
							
						
					
					
						commit
						4d6c147f24
					
				
					 9 changed files with 108 additions and 15 deletions
				
			
		| 
						 | 
				
			
			@ -1,13 +1,12 @@
 | 
			
		|||
import {
 | 
			
		||||
    basicAuth,
 | 
			
		||||
    encodeBase64,
 | 
			
		||||
    fetchLinesIterator,
 | 
			
		||||
    maybeWithBasicAuth,
 | 
			
		||||
    topicShortUrl,
 | 
			
		||||
    topicUrl,
 | 
			
		||||
    topicUrlAuth,
 | 
			
		||||
    topicUrlJsonPoll,
 | 
			
		||||
    topicUrlJsonPollWithSince, userStatsUrl
 | 
			
		||||
    topicUrlJsonPollWithSince,
 | 
			
		||||
    userStatsUrl
 | 
			
		||||
} from "./utils";
 | 
			
		||||
import userManager from "./UserManager";
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,4 @@
 | 
			
		|||
import {formatMessage, formatTitleWithDefault, openUrl, playSound, topicShortUrl} from "./utils";
 | 
			
		||||
import {formatMessage, formatTitleWithDefault, openUrl, playSound, topicDisplayName, topicShortUrl} from "./utils";
 | 
			
		||||
import prefs from "./Prefs";
 | 
			
		||||
import subscriptionManager from "./SubscriptionManager";
 | 
			
		||||
import logo from "../img/ntfy.png";
 | 
			
		||||
| 
						 | 
				
			
			@ -18,8 +18,9 @@ class Notifier {
 | 
			
		|||
            return;
 | 
			
		||||
        }
 | 
			
		||||
        const shortUrl = topicShortUrl(subscription.baseUrl, subscription.topic);
 | 
			
		||||
        const displayName = topicDisplayName(subscription);
 | 
			
		||||
        const message = formatMessage(notification);
 | 
			
		||||
        const title = formatTitleWithDefault(notification, shortUrl);
 | 
			
		||||
        const title = formatTitleWithDefault(notification, displayName);
 | 
			
		||||
 | 
			
		||||
        // Show notification
 | 
			
		||||
        console.log(`[Notifier, ${shortUrl}] Displaying notification ${notification.id}: ${message}`);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -133,6 +133,12 @@ class SubscriptionManager {
 | 
			
		|||
        });
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    async setDisplayName(subscriptionId, displayName) {
 | 
			
		||||
        await db.subscriptions.update(subscriptionId, {
 | 
			
		||||
            displayName: displayName
 | 
			
		||||
        });
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    async pruneNotifications(thresholdTimestamp) {
 | 
			
		||||
        await db.notifications
 | 
			
		||||
            .where("time").below(thresholdTimestamp)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -38,6 +38,15 @@ export const disallowedTopic = (topic) => {
 | 
			
		|||
    return config.disallowedTopics.includes(topic);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export const topicDisplayName = (subscription) => {
 | 
			
		||||
    if (subscription.displayName) {
 | 
			
		||||
        return subscription.displayName;
 | 
			
		||||
    } else if (subscription.baseUrl === window.location.origin) {
 | 
			
		||||
        return subscription.topic;
 | 
			
		||||
    }
 | 
			
		||||
    return topicShortUrl(subscription.baseUrl, subscription.topic);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Format emojis (see emoji.js)
 | 
			
		||||
const emojis = {};
 | 
			
		||||
rawEmojis.forEach(emoji => {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue