some more styling

Changed files
+87 -18
src
assets
styles
components
layouts
pages
+58 -3
src/assets/styles/global.css
···
width: 100%;
}
-
button.btn,
button[type="submit"],
input[type="submit"],
input[type="reset"] {
···
position: relative;
}
-
button.btn:hover,
button[type="submit"]:hover,
input[type="submit"]:hover,
input[type="reset"]:hover {
background-color: color-mix(in srgb-linear, var(--color-primary), #000000 20%);
}
-
button.btn:active,
button[type="submit"]:active,
input[type="submit"]:active,
input[type="reset"]:active {
···
margin-bottom: 1em;
}
.ql-toolbar.ql-snow {
border-color: var(--color-base-300) !important;
border-radius: 2px 2px 0 0;
···
#content.ql-container.ql-snow {
border-color: var(--color-base-300);
border-radius: 0 0 2px 2px;
}
···
width: 100%;
}
+
.btn-primary,
button[type="submit"],
input[type="submit"],
input[type="reset"] {
···
position: relative;
}
+
.btn-primary:hover,
button[type="submit"]:hover,
input[type="submit"]:hover,
input[type="reset"]:hover {
background-color: color-mix(in srgb-linear, var(--color-primary), #000000 20%);
}
+
.btn-primary:active,
button[type="submit"]:active,
input[type="submit"]:active,
input[type="reset"]:active {
···
margin-bottom: 1em;
}
+
nav ul.menu {
+
gap: 20px;
+
align-items: center;
+
}
+
+
nav ul.menu form:hover {
+
background-color: transparent;
+
border-radius: none;
+
}
+
+
nav ul.menu .search-label {
+
width: 1px;
+
height: 1px;
+
position: absolute;
+
overflow: hidden;
+
text-indent: -100px;
+
}
+
+
nav ul.menu a {
+
padding-bottom: 5px;
+
border-width: 0 0 5px 0;
+
padding: 5px 0;
+
border-color: transparent;
+
border-style: solid;
+
box-shadow: none;
+
background-color: transparent;
+
border-radius: 0;
+
}
+
+
nav ul.menu a:hover {
+
border-width: 0 0 5px 0;
+
border-color: var(--color-secondary);
+
border-style: solid;
+
}
+
.ql-toolbar.ql-snow {
border-color: var(--color-base-300) !important;
border-radius: 2px 2px 0 0;
···
#content.ql-container.ql-snow {
border-color: var(--color-base-300);
border-radius: 0 0 2px 2px;
+
}
+
+
article.card {
+
border: 1px var(--color-base-300) solid;
+
border-radius: 5px;
+
}
+
+
article.card h2 {
+
font-size: 1.1em;
+
font-weight: bold;
+
}
+
+
article.card .author {
+
font-size: .8em;
+
font-weight: normal;
+
font-style: italic;
+
}
+
+
article.card time {
+
font-size: .8em;
}
+7 -2
src/components/Navbar.astro
···
---
<nav id="main-nav" class="navbar bg-base-100">
<div class="flex-1">
-
<a href="/" class="btn btn-ghost font-display text-xl">Home</a>
</div>
<div class="flex-none">
<ul class="menu menu-horizontal px-1">
-
<li><a href="/search">Search</a></li>
<li><a href="/works">Works</a></li>
{loggedInUser
? <>
···
---
<nav id="main-nav" class="navbar bg-base-100">
<div class="flex-1">
+
<a href="/" class="font-display text-xl">Home</a>
</div>
<div class="flex-none">
<ul class="menu menu-horizontal px-1">
+
<li>
+
<form method="get">
+
<label class="label search-label" for="work-search">Search</label>
+
<input class="input" type="search" name="workSearch" id="work-search" placeholder="Search" />
+
</form>
+
</li>
<li><a href="/works">Works</a></li>
{loggedInUser
? <>
+1 -1
src/layouts/Layout.astro
···
<slot />
</div>
-
<footer class="footer sm:footer-horizontal footer-center bg-base-300 text-base-content mt-auto p-5">
copyright or something ig
</footer>
</body>
···
<slot />
</div>
+
<footer class="footer sm:footer-horizontal footer-center bg-base-300 text-base-content mt-5 p-5">
copyright or something ig
</footer>
</body>
+1 -1
src/pages/index.astro
···
<button>logout</button>
</form>
</>
-
: <a href="/login">login</a>}
</Layout>
···
<button>logout</button>
</form>
</>
+
: <a href="/login" class="btn">login</a>}
</Layout>
+1 -1
src/pages/works/add.astro
···
<label for="publish"><input type="checkbox" name="publish" id="publish" /> Publish to your PDS?</label>
</div>
<div class="input-field">
-
<button type="submit">Submit</button>
</div>
</form>
···
<label for="publish"><input type="checkbox" name="publish" id="publish" /> Publish to your PDS?</label>
</div>
<div class="input-field">
+
<button type="submit" class="btn-primary">Submit</button>
</div>
</form>
+19 -10
src/pages/works/index.astro
···
{works.map(async ({ Works, Users }) => (
<article class="card rounded-box shadow p-5">
<header>
-
<div class="flex items-center justify-between">
<hgroup class="flex-1">
<h2 class="card-title">
<a href={`/works/${Works.slug}`}>{Works.title}</a>
</h2>
-
<h3>
{Users.nickname
? Users.nickname
: await didToHandle(Users.userDid)}
-
</h3>
</hgroup>
<time datetime={Works.createdAt.toISOString()}>
{Works.createdAt.toLocaleDateString()}
</time>
</div>
-
{JSON.stringify(Works.tags)}
-
{/* <ul class="flex flex-wrap gap-1.5">
-
{(Works.tags as Tag[]).map((tag: Tag) => (
-
<li><a class="tag" href={tag.url}>{tag.label}</a></li>
-
))}
-
</ul> */}
</header>
<div class="card-body prose lg:prose-xl">
···
@reference "../../assets/styles/global.css";
.tag {
-
@apply btn btn-accent;
}
</style>
···
{works.map(async ({ Works, Users }) => (
<article class="card rounded-box shadow p-5">
<header>
+
<div class="flex items-top justify-between">
<hgroup class="flex-1">
<h2 class="card-title">
<a href={`/works/${Works.slug}`}>{Works.title}</a>
</h2>
+
<p class="author">
{Users.nickname
? Users.nickname
: await didToHandle(Users.userDid)}
+
</p>
</hgroup>
<time datetime={Works.createdAt.toISOString()}>
{Works.createdAt.toLocaleDateString()}
</time>
</div>
+
{Array.isArray(Works.tags) &&
+
<ul class="flex flex-wrap gap-1.5">
+
{(Works.tags as Tag[]).map((tag: Tag) => (
+
<li><a class="tag" href={tag.url}>{tag.label}</a></li>
+
))}
+
</ul> }
</header>
<div class="card-body prose lg:prose-xl">
···
@reference "../../assets/styles/global.css";
.tag {
+
@apply btn btn-accent;
+
padding: 3px 12px;
+
border-radius: 12px;
+
height: auto;
+
line-height: 1;
+
}
+
+
.card-body {
+
padding-left: 0;
+
padding-right: 0;
}
</style>