biome setup

This commit is contained in:
Oliver Bryan
2025-12-09 15:42:48 +00:00
parent f39a0dc6f8
commit a2e8b9076f
4 changed files with 97 additions and 87 deletions

10
biome.json Normal file
View File

@@ -0,0 +1,10 @@
{
"$schema": "https://biomejs.dev/schemas/2.0.5/schema.json",
"formatter": {
"enabled": true,
"formatWithErrors": false,
"indentStyle": "space",
"indentWidth": 4,
"lineWidth": 110
}
}

View File

@@ -1,116 +1,116 @@
.logo.vite:hover { .logo.vite:hover {
filter: drop-shadow(0 0 2em #747bff); filter: drop-shadow(0 0 2em #747bff);
} }
.logo.react:hover { .logo.react:hover {
filter: drop-shadow(0 0 2em #61dafb); filter: drop-shadow(0 0 2em #61dafb);
} }
:root { :root {
font-family: Inter, Avenir, Helvetica, Arial, sans-serif; font-family: Inter, Avenir, Helvetica, Arial, sans-serif;
font-size: 16px; font-size: 16px;
line-height: 24px; line-height: 24px;
font-weight: 400; font-weight: 400;
color: #0f0f0f; color: #0f0f0f;
background-color: #f6f6f6; background-color: #f6f6f6;
font-synthesis: none; font-synthesis: none;
text-rendering: optimizeLegibility; text-rendering: optimizeLegibility;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale; -moz-osx-font-smoothing: grayscale;
-webkit-text-size-adjust: 100%; -webkit-text-size-adjust: 100%;
} }
.container { .container {
margin: 0; margin: 0;
padding-top: 10vh; padding-top: 10vh;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
justify-content: center; justify-content: center;
text-align: center; text-align: center;
} }
.logo { .logo {
height: 6em; height: 6em;
padding: 1.5em; padding: 1.5em;
will-change: filter; will-change: filter;
transition: 0.75s; transition: 0.75s;
} }
.logo.tauri:hover { .logo.tauri:hover {
filter: drop-shadow(0 0 2em #24c8db); filter: drop-shadow(0 0 2em #24c8db);
} }
.row { .row {
display: flex; display: flex;
justify-content: center; justify-content: center;
} }
a { a {
font-weight: 500; font-weight: 500;
color: #646cff; color: #646cff;
text-decoration: inherit; text-decoration: inherit;
} }
a:hover { a:hover {
color: #535bf2; color: #535bf2;
} }
h1 { h1 {
text-align: center; text-align: center;
} }
input, input,
button { button {
border-radius: 8px; border-radius: 8px;
border: 1px solid transparent; border: 1px solid transparent;
padding: 0.6em 1.2em; padding: 0.6em 1.2em;
font-size: 1em; font-size: 1em;
font-weight: 500; font-weight: 500;
font-family: inherit; font-family: inherit;
color: #0f0f0f; color: #0f0f0f;
background-color: #ffffff; background-color: #ffffff;
transition: border-color 0.25s; transition: border-color 0.25s;
box-shadow: 0 2px 2px rgba(0, 0, 0, 0.2); box-shadow: 0 2px 2px rgba(0, 0, 0, 0.2);
} }
button { button {
cursor: pointer; cursor: pointer;
} }
button:hover { button:hover {
border-color: #396cd8; border-color: #396cd8;
} }
button:active { button:active {
border-color: #396cd8; border-color: #396cd8;
background-color: #e8e8e8; background-color: #e8e8e8;
} }
input, input,
button { button {
outline: none; outline: none;
} }
#greet-input { #greet-input {
margin-right: 5px; margin-right: 5px;
} }
@media (prefers-color-scheme: dark) { @media (prefers-color-scheme: dark) {
:root { :root {
color: #f6f6f6; color: #f6f6f6;
background-color: #2f2f2f; background-color: #2f2f2f;
} }
a:hover { a:hover {
color: #24c8db; color: #24c8db;
} }
input, input,
button { button {
color: #ffffff; color: #ffffff;
background-color: #0f0f0f98; background-color: #0f0f0f98;
} }
button:active { button:active {
background-color: #0f0f0f69; background-color: #0f0f0f69;
} }
} }

View File

@@ -3,31 +3,31 @@ import { useState } from "react";
import "./App.css"; import "./App.css";
function App() { function App() {
const [greetMsg, setGreetMsg] = useState(""); const [greetMsg, setGreetMsg] = useState("");
const [name, setName] = useState(""); const [name, setName] = useState("");
async function greet() { async function greet() {
// Learn more about Tauri commands at https://tauri.app/develop/calling-rust/ // Learn more about Tauri commands at https://tauri.app/develop/calling-rust/
setGreetMsg(await invoke("greet", { name })); setGreetMsg(await invoke("greet", { name }));
} }
return ( return (
<main className="container"> <main className="container">
<h1>Issue Project Manager</h1> <h1>Issue Project Manager</h1>
<div> <div>
<input <input
id="greet-input" id="greet-input"
onChange={(e) => setName(e.currentTarget.value)} onChange={(e) => setName(e.currentTarget.value)}
placeholder="Enter a name..." placeholder="Enter a name..."
/> />
<button type="submit" onClick={greet}> <button type="submit" onClick={greet}>
Greet Greet
</button> </button>
</div> </div>
<p>{greetMsg}</p> <p>{greetMsg}</p>
</main> </main>
); );
} }
export default App; export default App;

View File

@@ -3,7 +3,7 @@ import ReactDOM from "react-dom/client";
import App from "./App"; import App from "./App";
ReactDOM.createRoot(document.getElementById("root") as HTMLElement).render( ReactDOM.createRoot(document.getElementById("root") as HTMLElement).render(
<React.StrictMode> <React.StrictMode>
<App /> <App />
</React.StrictMode>, </React.StrictMode>,
); );