source for getorbyt.com getorbyt.com/
client bsky orbytapp app orbyt bluesky getorbyt orbytvideo atproto video
0
fork

Configure Feed

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

refactor: standardize iOS link casing and add redirects

- Update all instances of the iOS download link to use lowercase "/ios" for consistency across the application.
- Introduce a redirect in the configuration to handle requests to "/iOS" and redirect them to "/ios".

+132 -101
+3
astro.config.mjs
··· 3 3 4 4 export default defineConfig({ 5 5 site: 'https://getorbyt.com', 6 + redirects: { 7 + '/iOS': '/ios', 8 + }, 6 9 vite: { 7 10 optimizeDeps: { 8 11 exclude: ['fsevents'],
+104
src/components/ExternalServiceRedirectPage.astro
··· 1 + --- 2 + import DocumentColorScheme from './DocumentColorScheme.astro'; 3 + import { SITE_DOCUMENT } from '../utils/site-document-theme'; 4 + 5 + interface Props { 6 + destinationUrl: string; 7 + title?: string; 8 + message?: string; 9 + emojis?: string; 10 + } 11 + 12 + const { 13 + destinationUrl, 14 + title = 'Redirecting - orbyt', 15 + message = 'routing you to your destination...', 16 + emojis = '🚙💨', 17 + } = Astro.props; 18 + --- 19 + 20 + <!doctype html> 21 + <html lang="en" class="orbyt-doc-dark"> 22 + <head> 23 + <meta charset="utf-8"> 24 + <DocumentColorScheme 25 + colorScheme="dark" 26 + themeColor={SITE_DOCUMENT.orbytBlack} 27 + tileColor={SITE_DOCUMENT.orbytBlack} 28 + /> 29 + <link rel="stylesheet" href="/css/tokens.css" /> 30 + <meta name="viewport" content="width=device-width, initial-scale=1"> 31 + <title>{title}</title> 32 + <meta http-equiv="refresh" content={`0; url=${destinationUrl}`}> 33 + <link rel="canonical" href={destinationUrl}> 34 + <script is:inline define:vars={{ destinationUrl }}> 35 + window.location.href = destinationUrl; 36 + </script> 37 + <style> 38 + @font-face { 39 + font-family: 'Figtree'; 40 + src: url('/fonts/Figtree/Figtree-VariableFont_wght.woff2') format('woff2'); 41 + font-weight: 300 900; 42 + font-style: normal; 43 + font-display: fallback; 44 + } 45 + html, body { 46 + margin: 0; 47 + padding: 0; 48 + background: #000; 49 + color: #fff; 50 + height: 100vh; 51 + } 52 + body { 53 + display: flex; 54 + flex-direction: column; 55 + align-items: center; 56 + justify-content: center; 57 + position: relative; 58 + } 59 + .container { 60 + display: flex; 61 + flex-direction: column; 62 + align-items: center; 63 + gap: 20px; 64 + } 65 + .emojis { 66 + font-size: 70px; 67 + line-height: 1; 68 + } 69 + .text { 70 + font-family: 'Figtree', sans-serif; 71 + font-weight: 300; 72 + font-size: 20px; 73 + color: #fff; 74 + } 75 + .logo-icon { 76 + width: 80px; 77 + height: auto; 78 + position: absolute; 79 + bottom: 40px; 80 + } 81 + .logo-icon .logo-fg { 82 + fill: #f3f5fe; 83 + stroke: #f3f5fe; 84 + } 85 + </style> 86 + </head> 87 + <body> 88 + <div class="container"> 89 + <div class="emojis">{emojis}</div> 90 + <div class="text">{message}</div> 91 + </div> 92 + <svg class="logo-icon" xmlns="http://www.w3.org/2000/svg" viewBox="65 65 894 894"> 93 + <defs> 94 + <mask id="cutout-mask"> 95 + <rect x="65" y="65" width="894" height="894" fill="white"/> 96 + <path fill="black" fill-rule="evenodd" d="M349 129.3c-23.9 5.4-36.8 31.5-26.1 53.2 8 16.2 25.2 24.4 42.1 20.1 7.4-1.9 5.3-3.4 18.5 13.9 10.3 13.6 33.6 44.2 36.7 48.4 3.5 4.6 3.5 4.6-1.1 8.9-5.9 5.6-14.1 16.9-19 26-5 9.4-3.4 8.6-22.1 10.2-136.2 11.1-177 34.7-192.6 111.5-16.5 81.2-16.5 193.6.1 276.7 10.5 52.9 39.8 83.7 89.3 93.9 6 1.3 6 1.3 2.5 8.8-18.4 39.4-5.4 73.1 30 78.1 24.5 3.5 32.3-1.8 73.7-50 20.8-24.3 16.8-22.1 37-20.5 50.9 4.1 138.2 4.1 189 0 20.2-1.6 16.2-3.8 37 20.5 41.4 48.2 49.2 53.5 73.7 50 35.4-5 48.4-38.7 30-78.1-3.5-7.5-3.5-7.5 2.5-8.8 49.5-10.2 78.8-41 89.3-93.9 16.6-83.1 16.6-195.5.1-276.7C824 344.7 783.2 321.1 647 310c-18.7-1.6-17.1-.8-22.1-10.2-4.9-9.1-13.1-20.4-19-26-4.6-4.3-4.6-4.3-1.1-8.9 3.1-4.2 26.4-34.8 36.7-48.4 13.2-17.3 11.1-15.8 18.5-13.9 41.5 10.6 64.2-49.2 26.3-69.3-32-17.1-68 17.2-51.7 49.3 3.1 6.1 3.1 6.1-11.8 25.5-8.2 10.7-20 26-26.1 34.1-11.1 14.8-11.1 14.8-14.7 12.6-44.5-26.5-94.5-26.5-139 0-3.6 2.2-3.6 2.2-14.7-12.6-6.1-8.1-17.9-23.4-26.1-34.1-14.9-19.4-14.9-19.4-11.8-25.5 13.8-27.1-11.7-59.8-41.4-53.3m249.3 243.2C752 381.3 773.8 399.3 781.1 523c5.8 98.9-9.4 168.3-41.5 189.8-59.5 39.8-394.7 39.8-454.2 0-32.1-21.5-47.3-90.9-41.5-189.8 7.7-130.5 28.8-144.8 226.1-152.4 19.3-.8 104.3.5 128.3 1.9Z"/> 97 + <rect fill="black" x="372" y="482" width="82" height="136" rx="41" ry="41"/> 98 + <rect fill="black" x="570" y="482" width="82" height="136" rx="41" ry="41"/> 99 + </mask> 100 + </defs> 101 + <path class="logo-fg" mask="url(#cutout-mask)" stroke-width="65" stroke-linejoin="round" stroke-linecap="round" d="M349 129.3c-23.9 5.4-36.8 31.5-26.1 53.2 8 16.2 25.2 24.4 42.1 20.1 7.4-1.9 5.3-3.4 18.5 13.9 10.3 13.6 33.6 44.2 36.7 48.4 3.5 4.6 3.5 4.6-1.1 8.9-5.9 5.6-14.1 16.9-19 26-5 9.4-3.4 8.6-22.1 10.2-136.2 11.1-177 34.7-192.6 111.5-16.5 81.2-16.5 193.6.1 276.7 10.5 52.9 39.8 83.7 89.3 93.9 6 1.3 6 1.3 2.5 8.8-18.4 39.4-5.4 73.1 30 78.1 24.5 3.5 32.3-1.8 73.7-50 20.8-24.3 16.8-22.1 37-20.5 50.9 4.1 138.2 4.1 189 0 20.2-1.6 16.2-3.8 37 20.5 41.4 48.2 49.2 53.5 73.7 50 35.4-5 48.4-38.7 30-78.1-3.5-7.5-3.5-7.5 2.5-8.8 49.5-10.2 78.8-41 89.3-93.9 16.6-83.1 16.6-195.5.1-276.7C824 344.7 783.2 321.1 647 310c-18.7-1.6-17.1-.8-22.1-10.2-4.9-9.1-13.1-20.4-19-26-4.6-4.3-4.6-4.3-1.1-8.9 3.1-4.2 26.4-34.8 36.7-48.4 13.2-17.3 11.1-15.8 18.5-13.9 41.5 10.6 64.2-49.2 26.3-69.3-32-17.1-68 17.2-51.7 49.3 3.1 6.1 3.1 6.1-11.8 25.5-8.2 10.7-20 26-26.1 34.1-11.1 14.8-11.1 14.8-14.7 12.6-44.5-26.5-94.5-26.5-139 0-3.6 2.2-3.6 2.2-14.7-12.6-6.1-8.1-17.9-23.4-26.1-34.1-14.9-19.4-14.9-19.4-11.8-25.5 13.8-27.1-11.7-59.8-41.4-53.3Z"/> 102 + </svg> 103 + </body> 104 + </html>
+2 -2
src/pages/@[handle].astro
··· 216 216 <a href='/' class="logo-wordmark"> 217 217 <span class="logo-text">orbyt</span> 218 218 </a> 219 - <a class='install-button mobile' href="/iOS"> 219 + <a class='install-button mobile' href="/ios"> 220 220 Get the app 221 221 <svg class="svg-button" viewBox="0 0 21 22" fill="none" xmlns="http://www.w3.org/2000/svg"> 222 222 <path d="M1.93892 19.9988L18.9736 2.96362" stroke="currentColor" stroke-width="3.993"/> ··· 255 255 </div> 256 256 257 257 <div class="install-button-wrapper desktop"> 258 - <a class='install-button' href="/iOS"> 258 + <a class='install-button' href="/ios"> 259 259 Get the app 260 260 <svg class="svg-button" viewBox="0 0 21 22" fill="none" xmlns="http://www.w3.org/2000/svg"> 261 261 <path d="M1.93892 19.9988L18.9736 2.96362" stroke="currentColor" stroke-width="3.993"/>
+2 -2
src/pages/@[handle]/[postId].astro
··· 385 385 </a> 386 386 </div> 387 387 388 - <a class='install-button' href="/iOS"> 388 + <a class='install-button' href="/ios"> 389 389 Get the app 390 390 <svg class="svg-button" viewBox="0 0 21 22" fill="none" xmlns="http://www.w3.org/2000/svg"> 391 391 <path d="M1.93892 19.9988L18.9736 2.96362" stroke-width="3.993"/> ··· 465 465 </a> 466 466 </div> 467 467 468 - <a class='install-button' href="/iOS"> 468 + <a class='install-button' href="/ios"> 469 469 Get the app 470 470 <svg class="svg-button" viewBox="0 0 21 22" fill="none" xmlns="http://www.w3.org/2000/svg"> 471 471 <path d="M1.93892 19.9988L18.9736 2.96362" stroke-width="3.993"/>
+1 -1
src/pages/app.astro
··· 217 217 </div> 218 218 219 219 <div class="buttons"> 220 - <a href="/iOS" class="download-button">iOS</a> 220 + <a href="/ios" class="download-button">iOS</a> 221 221 <a href="/android" class="download-button">Android Waitlist</a> 222 222 </div> 223 223 </div>
+7 -88
src/pages/discord.astro
··· 1 1 --- 2 2 export const prerender = true; 3 - 4 - import DocumentColorScheme from '../components/DocumentColorScheme.astro'; 5 - import { SITE_DOCUMENT } from '../utils/site-document-theme'; 3 + import ExternalServiceRedirectPage from '../components/ExternalServiceRedirectPage.astro'; 6 4 --- 7 - <!doctype html> 8 - <html lang="en" class="orbyt-doc-dark"> 9 - <head> 10 - <meta charset="utf-8"> 11 - <DocumentColorScheme 12 - colorScheme="dark" 13 - themeColor={SITE_DOCUMENT.orbytBlack} 14 - tileColor={SITE_DOCUMENT.orbytBlack} 15 - /> 16 - <link rel="stylesheet" href="/css/tokens.css" /> 17 - <meta name="viewport" content="width=device-width, initial-scale=1"> 18 - <title>Community - orbyt</title> 19 - <meta http-equiv="refresh" content="0; url=https://community.getorbyt.com"> 20 - <link rel="canonical" href="https://community.getorbyt.com"> 21 - <script> 22 - window.location.href = "https://community.getorbyt.com"; 23 - </script> 24 - <style> 25 - @font-face { 26 - font-family: 'Figtree'; 27 - src: url('/fonts/Figtree/Figtree-VariableFont_wght.woff2') format('woff2'); 28 - font-weight: 300 900; 29 - font-style: normal; 30 - font-display: fallback; 31 - } 32 - html, body { 33 - margin: 0; 34 - padding: 0; 35 - background: #000; 36 - color: #fff; 37 - height: 100vh; 38 - } 39 - body { 40 - display: flex; 41 - flex-direction: column; 42 - align-items: center; 43 - justify-content: center; 44 - position: relative; 45 - } 46 - .container { 47 - display: flex; 48 - flex-direction: column; 49 - align-items: center; 50 - gap: 20px; 51 - } 52 - .emojis { 53 - font-size: 70px; 54 - line-height: 1; 55 - } 56 - .text { 57 - font-family: 'Figtree', sans-serif; 58 - font-weight: 300; 59 - font-size: 20px; 60 - color: #fff; 61 - } 62 - .logo-icon { 63 - width: 80px; 64 - height: auto; 65 - position: absolute; 66 - bottom: 40px; 67 - } 68 - .logo-icon .logo-fg { 69 - fill: #f3f5fe; 70 - stroke: #f3f5fe; 71 - } 72 - </style> 73 - </head> 74 - <body> 75 - <div class="container"> 76 - <div class="emojis">🚙💨</div> 77 - <div class="text">routing you to community...</div> 78 - </div> 79 - <svg class="logo-icon" xmlns="http://www.w3.org/2000/svg" viewBox="65 65 894 894"> 80 - <defs> 81 - <mask id="cutout-mask"> 82 - <rect x="65" y="65" width="894" height="894" fill="white"/> 83 - <path fill="black" fill-rule="evenodd" d="M349 129.3c-23.9 5.4-36.8 31.5-26.1 53.2 8 16.2 25.2 24.4 42.1 20.1 7.4-1.9 5.3-3.4 18.5 13.9 10.3 13.6 33.6 44.2 36.7 48.4 3.5 4.6 3.5 4.6-1.1 8.9-5.9 5.6-14.1 16.9-19 26-5 9.4-3.4 8.6-22.1 10.2-136.2 11.1-177 34.7-192.6 111.5-16.5 81.2-16.5 193.6.1 276.7 10.5 52.9 39.8 83.7 89.3 93.9 6 1.3 6 1.3 2.5 8.8-18.4 39.4-5.4 73.1 30 78.1 24.5 3.5 32.3-1.8 73.7-50 20.8-24.3 16.8-22.1 37-20.5 50.9 4.1 138.2 4.1 189 0 20.2-1.6 16.2-3.8 37 20.5 41.4 48.2 49.2 53.5 73.7 50 35.4-5 48.4-38.7 30-78.1-3.5-7.5-3.5-7.5 2.5-8.8 49.5-10.2 78.8-41 89.3-93.9 16.6-83.1 16.6-195.5.1-276.7C824 344.7 783.2 321.1 647 310c-18.7-1.6-17.1-.8-22.1-10.2-4.9-9.1-13.1-20.4-19-26-4.6-4.3-4.6-4.3-1.1-8.9 3.1-4.2 26.4-34.8 36.7-48.4 13.2-17.3 11.1-15.8 18.5-13.9 41.5 10.6 64.2-49.2 26.3-69.3-32-17.1-68 17.2-51.7 49.3 3.1 6.1 3.1 6.1-11.8 25.5-8.2 10.7-20 26-26.1 34.1-11.1 14.8-11.1 14.8-14.7 12.6-44.5-26.5-94.5-26.5-139 0-3.6 2.2-3.6 2.2-14.7-12.6-6.1-8.1-17.9-23.4-26.1-34.1-14.9-19.4-14.9-19.4-11.8-25.5 13.8-27.1-11.7-59.8-41.4-53.3m249.3 243.2C752 381.3 773.8 399.3 781.1 523c5.8 98.9-9.4 168.3-41.5 189.8-59.5 39.8-394.7 39.8-454.2 0-32.1-21.5-47.3-90.9-41.5-189.8 7.7-130.5 28.8-144.8 226.1-152.4 19.3-.8 104.3.5 128.3 1.9Z"/> 84 - <rect fill="black" x="372" y="482" width="82" height="136" rx="41" ry="41"/> 85 - <rect fill="black" x="570" y="482" width="82" height="136" rx="41" ry="41"/> 86 - </mask> 87 - </defs> 88 - <path class="logo-fg" mask="url(#cutout-mask)" stroke-width="65" stroke-linejoin="round" stroke-linecap="round" d="M349 129.3c-23.9 5.4-36.8 31.5-26.1 53.2 8 16.2 25.2 24.4 42.1 20.1 7.4-1.9 5.3-3.4 18.5 13.9 10.3 13.6 33.6 44.2 36.7 48.4 3.5 4.6 3.5 4.6-1.1 8.9-5.9 5.6-14.1 16.9-19 26-5 9.4-3.4 8.6-22.1 10.2-136.2 11.1-177 34.7-192.6 111.5-16.5 81.2-16.5 193.6.1 276.7 10.5 52.9 39.8 83.7 89.3 93.9 6 1.3 6 1.3 2.5 8.8-18.4 39.4-5.4 73.1 30 78.1 24.5 3.5 32.3-1.8 73.7-50 20.8-24.3 16.8-22.1 37-20.5 50.9 4.1 138.2 4.1 189 0 20.2-1.6 16.2-3.8 37 20.5 41.4 48.2 49.2 53.5 73.7 50 35.4-5 48.4-38.7 30-78.1-3.5-7.5-3.5-7.5 2.5-8.8 49.5-10.2 78.8-41 89.3-93.9 16.6-83.1 16.6-195.5.1-276.7C824 344.7 783.2 321.1 647 310c-18.7-1.6-17.1-.8-22.1-10.2-4.9-9.1-13.1-20.4-19-26-4.6-4.3-4.6-4.3-1.1-8.9 3.1-4.2 26.4-34.8 36.7-48.4 13.2-17.3 11.1-15.8 18.5-13.9 41.5 10.6 64.2-49.2 26.3-69.3-32-17.1-68 17.2-51.7 49.3 3.1 6.1 3.1 6.1-11.8 25.5-8.2 10.7-20 26-26.1 34.1-11.1 14.8-11.1 14.8-14.7 12.6-44.5-26.5-94.5-26.5-139 0-3.6 2.2-3.6 2.2-14.7-12.6-6.1-8.1-17.9-23.4-26.1-34.1-14.9-19.4-14.9-19.4-11.8-25.5 13.8-27.1-11.7-59.8-41.4-53.3Z"/> 89 - </svg> 90 - </body> 91 - </html> 5 + <ExternalServiceRedirectPage 6 + destinationUrl="https://community.getorbyt.com" 7 + title="Community - orbyt" 8 + message="routing you to community..." 9 + emojis="🚙💨" 10 + />
-7
src/pages/iOS.ts
··· 1 - import type { APIRoute } from 'astro'; 2 - 3 - const APP_STORE_URL = 'https://apps.apple.com/us/app/orbyt-video/id6751679299'; 4 - 5 - export const GET: APIRoute = () => { 6 - return Response.redirect(APP_STORE_URL, 308); 7 - };
+1 -1
src/pages/index.astro
··· 226 226 <p class="motto-text">video communities</p> 227 227 </div> 228 228 <div class="home-actions"> 229 - <a href="/iOS" class="download-button">iOS</a> 229 + <a href="/ios" class="download-button">iOS</a> 230 230 <a href="/android" class="download-button">Android Waitlist</a> 231 231 </div> 232 232 </main>
+12
src/pages/ios.astro
··· 1 + --- 2 + export const prerender = true; 3 + 4 + import ExternalServiceRedirectPage from '../components/ExternalServiceRedirectPage.astro'; 5 + --- 6 + 7 + <ExternalServiceRedirectPage 8 + destinationUrl="https://apps.apple.com/us/app/orbyt-video/id6751679299" 9 + title="iOS App - orbyt" 10 + message="routing you to the iOS app..." 11 + emojis="📱💨" 12 + />