this repo has no description

Compare changes

Choose any two refs to compare.

Changed files
+21 -38
src
themes
express
witchcraft
+8 -3
README.md
··· 46 46 47 47 ## theming 48 48 49 - themes are located in the `themes/` directory, you can create your own theme by copying one of the existing themes and modifying it to your liking. 49 + the colors are designated in [`src/app.css`](src/app.css) as variables, go crazy with them 50 50 51 - currently, the name of the theme is determined by the directory name, and the theme itself is defined in `theme.css` inside that directory. 51 + the rest is done by editing the css files and style tags directly, good luck 52 + 53 + relevant files: 52 54 53 - you can switch themes by changing the `theme` property in `config.ts`. 55 + - [`src/App.svelte`](src/App.svelte) 56 + - [`src/app.css`](src/app.css) 57 + - [`src/lib/AccountComponent.svelte`](src/lib/AccountComponent.svelte) 58 + - [`src/lib/PostComponent.svelte`](src/lib/PostComponent.svelte) 54 59 55 60 the favicon is located at [`public/favicon.ico`](public/favicon.ico) 56 61
+3 -7
src/lib/AccountComponent.svelte
··· 12 12 alt="avatar of {account.displayName}" 13 13 src="{Config.PDS_URL}/xrpc/com.atproto.sync.getBlob?did={account.did}&cid={account.avatarCid}" 14 14 /> 15 - <div id="accountName"> 16 - {account.displayName || account.handle || account.did} 17 - </div> 18 - {:else} 19 - <div id="accountName" class="no-avatar"> 20 - {account.displayName || account.handle || account.did} 21 - </div> 22 15 {/if} 16 + <div id="accountName"> 17 + {account.displayName || account.handle || account.did} 18 + </div> 23 19 </div> 24 20 </a> 25 21
+10 -17
src/lib/pdsfetch.ts
··· 132 132 const getAccountMetadata = async ( 133 133 did: `did:${string}:${string}`, 134 134 ) => { 135 - const account: AccountMetadata = { 136 - did: did, 137 - handle: "", // Guaranteed to be filled out later 138 - displayName: "", 139 - avatarCid: null, 140 - }; 141 - 135 + // gonna assume self exists in the app.bsky.actor.profile 142 136 try { 143 137 const { data } = await rpc.get("com.atproto.repo.getRecord", { 144 138 params: { ··· 148 142 }, 149 143 }); 150 144 const value = data.value as AppBskyActorProfile.Record; 151 - account.displayName = value.displayName || ""; 145 + const handle = await blueskyHandleFromDid(did); 146 + const account: AccountMetadata = { 147 + did: did, 148 + handle: handle, 149 + displayName: value.displayName || "", 150 + avatarCid: null, 151 + }; 152 152 if (value.avatar) { 153 153 account.avatarCid = value.avatar.ref["$link"]; 154 154 } 155 + return account; 155 156 } catch (e) { 156 - console.warn(`Error fetching profile for ${did}:`, e); 157 - } 158 - 159 - try { 160 - account.handle = await blueskyHandleFromDid(did); 161 - } catch (e) { 162 - console.error(`Error fetching handle for ${did}:`, e); 157 + console.error(`Error fetching metadata for ${did}:`, e); 163 158 return null; 164 159 } 165 - 166 - return account; 167 160 }; 168 161 169 162 const getAllMetadataFromPds = async (): Promise<AccountMetadata[]> => {
-5
themes/express/theme.css
··· 237 237 margin-right: 4px; 238 238 border: 4px solid var(--border-color); 239 239 box-shadow: var(--border-color) 10px 10px; 240 - min-height: 30px; 241 240 } 242 241 #accountName { 243 242 margin-left: 10px; ··· 248 247 overflow: hidden; 249 248 text-overflow: ellipsis; 250 249 white-space: nowrap; 251 - } 252 - 253 - .no-avatar { 254 - margin-left: 40px !important; 255 250 } 256 251 257 252 /* App.Svelte */
-6
themes/witchcraft/theme.css
··· 235 235 padding: 0px; 236 236 margin-bottom: 15px; 237 237 border: 1px solid var(--border-color); 238 - min-height: 30px; 239 238 } 240 239 #accountName { 241 240 margin-left: 10px; ··· 246 245 overflow: hidden; 247 246 text-overflow: ellipsis; 248 247 white-space: nowrap; 249 - } 250 - 251 - 252 - .no-avatar { 253 - margin-left: 70px !important; 254 248 } 255 249 256 250 /* App.Svelte */