Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/components/ToolLayout.astro
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ const {
<h3>More s17 Labs Tools</h3>
<p>Discover more free, browser-based utilities designed for creators and developers.</p>
<a href={SITE.toolsUrl} class="more-tools-btn">
<Icon name="arrow-left" /> View More Tools
<Icon name="arrow-left" />View More Tools
</a>
</div>
</div>
Expand Down
10 changes: 8 additions & 2 deletions src/pages/design.astro
Original file line number Diff line number Diff line change
Expand Up @@ -333,6 +333,12 @@ const textFonts = [
<a href="/tools/" class="link-ghost link-icon"><Icon name="toolbox" /> Ghost + icon</a>
</p>
</div>
<div class="ds-demo">
<small>.link-secondary-permanent — privacy/terms links</small>
<p class="ds-body-sample">
<a href="/tools/" class="link-secondary-permanent">Permanent underline</a>
</p>
</div>
<div class="ds-demo">
<small>.tool-item icon variants — glyph · artwork · emoji</small>
<div style="display:flex;gap:0.6rem;align-items:center;">
Expand Down Expand Up @@ -402,8 +408,8 @@ const textFonts = [
</div>
<div class="ds-demo">
<small>.dl-all-btn · .more-tools-btn · .android-btn (icon-maker)</small>
<button type="button" class="dl-all-btn"><Icon name="download" /> Download All</button>
<div><a href="/tools/" class="more-tools-btn"><Icon name="arrow-left" /> View More Tools</a></div>
<button type="button" class="dl-all-btn"><Icon name="download" />Download All</button>
<div><a href="/tools/" class="more-tools-btn"><Icon name="arrow-left" />View More Tools</a></div>
<button type="button" class="android-btn">
<span style="font-size:1.05rem;display:inline-flex;"><Icon name="android" /></span>
<span><span class="android-label">Export Android Package</span><span class="android-sub"> · .zip</span></span>
Expand Down
4 changes: 2 additions & 2 deletions src/pages/index.astro
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,10 @@ import '../styles/tool.css';
<p>At <b>s17 Labs</b>, we prioritize efficiency and performance in every line of code. Our <a href={SITE.projectsUrl} class="link-ghost">projects</a> focus on full-stack development, browser-level optimization, and creating superior ways to interact with digital content.</p>
<div class="card-link">
<a href={SITE.orgUrl} class="github-link" target="_blank" rel="noopener noreferrer">
<Icon name="github" /> GitHub
<Icon name="github" />GitHub
</a>
<a href={SITE.toolsUrl} class="github-link">
<Icon name="toolbox" /> s17 Labs Tools
<Icon name="toolbox" />s17 Labs Tools
</a>
</div>
</div>
Expand Down
6 changes: 3 additions & 3 deletions src/pages/privacy.astro
Original file line number Diff line number Diff line change
Expand Up @@ -61,12 +61,12 @@ const description =
<h2>Questions</h2>
<p>
Something unclear? Reach out on
<a href={SITE.orgUrl} target="_blank" rel="noopener noreferrer" style="text-decoration:underline;">GitHub</a>
or <a href={SITE.socials.x.url} target="_blank" rel="noopener noreferrer" style="text-decoration:underline;">X</a>.
<a href={SITE.orgUrl} target="_blank" rel="noopener noreferrer" class="link-secondary-permanent">GitHub</a>
or <a href={SITE.socials.x.url} target="_blank" rel="noopener noreferrer" class="link-secondary-permanent">X</a>.
</p>
<p>
Canonical text:
<a href="https://github.com/s17labs/s17labs.github.io/blob/main/docs/PRIVACY.md" target="_blank" rel="noopener noreferrer" style="text-decoration:underline;">docs/PRIVACY.md</a>.
<a href="https://github.com/s17labs/s17labs.github.io/blob/main/docs/PRIVACY.md" target="_blank" rel="noopener noreferrer" class="link-secondary-permanent">docs/PRIVACY.md</a>.
</p>
</section>
</div>
Expand Down
8 changes: 4 additions & 4 deletions src/pages/terms.astro
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ const description = 'Terms of use for the s17 Labs website and browser tools.';
<p>
The site, the tools, and the s17 Labs name and artwork belong to s17
Labs. Open-source projects under the
<a href={SITE.orgUrl} target="_blank" rel="noopener noreferrer" style="text-decoration:underline;">s17labs org</a>
<a href={SITE.orgUrl} target="_blank" rel="noopener noreferrer" class="link-secondary-permanent">s17labs org</a>
carry their own licenses — check each repo.
</p>
</section>
Expand All @@ -60,12 +60,12 @@ const description = 'Terms of use for the s17 Labs website and browser tools.';
<p>
These terms may change as the site grows; continued use means you
accept the current version. Questions? Reach out on
<a href={SITE.orgUrl} target="_blank" rel="noopener noreferrer" style="text-decoration:underline;">GitHub</a>
or <a href={SITE.socials.x.url} target="_blank" rel="noopener noreferrer" style="text-decoration:underline;">X</a>.
<a href={SITE.orgUrl} target="_blank" rel="noopener noreferrer" class="link-secondary-permanent">GitHub</a>
or <a href={SITE.socials.x.url} target="_blank" rel="noopener noreferrer" class="link-secondary-permanent">X</a>.
</p>
<p>
Canonical text:
<a href="https://github.com/s17labs/s17labs.github.io/blob/main/docs/TERMS.md" target="_blank" rel="noopener noreferrer" style="text-decoration:underline;">docs/TERMS.md</a>.
<a href="https://github.com/s17labs/s17labs.github.io/blob/main/docs/TERMS.md" target="_blank" rel="noopener noreferrer" class="link-secondary-permanent">docs/TERMS.md</a>.
</p>
</section>
</div>
Expand Down
4 changes: 2 additions & 2 deletions src/pages/tools/icon-maker.astro
Original file line number Diff line number Diff line change
Expand Up @@ -227,8 +227,8 @@ const tagline =
</div>

<div class="export-row">
<button type="button" class="btn export-btn" data-fmt="svg"><span class="btn-fmt">SVG</span> Export</button>
<button type="button" class="btn export-btn" data-fmt="png"><span class="btn-fmt">PNG</span> Export</button>
<button type="button" class="btn export-btn" data-fmt="svg"><span class="btn-fmt">SVG</span>Export</button>
<button type="button" class="btn export-btn" data-fmt="png"><span class="btn-fmt">PNG</span>Export</button>
</div>
<div class="status-msg error" id="export-error" role="alert" aria-atomic="true">
Enter a valid icon, text, or emoji first.
Expand Down
14 changes: 3 additions & 11 deletions src/pages/tools/image-resizer.astro
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ const tagline = 'Batch resize images directly in your browser — your data neve
<div class="dz-filled-meta">
<span id="dz-count-label" role="status" aria-live="polite"></span>
<button type="button" class="dz-change" id="dz-change-btn">
<Icon name="plus" /> Add / Change
<Icon name="plus" />Add / Change
</button>
</div>
</div>
Expand Down Expand Up @@ -58,7 +58,7 @@ const tagline = 'Batch resize images directly in your browser — your data neve
</div>
</div>
<button type="button" class="btn" id="resize-btn" disabled>
<Icon name="scissors" /> Resize Images
<Icon name="scissors" />Resize Images
</button>
</div>

Expand Down Expand Up @@ -175,13 +175,5 @@ const tagline = 'Batch resize images directly in your browser — your data neve
color: var(--primary-text);
}

/* Resize button idle state */
.btn:not(.ready):not(:disabled) {
color: var(--accent);
}

.btn:not(.ready):not(:disabled):hover {
background: var(--accent);
color: var(--primary);
}
/* Resize button uses the shared .btn treatment (no accent idle state) */
</style>
2 changes: 1 addition & 1 deletion src/pages/tools/svg-to-png.astro
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ const tagline = 'Convert SVG vectors to transparent PNG files locally — batch
<div class="dz-filled-meta">
<span id="dz-count-label" role="status" aria-live="polite"></span>
<button type="button" class="dz-change" id="dz-change-btn">
<Icon name="plus" /> Add / Change
<Icon name="plus" />Add / Change
</button>
</div>
</div>
Expand Down
1 change: 0 additions & 1 deletion src/scripts/tools/image-resizer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,6 @@ function addFiles(newFiles: File[]): void {
renderUploadPreview();
clearResults();
resizeBtn.disabled = false;
resizeBtn.classList.add('ready');
}

// ── Upload preview grid ────────────────────────────────────────────────────
Expand Down
4 changes: 2 additions & 2 deletions src/scripts/tools/lib.ts
Original file line number Diff line number Diff line change
Expand Up @@ -333,7 +333,7 @@ export function makeResultItem({
const dlBtn = document.createElement('button');
dlBtn.className = 'result-dl';
dlBtn.type = 'button';
dlBtn.innerHTML = `${downloadIconHtml} Save`;
dlBtn.innerHTML = `${downloadIconHtml}Save`;
dlBtn.addEventListener('click', onDownload);

item.append(thumb, info, dlBtn);
Expand All @@ -354,7 +354,7 @@ export function makePlaceholderItem(opts: {
<div class="result-name"></div>
<div class="result-meta">${opts.statusHtml}</div>
</div>
<button class="result-dl" disabled>${opts.downloadIconHtml} Save</button>`;
<button class="result-dl" disabled>${opts.downloadIconHtml}Save</button>`;
item.querySelector('.result-name')!.textContent = opts.fileName;
return item;
}
Expand Down
1 change: 0 additions & 1 deletion src/scripts/tools/svg-to-png.ts
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,6 @@ function addFiles(newFiles: File[]): void {
renderUploadPreview();
clearResults();
convertBtn.disabled = false;
convertBtn.classList.add('ready');
}

function renderUploadPreview(): void {
Expand Down
19 changes: 15 additions & 4 deletions src/styles/global.css
Original file line number Diff line number Diff line change
Expand Up @@ -266,8 +266,17 @@ a:focus-visible {
}

.github-link:hover {
background: var(--accent);
color: var(--primary);
background: var(--accent-dim);
border-color: var(--accent);
color: var(--primary-text);
}

/* GitHub-link icons stay aligned with the label and inherit its color */
.github-link svg {
flex-shrink: 0;
display: inline-flex;
align-items: center;
color: inherit;
}

/* ═══════════════════════════════════════════════════
Expand Down Expand Up @@ -445,8 +454,10 @@ a:focus-visible {
press still speak in accent, like every other bar control. */
.search-fab {
position: fixed;
top: max(1.15rem, env(safe-area-inset-top));
right: max(1.15rem, env(safe-area-inset-right));
/* Match the topbar's hamburger button: centered in the 3.75rem bar
(center at 1.875rem) and inset to the 900px page column's right edge. */
top: max(0.675rem, env(safe-area-inset-top));
right: calc(max(0px, (100vw - 900px) / 2) + max(1.25rem, env(safe-area-inset-right)));
z-index: 40;
display: inline-flex;
align-items: center;
Expand Down
Loading
Loading