an independent Bluesky client using Constellation, PDS Queries, and other services reddwarf.app
frontend spa bluesky reddwarf microcosm client app

Prepare for new logo

+86 -6
public/android-chrome-192x192.png

This is a binary file and will not be displayed.

public/android-chrome-512x512.png

This is a binary file and will not be displayed.

public/apple-touch-icon.png

This is a binary file and will not be displayed.

public/deafultpfp-candidate-alt.png

This is a binary file and will not be displayed.

public/deafultpfp-candidate.png

This is a binary file and will not be displayed.

public/defaultpfp.png

This is a binary file and will not be displayed.

public/favicon-16x16.png

This is a binary file and will not be displayed.

public/favicon-32x32.png

This is a binary file and will not be displayed.

public/favicon-candidate.ico

This is a binary file and will not be displayed.

public/favicon-candidate.png

This is a binary file and will not be displayed.

+12
public/favicon-candidate.svg
··· 1 + <?xml version="1.0" encoding="UTF-8"?> 2 + <svg width="512px" height="512px" viewBox="0 0 512 512" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> 3 + <title>Logotype 2alt</title> 4 + <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> 5 + <g id="Logotypealt" transform="translate(25, 25)" fill="#FF4242"> 6 + <path d="M231,2.84217094e-14 C231,126.301999 129.635879,228.92914 3.82000738,230.969053 L1.70530257e-13,231 C1.42108547e-13,103.422223 103.422223,5.68434189e-14 231,2.84217094e-14 Z" id="Vesica-Piscis"></path> 7 + <path d="M462,231 C462,357.301999 360.635879,459.92914 234.820007,461.969053 L231,462 C231,334.422223 334.422223,231 462,231 Z" id="Vesica-Piscis"></path> 8 + <path d="M462,0 C462,126.301999 360.635879,228.92914 234.820007,230.969053 L231,231 C231,103.422223 334.422223,2.84217094e-14 462,0 Z" id="Vesica-Piscis" transform="translate(346.5, 115.5) rotate(90) translate(-346.5, -115.5)"></path> 9 + <path d="M0.082,231 L0.083,231.001 L3.82032351,231.030947 C129.607985,233.070408 230.954808,335.652489 230.999823,461.916004 L231.000162,461.999838 L230.877,461.999 L0,461.999838 L0,231.000324 L0.082,231 Z" id="Combined-Shape"></path> 10 + </g> 11 + </g> 12 + </svg>
public/favicon-old.ico

This is a binary file and will not be displayed.

public/favicon-old.png

This is a binary file and will not be displayed.

public/logo192.png

This is a binary file and will not be displayed.

public/logo512.png

This is a binary file and will not be displayed.

public/redstarccby4.png

This is a binary file and will not be displayed.

