Skip to content

Commit

Permalink
Fix web splash (#5456)
Browse files Browse the repository at this point in the history
* Fix web splash

* Untangle base styles

* Fix id name, remove log
  • Loading branch information
estrattonbailey authored Sep 23, 2024
1 parent b77031a commit e1ee95a
Show file tree
Hide file tree
Showing 3 changed files with 121 additions and 71 deletions.
49 changes: 48 additions & 1 deletion bskyweb/templates/base.html
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,53 @@
<link rel="preload" as="font" type="font/otf" href="/static/media/Inter-BlackItalic.27b9f0ad06fd13a7b9da.otf">
-->

<style>
/**
* Minimum styles required to render splash.
*
* ALL OTHER STYLES BELONG IN `src/style.css`
*
* THIS NEEDS TO BE DUPLICATED IN `bskyweb/templates/base.html`
*/
html {
background-color: white;
scrollbar-gutter: stable both-edges;
}
@media (prefers-color-scheme: dark) {
html {
background-color: black;
}
}
html,
body {
margin: 0px;
padding: 0px;
font-family: 'Inter-Regular', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Liberation Sans', Helvetica, Arial, sans-serif;
text-rendering: optimizeLegibility;
/* Platform-specific reset */
-webkit-overflow-scrolling: touch;
-webkit-text-size-adjust: 100%;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
-ms-overflow-style: scrollbar;
font-synthesis-weight: none;
}
html,
body,
#root {
display: flex;
flex: 1 0 auto;
min-height: 100%;
}
#splash {
position: fixed;
width: 100px;
left: 50%;
top: 50%;
transform: translateX(-50%) translateY(-50%) translateY(-50px);
}
</style>

{% include "scripts.html" %}
<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">
Expand All @@ -48,7 +95,7 @@
<body>
{%- block body_all %}
<div id="root">
<div id="preload">
<div id="splash">
<!-- Bluesky SVG -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 360 320"><path fill="#0085ff" d="M180 142c-16.3-31.7-60.7-90.8-102-120C38.5-5.9 23.4-1 13.5 3.4 2.1 8.6 0 26.2 0 36.5c0 10.4 5.7 84.8 9.4 97.2 12.2 41 55.7 55 95.7 50.5-58.7 8.6-110.8 30-42.4 106.1 75.1 77.9 103-16.7 117.3-64.6 14.3 48 30.8 139 116 64.6 64-64.6 17.6-97.5-41.1-106.1 40 4.4 83.5-9.5 95.7-50.5 3.7-12.4 9.4-86.8 9.4-97.2 0-10.3-2-27.9-13.5-33C336.5-1 321.5-6 282 22c-41.3 29.2-85.7 88.3-102 120Z"/></svg>
</div>
Expand Down
94 changes: 25 additions & 69 deletions src/style.css
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
/**
* IMPORTANT
*
* Some of these styles are duplicated in the `web/index.html` and
* `bskyweb/templates/base.html` files. Depending on what you're updating, you
* may need to touch all three. Ask Eric if you aren't sure.
*/

