back interdiff of round #1 and #0

feat: mutuals pill/button from catsky.social #4

closed
opened by vielle.dev targeting main
files
bskyweb
src
components
screens
Profile
Header
REVERTED
bskyweb/cmd/bskyweb/server.go
··· 223 223 e.GET("/robots.txt", echo.WrapHandler(staticHandler)) 224 224 } 225 225 226 - // pwa files 227 - e.GET("/manifest.json", echo.WrapHandler(staticHandler)) 228 - e.GET("/pwa-512.png", echo.WrapHandler(staticHandler)) 229 - e.GET("/pwa-192.png", echo.WrapHandler(staticHandler)) 230 - 231 226 e.GET("/iframe/youtube.html", echo.WrapHandler(staticHandler)) 232 227 e.GET("/static/*", echo.WrapHandler(http.StripPrefix("/static/", staticHandler)), func(next echo.HandlerFunc) echo.HandlerFunc { 233 228 return func(c echo.Context) error {
REVERTED
bskyweb/static/manifest.json
REVERTED
bskyweb/static/pwa-192.png
REVERTED
bskyweb/static/pwa-512.png
REVERTED
bskyweb/templates/base.html
··· 15 15 16 16 <link rel="preload" as="font" type="font/woff2" href="{{ staticCDNHost }}/static/media/InterVariable.c504db5c06caaf7cdfba.woff2" crossorigin> 17 17 18 - <link rel="manifest" href="/manifest.json" /> 19 - 20 18 <style> 21 19 /** 22 20 * Minimum styles required to render splash.
NEW
src/components/Pills.tsx
··· 177 177 </View> 178 178 ) 179 179 } 180 + 181 + export function Mutuals({size = 'sm'}: CommonProps) { 182 + const t = useTheme() 183 + 184 + const variantStyles = React.useMemo(() => { 185 + switch (size) { 186 + case 'sm': 187 + case 'lg': 188 + default: 189 + return [ 190 + { 191 + paddingHorizontal: 6, 192 + paddingVertical: 3, 193 + borderRadius: 4, 194 + }, 195 + ] 196 + } 197 + }, [size]) 198 + 199 + return ( 200 + <View style={[variantStyles, a.justify_center, t.atoms.bg_contrast_25]}> 201 + <Text style={[a.text_xs, a.leading_tight]}> 202 + <Trans>Mutuals</Trans> 203 + </Text> 204 + </View> 205 + ) 206 + }
NEW
src/components/ProfileCard.tsx
··· 596 596 const moderation = moderateProfile(profile, moderationOpts) 597 597 const modui = moderation.ui('profileList') 598 598 const followedBy = profile.viewer?.followedBy 599 + const following = profile.viewer?.following 599 600 600 601 if (!followedBy && !modui.inform && !modui.alert) { 601 602 return null ··· 603 604 604 605 return ( 605 606 <Pills.Row style={[a.pt_xs]}> 606 - {followedBy && <Pills.FollowsYou />} 607 + {followedBy && (following ? <Pills.Mutuals /> : <Pills.FollowsYou />)} 607 608 {modui.alerts.map(alert => ( 608 609 <Pills.Label key={getModerationCauseKey(alert)} cause={alert} /> 609 610 ))}
NEW
src/screens/Profile/Header/Handle.tsx
··· 29 29 {profile.viewer?.followedBy && !blockHide ? ( 30 30 <View style={[t.atoms.bg_contrast_25, a.rounded_xs, a.px_sm, a.py_xs]}> 31 31 <Text style={[t.atoms.text, a.text_sm]}> 32 - <Trans>Follows you</Trans> 32 + <Trans> 33 + {profile.viewer?.following ? 'Mutuals' : 'Follows you'} 34 + </Trans> 33 35 </Text> 34 36 </View> 35 37 ) : undefined}