Adds page titles, edits heading hierarchy

### Main Pages + General
- Adds H1 page titles for all main pages
- Moves the New Crawl Config action into the title row from the search controls box
- Gives the Crawl Config search controls box the same style as the Crawls search controls box
- Adds +8px of padding to the search controls box to match mockups
- Search box: medium → small
- Title row control buttons: medium → small

### Details Pages
- h2 → h1 for crawl config and crawl detail pages
- h3 → h2 for crawl config and crawl detail pages
- Removes crawl title margin bottom at medium breakpoint on crawl details page
- Aligns crawl config details title row controls with end of flexbox on mobile to match crawl details controls in the same spot
This commit is contained in:
Henry Wilkinson 2023-02-24 00:02:49 -05:00
parent fff74ee754
commit 7f3cdad5b9
6 changed files with 36 additions and 22 deletions

View File

@ -43,15 +43,19 @@ export class BrowserProfilesList extends LiteElement {
} }
render() { render() {
return html`<header class="mb-3 text-right"> return html`<header>
<div class="flex justify-between w-full h-8 mb-4">
<h1 class="text-xl font-semibold">${msg("Browser Profiles")}</h1>
<sl-button <sl-button
href=${`/orgs/${this.orgId}/browser-profiles?new`} href=${`/orgs/${this.orgId}/browser-profiles?new`}
variant="primary" variant="primary"
size="small"
@click=${this.navLink} @click=${this.navLink}
> >
<sl-icon slot="prefix" name="plus-lg"></sl-icon> <sl-icon slot="prefix" name="plus-lg"></sl-icon>
${msg("New Browser Profile")} ${msg("New Browser Profile")}
</sl-button> </sl-button>
</div>
</header> </header>
${this.renderTable()} ${this.renderTable()}

View File

@ -108,7 +108,7 @@ export class CrawlTemplatesDetail extends LiteElement {
` `
)} )}
</h2> </h2>
<div class="flex-0 flex"> <div class="flex-0 flex justify-end">
${when( ${when(
this.crawlConfig && !this.crawlConfig.inactive, this.crawlConfig && !this.crawlConfig.inactive,
() => html` () => html`

View File

@ -109,9 +109,23 @@ export class CrawlTemplatesList extends LiteElement {
render() { render() {
return html` return html`
<div class="sticky z-10 mb-2 top-0 py-2 bg-neutral-0"> <header class="contents">
<div class="flex justify-between w-full h-8 mb-4">
<h1 class="text-xl font-semibold">${msg("Crawl Configs")}</h1>
<sl-button
href=${`/orgs/${this.orgId}/crawl-configs?new&jobType=`}
variant="primary"
size="small"
@click=${this.navLink}
>
<sl-icon slot="prefix" name="plus-lg"></sl-icon>
${msg("New Crawl Config")}
</sl-button>
</div>
<div class="sticky z-10 mb-3 top-2 p-4 bg-neutral-50 border rounded-lg">
${this.renderControls()} ${this.renderControls()}
</div> </div>
</header>
${this.crawlTemplates ${this.crawlTemplates
? this.crawlTemplates.length ? this.crawlTemplates.length
@ -158,6 +172,7 @@ export class CrawlTemplatesList extends LiteElement {
<sl-input <sl-input
class="w-full" class="w-full"
slot="trigger" slot="trigger"
size="small"
placeholder=${msg("Search by name")} placeholder=${msg("Search by name")}
clearable clearable
?disabled=${!this.crawlTemplates?.length} ?disabled=${!this.crawlTemplates?.length}
@ -166,17 +181,6 @@ export class CrawlTemplatesList extends LiteElement {
<sl-icon name="search" slot="prefix"></sl-icon> <sl-icon name="search" slot="prefix"></sl-icon>
</sl-input> </sl-input>
</div> </div>
<div class="grow-0 mb-4">
<sl-button
href=${`/orgs/${this.orgId}/crawl-configs?new&jobType=`}
variant="primary"
@click=${this.navLink}
>
<sl-icon slot="prefix" name="plus-lg"></sl-icon>
${msg("New Crawl Config")}
</sl-button>
</div>
</div> </div>
<div class="flex flex-wrap items-center justify-between"> <div class="flex flex-wrap items-center justify-between">

View File

@ -343,7 +343,7 @@ export class CrawlDetail extends LiteElement {
private renderHeader() { private renderHeader() {
return html` return html`
<header class="md:flex justify-between items-end"> <header class="md:flex justify-between items-end">
<h2 class="text-xl font-semibold mb-3 md:mr-2"> <h1 class="text-xl font-semibold mb-4 md:mb-0 md:mr-2">
${msg( ${msg(
html`${this.crawl html`${this.crawl
? this.crawl.configName ? this.crawl.configName
@ -352,7 +352,7 @@ export class CrawlDetail extends LiteElement {
style="width: 15em" style="width: 15em"
></sl-skeleton>`}` ></sl-skeleton>`}`
)} )}
</h2> </h1>
<div <div
class="grid gap-2 grid-flow-col ${this.isActive class="grid gap-2 grid-flow-col ${this.isActive
? "justify-between" ? "justify-between"
@ -520,7 +520,7 @@ export class CrawlDetail extends LiteElement {
private renderPanel(title: any, content: any) { private renderPanel(title: any, content: any) {
return html` return html`
<h3 class="flex-0 text-lg font-semibold mb-2">${title}</h3> <h2 class="flex-0 text-lg font-semibold mb-2">${title}</h2>
<div class="flex-1 rounded-lg border p-5">${content}</div> <div class="flex-1 rounded-lg border p-5">${content}</div>
`; `;
} }

View File

@ -217,10 +217,15 @@ export class CrawlsList extends LiteElement {
return html` return html`
<main> <main>
<header <header class="contents">
class="sticky z-10 mb-3 top-2 p-2 bg-neutral-50 border rounded-lg" <div class="flex w-full h-8 mb-4">
<h1 class="text-xl font-semibold">${msg("Crawls")}</h1>
</div>
<div
class="sticky z-10 mb-3 top-2 p-4 bg-neutral-50 border rounded-lg"
> >
${this.renderControls()} ${this.renderControls()}
</div>
</header> </header>
<section> <section>
${this.crawls.length ${this.crawls.length
@ -261,6 +266,7 @@ export class CrawlsList extends LiteElement {
<div class="col-span-1 md:col-span-2 lg:col-span-1"> <div class="col-span-1 md:col-span-2 lg:col-span-1">
<sl-input <sl-input
class="w-full" class="w-full"
size="small"
slot="trigger" slot="trigger"
placeholder=${msg("Search by Crawl Config name or ID")} placeholder=${msg("Search by Crawl Config name or ID")}
clearable clearable

View File

@ -103,7 +103,7 @@ export class OrgSettings extends LiteElement {
render() { render() {
return html`<header class="mb-5"> return html`<header class="mb-5">
<h2 class="text-xl font-semibold leading-10">${msg("Org Settings")}</h2> <h1 class="text-xl font-semibold leading-8">${msg("Org Settings")}</h1>
</header> </header>
<btrix-tab-list activePanel=${this.activePanel} ?hideIndicator=${true}> <btrix-tab-list activePanel=${this.activePanel} ?hideIndicator=${true}>