@font-face {
font-family: 'Inter-Regular';
src: local('Inter-Regular'),
Expand Down Expand Up @@ -96,90 +104,51 @@
*/

/**
* Extend the react-native-web reset:
* https://github.com/necolas/react-native-web/blob/master/packages/react-native-web/src/exports/StyleSheet/initialRules.js
* BEGIN STYLES
*
* HTML & BODY STYLES IN `web/index.html` and `bskyweb/templates/base.html`
*/
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 {
/* 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));
scrollbar-gutter: stable both-edges;
}
html,
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
'Liberation Sans', Helvetica, Arial, sans-serif;
}

#preload {
width: 100px;
position: fixed;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
}

/* Buttons and inputs have a font set by UA, so we'll have to reset that */
button,
input,
textarea {
font: inherit;
line-height: inherit;
}

/* Color theming */
/* Default will always be white */
:root {
--text: black;
--background: white;
--backgroundLight: hsl(211, 20%, 95%);
}
/* This gives us a black background when system is dark and we have not loaded the theme/color scheme values in JS */
@media (prefers-color-scheme: dark) {
:root {
color-scheme: dark;
--text: white;
--background: black;
--backgroundLight: hsl(211, 20%, 20%);
color-scheme: dark;
}
}

/* Overwrite those preferences with the selected theme */
html.theme--light {
--text: black;
--background: white;
--backgroundLight: hsl(211, 20%, 95%);
background-color: white;
}
html.theme--dark {
color-scheme: dark;
background-color: black;
--text: white;
--background: black;
--backgroundLight: hsl(211, 20%, 20%);
color-scheme: dark;
}
html.theme--dim {
color-scheme: dark;
background-color: hsl(211, 28%, 12%);
--text: white;
--background: hsl(211, 20%, 4%);
--backgroundLight: hsl(211, 20%, 10%);
color-scheme: dark;
}

/* Buttons and inputs have a font set by UA, so we'll have to reset that */
button,
input,
textarea {
font: inherit;
line-height: inherit;
}

/* Remove autofill styles on Webkit */
Expand All @@ -200,19 +169,6 @@ input::-webkit-date-and-time-value {
text-align: left;
}

body {
display: flex;
/* Allows you to scroll below the viewport; default value is visible */
overflow-y: auto;
overscroll-behavior-y: none;
text-rendering: optimizeLegibility;
background-color: var(--background);
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
-ms-overflow-style: scrollbar;
font-synthesis-weight: none;
}

/* Remove default link styling */
a {
color: inherit;
Expand Down
49 changes: 48 additions & 1 deletion web/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,53 @@
<link rel="preload" as="font" type="font/otf" href="/static/media/Inter-Black.66e9a87f1c921e844ed4.otf">
<link rel="preload" as="font" type="font/otf" href="/static/media/Inter-BlackItalic.27b9f0ad06fd13a7b9da.otf">
-->

<style>
/**
* Minimum styles required to render splash.
*
* ALL OTHER STYLES BELONG IN `src/style.css`
*
* THIS NEEDS TO BE DUPLICATED IN `bskyweb/templates/base.html`
*/
html {
background-color: white;
scrollbar-gutter: stable both-edges;
}
@media (prefers-color-scheme: dark) {
html {
background-color: black;
}
}
html,
body {
margin: 0px;
padding: 0px;
font-family: 'Inter-Regular', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Liberation Sans', Helvetica, Arial, sans-serif;
text-rendering: optimizeLegibility;
/* Platform-specific reset */
-webkit-overflow-scrolling: touch;
-webkit-text-size-adjust: 100%;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
-ms-overflow-style: scrollbar;
font-synthesis-weight: none;
}
html,
body,
#root {
display: flex;
flex: 1 0 auto;
min-height: 100%;
}
#splash {
position: fixed;
width: 100px;
left: 50%;
top: 50%;
transform: translateX(-50%) translateY(-50%) translateY(-50px);
}
</style>
</head>

<body>
Expand Down Expand Up @@ -90,7 +137,7 @@

<!-- The root element for your Expo app. -->
<div id="root">
<div id="preload">
<div id="splash">
<!-- Bluesky SVG -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 360 320"><path fill="#0085ff" d="M180 142c-16.3-31.7-60.7-90.8-102-120C38.5-5.9 23.4-1 13.5 3.4 2.1 8.6 0 26.2 0 36.5c0 10.4 5.7 84.8 9.4 97.2 12.2 41 55.7 55 95.7 50.5-58.7 8.6-110.8 30-42.4 106.1 75.1 77.9 103-16.7 117.3-64.6 14.3 48 30.8 139 116 64.6 64-64.6 17.6-97.5-41.1-106.1 40 4.4 83.5-9.5 95.7-50.5 3.7-12.4 9.4-86.8 9.4-97.2 0-10.3-2-27.9-13.5-33C336.5-1 321.5-6 282 22c-41.3 29.2-85.7 88.3-102 120Z"/></svg>
</div>
Expand Down

0 comments on commit e1ee95a

Please sign in to comment.