Mirror — see github.com/blacksky-algorithms/blacksky.community
6
fork

Configure Feed

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

More branding

+198 -875
+1 -1
Dockerfile
··· 106 106 107 107 CMD ["/usr/bin/bskyweb"] 108 108 109 - LABEL org.opencontainers.image.source=https://github.com/bluesky-social/social-app 109 + LABEL org.opencontainers.image.source=https://github.com/blacksky-algorithms/blacksky.community 110 110 LABEL org.opencontainers.image.description="bsky.app Web App" 111 111 LABEL org.opencontainers.image.licenses=MIT 112 112
+25 -281
assets/app-icons/android_base.svg
··· 1 - <?xml version="1.0" encoding="UTF-8" standalone="no"?> 2 - <!-- Created with Inkscape (http://www.inkscape.org/) --> 3 - 1 + <?xml version="1.0" encoding="UTF-8"?> 4 2 <svg 5 - width="512" 6 - height="512" 7 - viewBox="0 0 512 512" 8 - version="1.1" 9 - id="svg1" 10 - sodipodi:docname="android_base.svg" 11 - inkscape:version="1.4 (e7c3feb100, 2024-10-09)" 12 - inkscape:export-filename="android_icon_default_dark.png" 13 - inkscape:export-xdpi="192" 14 - inkscape:export-ydpi="192" 15 - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 16 - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 17 - xmlns:xlink="http://www.w3.org/1999/xlink" 18 - xmlns="http://www.w3.org/2000/svg" 19 - xmlns:svg="http://www.w3.org/2000/svg"> 20 - <sodipodi:namedview 21 - id="namedview1" 22 - pagecolor="#ffffff" 23 - bordercolor="#000000" 24 - borderopacity="0.25" 25 - inkscape:showpageshadow="2" 26 - inkscape:pageopacity="0.0" 27 - inkscape:pagecheckerboard="0" 28 - inkscape:deskcolor="#d1d1d1" 29 - inkscape:document-units="px" 30 - showgrid="false" 31 - showguides="false" 32 - inkscape:zoom="0.85483824" 33 - inkscape:cx="289.52846" 34 - inkscape:cy="208.81144" 35 - inkscape:window-width="1706" 36 - inkscape:window-height="905" 37 - inkscape:window-x="20" 38 - inkscape:window-y="20" 39 - inkscape:window-maximized="0" 40 - inkscape:current-layer="svg1"> 41 - <inkscape:grid 42 - id="grid1" 43 - units="px" 44 - originx="0" 45 - originy="0" 46 - spacingx="1" 47 - spacingy="1" 48 - empcolor="#0099e5" 49 - empopacity="0.30196078" 50 - color="#0099e5" 51 - opacity="0.14901961" 52 - empspacing="5" 53 - enabled="true" 54 - visible="false" /> 55 - <sodipodi:guide 56 - position="7.2092363,499.98461" 57 - orientation="0.73456475,0.6785386" 58 - id="guide15" 59 - inkscape:locked="false" /> 60 - <sodipodi:guide 61 - position="250,12" 62 - orientation="0,-1" 63 - id="guide16" 64 - inkscape:locked="false" /> 65 - <sodipodi:guide 66 - position="7.2114897,499.98617" 67 - orientation="0.90391787,0.42770606" 68 - id="guide17" 69 - inkscape:locked="false" /> 70 - <sodipodi:guide 71 - position="114.38555,198.20474" 72 - orientation="0.90391787,0.42770608" 73 - id="guide18" 74 - inkscape:label="" 75 - inkscape:locked="false" 76 - inkscape:color="rgb(0,134,229)" /> 77 - <sodipodi:guide 78 - position="372.00185,356.22842" 79 - orientation="0.73454936,-0.67855525" 80 - id="guide19" 81 - inkscape:locked="false" /> 82 - </sodipodi:namedview> 83 - <defs 84 - id="defs1"> 85 - <linearGradient 86 - id="linearGradient27" 87 - inkscape:collect="always"> 88 - <stop 89 - style="stop-color:#1a251e;stop-opacity:1;" 90 - offset="0" 91 - id="stop26" /> 92 - <stop 93 - style="stop-color:#3c452c;stop-opacity:1;" 94 - offset="1" 95 - id="stop27" /> 3 + xmlns="http://www.w3.org/2000/svg" 4 + viewBox="0 0 512 512" 5 + width="512" 6 + height="512" 7 + aria-label="Blacksky logo on brand gradient" 8 + > 9 + <!-- Vertical brand-purple gradient --> 10 + <defs> 11 + <linearGradient id="brandGrad" x1="0" y1="0" x2="0" y2="512" gradientUnits="userSpaceOnUse"> 12 + <stop offset="0" stop-color="#00007F"/> 13 + <stop offset="1" stop-color="#E5E5FF"/> 96 14 </linearGradient> 97 - <linearGradient 98 - id="linearGradient23" 99 - inkscape:collect="always"> 100 - <stop 101 - style="stop-color:#344e41;stop-opacity:1;" 102 - offset="0" 103 - id="stop23" /> 104 - <stop 105 - style="stop-color:#a3b18a;stop-opacity:1;" 106 - offset="1" 107 - id="stop24" /> 108 - </linearGradient> 109 - <filter 110 - id="selectable_hidder_filter" 111 - width="1" 112 - height="1" 113 - x="0" 114 - y="0" 115 - style="color-interpolation-filters:sRGB;" 116 - inkscape:label="LPE boolean visibility"> 117 - <feComposite 118 - id="boolops_hidder_primitive" 119 - result="composite1" 120 - operator="arithmetic" 121 - in2="SourceGraphic" 122 - in="BackgroundImage" /> 123 - </filter> 124 - <inkscape:path-effect 125 - effect="bool_op" 126 - operand-path="" 127 - id="path-effect16" 128 - is_visible="true" 129 - lpeversion="1" 130 - operation="cut" 131 - swap-operands="false" 132 - filltype-this="from-curve" 133 - filter="" 134 - filltype-operand="from-curve" /> 135 - <inkscape:path-effect 136 - effect="mirror_symmetry" 137 - start_point="153.53846,-190.49753" 138 - end_point="529.50144,157.05943" 139 - center_point="341.51995,-16.71905" 140 - id="path-effect15" 141 - is_visible="true" 142 - lpeversion="1.2" 143 - lpesatellites="" 144 - mode="vertical" 145 - discard_orig_path="false" 146 - fuse_paths="false" 147 - oposite_fuse="false" 148 - split_items="false" 149 - split_open="false" 150 - link_styles="false" /> 151 - <inkscape:path-effect 152 - effect="mirror_symmetry" 153 - start_point="242.40625,64.77241" 154 - end_point="242.40625,593.03423" 155 - center_point="242.40625,328.90332" 156 - id="path-effect14" 157 - is_visible="true" 158 - lpeversion="1.2" 159 - lpesatellites="" 160 - mode="vertical" 161 - discard_orig_path="false" 162 - fuse_paths="true" 163 - oposite_fuse="false" 164 - split_items="false" 165 - split_open="false" 166 - link_styles="false" /> 167 - <inkscape:path-effect 168 - effect="mirror_symmetry" 169 - start_point="238.18975,-35.620493" 170 - end_point="238.18975,476.37951" 171 - center_point="238.18975,220.37951" 172 - id="path-effect13" 173 - is_visible="true" 174 - lpeversion="1.2" 175 - lpesatellites="" 176 - mode="vertical" 177 - discard_orig_path="false" 178 - fuse_paths="false" 179 - oposite_fuse="false" 180 - split_items="false" 181 - split_open="false" 182 - link_styles="false" /> 183 - <inkscape:path-effect 184 - effect="mirror_symmetry" 185 - start_point="259.66682,-1.5714927" 186 - end_point="259.66682,510.42851" 187 - center_point="259.66682,254.42851" 188 - id="path-effect12" 189 - is_visible="true" 190 - lpeversion="1.2" 191 - lpesatellites="" 192 - mode="vertical" 193 - discard_orig_path="false" 194 - fuse_paths="true" 195 - oposite_fuse="false" 196 - split_items="false" 197 - split_open="false" 198 - link_styles="false" /> 199 - <inkscape:path-effect 200 - effect="clone_original" 201 - css_properties="" 202 - attributes="style,clip-path,mask" 203 - linkeditem="" 204 - is_visible="true" 205 - method="d" 206 - allow_transforms="true" 207 - id="path-effect11" 208 - lpeversion="1" /> 209 - <inkscape:path-effect 210 - effect="mirror_symmetry" 211 - start_point="274.33408,-38.239647" 212 - end_point="274.33408,473.76035" 213 - center_point="274.33408,217.76035" 214 - id="path-effect10" 215 - is_visible="true" 216 - lpeversion="1.2" 217 - lpesatellites="" 218 - mode="vertical" 219 - discard_orig_path="false" 220 - fuse_paths="false" 221 - oposite_fuse="false" 222 - split_items="false" 223 - split_open="false" 224 - link_styles="false" /> 225 - <inkscape:path-effect 226 - effect="mirror_symmetry" 227 - start_point="241.42806,-153.19556" 228 - end_point="241.42806,358.80444" 229 - center_point="241.42806,102.80444" 230 - id="path-effect9" 231 - is_visible="true" 232 - lpeversion="1.2" 233 - lpesatellites="" 234 - mode="vertical" 235 - discard_orig_path="false" 236 - fuse_paths="false" 237 - oposite_fuse="false" 238 - split_items="false" 239 - split_open="false" 240 - link_styles="false" /> 241 - <linearGradient 242 - inkscape:collect="always" 243 - xlink:href="#linearGradient23" 244 - id="linearGradient24" 245 - x1="256" 246 - y1="0" 247 - x2="256" 248 - y2="512" 249 - gradientUnits="userSpaceOnUse" /> 250 - <linearGradient 251 - inkscape:collect="always" 252 - xlink:href="#linearGradient27" 253 - id="linearGradient26" 254 - gradientUnits="userSpaceOnUse" 255 - x1="256" 256 - y1="0" 257 - x2="256" 258 - y2="512" /> 259 15 </defs> 260 - <rect 261 - style="display:inline;opacity:1;fill:url(#linearGradient24);fill-opacity:1;stroke:none;stroke-width:8;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke fill markers" 262 - id="rect23" 263 - width="512" 264 - height="512" 265 - x="0" 266 - y="0" 267 - inkscape:label="light background" /> 268 - <rect 269 - style="display:inline;fill:url(#linearGradient26);fill-opacity:1;stroke:none;stroke-width:8;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke fill markers" 270 - id="rect23-8" 271 - width="512" 272 - height="512" 273 - x="0" 274 - y="0" 275 - inkscape:label="dark background" /> 276 - <path 277 - style="fill:#ffffff" 278 - d="m 149.96484,186.56641 46.09766,152.95898 c 0,0 -6.30222,-9.61174 -15.60547,-17.47656 -8.87322,-7.50128 -28.4082,-4.04492 -28.4082,-4.04492 0,0 6.14721,39.88867 15.53125,44.39843 10.71251,5.1482 22.19726,0.16993 22.19726,0.16993 0,0 11.76131,-4.87282 22.82032,31.82421 5.26535,17.47195 15.33258,50.877 20.9707,69.58594 2.16611,7.18779 8.83139,7.25775 8.83789,7.25781 0.006,-6e-5 6.67178,-0.07 8.83789,-7.25781 5.63812,-18.70894 15.70535,-52.11399 20.9707,-69.58594 11.05901,-36.69703 22.82032,-31.82421 22.82032,-31.82421 0,0 11.48475,4.97827 22.19726,-0.16993 9.38404,-4.50976 15.53125,-44.39843 15.53125,-44.39843 0,0 -19.53498,-3.45636 -28.4082,4.04492 -9.30325,7.86482 -15.60547,17.47656 -15.60547,17.47656 l 46.09766,-152.95898 -49.32618,83.84179 -20.34375,-31.1914 6.35547,54.96875 -23.1582,39.36132 c 0,0 -2.97595,5.06226 -5.94336,4.68946 -0.009,-0.001 -0.017,0.003 -0.0254,0.01 -0.008,-0.007 -0.0168,-0.0108 -0.0254,-0.01 -2.96741,0.3728 -5.94336,-4.68946 -5.94336,-4.68946 l -23.1582,-39.36132 6.35547,-54.96875 -20.34375,31.1914 z" 279 - id="path13" 280 - transform="matrix(1.5217795,0,0,0.96921636,-112.88886,-62.778479)" 281 - sodipodi:nodetypes="scsccccccscscss" 282 - inkscape:original-d="m 233.56872,463.9817 c 2.16717,7.1913 8.83768,7.25821 8.83768,7.25821 0,0 1.53461,-133.19881 -0.0257,-133.00279 -2.96741,0.3728 -5.94331,-4.69028 -5.94331,-4.69028 l -23.15733,-39.3618 6.35509,-54.96755 -20.34345,31.19075 -49.32605,-83.84223 46.09711,152.95859 c 0,0 -6.30275,-9.61063 -15.606,-17.47545 -8.87322,-7.50128 -28.40888,-4.04487 -28.40888,-4.04487 0,0 6.14833,39.88845 15.53237,44.39821 10.71251,5.1482 22.19654,0.17066 22.19654,0.17066 0,0 11.76274,-4.87365 22.82175,31.82338 5.26535,17.47195 15.33206,50.87623 20.97018,69.58517 z" 283 - inkscape:path-effect="#path-effect14" /> 284 - </svg> 16 + 17 + <!-- Background --> 18 + <rect width="512" height="512" fill="url(#brandGrad)" /> 19 + 20 + <!-- Logo centred both ways --> 21 + <!-- 512 / 98.999 ≈ 5.17177 ⇒ translate-before-scale by 9.90625 gives (9.90625×5.17177) ≈ 51.23 px top margin --> 22 + <g transform="translate(0 9.90625) scale(5.17177)"> 23 + <path 24 + fill="#FFFFFF" 25 + d="M32.5654 9.96191C32.5654 19.5056 40.0604 27.2986 49.4854 27.7764H49.5137C58.9386 27.2986 66.4336 19.5056 66.4336 9.96191V0H71.2002V9.96191C71.2002 19.8135 79.1865 27.7998 89.0381 27.7998H98.999V32.5654H89.0381C79.1865 32.5654 71.2002 40.5518 71.2002 50.4033V60.3652H66.4336V50.4033C66.4336 40.8547 58.9308 33.0583 49.499 32.5879C40.0677 33.0588 32.5655 40.8551 32.5654 50.4033V60.3652H60.3652V60.3662H0V60.3652H27.7998V50.4033C27.7997 40.5519 19.8134 32.5654 9.96191 32.5654H0V27.7998H9.96191C19.8135 27.7998 27.7998 19.8135 27.7998 9.96191V0H32.5654V9.96191Z" 26 + /> 27 + </g> 28 + </svg>
assets/app-icons/android_icon_default_dark.png

This is a binary file and will not be displayed.

assets/app-icons/android_icon_default_light.png

This is a binary file and will not be displayed.

+25 -281
assets/app-icons/ios_base.svg
··· 1 - <?xml version="1.0" encoding="UTF-8" standalone="no"?> 2 - <!-- Created with Inkscape (http://www.inkscape.org/) --> 3 - 1 + <?xml version="1.0" encoding="UTF-8"?> 4 2 <svg 5 - width="512" 6 - height="512" 7 - viewBox="0 0 512 512" 8 - version="1.1" 9 - id="svg1" 10 - sodipodi:docname="ios_base.svg" 11 - inkscape:version="1.4 (e7c3feb100, 2024-10-09)" 12 - inkscape:export-filename="ios_icon_default_dark.png" 13 - inkscape:export-xdpi="192" 14 - inkscape:export-ydpi="192" 15 - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 16 - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 17 - xmlns:xlink="http://www.w3.org/1999/xlink" 18 - xmlns="http://www.w3.org/2000/svg" 19 - xmlns:svg="http://www.w3.org/2000/svg"> 20 - <sodipodi:namedview 21 - id="namedview1" 22 - pagecolor="#ffffff" 23 - bordercolor="#000000" 24 - borderopacity="0.25" 25 - inkscape:showpageshadow="2" 26 - inkscape:pageopacity="0.0" 27 - inkscape:pagecheckerboard="0" 28 - inkscape:deskcolor="#d1d1d1" 29 - inkscape:document-units="px" 30 - showgrid="false" 31 - showguides="false" 32 - inkscape:zoom="0.85483824" 33 - inkscape:cx="288.35865" 34 - inkscape:cy="208.81144" 35 - inkscape:window-width="1706" 36 - inkscape:window-height="905" 37 - inkscape:window-x="20" 38 - inkscape:window-y="20" 39 - inkscape:window-maximized="0" 40 - inkscape:current-layer="svg1"> 41 - <inkscape:grid 42 - id="grid1" 43 - units="px" 44 - originx="0" 45 - originy="0" 46 - spacingx="1" 47 - spacingy="1" 48 - empcolor="#0099e5" 49 - empopacity="0.30196078" 50 - color="#0099e5" 51 - opacity="0.14901961" 52 - empspacing="5" 53 - enabled="true" 54 - visible="false" /> 55 - <sodipodi:guide 56 - position="7.2092363,499.98461" 57 - orientation="0.73456475,0.6785386" 58 - id="guide15" 59 - inkscape:locked="false" /> 60 - <sodipodi:guide 61 - position="250,12" 62 - orientation="0,-1" 63 - id="guide16" 64 - inkscape:locked="false" /> 65 - <sodipodi:guide 66 - position="7.2114897,499.98617" 67 - orientation="0.90391787,0.42770606" 68 - id="guide17" 69 - inkscape:locked="false" /> 70 - <sodipodi:guide 71 - position="114.38555,198.20474" 72 - orientation="0.90391787,0.42770608" 73 - id="guide18" 74 - inkscape:label="" 75 - inkscape:locked="false" 76 - inkscape:color="rgb(0,134,229)" /> 77 - <sodipodi:guide 78 - position="372.00185,356.22842" 79 - orientation="0.73454936,-0.67855525" 80 - id="guide19" 81 - inkscape:locked="false" /> 82 - </sodipodi:namedview> 83 - <defs 84 - id="defs1"> 85 - <linearGradient 86 - id="linearGradient27" 87 - inkscape:collect="always"> 88 - <stop 89 - style="stop-color:#1a251e;stop-opacity:1;" 90 - offset="0" 91 - id="stop26" /> 92 - <stop 93 - style="stop-color:#3c452c;stop-opacity:1;" 94 - offset="1" 95 - id="stop27" /> 3 + xmlns="http://www.w3.org/2000/svg" 4 + viewBox="0 0 512 512" 5 + width="512" 6 + height="512" 7 + aria-label="Blacksky iOS icon" 8 + > 9 + <!-- Brand gradient --> 10 + <defs> 11 + <linearGradient id="brandGrad" x1="0" y1="0" x2="0" y2="512" gradientUnits="userSpaceOnUse"> 12 + <stop offset="0" stop-color="#00007F"/> 13 + <stop offset="1" stop-color="#E5E5FF"/> 96 14 </linearGradient> 97 - <linearGradient 98 - id="linearGradient23" 99 - inkscape:collect="always"> 100 - <stop 101 - style="stop-color:#344e41;stop-opacity:1;" 102 - offset="0" 103 - id="stop23" /> 104 - <stop 105 - style="stop-color:#a3b18a;stop-opacity:1;" 106 - offset="1" 107 - id="stop24" /> 108 - </linearGradient> 109 - <filter 110 - id="selectable_hidder_filter" 111 - width="1" 112 - height="1" 113 - x="0" 114 - y="0" 115 - style="color-interpolation-filters:sRGB;" 116 - inkscape:label="LPE boolean visibility"> 117 - <feComposite 118 - id="boolops_hidder_primitive" 119 - result="composite1" 120 - operator="arithmetic" 121 - in2="SourceGraphic" 122 - in="BackgroundImage" /> 123 - </filter> 124 - <inkscape:path-effect 125 - effect="bool_op" 126 - operand-path="" 127 - id="path-effect16" 128 - is_visible="true" 129 - lpeversion="1" 130 - operation="cut" 131 - swap-operands="false" 132 - filltype-this="from-curve" 133 - filter="" 134 - filltype-operand="from-curve" /> 135 - <inkscape:path-effect 136 - effect="mirror_symmetry" 137 - start_point="153.53846,-190.49753" 138 - end_point="529.50144,157.05943" 139 - center_point="341.51995,-16.71905" 140 - id="path-effect15" 141 - is_visible="true" 142 - lpeversion="1.2" 143 - lpesatellites="" 144 - mode="vertical" 145 - discard_orig_path="false" 146 - fuse_paths="false" 147 - oposite_fuse="false" 148 - split_items="false" 149 - split_open="false" 150 - link_styles="false" /> 151 - <inkscape:path-effect 152 - effect="mirror_symmetry" 153 - start_point="242.40624,113.23531" 154 - end_point="242.40624,544.57133" 155 - center_point="242.40624,328.90332" 156 - id="path-effect14" 157 - is_visible="true" 158 - lpeversion="1.2" 159 - lpesatellites="" 160 - mode="vertical" 161 - discard_orig_path="false" 162 - fuse_paths="true" 163 - oposite_fuse="false" 164 - split_items="false" 165 - split_open="false" 166 - link_styles="false" /> 167 - <inkscape:path-effect 168 - effect="mirror_symmetry" 169 - start_point="238.18975,-35.620493" 170 - end_point="238.18975,476.37951" 171 - center_point="238.18975,220.37951" 172 - id="path-effect13" 173 - is_visible="true" 174 - lpeversion="1.2" 175 - lpesatellites="" 176 - mode="vertical" 177 - discard_orig_path="false" 178 - fuse_paths="false" 179 - oposite_fuse="false" 180 - split_items="false" 181 - split_open="false" 182 - link_styles="false" /> 183 - <inkscape:path-effect 184 - effect="mirror_symmetry" 185 - start_point="259.66682,-1.5714927" 186 - end_point="259.66682,510.42851" 187 - center_point="259.66682,254.42851" 188 - id="path-effect12" 189 - is_visible="true" 190 - lpeversion="1.2" 191 - lpesatellites="" 192 - mode="vertical" 193 - discard_orig_path="false" 194 - fuse_paths="true" 195 - oposite_fuse="false" 196 - split_items="false" 197 - split_open="false" 198 - link_styles="false" /> 199 - <inkscape:path-effect 200 - effect="clone_original" 201 - css_properties="" 202 - attributes="style,clip-path,mask" 203 - linkeditem="" 204 - is_visible="true" 205 - method="d" 206 - allow_transforms="true" 207 - id="path-effect11" 208 - lpeversion="1" /> 209 - <inkscape:path-effect 210 - effect="mirror_symmetry" 211 - start_point="274.33408,-38.239647" 212 - end_point="274.33408,473.76035" 213 - center_point="274.33408,217.76035" 214 - id="path-effect10" 215 - is_visible="true" 216 - lpeversion="1.2" 217 - lpesatellites="" 218 - mode="vertical" 219 - discard_orig_path="false" 220 - fuse_paths="false" 221 - oposite_fuse="false" 222 - split_items="false" 223 - split_open="false" 224 - link_styles="false" /> 225 - <inkscape:path-effect 226 - effect="mirror_symmetry" 227 - start_point="241.42806,-153.19556" 228 - end_point="241.42806,358.80444" 229 - center_point="241.42806,102.80444" 230 - id="path-effect9" 231 - is_visible="true" 232 - lpeversion="1.2" 233 - lpesatellites="" 234 - mode="vertical" 235 - discard_orig_path="false" 236 - fuse_paths="false" 237 - oposite_fuse="false" 238 - split_items="false" 239 - split_open="false" 240 - link_styles="false" /> 241 - <linearGradient 242 - inkscape:collect="always" 243 - xlink:href="#linearGradient23" 244 - id="linearGradient24" 245 - x1="256" 246 - y1="0" 247 - x2="256" 248 - y2="512" 249 - gradientUnits="userSpaceOnUse" /> 250 - <linearGradient 251 - inkscape:collect="always" 252 - xlink:href="#linearGradient27" 253 - id="linearGradient26" 254 - gradientUnits="userSpaceOnUse" 255 - x1="256" 256 - y1="0" 257 - x2="256" 258 - y2="512" /> 259 15 </defs> 260 - <rect 261 - style="display:inline;opacity:1;fill:url(#linearGradient24);fill-opacity:1;stroke:none;stroke-width:8;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke fill markers" 262 - id="rect23" 263 - width="512" 264 - height="512" 265 - x="0" 266 - y="0" 267 - inkscape:label="light background" /> 268 - <rect 269 - style="display:none;fill:url(#linearGradient26);fill-opacity:1;stroke:none;stroke-width:8;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke fill markers" 270 - id="rect23-8" 271 - width="512" 272 - height="512" 273 - x="0" 274 - y="0" 275 - inkscape:label="dark background" /> 276 - <path 277 - style="fill:#ffffff" 278 - d="m 149.96484,186.56641 46.09766,152.95898 c 0,0 -6.30222,-9.61174 -15.60547,-17.47656 -8.87322,-7.50128 -28.4082,-4.04492 -28.4082,-4.04492 0,0 6.14721,39.88867 15.53125,44.39843 10.71251,5.1482 22.19726,0.16993 22.19726,0.16993 0,0 11.76131,-4.87282 22.82032,31.82421 5.26535,17.47195 15.33258,50.877 20.9707,69.58594 2.16607,7.18766 8.83114,7.25774 8.83789,7.25781 0.006,-7e-5 6.67182,-0.0702 8.83789,-7.25781 5.63812,-18.70894 15.70535,-52.11399 20.9707,-69.58594 11.05901,-36.69703 22.82032,-31.82421 22.82032,-31.82421 0,0 11.48475,4.97827 22.19726,-0.16993 9.38404,-4.50976 15.53125,-44.39843 15.53125,-44.39843 0,0 -19.53498,-3.45636 -28.4082,4.04492 -9.30325,7.86482 -15.60547,17.47656 -15.60547,17.47656 l 46.09766,-152.95898 -49.32618,83.84179 -20.34375,-31.1914 6.35547,54.96875 -23.1582,39.36132 c 0,0 -2.97595,5.06226 -5.94336,4.68946 -0.009,-0.001 -0.017,0.003 -0.0254,0.01 -0.008,-0.007 -0.0168,-0.0108 -0.0254,-0.01 -2.96741,0.3728 -5.94336,-4.68946 -5.94336,-4.68946 l -23.1582,-39.36132 6.35547,-54.96875 -20.34375,31.1914 z" 279 - id="path13" 280 - transform="matrix(1.8637395,0,0,1.1870096,-195.78209,-134.4114)" 281 - sodipodi:nodetypes="scsccccccscscss" 282 - inkscape:original-d="m 233.56872,463.9817 c 2.16717,7.1913 8.83768,7.25821 8.83768,7.25821 0,0 1.53461,-133.19881 -0.0257,-133.00279 -2.96741,0.3728 -5.94331,-4.69028 -5.94331,-4.69028 l -23.15733,-39.3618 6.35509,-54.96755 -20.34345,31.19075 -49.32605,-83.84223 46.09711,152.95859 c 0,0 -6.30275,-9.61063 -15.606,-17.47545 -8.87322,-7.50128 -28.40888,-4.04487 -28.40888,-4.04487 0,0 6.14833,39.88845 15.53237,44.39821 10.71251,5.1482 22.19654,0.17066 22.19654,0.17066 0,0 11.76274,-4.87365 22.82175,31.82338 5.26535,17.47195 15.33206,50.87623 20.97018,69.58517 z" 283 - inkscape:path-effect="#path-effect14" /> 284 - </svg> 16 + 17 + <!-- Background --> 18 + <rect width="512" height="512" fill="url(#brandGrad)" /> 19 + 20 + <!-- Centred logo --> 21 + <!-- 512 / 98.999 ≈ 5.17177 ; translate-before-scale by 9.90625 units centres the mark --> 22 + <g transform="translate(0 9.90625) scale(5.17177)"> 23 + <path 24 + fill="#FFFFFF" 25 + d="M32.5654 9.96191C32.5654 19.5056 40.0604 27.2986 49.4854 27.7764H49.5137C58.9386 27.2986 66.4336 19.5056 66.4336 9.96191V0H71.2002V9.96191C71.2002 19.8135 79.1865 27.7998 89.0381 27.7998H98.999V32.5654H89.0381C79.1865 32.5654 71.2002 40.5518 71.2002 50.4033V60.3652H66.4336V50.4033C66.4336 40.8547 58.9308 33.0583 49.499 32.5879C40.0677 33.0588 32.5655 40.8551 32.5654 50.4033V60.3652H60.3652V60.3662H0V60.3652H27.7998V50.4033C27.7997 40.5519 19.8134 32.5654 9.96191 32.5654H0V27.7998H9.96191C19.8135 27.7998 27.7998 19.8135 27.7998 9.96191V0H32.5654V9.96191Z" 26 + /> 27 + </g> 28 + </svg>
assets/app-icons/ios_icon_default_dark.png

This is a binary file and will not be displayed.

assets/app-icons/ios_icon_default_light.png

This is a binary file and will not be displayed.

assets/default-avatar.png

This is a binary file and will not be displayed.

assets/favicon.png

This is a binary file and will not be displayed.

assets/icon-android-background.png

This is a binary file and will not be displayed.

assets/logo.png

This is a binary file and will not be displayed.

assets/splash-android-icon-dark.png

This is a binary file and will not be displayed.

assets/splash-dark.png

This is a binary file and will not be displayed.

assets/splash.png

This is a binary file and will not be displayed.

+15 -221
logo_v0.svg
··· 1 - <?xml version="1.0" encoding="UTF-8" standalone="no"?> 2 - <!-- Created with Inkscape (http://www.inkscape.org/) --> 3 - 1 + <?xml version="1.0" encoding="UTF-8"?> 4 2 <svg 5 - width="512" 6 - height="512" 7 - viewBox="0 0 512 512" 8 - version="1.1" 9 - id="svg1" 10 - sodipodi:docname="drawing.svg" 11 - inkscape:version="1.4 (e7c3feb100, 2024-10-09)" 12 - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 13 - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 14 - xmlns="http://www.w3.org/2000/svg" 15 - xmlns:svg="http://www.w3.org/2000/svg"> 16 - <sodipodi:namedview 17 - id="namedview1" 18 - pagecolor="#ffffff" 19 - bordercolor="#000000" 20 - borderopacity="0.25" 21 - inkscape:showpageshadow="2" 22 - inkscape:pageopacity="0.0" 23 - inkscape:pagecheckerboard="0" 24 - inkscape:deskcolor="#d1d1d1" 25 - inkscape:document-units="px" 26 - showgrid="false" 27 - showguides="false" 28 - inkscape:zoom="0.67914582" 29 - inkscape:cx="265.03881" 30 - inkscape:cy="314.36548" 31 - inkscape:window-width="1706" 32 - inkscape:window-height="905" 33 - inkscape:window-x="20" 34 - inkscape:window-y="20" 35 - inkscape:window-maximized="0" 36 - inkscape:current-layer="svg1"> 37 - <inkscape:grid 38 - id="grid1" 39 - units="px" 40 - originx="0" 41 - originy="0" 42 - spacingx="1" 43 - spacingy="1" 44 - empcolor="#0099e5" 45 - empopacity="0.30196078" 46 - color="#0099e5" 47 - opacity="0.14901961" 48 - empspacing="5" 49 - enabled="true" 50 - visible="false" /> 51 - <sodipodi:guide 52 - position="7.2092363,499.98461" 53 - orientation="0.73456475,0.6785386" 54 - id="guide15" 55 - inkscape:locked="false" /> 56 - <sodipodi:guide 57 - position="250,12" 58 - orientation="0,-1" 59 - id="guide16" 60 - inkscape:locked="false" /> 61 - <sodipodi:guide 62 - position="7.2114897,499.98617" 63 - orientation="0.90391787,0.42770606" 64 - id="guide17" 65 - inkscape:locked="false" /> 66 - <sodipodi:guide 67 - position="114.38555,198.20474" 68 - orientation="0.90391787,0.42770608" 69 - id="guide18" 70 - inkscape:label="" 71 - inkscape:locked="false" 72 - inkscape:color="rgb(0,134,229)" /> 73 - <sodipodi:guide 74 - position="372.00185,356.22842" 75 - orientation="0.73454936,-0.67855525" 76 - id="guide19" 77 - inkscape:locked="false" /> 78 - </sodipodi:namedview> 79 - <defs 80 - id="defs1"> 81 - <filter 82 - id="selectable_hidder_filter" 83 - width="1" 84 - height="1" 85 - x="0" 86 - y="0" 87 - style="color-interpolation-filters:sRGB;" 88 - inkscape:label="LPE boolean visibility"> 89 - <feComposite 90 - id="boolops_hidder_primitive" 91 - result="composite1" 92 - operator="arithmetic" 93 - in2="SourceGraphic" 94 - in="BackgroundImage" /> 95 - </filter> 96 - <inkscape:path-effect 97 - effect="bool_op" 98 - operand-path="" 99 - id="path-effect16" 100 - is_visible="true" 101 - lpeversion="1" 102 - operation="cut" 103 - swap-operands="false" 104 - filltype-this="from-curve" 105 - filter="" 106 - filltype-operand="from-curve" /> 107 - <inkscape:path-effect 108 - effect="mirror_symmetry" 109 - start_point="153.53846,-190.49753" 110 - end_point="529.50144,157.05943" 111 - center_point="341.51995,-16.71905" 112 - id="path-effect15" 113 - is_visible="true" 114 - lpeversion="1.2" 115 - lpesatellites="" 116 - mode="vertical" 117 - discard_orig_path="false" 118 - fuse_paths="false" 119 - oposite_fuse="false" 120 - split_items="false" 121 - split_open="false" 122 - link_styles="false" /> 123 - <inkscape:path-effect 124 - effect="mirror_symmetry" 125 - start_point="242.4064,179.64357" 126 - end_point="242.4064,478.25704" 127 - center_point="242.4064,328.95031" 128 - id="path-effect14" 129 - is_visible="true" 130 - lpeversion="1.2" 131 - lpesatellites="" 132 - mode="vertical" 133 - discard_orig_path="false" 134 - fuse_paths="true" 135 - oposite_fuse="false" 136 - split_items="false" 137 - split_open="false" 138 - link_styles="false" /> 139 - <inkscape:path-effect 140 - effect="mirror_symmetry" 141 - start_point="238.18975,-35.620493" 142 - end_point="238.18975,476.37951" 143 - center_point="238.18975,220.37951" 144 - id="path-effect13" 145 - is_visible="true" 146 - lpeversion="1.2" 147 - lpesatellites="" 148 - mode="vertical" 149 - discard_orig_path="false" 150 - fuse_paths="false" 151 - oposite_fuse="false" 152 - split_items="false" 153 - split_open="false" 154 - link_styles="false" /> 155 - <inkscape:path-effect 156 - effect="mirror_symmetry" 157 - start_point="259.66682,-1.5714927" 158 - end_point="259.66682,510.42851" 159 - center_point="259.66682,254.42851" 160 - id="path-effect12" 161 - is_visible="true" 162 - lpeversion="1.2" 163 - lpesatellites="" 164 - mode="vertical" 165 - discard_orig_path="false" 166 - fuse_paths="true" 167 - oposite_fuse="false" 168 - split_items="false" 169 - split_open="false" 170 - link_styles="false" /> 171 - <inkscape:path-effect 172 - effect="clone_original" 173 - css_properties="" 174 - attributes="style,clip-path,mask" 175 - linkeditem="" 176 - is_visible="true" 177 - method="d" 178 - allow_transforms="true" 179 - id="path-effect11" 180 - lpeversion="1" /> 181 - <inkscape:path-effect 182 - effect="mirror_symmetry" 183 - start_point="274.33408,-38.239647" 184 - end_point="274.33408,473.76035" 185 - center_point="274.33408,217.76035" 186 - id="path-effect10" 187 - is_visible="true" 188 - lpeversion="1.2" 189 - lpesatellites="" 190 - mode="vertical" 191 - discard_orig_path="false" 192 - fuse_paths="false" 193 - oposite_fuse="false" 194 - split_items="false" 195 - split_open="false" 196 - link_styles="false" /> 197 - <inkscape:path-effect 198 - effect="mirror_symmetry" 199 - start_point="241.42806,-153.19556" 200 - end_point="241.42806,358.80444" 201 - center_point="241.42806,102.80444" 202 - id="path-effect9" 203 - is_visible="true" 204 - lpeversion="1.2" 205 - lpesatellites="" 206 - mode="vertical" 207 - discard_orig_path="false" 208 - fuse_paths="false" 209 - oposite_fuse="false" 210 - split_items="false" 211 - split_open="false" 212 - link_styles="false" /> 213 - </defs> 214 - <path 215 - style="fill:#000000" 216 - d="m 149.96484,186.56641 46.09766,152.95898 c 0,0 -6.30222,-9.61174 -15.60547,-17.47656 -8.87322,-7.50128 -28.4082,-4.04492 -28.4082,-4.04492 0,0 6.14721,39.88867 15.53125,44.39843 10.71251,5.1482 22.19726,0.16993 22.19726,0.16993 0,0 11.7613,-4.87282 22.82032,31.82421 5.26534,17.47196 15.33258,50.877 20.9707,69.58594 2.16717,7.1913 8.83789,7.25781 8.83789,7.25781 0,0 6.67072,-0.0665 8.83789,-7.25781 5.63812,-18.70894 15.70536,-52.11398 20.9707,-69.58594 11.05902,-36.69703 22.82032,-31.82421 22.82032,-31.82421 0,0 11.48475,4.97827 22.19726,-0.16993 9.38404,-4.50976 15.5332,-44.39843 15.5332,-44.39843 0,0 -19.53693,-3.45636 -28.41015,4.04492 -9.30325,7.86482 -15.60547,17.47656 -15.60547,17.47656 l 46.09766,-152.95898 -49.32618,83.84179 -20.34375,-31.1914 6.35547,54.96875 -23.1582,39.36132 c 0,0 -2.97595,5.06226 -5.94336,4.68946 -0.009,-0.001 -0.0169,0.003 -0.0254,0.01 -0.008,-0.007 -0.0167,-0.0109 -0.0254,-0.01 -2.96741,0.3728 -5.94336,-4.68946 -5.94336,-4.68946 l -23.1582,-39.36132 6.35547,-54.96875 -20.34375,31.1914 z" 217 - id="path13" 218 - transform="matrix(2.6921023,0,0,1.7145911,-396.58283,-308.01527)" 219 - sodipodi:nodetypes="scsccccccscscss" 220 - inkscape:original-d="m 233.56872,463.9817 c 2.16717,7.1913 8.83768,7.25821 8.83768,7.25821 0,0 1.53461,-133.19881 -0.0257,-133.00279 -2.96741,0.3728 -5.94331,-4.69028 -5.94331,-4.69028 l -23.15733,-39.3618 6.35509,-54.96755 -20.34345,31.19075 -49.32605,-83.84223 46.09711,152.95859 c 0,0 -6.30275,-9.61063 -15.606,-17.47545 -8.87322,-7.50128 -28.40888,-4.04487 -28.40888,-4.04487 0,0 6.14833,39.88845 15.53237,44.39821 10.71251,5.1482 22.19654,0.17066 22.19654,0.17066 0,0 11.76274,-4.87365 22.82175,31.82338 5.26535,17.47195 15.33206,50.87623 20.97018,69.58517 z" 221 - inkscape:path-effect="#path-effect14" /> 222 - </svg> 3 + xmlns="http://www.w3.org/2000/svg" 4 + viewBox="0 0 512 512" 5 + width="512" 6 + height="512" 7 + aria-label="Blacksky logo" 8 + > 9 + <!-- 512 / 98.999 ≈ 5.17177; translate 9.90625 units first to centre vertically --> 10 + <g transform="translate(0 9.90625) scale(5.17177)"> 11 + <path 12 + fill="#000000" 13 + d="M32.5654 9.96191C32.5654 19.5056 40.0604 27.2986 49.4854 27.7764H49.5137C58.9386 27.2986 66.4336 19.5056 66.4336 9.96191V0H71.2002V9.96191C71.2002 19.8135 79.1865 27.7998 89.0381 27.7998H98.999V32.5654H89.0381C79.1865 32.5654 71.2002 40.5518 71.2002 50.4033V60.3652H66.4336V50.4033C66.4336 40.8547 58.9308 33.0583 49.499 32.5879C40.0677 33.0588 32.5655 40.8551 32.5654 50.4033V60.3652H60.3652V60.3662H0V60.3652H27.7998V50.4033C27.7997 40.5519 19.8134 32.5654 9.96191 32.5654H0V27.7998H9.96191C19.8135 27.7998 27.7998 19.8135 27.7998 9.96191V0H32.5654V9.96191Z" 14 + /> 15 + </g> 16 + </svg>
+26 -26
src/alf/themes.ts
··· 79 79 gray_975: `hsl(${hues.primary}, 28%, ${defaultScale[1]}%)`, 80 80 gray_1000: `hsl(${hues.primary}, 28%, ${defaultScale[0]}%)`, 81 81 82 - primary_25: `hsl(145, 30%, 97%)`, 83 - primary_50: `hsl(145, 30%, 95%)`, 84 - primary_100: `hsl(145, 30%, 90%)`, 85 - primary_200: `hsl(145, 32%, 80%)`, 86 - primary_300: `hsl(145, 34%, 70%)`, 87 - primary_400: `hsl(145, 35%, 58%)`, 88 - primary_500: `hsl(145, 35%, 45%)`, 89 - primary_600: `hsl(145, 38%, 38%)`, 90 - primary_700: `hsl(145, 40%, 32%)`, 91 - primary_800: `hsl(145, 42%, 25%)`, 92 - primary_900: `hsl(145, 45%, 18%)`, 93 - primary_950: `hsl(145, 48%, 10%)`, 94 - primary_975: `hsl(145, 50%, 7%)`, 82 + primary_25: `hsl(240, 100%, 97%)`, 83 + primary_50: `hsl(240, 100%, 95%)`, 84 + primary_100: `hsl(240, 100%, 90%)`, 85 + primary_200: `hsl(240, 100%, 80%)`, 86 + primary_300: `hsl(240, 100%, 70%)`, 87 + primary_400: `hsl(240, 100%, 58%)`, 88 + primary_500: `hsl(240, 100%, 45%)`, 89 + primary_600: `hsl(240, 100%, 38%)`, 90 + primary_700: `hsl(240, 100%, 32%)`, 91 + primary_800: `hsl(240, 100%, 25%)`, 92 + primary_900: `hsl(240, 100%, 18%)`, 93 + primary_950: `hsl(240, 100%, 10%)`, 94 + primary_975: `hsl(240, 100%, 7%)`, 95 95 96 96 green_25: `hsl(${hues.positive}, 82%, 97%)`, 97 97 green_50: `hsl(${hues.positive}, 82%, 95%)`, ··· 265 265 contrast_950: `hsl(${hues.primary}, 20%, ${dimScale[12]}%)`, 266 266 contrast_975: `hsl(${hues.primary}, 20%, ${dimScale[13]}%)`, 267 267 268 - primary_25: `hsl(140, 15%, ${dimScale[1]}%)`, 269 - primary_50: `hsl(140, 18%, ${dimScale[2]}%)`, 270 - primary_100: `hsl(140, 22%, ${dimScale[3]}%)`, 271 - primary_200: `hsl(140, 25%, ${dimScale[4]}%)`, 272 - primary_300: `hsl(140, 28%, ${dimScale[5]}%)`, 273 - primary_400: `hsl(140, 32%, ${dimScale[6]}%)`, 274 - primary_500: `hsl(140, 35%, ${dimScale[7]}%)`, 275 - primary_600: `hsl(140, 38%, ${dimScale[8]}%)`, 276 - primary_700: `hsl(140, 42%, ${dimScale[9]}%)`, 277 - primary_800: `hsl(140, 45%, ${dimScale[10]}%)`, 278 - primary_900: `hsl(140, 48%, ${dimScale[11]}%)`, 279 - primary_950: `hsl(140, 50%, ${dimScale[12]}%)`, 280 - primary_975: `hsl(140, 55%, ${dimScale[13]}%)`, 268 + primary_25: `hsl(240, 15%, ${dimScale[1]}%)`, 269 + primary_50: `hsl(240, 18%, ${dimScale[2]}%)`, 270 + primary_100: `hsl(240, 22%, ${dimScale[3]}%)`, 271 + primary_200: `hsl(240, 25%, ${dimScale[4]}%)`, 272 + primary_300: `hsl(240, 28%, ${dimScale[5]}%)`, 273 + primary_400: `hsl(240, 32%, ${dimScale[6]}%)`, 274 + primary_500: `hsl(240, 35%, ${dimScale[7]}%)`, 275 + primary_600: `hsl(240, 38%, ${dimScale[8]}%)`, 276 + primary_700: `hsl(240, 42%, ${dimScale[9]}%)`, 277 + primary_800: `hsl(240, 45%, ${dimScale[10]}%)`, 278 + primary_900: `hsl(240, 48%, ${dimScale[11]}%)`, 279 + primary_950: `hsl(240, 50%, ${dimScale[12]}%)`, 280 + primary_975: `hsl(240, 55%, ${dimScale[13]}%)`, 281 281 282 282 positive_25: `hsl(${hues.positive}, 50%, ${dimScale[1]}%)`, 283 283 positive_50: `hsl(${hues.positive}, 60%, ${dimScale[2]}%)`,
+3 -3
src/alf/tokens.ts
··· 70 70 }, 71 71 sky: { 72 72 values: [ 73 - [0, '#344e41'], 74 - [1, '#a3b18a'], 73 + [0, '#8B8BFF'], 74 + [1, '#D2FC51'], 75 75 ], 76 - hover_value: '#344e41', 76 + hover_value: '#8B8BFF', 77 77 }, 78 78 midnight: { 79 79 values: [
+2 -2
src/lib/api/feed/home.ts
··· 45 45 this.following = new FollowingFeedAPI({agent}) 46 46 this.discover = new CustomFeedAPI({ 47 47 agent, 48 - feedParams: {feed: PROD_DEFAULT_FEED('whats-hot')}, 48 + feedParams: {feed: PROD_DEFAULT_FEED('blacksky-trend')}, 49 49 }) 50 50 this.userInterests = userInterests 51 51 } ··· 54 54 this.following = new FollowingFeedAPI({agent: this.agent}) 55 55 this.discover = new CustomFeedAPI({ 56 56 agent: this.agent, 57 - feedParams: {feed: PROD_DEFAULT_FEED('whats-hot')}, 57 + feedParams: {feed: PROD_DEFAULT_FEED('blacksky-trend')}, 58 58 userInterests: this.userInterests, 59 59 }) 60 60 this.usingDiscover = false
+9 -9
src/lib/constants.ts
··· 67 67 } 68 68 69 69 export const PROD_DEFAULT_FEED = (rkey: string) => 70 - `at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.generator/${rkey}` 70 + `at://did:plc:w4xbfzo7kqfes5zb7r6qv3rw/app.bsky.feed.generator/${rkey}` 71 71 72 72 export const STAGING_DEFAULT_FEED = (rkey: string) => 73 - `at://did:plc:yofh3kx63drvfljkibw5zuxo/app.bsky.feed.generator/${rkey}` 73 + `at://did:plc:w4xbfzo7kqfes5zb7r6qv3rw/app.bsky.feed.generator/${rkey}` 74 74 75 75 export const PROD_FEEDS = [ 76 - `feedgen|${PROD_DEFAULT_FEED('whats-hot')}`, 77 - `feedgen|${PROD_DEFAULT_FEED('thevids')}`, 76 + `feedgen|${PROD_DEFAULT_FEED('blacksky-trend')}`, 77 + `feedgen|${PROD_DEFAULT_FEED('blacksky-videos')}`, 78 78 ] 79 79 80 80 export const STAGING_FEEDS = [ 81 - `feedgen|${STAGING_DEFAULT_FEED('whats-hot')}`, 82 - `feedgen|${STAGING_DEFAULT_FEED('thevids')}`, 81 + `feedgen|${STAGING_DEFAULT_FEED('blacksky-trend')}`, 82 + `feedgen|${STAGING_DEFAULT_FEED('blacksky-videos')}`, 83 83 ] 84 84 85 85 export const POST_IMG_MAX = { ··· 126 126 ] 127 127 128 128 export const DISCOVER_FEED_URI = 129 - 'at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.generator/whats-hot' 129 + 'at://did:plc:w4xbfzo7kqfes5zb7r6qv3rw/app.bsky.feed.generator/blacksky-trend' 130 130 export const VIDEO_FEED_URI = 131 - 'at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.generator/thevids' 131 + 'at://did:plc:w4xbfzo7kqfes5zb7r6qv3rw/app.bsky.feed.generator/blacksky-videos' 132 132 export const STAGING_VIDEO_FEED_URI = 133 - 'at://did:plc:yofh3kx63drvfljkibw5zuxo/app.bsky.feed.generator/thevids' 133 + 'at://did:plc:w4xbfzo7kqfes5zb7r6qv3rw/app.bsky.feed.generator/blacksky-videos' 134 134 export const VIDEO_FEED_URIS = [VIDEO_FEED_URI, STAGING_VIDEO_FEED_URI] 135 135 export const DISCOVER_SAVED_FEED = { 136 136 type: 'feed',
+25 -11
src/lib/styles.ts
··· 25 25 gray7: '#26272D', 26 26 gray8: '#141417', 27 27 28 - blue0: '#d5e8d9', 29 - blue1: '#b8d6be', 30 - blue2: '#95bd9f', 31 - blue3: '#729f7c', 32 - blue4: '#528157', 33 - blue5: '#3a6141', 34 - blue6: '#25422c', 35 - blue7: '#14291a', 28 + blue0: '#E5E5FF', 29 + blue1: '#B2B2FF', 30 + blue2: '#7F7FFF', 31 + blue3: '#4C4CFE', 32 + blue4: '#1919FF', 33 + blue5: '#0000E5', 34 + blue6: '#0000B2', 35 + blue7: '#00007F', 36 36 37 37 red1: '#ffe6eb', 38 38 red2: '#fba2b2', ··· 66 66 } 67 67 68 68 export const gradients = { 69 - blueLight: {start: '#a3b18a', end: colors.blue3}, // buttons 70 - blue: {start: '#8a9e7b', end: colors.blue3}, // fab 71 - blueDark: {start: '#658764', end: colors.blue3}, // avis, banner 69 + /* subtle button fills / backgrounds */ 70 + blueLight: { 71 + start: '#E5E5FF', // very-light lavender 72 + end: '#8B8BFF', // brand anchor 73 + }, 74 + 75 + /* primary FAB / call-to-action */ 76 + blue: { 77 + start: '#8B8BFF', // anchor 78 + end: '#4C4CFE', // vivid mid-purple 79 + }, 80 + 81 + /* banners, hero gradients, emphasis blocks */ 82 + blueDark: { 83 + start: '#4C4CFE', // mid-purple 84 + end: '#0000B2', // deep night-purple 85 + }, 72 86 } 73 87 74 88 /**
+2 -2
src/state/queries/feed.ts
··· 395 395 396 396 const PWI_DISCOVER_FEED_STUB: SavedFeedSourceInfo = { 397 397 type: 'feed', 398 - displayName: 'Discover', 398 + displayName: 'Blacksky: Trending', 399 399 uri: DISCOVER_FEED_URI, 400 400 feedDescriptor: `feedgen|${DISCOVER_FEED_URI}`, 401 401 route: { ··· 412 412 likeUri: '', 413 413 // --- 414 414 savedFeed: { 415 - id: 'pwi-discover', 415 + id: 'pwi-blacksky', 416 416 ...DISCOVER_SAVED_FEED, 417 417 }, 418 418 contentMode: undefined,
+1 -1
src/state/queries/preferences/index.ts
··· 285 285 await agent.addSavedFeeds([ 286 286 { 287 287 type: 'feed', 288 - value: PROD_DEFAULT_FEED('whats-hot'), 288 + value: PROD_DEFAULT_FEED('blacksky-trend'), 289 289 pinned: true, 290 290 }, 291 291 ])
+2 -2
src/style.css
··· 109 109 pointer-events: none; 110 110 } 111 111 .ProseMirror .mention { 112 - color: rgb(75, 155, 108); 112 + color: rgb(210, 252, 81); 113 113 } 114 114 .ProseMirror a, 115 115 .ProseMirror .autolink { 116 - color: rgb(75, 155, 108); 116 + color: rgb(210, 252, 81); 117 117 } 118 118 /* OLLIE: TODO -- this is not accessible */ 119 119 /* Remove focus state on inputs */
+2 -2
src/view/com/posts/DiscoverFallbackHeader.tsx
··· 30 30 We ran out of posts from your follows. Here's the latest from{' '} 31 31 <TextLink 32 32 type="md-medium" 33 - href="/profile/bsky.app/feed/whats-hot" 34 - text="Discover" 33 + href="/profile/rudyfraser.com/feed/blacksky-trend" 34 + text="Blacksky: Trending" 35 35 style={pal.link} 36 36 /> 37 37 .
+5 -5
src/view/com/posts/FeedShutdownMsg.tsx
··· 32 32 f => f.value === feedUri && f.pinned, 33 33 ) 34 34 const discoverFeedConfig = preferences?.savedFeeds?.find( 35 - f => f.value === PROD_DEFAULT_FEED('whats-hot'), 35 + f => f.value === PROD_DEFAULT_FEED('blacksky-trend'), 36 36 ) 37 37 const hasFeedPinned = Boolean(feedConfig) 38 38 const hasDiscoverPinned = Boolean(discoverFeedConfig?.pinned) ··· 44 44 Toast.show(_(msg`Removed from your feeds`)) 45 45 } 46 46 if (hasDiscoverPinned) { 47 - setSelectedFeed(`feedgen|${PROD_DEFAULT_FEED('whats-hot')}`) 47 + setSelectedFeed(`feedgen|${PROD_DEFAULT_FEED('blacksky-trend')}`) 48 48 } 49 49 } catch (err: any) { 50 50 Toast.show( ··· 63 63 forYouFeedConfig: feedConfig, 64 64 discoverFeedConfig, 65 65 }) 66 - setSelectedFeed(`feedgen|${PROD_DEFAULT_FEED('whats-hot')}`) 66 + setSelectedFeed(`feedgen|${PROD_DEFAULT_FEED('blacksky-trend')}`) 67 67 Toast.show(_(msg`The feed has been replaced with Discover.`)) 68 68 } catch (err: any) { 69 69 Toast.show( ··· 99 99 <Trans> 100 100 This feed is no longer online. We are showing{' '} 101 101 <InlineLinkText 102 - label={_(msg`The Discover feed`)} 103 - to="/profile/bsky.app/feed/whats-hot" 102 + label={_(msg`The Blacksky Trending`)} 103 + to="/profile/rudyfraser.com/feed/blacksky-trend" 104 104 style={[a.text_md]}> 105 105 Discover 106 106 </InlineLinkText>{' '}
+8 -3
src/view/com/posts/PostFeed.tsx
··· 366 366 } 367 367 } 368 368 369 - let feedKind: 'following' | 'discover' | 'profile' | 'thevids' | undefined 369 + let feedKind: 370 + | 'following' 371 + | 'blacksky-trend' 372 + | 'profile' 373 + | 'blacksky-videos' 374 + | undefined 370 375 if (feedType === 'following') { 371 376 feedKind = 'following' 372 377 } else if (feedUriOrActorDid === DISCOVER_FEED_URI) { 373 - feedKind = 'discover' 378 + feedKind = 'blacksky-trend' 374 379 } else if ( 375 380 feedType === 'author' && 376 381 (feedTab === 'posts_and_author_threads' || ··· 460 465 sliceIndex++ 461 466 462 467 if (hasSession) { 463 - if (feedKind === 'discover') { 468 + if (feedKind === 'blacksky-trend') { 464 469 if (sliceIndex === 0) { 465 470 if (showProgressIntersitial) { 466 471 arr.push({
+7 -5
src/view/icons/Logo.tsx
··· 55 55 {gradient && ( 56 56 <Defs> 57 57 <LinearGradient id="sky" x1="0" y1="0" x2="0" y2="1"> 58 - <Stop offset="0" stopColor="#a3b18a" stopOpacity="1" /> 59 - <Stop offset="1" stopColor="#344e41" stopOpacity="1" /> 58 + <Stop offset="0" stopColor="#00007F" stopOpacity="1" /> 59 + <Stop offset="1" stopColor="#E5E5FF" stopOpacity="1" /> 60 60 </LinearGradient> 61 61 </Defs> 62 62 )} 63 63 64 + {/* Blacksky emblem */} 64 65 <Path 65 - fill={_fill} 66 - d="m 149.96484,186.56641 46.09766,152.95898 c 0,0 -6.30222,-9.61174 -15.60547,-17.47656 -8.87322,-7.50128 -28.4082,-4.04492 -28.4082,-4.04492 0,0 6.14721,39.88867 15.53125,44.39843 10.71251,5.1482 22.19726,0.16993 22.19726,0.16993 0,0 11.7613,-4.87282 22.82032,31.82421 5.26534,17.47196 15.33258,50.877 20.9707,69.58594 2.16717,7.1913 8.83789,7.25781 8.83789,7.25781 0,0 6.67072,-0.0665 8.83789,-7.25781 5.63812,-18.70894 15.70536,-52.11398 20.9707,-69.58594 11.05902,-36.69703 22.82032,-31.82421 22.82032,-31.82421 0,0 11.48475,4.97827 22.19726,-0.16993 9.38404,-4.50976 15.5332,-44.39843 15.5332,-44.39843 0,0 -19.53693,-3.45636 -28.41015,4.04492 -9.30325,7.86482 -15.60547,17.47656 -15.60547,17.47656 l 46.09766,-152.95898 -49.32618,83.84179 -20.34375,-31.1914 6.35547,54.96875 -23.1582,39.36132 c 0,0 -2.97595,5.06226 -5.94336,4.68946 -0.009,-0.001 -0.0169,0.003 -0.0254,0.01 -0.008,-0.007 -0.0167,-0.0109 -0.0254,-0.01 -2.96741,0.3728 -5.94336,-4.68946 -5.94336,-4.68946 l -23.1582,-39.36132 6.35547,-54.96875 -20.34375,31.1914 z" 67 - transform="matrix(2.6921023,0,0,1.7145911,-396.58283,-308.01527)" 66 + fill={gradient ? 'url(#sky)' : _fill /* fallback to solid colour */} 67 + /* 512 / 98.999 ≈ 5.17177 ; translate 9.90625 units to centre vertically */ 68 + transform="translate(0 9.90625) scale(5.17177)" 69 + d="M32.5654 9.96191C32.5654 19.5056 40.0604 27.2986 49.4854 27.7764H49.5137C58.9386 27.2986 66.4336 19.5056 66.4336 9.96191V0H71.2002V9.96191C71.2002 19.8135 79.1865 27.7998 89.0381 27.7998H98.999V32.5654H89.0381C79.1865 32.5654 71.2002 40.5518 71.2002 50.4033V60.3652H66.4336V50.4033C66.4336 40.8547 58.9308 33.0583 49.499 32.5879C40.0677 33.0588 32.5655 40.8551 32.5654 50.4033V60.3652H60.3652V60.3662H0V60.3652H27.7998V50.4033C27.7997 40.5519 19.8134 32.5654 9.96191 32.5654H0V27.7998H9.96191C19.8135 27.7998 27.7998 19.8135 27.7998 9.96191V0H32.5654V9.96191Z" 68 70 /> 69 71 </Svg> 70 72 )
+16 -4
src/view/icons/Logotype.tsx
··· 2 2 3 3 import {usePalette} from '#/lib/hooks/usePalette' 4 4 5 - const ratio = 16 / 100.3335 5 + const ratio = 74 / 197 // ≈ 0.375 (height ÷ width) 6 6 7 7 export function Logotype({ 8 8 fill, ··· 15 15 return ( 16 16 <Svg 17 17 fill="none" 18 - viewBox="0 0 100.333 16" 18 + viewBox="0 0 197 74" 19 19 {...rest} 20 20 width={size} 21 21 height={Number(size) * ratio}> 22 + {/* Row 1 – “BLACKSKY” */} 22 23 <Path 23 24 fill={fill || pal.text.color} 24 - transform="translate(-2.4999044,-3.333312)" 25 - d="M 8.333249,3.333312 V 7.999987 H 7.1665795 V 6.833318 H 3.6665735 V 7.999987 H 2.4999045 V 15 h 1.166669 V 7.999987 h 3.500006 V 9.166656 H 8.333249 v 4.666675 H 7.1665795 V 15 h -3.500006 v 1.166668 h 3.500006 V 15 H 8.333249 v 1.166668 H 9.499918 V 3.333312 Z m 4.666674,3.500006 v 1.166669 h 4.666675 v 2.333338 H 12.999923 V 7.999987 H 11.833256 V 15 h 1.166667 v 1.166668 h 4.666675 V 15 h 1.166669 V 13.833331 H 17.666598 V 15 h -4.666675 v -3.500007 h 5.833344 V 7.999987 H 17.666598 V 6.833318 Z m 9.33335,0 v 1.166669 h 4.666676 v 2.333338 H 22.333273 V 7.999987 H 21.166605 V 15 h 1.166668 v 1.166668 h 4.666676 V 15 h 1.166668 V 13.833331 H 26.999949 V 15 h -4.666676 v -3.500007 h 5.833344 V 7.999987 H 26.999949 V 6.833318 Z m 8.166682,0 v 9.33335 h 1.166668 V 9.166656 h 1.166669 V 7.999987 h 3.500006 v 2.333338 h 1.166669 V 7.999987 H 36.333298 V 6.833318 H 32.833292 V 7.999987 H 31.666623 V 6.833318 Z m 11.666688,7.000013 v 2.333337 h 2.333337 v -2.333337 z m 8.166682,-7.000013 v 1.166669 h -1.166668 v 2.333338 h 1.166668 v 1.166668 h 2.333338 v 1.166669 H 55 V 15 H 50.333325 V 13.833331 H 49.166657 V 15 h 1.166668 v 1.166668 H 55 V 15 h 1.166669 V 12.666662 H 55 V 11.499993 H 52.666663 V 10.333325 H 50.333325 V 7.999987 H 55 v 1.166669 h 1.166669 V 7.999987 H 55 V 6.833318 Z m 9.333348,0 V 7.999987 H 58.500005 V 15 h 1.166668 v 1.166668 h 4.666675 V 15 H 59.666673 V 7.999987 h 4.666675 V 15 h 1.166668 V 7.999987 H 64.333348 V 6.833318 Z m 9.33335,0 V 7.999987 H 67.833355 V 15 h 1.166668 v 1.166668 h 4.666676 V 15 h 1.166668 V 13.833331 H 73.666699 V 15 H 69.000023 V 7.999987 h 4.666676 v 1.166669 h 1.166668 V 7.999987 H 73.666699 V 6.833318 Z m 11.66669,-3.500006 v 2.333337 h 1.166669 V 3.333312 Z m -1.166669,3.500006 v 1.166669 h 1.166669 V 15 h -2.333337 v 1.166668 h 5.833343 V 15 H 81.833382 V 6.833318 Z m 8.166683,0 v 1.166669 h -1.166669 v 1.166669 h 1.166669 V 7.999987 H 92.3334 v 2.333338 h -4.666674 v 1.166668 H 86.500057 V 15 h 1.166669 v 1.166668 H 91.16673 V 15 H 87.666726 V 11.499993 H 92.3334 v 2.333338 H 91.16673 V 15 h 1.16667 v 1.166668 h 1.16667 V 7.999987 H 92.3334 V 6.833318 Z M 98.166743,3.333312 v 1.166669 h 1.16667 V 15 H 97.00007 v 1.166668 h 5.83335 V 15 h -2.33334 V 3.333312 Z" 25 + d="M6.35095 31.0002C4.28364 31.0002 2.47474 29.1913 2.47474 27.124V0.851953H7.64302V7.3123C7.64302 8.47516 8.6336 9.46575 9.79647 9.46575H17.5489C19.6162 9.46575 21.4251 11.2746 21.4251 13.342V27.124C21.4251 29.1913 19.6162 31.0002 17.5489 31.0002H6.35095ZM7.64302 22.8171C7.64302 25.1429 9.62419 27.124 11.9499 27.124C14.2756 27.124 16.2568 25.1429 16.2568 22.8171V17.6489C16.2568 15.3231 14.2756 13.342 11.9499 13.342C9.62419 13.342 7.64302 15.3231 7.64302 17.6489V22.8171ZM25.303 31.0002V0.851953H30.4713V31.0002H25.303ZM38.2338 31.0002C36.1665 31.0002 34.3576 29.1913 34.3576 27.124V23.7647C34.3576 22.3434 35.4343 20.7498 36.7694 20.233L45.4694 16.7875C47.0198 16.1845 46.6322 14.2033 44.9956 14.2033H34.616V9.46575H48.1396C50.207 9.46575 52.0158 11.2746 52.0158 13.342V27.124C52.0158 29.1913 50.207 31.0002 48.1396 31.0002H38.2338ZM39.9996 24.5399C39.9996 26.4349 41.6362 27.9854 43.5313 27.9854C45.3402 27.9854 46.8906 26.4349 46.8906 24.5399C46.8906 22.731 45.3402 21.0944 43.5313 21.0944C41.6362 21.0944 39.9996 22.731 39.9996 24.5399ZM59.7784 31.0002C57.711 31.0002 55.9022 29.1913 55.9022 27.124V13.342C55.9022 11.2746 57.711 9.46575 59.7784 9.46575H72.01V14.2033H63.6546C62.2333 14.2033 61.0704 15.3662 61.0704 16.7875V23.6785C61.0704 25.0998 62.2333 26.2627 63.6546 26.2627H72.01V31.0002H59.7784ZM75.7223 31.0002V0.851953H80.8906V15.2801C80.8906 16.5291 82.3119 17.132 83.1302 16.1414L88.5999 9.46575H95.3618L88.7291 17.6489C87.9539 18.5964 87.8678 19.8454 88.5569 20.879L95.4479 31.0002H89.1598L83.3455 22.5157C82.5272 21.3097 80.8906 21.9558 80.8906 23.334V31.0002H75.7223Z" 26 + /> 27 + 28 + {/* Row 2 (left & centre) – “ALGORITHMS” */} 29 + <Path 30 + fill={fill || pal.text.color} 31 + d="M7.83124 64.9587C5.76393 64.9587 3.95503 63.1498 3.95503 61.0825V57.7232C3.95503 56.3019 5.03176 54.7083 6.3669 54.1915L15.0668 50.746C16.6173 50.143 16.2297 48.1618 14.5931 48.1618H4.21345V43.4242H17.7371C19.8044 43.4242 21.6133 45.2331 21.6133 47.3005V61.0825C21.6133 63.1498 19.8044 64.9587 17.7371 64.9587H7.83124ZM9.59707 58.4984C9.59707 60.3934 11.2337 61.9439 13.1287 61.9439C14.9376 61.9439 16.4881 60.3934 16.4881 58.4984C16.4881 56.6895 14.9376 55.0529 13.1287 55.0529C11.2337 55.0529 9.59707 56.6895 9.59707 58.4984ZM25.4996 64.9587V34.8104H30.6679V64.9587H25.4996ZM34.5973 73.5725V68.8349H46.8289C47.9056 68.8349 48.767 67.9736 48.767 66.8968C48.767 65.8201 47.9056 64.9587 46.8289 64.9587H38.4304C36.3631 64.9587 34.5542 63.1498 34.5542 61.0825V47.3005C34.5542 45.2331 36.3631 43.4242 38.4304 43.4242H49.6283C51.6957 43.4242 53.5046 45.2331 53.5046 47.3005V69.6963C53.5046 71.7636 51.6957 73.5725 49.6283 73.5725H34.5973ZM39.7225 56.7756C39.7225 59.1014 41.7037 61.0825 44.0294 61.0825C46.3551 61.0825 48.3363 59.1014 48.3363 56.7756V51.6074C48.3363 49.2816 46.3551 47.3005 44.0294 47.3005C41.7037 47.3005 39.7225 49.2816 39.7225 51.6074V56.7756ZM60.828 64.9587C58.7607 64.9587 56.9518 63.1498 56.9518 61.0825V47.3005C56.9518 45.2331 58.7607 43.4242 60.828 43.4242H72.0259C74.0932 43.4242 75.9021 45.2331 75.9021 47.3005V61.0825C75.9021 63.1498 74.0932 64.9587 72.0259 64.9587H60.828ZM62.12 56.7756C62.12 59.1014 64.1012 61.0825 66.4269 61.0825C68.7527 61.0825 70.7338 59.1014 70.7338 56.7756V51.6074C70.7338 49.2816 68.7527 47.3005 66.4269 47.3005C64.1012 47.3005 62.12 49.2816 62.12 51.6074V56.7756ZM79.3493 46.0084C79.3493 44.5871 80.5122 43.4242 81.9335 43.4242H92.873V48.1618H87.1017C85.6805 48.1618 84.5176 49.3247 84.5176 50.746V64.9587H79.3493V46.0084ZM95.1455 64.9587V43.4242H100.314V64.9587H95.1455ZM94.198 38.0837C94.198 36.1025 95.7916 34.552 97.7297 34.552C99.6678 34.552 101.304 36.1025 101.304 38.0837C101.304 39.9787 99.6678 41.6584 97.7297 41.6584C95.7916 41.6584 94.198 39.9787 94.198 38.0837ZM107.748 64.9587C105.681 64.9587 103.872 63.1498 103.872 61.0825V36.3609H109.04V40.8401C109.04 42.2614 110.203 43.4242 111.624 43.4242H118.472V48.1618H111.624C110.203 48.1618 109.04 49.3247 109.04 50.746V57.637C109.04 59.0583 110.203 60.2212 111.624 60.2212H118.472V64.9587H107.748ZM120.886 64.9587V34.8104H126.054V41.2708C126.054 42.4337 127.045 43.4242 128.207 43.4242H135.96C138.027 43.4242 139.836 45.2331 139.836 47.3005V64.9587H134.668V51.6074C134.668 49.2816 132.687 47.3005 130.361 47.3005C128.035 47.3005 126.054 49.2816 126.054 51.6074V64.9587H120.886ZM143.283 47.3005C143.283 45.2331 145.092 43.4242 147.159 43.4242H170.417C172.484 43.4242 174.293 45.2331 174.293 47.3005V64.9587H169.125V51.1767C169.125 49.1094 167.316 47.3005 165.248 47.3005C163.181 47.3005 161.372 49.1094 161.372 51.1767V64.9587H156.204V51.1767C156.204 49.1094 154.395 47.3005 152.328 47.3005C150.26 47.3005 148.451 49.1094 148.451 51.1767V64.9587H143.283V47.3005ZM177.149 64.9587V60.2212H187.184C189.165 60.2212 189.424 57.6801 187.658 57.1202L179.345 54.4068C178.01 53.9761 176.89 52.4257 176.89 51.0044V47.3005C176.89 45.2331 178.699 43.4242 180.767 43.4242H194.333V48.1618H184.384C182.403 48.1618 182.102 50.6598 183.868 51.2628L192.137 53.9761C193.472 54.4068 194.592 55.9573 194.592 57.3786V61.0825C194.592 63.1498 192.783 64.9587 190.716 64.9587H177.149Z" 32 + /> 33 + 34 + {/* Row 2 (right-hand block that wraps) */} 35 + <Path 36 + fill={fill || pal.text.color} 37 + d="M98.4783 31V26.2624H108.513C110.495 26.2624 110.753 23.7213 108.987 23.1614L100.675 20.4481C99.3397 20.0174 98.2199 18.4669 98.2199 17.0456V13.3417C98.2199 11.2744 100.029 9.46551 102.096 9.46551H115.663V14.2031H105.714C103.733 14.2031 103.431 16.7011 105.197 17.3041L113.466 20.0174C114.801 20.4481 115.921 21.9986 115.921 23.4199V27.1238C115.921 29.1911 114.112 31 112.045 31H98.4783ZM120.646 31V0.851708H125.814V15.2798C125.814 16.5288 127.236 17.1318 128.054 16.1412L133.524 9.46551H140.286L133.653 17.6486C132.878 18.5961 132.792 19.8451 133.481 20.8788L140.372 31H134.084L128.269 22.5154C127.451 21.3095 125.814 21.9555 125.814 23.3337V31H120.646ZM143.421 39.6138V34.8762H155.653C156.73 34.8762 157.591 34.0148 157.591 32.9381C157.591 31.8614 156.73 31 155.653 31H147.255C145.187 31 143.378 29.1911 143.378 27.1238V9.46551H148.547V22.8169C148.547 25.1426 150.528 27.1238 152.854 27.1238C155.179 27.1238 157.161 25.1426 157.161 22.8169V9.46551H162.329V35.7376C162.329 37.8049 160.52 39.6138 158.453 39.6138H143.421Z" 26 38 /> 27 39 </Svg> 28 40 )
+3 -3
src/view/screens/Home.tsx
··· 204 204 testID="homeScreenFeedTabs" 205 205 onPressSelected={onPressSelected} 206 206 // @ts-ignore 207 - feeds={[{displayName: 'Following'}, {displayName: 'Discover'}]} 207 + feeds={[{displayName: 'Following'}, {displayName: 'Blacksky'}]} 208 208 /> 209 209 ) 210 210 } ··· 261 261 testID="customFeedPage" 262 262 isPageFocused 263 263 isPageAdjacent={false} 264 - feed={`feedgen|${PROD_DEFAULT_FEED('whats-hot')}`} 264 + feed={`feedgen|${PROD_DEFAULT_FEED('blacksky-trend')}`} 265 265 renderEmptyState={renderCustomFeedEmptyState} 266 266 feedInfo={pinnedFeedInfos[0]} 267 267 /> ··· 324 324 testID="customFeedPage" 325 325 isPageFocused 326 326 isPageAdjacent={false} 327 - feed={`feedgen|${PROD_DEFAULT_FEED('whats-hot')}`} 327 + feed={`feedgen|${PROD_DEFAULT_FEED('blacksky-trend')}`} 328 328 renderEmptyState={renderCustomFeedEmptyState} 329 329 feedInfo={pinnedFeedInfos[0]} 330 330 />
+21 -13
web/index.html
··· 109 109 </noscript> 110 110 111 111 <!-- The root element for your Expo app. --> 112 - <div id="root"> 113 - <div id="splash"> 114 - <!-- blacksky SVG --> 115 - <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"> 116 - 117 - <defs> 118 - <linearGradient x1="0" y1="0" x2="0" y2="1" id="index_sky"><stop offset="0" stop-color="#a3b18a" stop-opacity="1"></stop><stop offset="1" stop-color="#344e41" stop-opacity="1"></stop></linearGradient> 119 - </defs> 120 - <path fill="url(#index_sky)" 121 - d="m 149.96484,186.56641 46.09766,152.95898 c 0,0 -6.30222,-9.61174 -15.60547,-17.47656 -8.87322,-7.50128 -28.4082,-4.04492 -28.4082,-4.04492 0,0 6.14721,39.88867 15.53125,44.39843 10.71251,5.1482 22.19726,0.16993 22.19726,0.16993 0,0 11.7613,-4.87282 22.82032,31.82421 5.26534,17.47196 15.33258,50.877 20.9707,69.58594 2.16717,7.1913 8.83789,7.25781 8.83789,7.25781 0,0 6.67072,-0.0665 8.83789,-7.25781 5.63812,-18.70894 15.70536,-52.11398 20.9707,-69.58594 11.05902,-36.69703 22.82032,-31.82421 22.82032,-31.82421 0,0 11.48475,4.97827 22.19726,-0.16993 9.38404,-4.50976 15.5332,-44.39843 15.5332,-44.39843 0,0 -19.53693,-3.45636 -28.41015,4.04492 -9.30325,7.86482 -15.60547,17.47656 -15.60547,17.47656 l 46.09766,-152.95898 -49.32618,83.84179 -20.34375,-31.1914 6.35547,54.96875 -23.1582,39.36132 c 0,0 -2.97595,5.06226 -5.94336,4.68946 -0.009,-0.001 -0.0169,0.003 -0.0254,0.01 -0.008,-0.007 -0.0167,-0.0109 -0.0254,-0.01 -2.96741,0.3728 -5.94336,-4.68946 -5.94336,-4.68946 l -23.1582,-39.36132 6.35547,-54.96875 -20.34375,31.1914 z" 122 - transform="matrix(2.6921023,0,0,1.7145911,-396.58283,-308.01527)" 112 + <div id="root"> 113 + <div id="splash"> 114 + <!-- blacksky SVG – solid brand-purple --> 115 + <svg 116 + xmlns="http://www.w3.org/2000/svg" 117 + viewBox="0 0 512 512" 118 + aria-label="Blacksky logo" 119 + > 120 + <!-- 121 + Scale factor: 512 / 99 ≈ 5.171717 122 + After scaling, height = 61 × 5.1717 ≈ 315.17 123 + Vertical offset to centre: (512 − 315.17) / 2 ≈ 98.41 124 + We translate first (in unscaled units), then scale. 125 + --> 126 + <g transform="translate(0 19.02) scale(5.171717)"> 127 + <path 128 + fill="#8B8BFF" 129 + d="M32.5654 9.96191C32.5654 19.5056 40.0604 27.2986 49.4854 27.7764H49.5137C58.9386 27.2986 66.4336 19.5056 66.4336 9.96191V0H71.2002V9.96191C71.2002 19.8135 79.1865 27.7998 89.0381 27.7998H98.999V32.5654H89.0381C79.1865 32.5654 71.2002 40.5518 71.2002 50.4033V60.3652H66.4336V50.4033C66.4336 40.8547 58.9308 33.0583 49.499 32.5879C40.0677 33.0588 32.5655 40.8551 32.5654 50.4033V60.3652H60.3652V60.3662H0V60.3652H27.7998V50.4033C27.7997 40.5519 19.8134 32.5654 9.96191 32.5654H0V27.7998H9.96191C19.8135 27.7998 27.7998 19.8135 27.7998 9.96191V0H32.5654V9.96191Z" 123 130 /> 124 - </svg> 125 - </div> 131 + </g> 132 + </svg> 126 133 </div> 134 + </div> 127 135 </body> 128 136 </html>