+69 -1
src/components/LogoSvg.tsx
··· 21 21 export function WheyMadeModernistMonogram(props: SVGProps<SVGSVGElement>) { 22 22 return (<svg xmlns="http://www.w3.org/2000/svg" width={32} height={32} {...props} viewBox="0 0 400 400" > 23 23 <path 24 - fill="currentColor" 24 + fill="currentColor" 25 25 fillRule="evenodd" 26 26 d="M33.203 199.99v166.808l85.889-.025c84.889-.025 89.049-.053 95.752-.663 67.022-6.1 124.432-52.192 144.134-115.719l1.212-3.907c2.601-8.369 4.994-21.38 5.926-32.226 6.672-77.619-41.911-150.344-115.725-173.236l-3.907-1.212c-8.349-2.595-21.481-5.012-32.129-5.913a162.45 162.45 0 0 0-6.25-.392c-1.611-.061-4.094-.159-5.517-.217L200 33.182l-.029 80.821c-.016 44.452-.1 79.415-.187 77.696-3.502-69.442-50.414-130.278-116.19-150.677l-3.906-1.212c-8.35-2.595-21.482-5.012-32.129-5.913a162.702 162.702 0 0 0-6.25-.392c-1.612-.061-4.095-.159-5.518-.217l-2.588-.106V199.99m166.768 80.821c-.016 44.445-.1 79.404-.187 77.685-3.502-69.442-50.414-130.278-116.19-150.677l-3.906-1.212c-10.893-3.385-27.072-5.955-40.333-6.405-2.255-.076 32.967-.153 78.272-.171L200 200l-.029 80.811m-.665 85.404c-.478.167-3.501.084-10.732-.296a60.66 60.66 0 0 1-2.441-.181c-.591-.06-1.728-.162-2.526-.227-.799-.065-1.593-.145-1.765-.178a28.867 28.867 0 0 0-1.38-.181c-2.541-.289-5.363-.661-6.048-.798-.268-.054-.796-.14-1.172-.192a22.365 22.365 0 0 1-1.074-.171 50.717 50.717 0 0 0-1.27-.221 39.378 39.378 0 0 1-1.269-.227c-.215-.045-1.05-.208-1.856-.361-2.548-.484-8.516-1.857-10.253-2.358l-4.004-1.149c-4.749-1.36-13.965-4.56-16.091-5.588-.429-.207-.855-.376-.946-.376-.092 0-.713-.254-1.38-.565a92.974 92.974 0 0 0-2.384-1.063c-.645-.273-1.433-.613-1.751-.753-.944-.417-10.291-5.137-11.14-5.625a109.85 109.85 0 0 0-1.855-1.038 28.409 28.409 0 0 1-1.891-1.143c-.449-.306-.867-.555-.93-.555-.303 0-7.815-4.862-10.693-6.92a460.152 460.152 0 0 0-2.218-1.576c-10.169-7.174-22.986-19.415-32.029-30.587-4.159-5.139-9.375-12.568-12.394-17.656a147.855 147.855 0 0 0-1.476-2.441 43.451 43.451 0 0 1-1.163-2.051c-.402-.752-.799-1.455-.882-1.562-.216-.281-2.067-3.8-3.082-5.86-1.171-2.376-2.969-6.158-2.969-6.247 0-.039-.297-.715-.66-1.502-2.124-4.606-4.715-11.631-7.122-19.311-.504-1.609-2.109-7.752-2.6-9.951-.629-2.816-1.494-7.084-1.623-8.008a13.718 13.718 0 0 0-.205-1.172c-.108-.393-.217-1.069-.58-3.613-.432-3.028-.453-3.184-.589-4.492a59.78 59.78 0 0 0-.284-2.247 20.113 20.113 0 0 1-.189-1.879c-.016-.443-.063-.988-.106-1.211-.043-.224-.13-1.267-.194-2.32a235.13 235.13 0 0 0-.217-3.236c-.168-2.195-.265-7.871-.142-8.339.099-.379 11.469 10.916 82.995 82.441 57.277 57.277 82.787 82.913 82.58 82.986" 27 27 /> 28 28 </svg>) 29 + } 30 + 31 + export function RMajorMonoDisplay(props: SVGProps<SVGSVGElement>) { 32 + return (<svg 33 + fill="currentColor" 34 + viewBox="0 10.199999809265137 26.75 34.79999923706055" data-asc="0.9" width="26.75" height="34.79999923706055" 35 + {...props} 36 + > 37 + <defs /><g fill="currentColor"><g transform="translate(0, 0)"><path d="M26.75 45L0 45L0 10.20L13.55 10.20Q17.90 10.20 20.65 11.75Q23.35 13.25 24.85 15.85Q26.35 18.45 26.35 21.60Q26.35 25.50 23.95 28.57Q21.55 31.65 17.90 32.65L26.75 45M3.15 12.05L16.75 31.05Q20.10 30.35 22.30 27.70Q24.50 25.05 24.50 21.60Q24.50 18.85 23.15 16.60Q21.80 14.35 19.35 13.15Q17.15 12.05 13.60 12.05L3.15 12.05M1.85 13.25L1.85 31.20L14.70 31.20L1.85 13.25M1.85 43.15L23.25 43.15L15.95 33L14.40 33.05L1.85 33.05L1.85 43.15Z" /></g></g> 38 + </svg>) 39 + } 40 + 41 + export function WheyMadeModernistMonogram2(props: SVGProps<SVGSVGElement>) { 42 + return ( 43 + <svg 44 + viewBox="0 0 380 380" 45 + version="1.1" 46 + xmlns="http://www.w3.org/2000/svg" 47 + {...props} 48 + > 49 + <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> 50 + <g id="Logotype" fill="currentColor"> 51 + <path d="M190,0 C294.934102,0 380,85.0658975 380,190 C380,294.934102 294.934102,380 190,380 Z" id="Half"></path> 52 + <path d="M190,0 L189.999,0.101 L189.974545,3.14199741 C188.313643,105.581612 105.581612,188.313643 3.14199741,189.974545 L0,190 C0,85.0658975 85.0658975,0 190,0 Z" id="Vesica-Piscis"></path> 53 + <path d="M0.067,189.999733 L0.068,190.000733 L3.14199741,190.025455 C106.604291,191.702938 189.963547,276.078336 189.999988,379.931872 L190,380 C190,379.97729 189.999996,379.954581 189.999988,379.931872 L0.068,190.000733 L-2.84217094e-14,190 L0.0254545716,193.141997 C1.68635679,295.581612 84.4183884,378.313643 186.858003,379.974545 L189.899,379.999 L190,380 L0,380 L0,190 L0.067,189.999733 Z" id="Combined-Shape"></path> 54 + </g> 55 + </g> 56 + </svg>) 57 + } 58 + 59 + export function WheyMadeModernistMonogram2Alt(props: SVGProps<SVGSVGElement>) { 60 + return ( 61 + <svg 62 + viewBox="0 0 512 512" 63 + version="1.1" 64 + xmlns="http://www.w3.org/2000/svg" 65 + {...props} 66 + > 67 + <title>Logotype 2alt</title> 68 + <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> 69 + <g id="Logotypealt" transform="translate(25, 25)" fill="currentColor"> 70 + <path d="M231,2.84217094e-14 C231,126.301999 129.635879,228.92914 3.82000738,230.969053 L1.70530257e-13,231 C1.42108547e-13,103.422223 103.422223,5.68434189e-14 231,2.84217094e-14 Z" id="Vesica-Piscis"></path> 71 + <path d="M462,231 C462,357.301999 360.635879,459.92914 234.820007,461.969053 L231,462 C231,334.422223 334.422223,231 462,231 Z" id="Vesica-Piscis"></path> 72 + <path d="M462,0 C462,126.301999 360.635879,228.92914 234.820007,230.969053 L231,231 C231,103.422223 334.422223,2.84217094e-14 462,0 Z" id="Vesica-Piscis" transform="translate(346.5, 115.5) rotate(90) translate(-346.5, -115.5)"></path> 73 + <path d="M0.082,231 L0.083,231.001 L3.82032351,231.030947 C129.607985,233.070408 230.954808,335.652489 230.999823,461.916004 L231.000162,461.999838 L230.877,461.999 L0,461.999838 L0,231.000324 L0.082,231 Z" id="Combined-Shape"></path> 74 + </g> 75 + </g> 76 + </svg>) 77 + } 78 + 79 + // defaultpfp 80 + export function DefaultPFP(props: SVGProps<SVGSVGElement>) { 81 + return ( 82 + <svg 83 + viewBox="0 0 512 512" 84 + version="1.1" 85 + xmlns="http://www.w3.org/2000/svg" 86 + {...props} 87 + > 88 + <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> 89 + <g id="Group" transform="translate(62, 62)" fill="currentColor"> 90 + <path d="M193.999,2.84217094e-14 C194,107.102161 107.209833,193.933392 0.123232496,193.999962 L-2.84217094e-14,194 C-2.84217094e-14,87.928191 85.128309,1.73916382 190.791855,0.0259904573 L193.999,2.84217094e-14 Z" id="Vesica-Piscis"></path> 91 + <path d="M388,4.12114787e-13 C388,106.071809 302.871691,192.260836 197.208145,193.97401 L194,194 C194,87.928191 279.128309,1.73916382 384.791855,0.0259904573 L388,4.12114787e-13 Z" id="Vesica-Piscis" transform="translate(291, 97) rotate(90) translate(-291, -97)"></path> 92 + <path d="M194.001,194 C194.001,300.071809 108.872691,386.260836 3.20914473,387.97401 L0.001,388 C0.001,281.928191 85.129309,195.739164 190.792855,194.02599 L194.001,194 Z" id="Vesica-Piscis" transform="translate(97.0005, 291) scale(-1, 1) translate(-97.0005, -291)"></path> 93 + <path d="M388,194 C388,300.071809 302.871691,386.260836 197.208145,387.97401 L194,388 C194,281.928191 279.128309,195.739164 384.791855,194.02599 L388,194 Z" id="Vesica-Piscis" transform="translate(291, 291) scale(-1, 1) rotate(90) translate(-291, -291)"></path> 94 + </g> 95 + </g> 96 + </svg>) 29 97 }
+1 -1
src/components/UniversalPostRenderer.tsx
··· 15 15 import * as React from "react"; 16 16 import { useEffect, useState } from "react"; 17 17 18 - import defaultpfp from "~/../public/favicon.png"; 18 + import defaultpfp from "~/../public/defaultpfp.png"; 19 19 import { useAuth } from "~/providers/UnifiedAuthProvider"; 20 20 import { renderSnack } from "~/routes/__root"; 21 21 import {
+2 -2
src/routes/__root.tsx
··· 248 248 249 249 <div className="min-h-screen flex justify-center bg-gray-50 dark:bg-gray-950"> 250 250 <nav className="hidden lg:flex h-screen w-[250px] flex-col gap-0 p-4 dark:border-gray-800 sticky top-0 self-start"> 251 - <div className="flex items-center gap-3 mb-4"> 251 + <div className="flex items-center gap-3 mb-4 pl-3"> 252 252 <Logo 253 253 className="h-8 w-8" 254 254 style={{ ··· 256 256 "oklch(0.6616 0.2249 calc(25.88 + (var(--safe-hue) - 28))", 257 257 }} 258 258 /> 259 - <span className="font-extrabold text-2xl tracking-tight text-gray-900 dark:text-gray-100"> 259 + <span className="font-extrabold text-2xl text-gray-900 dark:text-gray-100"> 260 260 Red Dwarf{" "} 261 261 {/* <span className="text-gray-500 dark:text-gray-400 text-sm"> 262 262 lite
+1 -1
src/routes/notifications.tsx
··· 4 4 import { useAtom } from "jotai"; 5 5 import * as React from "react"; 6 6 7 - import defaultpfp from "~/../public/favicon.png"; 7 + import defaultpfp from "~/../public/defaultpfp.png"; 8 8 import { Header } from "~/components/Header"; 9 9 import { 10 10 ReusableTabRoute,
+1 -1
src/routes/profile.$did/index.tsx
··· 6 6 import { useAtom } from "jotai"; 7 7 import React, { type ReactNode, useEffect, useState } from "react"; 8 8 9 - import defaultpfp from "~/../public/favicon.png"; 9 + import defaultpfp from "~/../public/defaultpfp.png"; 10 10 import { Header } from "~/components/Header"; 11 11 import { 12 12 ReusableTabRoute,