···11-<img src="meta/logo.png" alt="The Bluroma logo, containing three rectangles with one rounded corner each shaped to look like an uppercase B and the Bluroma name written in the Convection font beside it." width="200">
11+<img src="static/logo.png" alt="The Bluroma logo, containing three rectangles with one rounded corner each shaped to look like an uppercase B and the Bluroma name written in the Convection font beside it." width="200">
2233## About
44
···11/* @refresh reload */
22-import { render } from 'solid-js/web';
33-import 'solid-devtools';
22+import { render } from "solid-js/web";
33+import "solid-devtools";
44+import { Route, Router } from "@solidjs/router";
4555-import App from './App';
66+import Login from "./routes/login";
6777-const root = document.getElementById('root');
88+const root = document.getElementById("root");
89910if (import.meta.env.DEV && !(root instanceof HTMLElement)) {
1011 throw new Error(
1111- 'Root element not found. Did you forget to add it to your index.html? Or maybe the id attribute got misspelled?',
1212+ "Root element not found. Did you forget to add it to your index.html? Or maybe the id attribute got misspelled?",
1213 );
1314}
14151515-render(() => <App />, root!);
1616+render(
1717+ () => (
1818+ <Router root={Login}>
1919+ <Route path="/" component={Login} />
2020+ </Router>
2121+ ),
2222+ root!,
2323+);
+69
src/routes/login.tsx
···11+import { Component } from "solid-js";
22+import Navbar from "../components/navbar";
33+import "../styles/main.scss";
44+import typefaceLogo from "/logo.png?url";
55+import Container from "../components/container";
66+77+const Login: Component = () => {
88+ return (
99+ <>
1010+ <Navbar />
1111+ <div id="sidebar">
1212+ <Container
1313+ title="Log in"
1414+ children={
1515+ <div class="login">
1616+ <form name="login" id="login">
1717+ <label for="handle">Handle</label>
1818+ <br />
1919+ <input
2020+ type="text"
2121+ id="handle"
2222+ name="handle"
2323+ maxlength="255"
2424+ placeholder="soykaf.com"
2525+ required
2626+ />
2727+ <br />
2828+ <button type="submit">Login</button>
2929+ </form>
3030+ </div>
3131+ }
3232+ />
3333+ </div>
3434+ <div id="content">
3535+ <Container
3636+ title="About"
3737+ children={
3838+ <>
3939+ <img src={typefaceLogo} width="400" />
4040+ <h2>A Bluesky client with a familiar face</h2>
4141+ <hr />
4242+ <p>
4343+ <b>Bluroma</b> is a web client for Bluesky, designed to provide
4444+ a customizable power-user experience. Its design is heavily
4545+ influenced by the <a href="https://pleroma.social">Pleroma</a>{" "}
4646+ and <a href="https://akkoma.social">Akkoma</a> projects, and
4747+ intends to provide a similar, from-scratch user interface for
4848+ Bluesky users.
4949+ </p>
5050+ <h3>Links</h3>
5151+ <ul>
5252+ <li>
5353+ <a href="https://tangled.org/@hexmani.ac/bluroma">Tangled</a>
5454+ </li>
5555+ <li>
5656+ <a href="https://pdsls.dev/at://did:plc:5szlrh3xkfxxsuu4mo6oe6h7">
5757+ Developer
5858+ </a>
5959+ </li>
6060+ </ul>
6161+ </>
6262+ }
6363+ />
6464+ </div>
6565+ </>
6666+ );
6767+};
6868+6969+export default Login;