This repository has no description
0

Configure Feed

Select the types of activity you want to include in your feed.

add links

+90 -23
+2 -2
src/accountData.js
··· 511 511 baseStatus = "Leader"; 512 512 } else if (followersCount >= 10000) { 513 513 baseStatus = "Guide"; 514 - } else if (followersCount >= 500) { 514 + } else if (followersCount >= 1000) { 515 515 baseStatus = "Pathfinder"; 516 516 } 517 517 } ··· 1043 1043 const narrative1 = 1044 1044 `${profile.displayName} has been on the network ${accountAgeStatement} ${calculateActivityStatus(activityAll.totalRecordsPerDay)}. ` + 1045 1045 `Their profile is ${calculateProfileCompletion(profile)}, and ${blueskyFeatures}. ` + 1046 - `When it comes to the broader AT Proto ecosystem, this identity ${atprotoEngagement}.`; 1046 + `When it comes to the broader ATProto ecosystem, this identity ${atprotoEngagement}.`; 1047 1047 1048 1048 // Second Paragraph 1049 1049 const narrative2 =
+32
src/components/ScoringMethodology/ScoringMethodology.css
··· 87 87 88 88 .definition-description { 89 89 max-height: 0; 90 + margin-left: 0; 90 91 overflow: hidden; 91 92 padding: 0 15px; 92 93 transition: all 0.3s ease; ··· 191 192 .social-statuses-container .definition-item:nth-child(5) .definition-term { 192 193 border-left: 4px solid #FFD700; /* Darkest - Leader */ 193 194 } 195 + 196 + /* Add these styles to your ScoringMethodology.css file */ 197 + 198 + .learn-more-link { 199 + margin-top: 12px; 200 + font-size: 0.9em; 201 + text-align: right; 202 + } 203 + 204 + .learn-more-link a { 205 + color: var(--button-bg); 206 + text-decoration: none; 207 + display: inline-block; 208 + transition: all 0.2s ease; 209 + padding: 4px 8px; 210 + border-radius: 4px; 211 + } 212 + 213 + .learn-more-link a:hover { 214 + background-color: rgba(59, 154, 248, 0.1); 215 + text-decoration: underline; 216 + } 217 + 218 + /* Make sure links work properly in dark mode */ 219 + .dark-mode .learn-more-link a { 220 + color: var(--button-bg); 221 + } 222 + 223 + .dark-mode .learn-more-link a:hover { 224 + background-color: rgba(59, 154, 248, 0.15); 225 + }
+54 -19
src/components/ScoringMethodology/ScoringMethodology.js
··· 26 26 } 27 27 }; 28 28 29 - // Definitions data 29 + // Definitions data with added links 30 30 const definitions = [ 31 31 { 32 32 id: "pds", 33 33 term: "Personal Data Server (PDS)", 34 - definition: "A server that hosts your AT Protocol data and content. You can use Bluesky's PDS or choose a third-party PDS for more control over your data." 34 + definition: "A server that hosts your AT Protocol data and content. You can use Bluesky's PDS hosting or choose a third-party PDS host for more control over your data. By default, new Bluesky accounts use Bluesky's PDS hosting, so the vast majority of accounts right now do not use a third-party PDS. Having a third-party PDS host contributes to the further decentralization of the network, but it is currently difficult to do.", 35 + learnMoreLink: "https://atproto.com/guides/pds" 36 + }, 37 + { 38 + id: "did", 39 + term: "DID", 40 + definition: "The AT Protocol uses Decentralized Identifiers (DIDs) as persistent, long-term account identifiers. DID is a W3C standard, with many standardized and proposed DID method implementations. There are currently two methods supported by the protocol: did:plc and did:web. New Bluesky accounts use the did:plc method.", 41 + learnMoreLink: "https://atproto.com/specs/did" 35 42 }, 36 43 { 37 44 id: "lexicon", 38 45 term: "Lexicon", 39 - definition: "The schema system used by the AT Protocol to define data structures. Third-party lexicons allow for custom features and extensions to the protocol." 40 - }, 41 - { 42 - id: "plc", 43 - term: "PLC (Decentralized Identity)", 44 - definition: "The Personal Ledger of Claims system that manages identities in the AT Protocol. PLC logs contain cryptographic proofs of identity ownership." 46 + definition: "The schema system used by the AT Protocol to define data structures. Lexicons are kind of like a file formats, and different AT Protocol apps can choose which of these file formats to support. Apps can have their own unique file formats as well. Third-party lexicons allow for custom features and extensions to the protocol.", 47 + learnMoreLink: "https://atproto.com/guides/lexicon" 45 48 }, 46 49 { 47 50 id: "rotation-key", 48 51 term: "Rotation Key", 49 - definition: "A security feature that allows you to recover your account if your primary credentials are compromised." 52 + definition: "A security feature that allows you to recover your account if your primary credentials are compromised.", 53 + learnMoreLink: "https://bsky.app/profile/mattyoukhana.xyz/post/3ke5j53mxwt2o" 50 54 }, 51 55 { 52 56 id: "alt-text", 53 57 term: "Alt Text", 54 - definition: "Text descriptions added to images that make content accessible to users with visual impairments or when images fail to load." 58 + definition: "Text descriptions added to images that make content accessible to users with visual impairments or when images fail to load.", 59 + learnMoreLink: "https://help.bsky.app/en/articles/8754485-how-do-i-add-alt-text-to-my-images" 55 60 }, 56 61 { 57 62 id: "social-graph", 58 63 term: "Social Graph", 59 - definition: "The network of connections between accounts, including followers, following, and engagement patterns." 64 + definition: "The network of connections between accounts, including followers, following, and engagement patterns.", 65 + learnMoreLink: "https://atproto.com/lexicons/app-bsky-graph" 60 66 }, 61 67 { 62 68 id: "labelers", 63 69 term: "Labelers", 64 - definition: "Entities that can apply labels to content on Bluesky for moderation purposes. Users can choose which labelers they trust." 70 + definition: "Entities that can apply labels to content on Bluesky for moderation purposes. Users can choose which labelers they trust.", 71 + learnMoreLink: "https://bsky.social/about/blog/5-22-24-content-labeling-moderation" 65 72 }, 66 73 { 67 74 id: "engagement-rate", 68 75 term: "Engagement Rate", 69 - definition: "A metric that measures how much interaction your content receives relative to your audience size." 76 + definition: "A metric that measures how much interaction your content receives relative to your audience size.", 77 + learnMoreLink: "https://cred.blue/methodology" 70 78 } 71 79 ]; 72 80 73 - // Social status data 81 + // Social status data with added links 74 82 const socialStatuses = [ 75 83 { 76 84 id: "newcomer", 77 85 name: "Newcomer", 78 - description: "Accounts that are new to Bluesky or have minimal activity. These users are just getting started on the platform and beginning to build their presence." 86 + description: "Accounts that are new to Bluesky or have minimal activity. These users are just getting started on the platform and beginning to build their presence. After 30 days, Newcomers become Explorers.", 87 + learnMoreLink: "https://cred.blue/social-status/newcomer" 79 88 }, 80 89 { 81 90 id: "explorer", 82 91 name: "Explorer", 83 - description: "Users who are actively engaging with the platform, discovering features, and building their initial network. They have established a basic presence but are still growing their connections." 92 + description: "Users who are actively engaging with the platform, discovering features, and building their initial network. They have established a basic presence but are still growing their connections and potentially finding their community.", 93 + learnMoreLink: "https://cred.blue/social-status/explorer" 84 94 }, 85 95 { 86 96 id: "pathfinder", 87 97 name: "Pathfinder", 88 - description: "Established users who have developed a consistent presence and are actively contributing to conversations. These accounts have a growing influence and solid engagement within their communities." 98 + description: "Established users who have developed a consistent presence and are actively contributing to conversations. These accounts have a growing influence (1,000+ followers) and solid engagement within their communities.", 99 + learnMoreLink: "https://cred.blue/social-status/pathfinder" 89 100 }, 90 101 { 91 102 id: "guide", 92 103 name: "Guide", 93 - description: "Well-established users who have significant impact within specific communities. They often create valuable content and maintain strong engagement with their followers." 104 + description: "Well-established users who have significant influence within specific communities (10,000+ followers). They often create valuable content and maintain strong engagement with their followers.", 105 + learnMoreLink: "https://cred.blue/social-status/guide" 94 106 }, 95 107 { 96 108 id: "leader", 97 109 name: "Leader", 98 - description: "Highly influential accounts with substantial followings and engagement. These users have a broad impact across multiple communities and consistently contribute high-value content to the platform." 110 + description: "Highly influential accounts with substantial followings (100,000+) and engagement. These users have a broad impact across multiple communities and consistently contribute high-value content to the platform.", 111 + learnMoreLink: "https://cred.blue/social-status/leader" 99 112 } 100 113 ]; 101 114 ··· 181 194 aria-hidden={expandedStatus !== status.id} 182 195 > 183 196 {status.description} 197 + {status.learnMoreLink && ( 198 + <div className="learn-more-link"> 199 + <a 200 + href={status.learnMoreLink} 201 + target="_blank" 202 + rel="noopener noreferrer" 203 + > 204 + Learn more about {status.name} status → 205 + </a> 206 + </div> 207 + )} 184 208 </dd> 185 209 </div> 186 210 ))} ··· 207 231 aria-hidden={expandedTerm !== item.id} 208 232 > 209 233 {item.definition} 234 + {item.learnMoreLink && ( 235 + <div className="learn-more-link"> 236 + <a 237 + href={item.learnMoreLink} 238 + target="_blank" 239 + rel="noopener noreferrer" 240 + > 241 + Learn more about {item.term} → 242 + </a> 243 + </div> 244 + )} 210 245 </dd> 211 246 </div> 212 247 ))}
+2 -2
src/components/UserProfile/UserProfile.js
··· 335 335 <div className="user-profile-data-group"> 336 336 <div className="user-profile-score"> 337 337 <p><strong>Bluesky Score:</strong> {accountData.blueskyScore}</p> 338 - <p><strong>AT Proto Score:</strong> {accountData.atprotoScore}</p> 338 + <p><strong>ATProto Score:</strong> {accountData.atprotoScore}</p> 339 339 </div> 340 340 <div className="user-profile-activity"> 341 341 <p><strong>Bluesky Status:</strong> {accountData.activityAll.bskyActivityStatus}</p> 342 - <p><strong>AT Proto Status:</strong> {accountData.activityAll.atprotoActivityStatus}</p> 342 + <p><strong>ATProto Status:</strong> {accountData.activityAll.atprotoActivityStatus}</p> 343 343 </div> 344 344 </div> 345 345 <div className="share-button-container">