2023-03-14 21:00:44 +01:00
|
|
|
<!DOCTYPE html>
|
|
|
|
<html lang="en">
|
|
|
|
<head>
|
|
|
|
<meta charset="UTF-8" />
|
2023-03-14 23:30:15 +01:00
|
|
|
<meta httpEquiv="X-UA-Compatible" content="IE=edge" />
|
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1.00001, viewport-fit=cover">
|
2023-03-14 21:00:44 +01:00
|
|
|
<meta name="referrer" content="origin-when-cross-origin">
|
|
|
|
<title>{%- block head_title -%}Bluesky{%- endblock -%}</title>
|
2023-03-14 23:30:15 +01:00
|
|
|
|
2023-03-14 21:00:44 +01:00
|
|
|
<!-- Hello Humans! API docs at https://atproto.com -->
|
2023-03-14 23:30:15 +01:00
|
|
|
|
2023-03-14 21:00:44 +01:00
|
|
|
<style>
|
2023-03-14 23:30:15 +01:00
|
|
|
/**
|
|
|
|
* Extend the react-native-web reset:
|
|
|
|
* https://github.com/necolas/react-native-web/blob/master/packages/react-native-web/src/exports/StyleSheet/initialRules.js
|
|
|
|
*/
|
|
|
|
html,
|
|
|
|
body,
|
|
|
|
#root {
|
|
|
|
width: 100%;
|
|
|
|
/* To smooth any scrolling behavior */
|
|
|
|
-webkit-overflow-scrolling: touch;
|
|
|
|
margin: 0px;
|
|
|
|
padding: 0px;
|
|
|
|
/* Allows content to fill the viewport and go beyond the bottom */
|
|
|
|
min-height: 100%;
|
|
|
|
}
|
|
|
|
#root {
|
|
|
|
flex-shrink: 0;
|
|
|
|
flex-basis: auto;
|
|
|
|
flex-grow: 1;
|
|
|
|
display: flex;
|
|
|
|
flex: 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
html {
|
|
|
|
scroll-behavior: smooth;
|
|
|
|
/* Prevent text size change on orientation change https://gist.github.com/tfausak/2222823#file-ios-8-web-app-html-L138 */
|
|
|
|
-webkit-text-size-adjust: 100%;
|
|
|
|
height: calc(100% + env(safe-area-inset-top));
|
|
|
|
}
|
|
|
|
|
|
|
|
body {
|
|
|
|
display: flex;
|
|
|
|
/* Allows you to scroll below the viewport; default value is visible */
|
|
|
|
overflow-y: auto;
|
|
|
|
overscroll-behavior-y: none;
|
|
|
|
text-rendering: optimizeLegibility;
|
|
|
|
-webkit-font-smoothing: antialiased;
|
|
|
|
-moz-osx-font-smoothing: grayscale;
|
|
|
|
-ms-overflow-style: scrollbar;
|
|
|
|
}
|
|
|
|
/* Enable for apps that support dark-theme */
|
|
|
|
/*@media (prefers-color-scheme: dark) {
|
|
|
|
body {
|
|
|
|
background-color: black;
|
|
|
|
}
|
|
|
|
}*/
|
|
|
|
|
2023-03-14 21:00:44 +01:00
|
|
|
/* Remove focus state on inputs */
|
2023-03-14 23:30:15 +01:00
|
|
|
*:focus {
|
|
|
|
outline: 0;
|
|
|
|
}
|
|
|
|
/* Remove default link styling */
|
|
|
|
a {
|
|
|
|
color: inherit;
|
|
|
|
}
|
|
|
|
a[role="link"]:hover {
|
|
|
|
text-decoration: underline;
|
|
|
|
}
|
|
|
|
|
2023-04-14 01:36:08 +02:00
|
|
|
/* Styling hacks */
|
|
|
|
*[data-word-wrap] {
|
|
|
|
word-break: break-word;
|
|
|
|
}
|
|
|
|
|
2023-03-14 23:30:15 +01:00
|
|
|
/* ProseMirror */
|
|
|
|
.ProseMirror {
|
|
|
|
font: 18px -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
|
|
|
|
min-height: 140px;
|
|
|
|
}
|
2023-04-14 01:36:08 +02:00
|
|
|
.ProseMirror-dark {
|
|
|
|
color: white;
|
|
|
|
}
|
2023-03-14 23:30:15 +01:00
|
|
|
.ProseMirror p {
|
|
|
|
margin: 0;
|
|
|
|
}
|
|
|
|
.ProseMirror p.is-editor-empty:first-child::before {
|
|
|
|
color: #8d8e96;
|
|
|
|
content: attr(data-placeholder);
|
|
|
|
float: left;
|
|
|
|
height: 0;
|
|
|
|
pointer-events: none;
|
|
|
|
}
|
|
|
|
.ProseMirror .mention {
|
|
|
|
color: #0085ff;
|
|
|
|
}
|
|
|
|
.ProseMirror a {
|
|
|
|
color: #0085ff;
|
|
|
|
cursor: pointer;
|
|
|
|
}
|
|
|
|
.tippy-content .items {
|
|
|
|
border-radius: 6px;
|
|
|
|
background: #F3F3F8;
|
|
|
|
border: 1px solid #e0d9d9;
|
|
|
|
padding: 3px 3px;
|
|
|
|
}
|
|
|
|
.tippy-content .items .item {
|
|
|
|
display: block;
|
|
|
|
background: transparent;
|
|
|
|
color: #8a8c9a;
|
|
|
|
border: 0;
|
|
|
|
font: 17px -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
|
|
|
|
padding: 7px 10px 8px;
|
|
|
|
width: 100%;
|
|
|
|
text-align: left;
|
|
|
|
box-sizing: border-box;
|
|
|
|
letter-spacing: 0.2px;
|
|
|
|
}
|
|
|
|
.tippy-content .items .item.is-selected {
|
|
|
|
background: #fff;
|
|
|
|
border-radius: 4px;
|
|
|
|
color: #333;
|
|
|
|
}
|
2023-03-14 21:00:44 +01:00
|
|
|
</style>
|
2023-03-14 23:30:15 +01:00
|
|
|
{% include "scripts.html" %}
|
2023-03-14 21:00:44 +01:00
|
|
|
<link rel="apple-touch-icon" sizes="180x180" href="/static/apple-touch-icon.png"/>
|
|
|
|
<link rel="icon" type="image/png" sizes="32x32" href="/static/favicon-32x32.png"/>
|
|
|
|
<link rel="icon" type="image/png" sizes="16x16" href="/static/favicon-16x16.png"/>
|
|
|
|
{% block head_page_meta -%}
|
|
|
|
<meta property="og:title" content="Bluesky Social"/>
|
|
|
|
<meta property="og:type" content="article"/>
|
|
|
|
<meta property="og:image" content="/static/default-social-card.png"/>
|
|
|
|
<meta name="twitter:title" content="Bluesky Social"/>
|
|
|
|
<meta name="twitter:description" content="See what's next."/>
|
|
|
|
<meta name="twitter:image" content="/static/default-social-card.png"/>
|
|
|
|
<meta name="twitter:card" content="summary_large_image"/>
|
|
|
|
<meta name="twitter:site" content="@bluesky"/>
|
|
|
|
{%- endblock %}
|
|
|
|
<!-- TODO: link rel=canonical -->
|
|
|
|
<!-- TODO: analytics code -->
|
|
|
|
<!-- TODO: could put <link rel="preload"> tags here -->
|
|
|
|
<meta name="generator" name="bskyweb">
|
|
|
|
{% block head_metadata %}{% endblock %}
|
|
|
|
</head>
|
|
|
|
<body>
|
|
|
|
{%- block body_all %}
|
2023-03-14 23:30:15 +01:00
|
|
|
<div id="root"></div>
|
2023-03-14 21:00:44 +01:00
|
|
|
<noscript>
|
|
|
|
{%- block noscript_extra %}{% endblock -%}
|
|
|
|
<h1>Javascript Required</h1>
|
|
|
|
<p>This is a heavily interactive web application, and Javascript is required. Simple HTML interfaces are possible, but that is not what this is.
|
|
|
|
<p>Learn more about Bluesky at <a href="https://blueskyweb.xyz">blueskyweb.xyz</a> and <a href="https://atproto.com">atproto.com</a>.
|
|
|
|
</noscript>
|
|
|
|
{% endblock -%}
|
|
|
|
</body>
|
|
|
|
</html>
|