Rebrand to Plebeian Signer with updated colors and UI improvements

- Fix project name from "Plebian" to "Plebeian" throughout codebase
- Replace gooti logo with Plebeian Market logo across all screens
- Update color scheme to match Plebeian Market (pink accent #ff3eb5)
- Add IBM Plex Mono fonts and Reglisse heading font
- Center vault create/import screen content vertically
- Reduce spacing on sync preference screen to prevent scrolling
- Add Enter key support on vault login password field
- Update options page with new logo and color scheme
- Bump version to 0.0.5

Files modified:
- package.json (version bump, name fix)
- projects/*/public/{logo.svg,options.html,manifest.json}
- projects/*/src/app/components/vault-*/*.{html,scss}
- projects/*/src/app/components/welcome/*.html
- projects/common/src/lib/styles/*.scss
- Various component files for branding updates

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2025-12-17 11:47:38 +01:00
parent 3c63e6555c
commit fe886d2101
64 changed files with 378 additions and 100 deletions

View File

@@ -0,0 +1,14 @@
{
"permissions": {
"allow": [
"Bash(sudo tee:*)",
"Bash(sudo apt install:*)",
"Bash(sudo sed:*)",
"Bash(sudo systemctl enable:*)",
"Bash(sudo systemctl start:*)",
"Bash(sudo tlp start:*)",
"Bash(chown:*)",
"Bash(find:*)"
]
}
}

View File

@@ -4,7 +4,7 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
## Project Overview
Plebian Signer is a browser extension for managing multiple Nostr identities and signing events without exposing private keys to web applications. It implements NIP-07 (window.nostr interface) with support for NIP-04 and NIP-44 encryption.
Plebeian Signer is a browser extension for managing multiple Nostr identities and signing events without exposing private keys to web applications. It implements NIP-07 (window.nostr interface) with support for NIP-04 and NIP-44 encryption.
## Build Commands

View File

@@ -1,8 +1,8 @@
# Plebian Signer
# Plebeian Signer
## Nostr Identity Manager & Signer
Plebian Signer is a browser extension for managing multiple [Nostr](https://github.com/nostr-protocol/nostr) identities and for signing events on web apps without having to give them your keys.
Plebeian Signer is a browser extension for managing multiple [Nostr](https://github.com/nostr-protocol/nostr) identities and for signing events on web apps without having to give them your keys.
It implements these mandatory [NIP-07](https://github.com/nostr-protocol/nips/blob/master/07.md) methods:

0
chrome_prepare_manifest.sh Normal file → Executable file
View File

0
firefox_prepare_manifest.sh Normal file → Executable file
View File

View File

@@ -1,12 +1,12 @@
{
"name": "plebian-signer",
"version": "0.0.4",
"name": "plebeian-signer",
"version": "0.0.5",
"custom": {
"chrome": {
"version": "0.0.4"
"version": "0.0.5"
},
"firefox": {
"version": "0.0.4"
"version": "0.0.5"
}
},
"scripts": {

View File

@@ -1 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" id="Origami-Paper-Bird--Streamline-Cyber.svg" height="24" width="24"><desc>Origami Paper Bird Streamline Icon: https://streamlinehq.com</desc><path fill="#ffffff" d="M4.66378 6.62012 0.751282 10.9774H6.11588l0.5042 7.3802 11.73752 4.8911L9.55488 9.01202l-4.8911 -2.3919Z" stroke-width="1"></path><path fill="#ffffff" d="M18.8423 0.751343 9.55499 9.01194l5.32571 8.61246L18.8423 0.751343Z" stroke-width="1"></path><path fill="#bbd8ff" d="m9.555 9.01187 -1.4675 -0.7178 -1.7681 5.66933 0.3007 4.3942L9.555 9.01187Z" stroke-width="1"></path><path fill="#bbd8ff" d="m4.66378 6.62012 1.4521 4.35728H0.751282L4.66378 6.62012Z" stroke-width="1"></path><path fill="#bbd8ff" d="m15.3767 18.4282 7.872 -15.23167 -5.5814 2.5565 -2.7866 11.87137 0.496 0.8038Z" stroke-width="1"></path><path stroke="#092f63" stroke-linejoin="round" stroke-miterlimit="10" d="m9.55488 9.01202 -4.8911 -2.3919L0.751282 10.9774H6.11588l0.5042 7.3802 11.73752 4.8911L9.55488 9.01202Z" stroke-width="1"></path><path stroke="#092f63" stroke-linejoin="round" stroke-miterlimit="10" d="M9.55499 9.01194 18.8423 0.751343 14.8807 17.6244" stroke-width="1"></path><path stroke="#092f63" stroke-linejoin="round" stroke-miterlimit="10" d="m17.6673 5.75303 5.5814 -2.5565 -7.872 15.23167" stroke-width="1"></path><path stroke="#092f63" stroke-linejoin="round" stroke-miterlimit="10" d="m4.66382 6.62012 1.4521 4.35728" stroke-width="1"></path><path stroke="#092f63" stroke-linejoin="round" stroke-miterlimit="10" d="m6.62109 18.3564 2.9338 -9.34456" stroke-width="1"></path></svg>
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" id="Origami-Paper-Bird--Streamline-Cyber.svg" height="24" width="24"><desc>Origami Paper Bird Streamline Icon: https://streamlinehq.com</desc><path fill="#ffffff" d="M4.66378 6.62012 0.751282 10.9774H6.11588l0.5042 7.3802 11.73752 4.8911L9.55488 9.01202l-4.8911 -2.3919Z" stroke-width="1"></path><path fill="#ffffff" d="M18.8423 0.751343 9.55499 9.01194l5.32571 8.61246L18.8423 0.751343Z" stroke-width="1"></path><path fill="#ff3eb5" d="m9.555 9.01187 -1.4675 -0.7178 -1.7681 5.66933 0.3007 4.3942L9.555 9.01187Z" stroke-width="1"></path><path fill="#ff3eb5" d="m4.66378 6.62012 1.4521 4.35728H0.751282L4.66378 6.62012Z" stroke-width="1"></path><path fill="#ff3eb5" d="m15.3767 18.4282 7.872 -15.23167 -5.5814 2.5565 -2.7866 11.87137 0.496 0.8038Z" stroke-width="1"></path><path stroke="#0a0a0a" stroke-linejoin="round" stroke-miterlimit="10" d="m9.55488 9.01202 -4.8911 -2.3919L0.751282 10.9774H6.11588l0.5042 7.3802 11.73752 4.8911L9.55488 9.01202Z" stroke-width="1"></path><path stroke="#0a0a0a" stroke-linejoin="round" stroke-miterlimit="10" d="M9.55499 9.01194 18.8423 0.751343 14.8807 17.6244" stroke-width="1"></path><path stroke="#0a0a0a" stroke-linejoin="round" stroke-miterlimit="10" d="m17.6673 5.75303 5.5814 -2.5565 -7.872 15.23167" stroke-width="1"></path><path stroke="#0a0a0a" stroke-linejoin="round" stroke-miterlimit="10" d="m4.66382 6.62012 1.4521 4.35728" stroke-width="1"></path><path stroke="#0a0a0a" stroke-linejoin="round" stroke-miterlimit="10" d="m6.62109 18.3564 2.9338 -9.34456" stroke-width="1"></path></svg>

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@@ -0,0 +1,3 @@
<svg width="43" height="43" viewBox="0 0 43 43" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M31.2064 12.9191C31.3447 12.8199 31.4775 12.7215 31.595 12.6294C31.748 12.5094 31.8889 12.3754 32.0266 12.2416C32.4058 11.8741 32.7385 11.4741 33.021 11.0453C33.7824 9.89014 34.214 8.86051 34.4639 7.6027C34.7671 6.0762 34.6324 4.70972 34.0634 3.54162C33.8094 3.02046 33.4264 2.55769 32.9381 2.28503C32.5761 2.08299 32.1384 2 31.7457 2C31.3933 2 31.0597 2.08818 30.7542 2.26196C29.8711 2.76416 29.404 3.33897 28.8956 4.16212C28.7818 4.34644 28.4942 4.86149 28.185 5.45326C28.0437 5.72362 27.7976 6.2272 27.5991 6.63557L27.5022 6.83578C27.1678 7.52643 26.7099 8.47231 26.1436 9.37999C25.9043 9.7636 25.6451 10.14 25.3862 10.4804C24.5789 8.3612 23.1567 5.81364 21.4751 4.76077C19.2411 3.36174 16.4504 3.51656 13.3867 5.18794C13.3754 5.16058 13.3621 5.13429 13.347 5.10938C13.1827 4.83887 12.8915 4.68986 12.527 4.68986C12.1046 4.68986 11.645 4.88594 11.2975 5.21423C11.0225 5.47435 10.8231 5.81088 10.7502 6.13718C10.686 6.42497 10.7482 6.66369 10.922 6.82172C9.69105 7.7835 8.67196 8.83055 7.89083 9.93584C6.69461 11.6288 6.60872 13.5106 6.68254 15.1283C6.76522 16.9388 7.30487 18.5889 7.8757 20.1023C7.99598 20.4215 8.13231 20.7669 8.3044 21.1891C8.40389 21.4328 8.60471 21.858 8.83198 21.9674C8.90885 22.0047 9.00834 22.0228 9.13596 22.0228C9.20107 22.0228 9.39944 21.9784 9.63068 21.8826C9.65758 21.8716 9.68478 21.8595 9.7126 21.8472L9.62105 22.2351L9.48916 22.7952L5 41.4206L15.1993 41.462L16.3119 33.32H22.3202C30.5538 33.32 37.1554 27.6991 37.1554 19.805C37.1554 16.036 34.932 13.7975 31.2064 12.9191ZM26.5111 26.1283C26.3257 27.1618 25.3243 27.9469 23.3586 27.9469H17.6099L18.3888 24.723H24.1374C25.584 24.7232 26.6595 25.0539 26.5111 26.1283ZM23.7121 15.2511L23.4773 15.3247C22.9068 15.5037 22.1975 15.7259 21.0558 16.1422L21.0406 16.1424L21.0207 16.1551C20.2607 16.4325 19.4338 16.7499 18.4939 17.1252C18.3646 17.1768 18.2379 17.2284 18.1144 17.2796C17.7641 17.425 17.4218 17.5747 17.0959 17.7251L17.0157 17.7623C16.907 17.8131 16.8054 17.8613 16.7111 17.907C16.5539 17.9834 16.4165 18.0525 16.2986 18.1142C16.2017 18.1627 14.2919 19.1472 13.1072 19.7445C13.7122 19.1922 16.608 17.3582 18.4933 16.0942C18.2401 15.1639 17.8977 14.132 17.4938 13.0892C17.2751 12.5241 17.0449 11.9717 16.806 11.4385C16.6741 11.1437 16.2091 9.94898 15.2451 8.7792C14.9286 8.39498 14.5114 8.0077 14.024 7.67162C13.7052 7.45185 13.308 7.20365 12.8571 7.06427C13.137 6.8772 13.5599 6.62227 13.6153 6.58896C15.2441 5.60563 16.777 5.10755 18.1777 5.10755C19.1217 5.10755 20.0024 5.34108 20.7951 5.80171C20.8961 5.86056 21.0033 5.92887 21.1231 6.01079L21.1705 6.04288C21.2671 6.11044 21.3662 6.18517 21.4659 6.26541L21.5205 6.31004C21.6213 6.39333 21.7127 6.47326 21.8004 6.55518L21.8408 6.59385C21.9397 6.68784 22.0282 6.77633 22.1087 6.86207L22.1205 6.8746C22.2027 6.96233 22.2878 7.05892 22.3887 7.17874L22.4222 7.21863C22.5032 7.31629 22.5817 7.4167 22.6586 7.51849L22.7031 7.57824C22.7801 7.68217 22.8556 7.78808 22.9291 7.89644L22.9594 7.94214C23.033 8.05172 23.1053 8.16298 23.1767 8.27837L23.1876 8.29549C23.2595 8.4121 23.3292 8.53054 23.3977 8.65036L23.4313 8.70936C23.4972 8.82566 23.5615 8.94365 23.6245 9.06286L23.6584 9.12781C23.7219 9.24901 23.7841 9.37097 23.845 9.49507L23.8655 9.53725C23.9265 9.66196 23.9863 9.78775 24.0449 9.91414L24.0555 9.93691C24.1152 10.0662 24.1735 10.1961 24.2309 10.3269L24.2569 10.3856C24.3124 10.5128 24.3668 10.6401 24.42 10.7666L24.4458 10.8287C24.5002 10.9591 24.554 11.0894 24.6115 11.2323L24.6566 11.3454C24.3775 11.6471 24.1457 11.8967 23.823 12.2189C23.5323 12.5091 22.1914 13.7093 20.927 14.7534C20.597 15.0259 20.3073 15.2812 20.3073 15.3874C20.3074 15.4585 20.7283 15.3162 21.3066 15.0201C21.5088 14.9248 21.7326 14.8302 21.9501 14.7001C22.9672 14.0921 24.0249 13.2482 24.3008 13.0153C24.7506 12.6356 25.1635 12.2662 25.5649 11.8227C25.6523 11.7261 25.7368 11.6309 25.8173 11.5372C25.9949 11.3314 26.1748 11.1078 26.3672 10.8542C26.6355 10.5007 26.8789 10.1484 27.1125 9.77491C27.263 9.5345 27.408 9.28829 27.5612 9.01181L27.5615 9.01197L27.567 9.00249C27.6746 8.81558 27.7805 8.62637 27.8864 8.43716L28.0229 8.19294C28.1279 8.00358 28.2323 7.81299 28.3365 7.62134L28.4861 7.34487C28.6704 7.00374 28.8546 6.66002 29.0403 6.31309L29.182 6.04885C29.7066 5.07026 30.5868 3.51625 31.8296 3.43235C32.2689 3.4027 32.7077 3.74887 32.8668 3.96023C33.1947 4.39581 33.4487 5.04794 33.5264 5.5202C33.6395 6.20764 33.619 6.83823 33.4585 7.62852C33.4191 7.82262 33.2956 8.34745 33.0022 9.02863C32.7556 9.60052 32.4478 10.1486 32.0876 10.6571C31.2967 11.774 29.5911 12.9945 27.7424 13.7667C26.9773 14.0869 25.0909 14.767 23.7121 15.2511Z" fill="#FF3EB5"/>
</svg>

After

Width:  |  Height:  |  Size: 4.6 KiB

View File

@@ -1,8 +1,8 @@
{
"manifest_version": 3,
"name": "Plebian Signer - Nostr Identity Manager & Signer",
"name": "Plebeian Signer - Nostr Identity Manager & Signer",
"description": "Manage and switch between multiple identities while interacting with Nostr apps",
"version": "0.0.4",
"version": "0.0.5",
"homepage_url": "https://git.mleku.dev/mleku/plebeian-signer",
"options_page": "options.html",
"permissions": [
@@ -11,7 +11,14 @@
],
"action": {
"default_popup": "index.html",
"default_icon": "gooti-with-bg.png"
"default_icon": {
"48": "icon-48.png",
"128": "icon-128.png"
}
},
"icons": {
"48": "icon-48.png",
"128": "icon-128.png"
},
"background": {
"service_worker": "background.js"

View File

@@ -2,7 +2,7 @@
<html data-bs-theme="dark">
<head>
<title>Plebian Signer - Options</title>
<title>Plebeian Signer - Options</title>
<link rel="stylesheet" type="text/css" href="styles.css" />
<script src="scripts.js"></script>
<style>
@@ -35,7 +35,7 @@
height: 60px;
width: 60px;
border-radius: 100%;
border: 2px solid var(--primary);
border: 2px solid var(--secondary);
img {
height: 100%;
@@ -47,7 +47,7 @@
font-weight: 700;
font-size: 1.5rem;
letter-spacing: 4px;
color: #b9d6ff;
color: var(--secondary);
}
.main-header {
@@ -64,8 +64,8 @@
line-height: 1.4;
.accent {
color: #d63384;
border: 1px solid #d63384;
color: var(--secondary);
border: 1px solid var(--secondary);
border-radius: 4px;
padding: 2px 4px;
}
@@ -102,9 +102,9 @@
<div class="page">
<div class="container sam-flex-row gap" style="margin-top: 16px">
<div class="logo">
<img src="gooti.svg" alt="" />
<img src="logo.svg" alt="" />
</div>
<span class="brand-name">Plebian Signer</span>
<span class="brand-name">Plebeian Signer</span>
<span>OPTIONS</span>
</div>

View File

@@ -2,7 +2,7 @@
<html data-bs-theme="dark">
<head>
<title>Plebian Signer</title>
<title>Plebeian Signer</title>
<link rel="stylesheet" type="text/css" href="styles.css" />
<script src="scripts.js"></script>
<style>

View File

@@ -14,7 +14,7 @@ export class AppComponent implements OnInit {
readonly #logger = inject(LoggerService);
ngOnInit(): void {
this.#logger.initialize('Plebian Signer Chrome Extension');
this.#logger.initialize('Plebeian Signer Chrome Extension');
this.#startup.startOver(getNewStorageServiceConfig());
}

View File

@@ -25,18 +25,20 @@
justify-content: center;
font-size: 24px;
color: gray;
color: var(--muted-foreground);
border-top: 3px solid transparent;
transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
cursor: pointer;
&:hover {
background: var(--background-light-hover);
color: var(--foreground);
}
&.active {
color: #ffffff;
border-top: 3px solid #0d6efd;
color: var(--foreground);
border-top: 3px solid var(--primary);
}
}
}

View File

@@ -1,5 +1,5 @@
<div class="sam-text-header">
<span> Plebian Signer </span>
<span> Plebeian Signer </span>
</div>
<span>Version {{ version }}</span>

View File

@@ -81,7 +81,7 @@ export class SettingsComponent extends NavComponent implements OnInit {
const jsonVault = this.#storage.exportVault();
const dateTimeString = DateHelper.dateToISOLikeButLocal(new Date());
const fileName = `Plebian Signer Chrome - Vault Export - ${dateTimeString}.json`;
const fileName = `Plebeian Signer Chrome - Vault Export - ${dateTimeString}.json`;
this.#downloadJson(jsonVault, fileName);
}

View File

@@ -1,12 +1,10 @@
<div class="sam-text-header">
<span>Plebian Signer</span>
</div>
<div class="vertically-centered">
<div class="sam-flex-column center">
<div class="sam-flex-column gap" style="align-items: center">
<span class="title">Plebeian Signer</span>
<div class="logo-frame">
<img src="gooti.svg" height="120" width="120" alt="" />
<img src="logo.svg" height="120" width="120" alt="" />
</div>
<button

View File

@@ -10,6 +10,17 @@
align-items: center;
}
.title {
font-size: 20px;
font-weight: 500;
margin-bottom: var(--size);
}
.logo-frame {
border: 2px solid var(--secondary);
border-radius: 100%;
}
.file-input {
position: absolute;
visibility: hidden;

View File

@@ -1,11 +1,11 @@
<div class="sam-text-header">
<span>Plebian Signer</span>
<span>Plebeian Signer</span>
</div>
<div class="content">
<div class="sam-flex-column gap" style="align-items: center">
<div class="logo-frame">
<img src="gooti.svg" height="120" width="120" alt=""/>
<img src="logo.svg" height="120" width="120" alt=""/>
</div>
<span class="sam-mt-2"> Please define a password for your vault. </span>

View File

@@ -42,7 +42,7 @@
}
.logo-frame {
border: 2px solid #0d6efd;
border: 2px solid var(--secondary);
border-radius: 100%;
}
}

View File

@@ -1,11 +1,11 @@
<div class="sam-text-header">
<span class="brand">Plebian Signer</span>
<span class="brand">Plebeian Signer</span>
</div>
<div class="content-login-vault">
<div class="sam-flex-column gap" style="align-items: center">
<div class="logo-frame">
<img src="gooti.svg" height="120" width="120" alt="" />
<img src="logo.svg" height="120" width="120" alt="" />
</div>
<div class="sam-mt-2 input-group">
@@ -15,6 +15,7 @@
class="form-control"
placeholder="vault password"
[(ngModel)]="loginPassword"
(keyup.enter)="loginPassword && loginVault()"
/>
<button
class="btn btn-outline-secondary"

View File

@@ -5,7 +5,7 @@
justify-items: center;
.logo-frame {
border: 2px solid #0d6efd;
border: 2px solid var(--secondary);
border-radius: 100%;
}

View File

@@ -1,9 +1,9 @@
<div class="sam-text-header sam-mb-2">
<span>Plebian Signer Setup - Sync Preference</span>
<div class="sam-text-header sam-mb-h">
<span>Plebeian Signer Setup - Sync Preference</span>
</div>
<span class="sam-text-muted sam-text-md sam-text-align-center2">
Plebian Signer always encrypts sensitive data like private keys and site permissions
Plebeian Signer always encrypts sensitive data like private keys and site permissions
independent of the chosen sync mode.
</span>
@@ -22,7 +22,7 @@
<span> Sync ON</span>
</button>
<span class="sam-mt-2 sam-text-lg">Offline</span>
<span class="sam-mt sam-text-lg">Offline</span>
<span class="sam-text-muted sam-text-md">
Your encrypted data is never uploaded to any servers. It remains in your local

View File

@@ -17,7 +17,7 @@ import { Event, EventTemplate, finalizeEvent, nip04, nip44 } from 'nostr-tools';
export const debug = function (message: any) {
const dateString = new Date().toISOString();
console.log(`[Plebian Signer - ${dateString}]: ${JSON.stringify(message)}`);
console.log(`[Plebeian Signer - ${dateString}]: ${JSON.stringify(message)}`);
};
export type PromptResponse =

View File

@@ -51,7 +51,7 @@ browser.runtime.onMessage.addListener(async (message /*, sender*/) => {
const browserSessionData = await getBrowserSessionData();
if (!browserSessionData) {
throw new Error('Plebian Signer vault not unlocked by the user.');
throw new Error('Plebeian Signer vault not unlocked by the user.');
}
const currentIdentity = browserSessionData.identities.find(

View File

@@ -2,7 +2,7 @@
<html lang="en" data-bs-theme="dark">
<head>
<meta charset="utf-8">
<title>Plebian Signer</title>
<title>Plebeian Signer</title>
<base href="/">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- <link rel="icon" type="image/x-icon" href="favicon.ico"> -->

View File

@@ -12,9 +12,16 @@ body {
height: 600px;
width: 375px;
color: #ffffff;
color: var(--foreground);
font-family: var(--font-sans);
font-size: 16px;
background: var(--background);
margin: 0;
}
// Button styling to match market
button {
text-transform: uppercase;
font-family: var(--font-sans);
}

Binary file not shown.

Binary file not shown.

View File

@@ -5,14 +5,14 @@
display: flex;
align-items: center;
justify-content: center;
//padding: 10px;
border-radius: 100%;
cursor: pointer;
color: var(--foreground);
transition: background-color 0.2s ease, color 0.2s ease;
&:hover {
background: gray;
background: var(--muted);
color: var(--primary);
}
}
}

View File

@@ -5,19 +5,23 @@
display: flex;
flex-direction: row;
align-items: center;
padding-left: 16px;
padding-right: 8px;
padding-left: var(--size);
padding-right: var(--size-h);
background: var(--background-light);
border-radius: 8px;
margin-bottom: 8px;
border-radius: var(--radius-lg);
margin-bottom: var(--size-h);
border: 1px solid var(--border);
transition: background-color 0.2s ease, border-color 0.2s ease;
&:hover {
background: var(--background-light-hover);
border-color: var(--primary);
}
.text {
overflow-x: hidden;
text-overflow: ellipsis;
white-space: nowrap;
color: var(--foreground);
}
}

View File

@@ -25,7 +25,7 @@ export class StartupService {
// Step 1: Load the user settings
const signerMetaData = await this.#storage.loadSignerMetaData();
if (typeof signerMetaData?.syncFlow === 'undefined') {
// Very first run. The user has not set up Plebian Signer yet.
// Very first run. The user has not set up Plebeian Signer yet.
this.#router.navigateByUrl('/welcome');
return;
}

View File

@@ -2,6 +2,33 @@
color: var(--primary);
}
.sam-color-danger {
color: var(--bs-danger);
.sam-color-secondary {
color: var(--secondary);
}
.sam-color-focus {
color: var(--focus);
}
.sam-color-danger {
color: var(--destructive);
}
.sam-color-muted {
color: var(--muted-foreground);
}
// Background color utilities
.sam-bg-primary {
background-color: var(--primary);
color: var(--primary-foreground);
}
.sam-bg-secondary {
background-color: var(--secondary);
color: var(--secondary-foreground);
}
.sam-bg-muted {
background-color: var(--muted);
}

View File

@@ -30,8 +30,9 @@
.sam-card {
padding: var(--size);
background: var(--background-light);
border-radius: 8px;
color: #ffffff;
border-radius: var(--radius-lg);
color: var(--foreground);
display: flex;
flex-direction: column;
border: 1px solid var(--border);
}

View File

@@ -0,0 +1,86 @@
// Plebeian Market Font Definitions
// Reglisse - Heading font
@font-face {
font-family: 'reglisse';
src: url('../assets/fonts/Reglisse_Fill.otf') format('opentype');
font-weight: 700;
font-style: normal;
font-display: swap;
font-synthesis: none;
}
// IBM Plex Mono - Body font
@font-face {
font-family: 'IBM Plex Mono';
src: url('../assets/fonts/IBMPlexMono-Regular.ttf') format('truetype');
font-weight: 400;
font-style: normal;
font-display: swap;
}
@font-face {
font-family: 'IBM Plex Mono';
src: url('../assets/fonts/IBMPlexMono-Medium.ttf') format('truetype');
font-weight: 500;
font-style: normal;
font-display: swap;
}
@font-face {
font-family: 'IBM Plex Mono';
src: url('../assets/fonts/IBMPlexMono-SemiBold.ttf') format('truetype');
font-weight: 600;
font-style: normal;
font-display: swap;
}
@font-face {
font-family: 'IBM Plex Mono';
src: url('../assets/fonts/IBMPlexMono-Bold.ttf') format('truetype');
font-weight: 700;
font-style: normal;
font-display: swap;
}
// TheYLive - Display font
@font-face {
font-family: 'theylive';
src: url('../assets/fonts/theylive.otf') format('opentype');
font-weight: normal;
font-style: normal;
font-display: swap;
font-synthesis: none;
}
// Font utility classes
.font-heading {
font-family: var(--font-heading);
font-weight: 700;
letter-spacing: 0.1rem;
font-synthesis: none;
}
.font-theylive {
font-family: var(--font-theylive);
font-weight: normal;
letter-spacing: 0.1em;
font-synthesis: none;
}
.font-mono {
font-family: var(--font-sans);
}
// Heading sizes
h1.font-heading {
font-size: 2rem;
}
h2.font-heading {
font-size: 1.6rem;
}
h3.font-heading {
font-size: 1.4rem;
}

View File

@@ -1,5 +1,5 @@
.sam-text-muted {
color: gray;
color: var(--muted-foreground);
}
.sam-text-lg {
@@ -14,6 +14,26 @@
font-size: 12px;
}
.sam-text-xs {
font-size: 10px;
}
.sam-text-align-center {
text-align: center;
}
.sam-text-uppercase {
text-transform: uppercase;
}
.sam-text-bold {
font-weight: 700;
}
.sam-text-semibold {
font-weight: 600;
}
.sam-text-medium {
font-weight: 500;
}

View File

@@ -3,16 +3,84 @@
@use "_typography.scss";
@use "_spacing.scss";
@use "_color.scss";
@use "_fonts.scss";
:root {
// Sizing
--size-2: 32px;
--size: 16px;
--size-h: 8px;
--size-hh: 4px;
--background: #161c26;
--background-light: #202733;
--background-light-hover: #383844;
--border: #525b6a;
--primary: #0d6efd;
// Fonts
--font-sans: 'IBM Plex Mono', monospace;
--font-heading: 'reglisse', sans-serif;
--font-theylive: 'theylive', sans-serif;
// Background colors (dark theme based on market)
--background: #0a0a0a;
--background-light: #131313;
--background-light-hover: #1d1d1d;
--foreground: #fafafa;
// Border colors (adapted from market --border: #dac8d3)
--border: #3d3d3d;
--border-light: #4d4d4d;
// Primary colors (dark buttons like market, inverted for dark theme)
--primary: #fafafa;
--primary-hover: #ff3eb5;
--primary-foreground: #1d1d1d;
--primary-foreground-hover: #ff3eb5;
--primary-border: #fafafa;
--primary-border-hover: #ff3eb5;
// Secondary colors (pink accent - the main brand color from market)
--secondary: #ff3eb5;
--secondary-hover: #0a0a0a;
--secondary-foreground: #0a0a0a;
--secondary-foreground-hover: #ff3eb5;
--secondary-border: #ff3eb5;
--secondary-border-hover: #ff3eb5;
// Focus colors (yellow from market)
--focus: #ffd53d;
--focus-hover: #0a0a0a;
--focus-foreground: #0a0a0a;
--focus-foreground-hover: #ffd53d;
--focus-border: #ffd53d;
--focus-border-hover: #ffd53d;
// Muted colors
--muted: #1d1d1d;
--muted-foreground: #666666;
// Accent colors
--accent: #2a2a2a;
--accent-foreground: #fafafa;
// Destructive colors
--destructive: #bf4040;
--destructive-foreground: #fafafa;
// Additional brand colors (from market)
--off-black: #0a0a0a;
--neo-purple: #ff3eb5;
--secondary-black: #131313;
--tertiary-black: #1d1d1d;
--neo-blue: #18b9fe;
--neo-yellow: #ffd53d;
--light-gray: #ebebeb;
--neo-gray: #f8f8f8;
// Ring color for focus states
--ring: #ff3eb5;
--input: #996685;
// Border radius (from market)
--radius: 0.25rem;
--radius-sm: 2px;
--radius-md: 4px;
--radius-lg: 8px;
--radius-xl: 24px;
}

View File

@@ -1 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" id="Origami-Paper-Bird--Streamline-Cyber.svg" height="24" width="24"><desc>Origami Paper Bird Streamline Icon: https://streamlinehq.com</desc><path fill="#ffffff" d="M4.66378 6.62012 0.751282 10.9774H6.11588l0.5042 7.3802 11.73752 4.8911L9.55488 9.01202l-4.8911 -2.3919Z" stroke-width="1"></path><path fill="#ffffff" d="M18.8423 0.751343 9.55499 9.01194l5.32571 8.61246L18.8423 0.751343Z" stroke-width="1"></path><path fill="#bbd8ff" d="m9.555 9.01187 -1.4675 -0.7178 -1.7681 5.66933 0.3007 4.3942L9.555 9.01187Z" stroke-width="1"></path><path fill="#bbd8ff" d="m4.66378 6.62012 1.4521 4.35728H0.751282L4.66378 6.62012Z" stroke-width="1"></path><path fill="#bbd8ff" d="m15.3767 18.4282 7.872 -15.23167 -5.5814 2.5565 -2.7866 11.87137 0.496 0.8038Z" stroke-width="1"></path><path stroke="#092f63" stroke-linejoin="round" stroke-miterlimit="10" d="m9.55488 9.01202 -4.8911 -2.3919L0.751282 10.9774H6.11588l0.5042 7.3802 11.73752 4.8911L9.55488 9.01202Z" stroke-width="1"></path><path stroke="#092f63" stroke-linejoin="round" stroke-miterlimit="10" d="M9.55499 9.01194 18.8423 0.751343 14.8807 17.6244" stroke-width="1"></path><path stroke="#092f63" stroke-linejoin="round" stroke-miterlimit="10" d="m17.6673 5.75303 5.5814 -2.5565 -7.872 15.23167" stroke-width="1"></path><path stroke="#092f63" stroke-linejoin="round" stroke-miterlimit="10" d="m4.66382 6.62012 1.4521 4.35728" stroke-width="1"></path><path stroke="#092f63" stroke-linejoin="round" stroke-miterlimit="10" d="m6.62109 18.3564 2.9338 -9.34456" stroke-width="1"></path></svg>
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" id="Origami-Paper-Bird--Streamline-Cyber.svg" height="24" width="24"><desc>Origami Paper Bird Streamline Icon: https://streamlinehq.com</desc><path fill="#ffffff" d="M4.66378 6.62012 0.751282 10.9774H6.11588l0.5042 7.3802 11.73752 4.8911L9.55488 9.01202l-4.8911 -2.3919Z" stroke-width="1"></path><path fill="#ffffff" d="M18.8423 0.751343 9.55499 9.01194l5.32571 8.61246L18.8423 0.751343Z" stroke-width="1"></path><path fill="#ff3eb5" d="m9.555 9.01187 -1.4675 -0.7178 -1.7681 5.66933 0.3007 4.3942L9.555 9.01187Z" stroke-width="1"></path><path fill="#ff3eb5" d="m4.66378 6.62012 1.4521 4.35728H0.751282L4.66378 6.62012Z" stroke-width="1"></path><path fill="#ff3eb5" d="m15.3767 18.4282 7.872 -15.23167 -5.5814 2.5565 -2.7866 11.87137 0.496 0.8038Z" stroke-width="1"></path><path stroke="#0a0a0a" stroke-linejoin="round" stroke-miterlimit="10" d="m9.55488 9.01202 -4.8911 -2.3919L0.751282 10.9774H6.11588l0.5042 7.3802 11.73752 4.8911L9.55488 9.01202Z" stroke-width="1"></path><path stroke="#0a0a0a" stroke-linejoin="round" stroke-miterlimit="10" d="M9.55499 9.01194 18.8423 0.751343 14.8807 17.6244" stroke-width="1"></path><path stroke="#0a0a0a" stroke-linejoin="round" stroke-miterlimit="10" d="m17.6673 5.75303 5.5814 -2.5565 -7.872 15.23167" stroke-width="1"></path><path stroke="#0a0a0a" stroke-linejoin="round" stroke-miterlimit="10" d="m4.66382 6.62012 1.4521 4.35728" stroke-width="1"></path><path stroke="#0a0a0a" stroke-linejoin="round" stroke-miterlimit="10" d="m6.62109 18.3564 2.9338 -9.34456" stroke-width="1"></path></svg>

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@@ -0,0 +1,3 @@
<svg width="43" height="43" viewBox="0 0 43 43" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M31.2064 12.9191C31.3447 12.8199 31.4775 12.7215 31.595 12.6294C31.748 12.5094 31.8889 12.3754 32.0266 12.2416C32.4058 11.8741 32.7385 11.4741 33.021 11.0453C33.7824 9.89014 34.214 8.86051 34.4639 7.6027C34.7671 6.0762 34.6324 4.70972 34.0634 3.54162C33.8094 3.02046 33.4264 2.55769 32.9381 2.28503C32.5761 2.08299 32.1384 2 31.7457 2C31.3933 2 31.0597 2.08818 30.7542 2.26196C29.8711 2.76416 29.404 3.33897 28.8956 4.16212C28.7818 4.34644 28.4942 4.86149 28.185 5.45326C28.0437 5.72362 27.7976 6.2272 27.5991 6.63557L27.5022 6.83578C27.1678 7.52643 26.7099 8.47231 26.1436 9.37999C25.9043 9.7636 25.6451 10.14 25.3862 10.4804C24.5789 8.3612 23.1567 5.81364 21.4751 4.76077C19.2411 3.36174 16.4504 3.51656 13.3867 5.18794C13.3754 5.16058 13.3621 5.13429 13.347 5.10938C13.1827 4.83887 12.8915 4.68986 12.527 4.68986C12.1046 4.68986 11.645 4.88594 11.2975 5.21423C11.0225 5.47435 10.8231 5.81088 10.7502 6.13718C10.686 6.42497 10.7482 6.66369 10.922 6.82172C9.69105 7.7835 8.67196 8.83055 7.89083 9.93584C6.69461 11.6288 6.60872 13.5106 6.68254 15.1283C6.76522 16.9388 7.30487 18.5889 7.8757 20.1023C7.99598 20.4215 8.13231 20.7669 8.3044 21.1891C8.40389 21.4328 8.60471 21.858 8.83198 21.9674C8.90885 22.0047 9.00834 22.0228 9.13596 22.0228C9.20107 22.0228 9.39944 21.9784 9.63068 21.8826C9.65758 21.8716 9.68478 21.8595 9.7126 21.8472L9.62105 22.2351L9.48916 22.7952L5 41.4206L15.1993 41.462L16.3119 33.32H22.3202C30.5538 33.32 37.1554 27.6991 37.1554 19.805C37.1554 16.036 34.932 13.7975 31.2064 12.9191ZM26.5111 26.1283C26.3257 27.1618 25.3243 27.9469 23.3586 27.9469H17.6099L18.3888 24.723H24.1374C25.584 24.7232 26.6595 25.0539 26.5111 26.1283ZM23.7121 15.2511L23.4773 15.3247C22.9068 15.5037 22.1975 15.7259 21.0558 16.1422L21.0406 16.1424L21.0207 16.1551C20.2607 16.4325 19.4338 16.7499 18.4939 17.1252C18.3646 17.1768 18.2379 17.2284 18.1144 17.2796C17.7641 17.425 17.4218 17.5747 17.0959 17.7251L17.0157 17.7623C16.907 17.8131 16.8054 17.8613 16.7111 17.907C16.5539 17.9834 16.4165 18.0525 16.2986 18.1142C16.2017 18.1627 14.2919 19.1472 13.1072 19.7445C13.7122 19.1922 16.608 17.3582 18.4933 16.0942C18.2401 15.1639 17.8977 14.132 17.4938 13.0892C17.2751 12.5241 17.0449 11.9717 16.806 11.4385C16.6741 11.1437 16.2091 9.94898 15.2451 8.7792C14.9286 8.39498 14.5114 8.0077 14.024 7.67162C13.7052 7.45185 13.308 7.20365 12.8571 7.06427C13.137 6.8772 13.5599 6.62227 13.6153 6.58896C15.2441 5.60563 16.777 5.10755 18.1777 5.10755C19.1217 5.10755 20.0024 5.34108 20.7951 5.80171C20.8961 5.86056 21.0033 5.92887 21.1231 6.01079L21.1705 6.04288C21.2671 6.11044 21.3662 6.18517 21.4659 6.26541L21.5205 6.31004C21.6213 6.39333 21.7127 6.47326 21.8004 6.55518L21.8408 6.59385C21.9397 6.68784 22.0282 6.77633 22.1087 6.86207L22.1205 6.8746C22.2027 6.96233 22.2878 7.05892 22.3887 7.17874L22.4222 7.21863C22.5032 7.31629 22.5817 7.4167 22.6586 7.51849L22.7031 7.57824C22.7801 7.68217 22.8556 7.78808 22.9291 7.89644L22.9594 7.94214C23.033 8.05172 23.1053 8.16298 23.1767 8.27837L23.1876 8.29549C23.2595 8.4121 23.3292 8.53054 23.3977 8.65036L23.4313 8.70936C23.4972 8.82566 23.5615 8.94365 23.6245 9.06286L23.6584 9.12781C23.7219 9.24901 23.7841 9.37097 23.845 9.49507L23.8655 9.53725C23.9265 9.66196 23.9863 9.78775 24.0449 9.91414L24.0555 9.93691C24.1152 10.0662 24.1735 10.1961 24.2309 10.3269L24.2569 10.3856C24.3124 10.5128 24.3668 10.6401 24.42 10.7666L24.4458 10.8287C24.5002 10.9591 24.554 11.0894 24.6115 11.2323L24.6566 11.3454C24.3775 11.6471 24.1457 11.8967 23.823 12.2189C23.5323 12.5091 22.1914 13.7093 20.927 14.7534C20.597 15.0259 20.3073 15.2812 20.3073 15.3874C20.3074 15.4585 20.7283 15.3162 21.3066 15.0201C21.5088 14.9248 21.7326 14.8302 21.9501 14.7001C22.9672 14.0921 24.0249 13.2482 24.3008 13.0153C24.7506 12.6356 25.1635 12.2662 25.5649 11.8227C25.6523 11.7261 25.7368 11.6309 25.8173 11.5372C25.9949 11.3314 26.1748 11.1078 26.3672 10.8542C26.6355 10.5007 26.8789 10.1484 27.1125 9.77491C27.263 9.5345 27.408 9.28829 27.5612 9.01181L27.5615 9.01197L27.567 9.00249C27.6746 8.81558 27.7805 8.62637 27.8864 8.43716L28.0229 8.19294C28.1279 8.00358 28.2323 7.81299 28.3365 7.62134L28.4861 7.34487C28.6704 7.00374 28.8546 6.66002 29.0403 6.31309L29.182 6.04885C29.7066 5.07026 30.5868 3.51625 31.8296 3.43235C32.2689 3.4027 32.7077 3.74887 32.8668 3.96023C33.1947 4.39581 33.4487 5.04794 33.5264 5.5202C33.6395 6.20764 33.619 6.83823 33.4585 7.62852C33.4191 7.82262 33.2956 8.34745 33.0022 9.02863C32.7556 9.60052 32.4478 10.1486 32.0876 10.6571C31.2967 11.774 29.5911 12.9945 27.7424 13.7667C26.9773 14.0869 25.0909 14.767 23.7121 15.2511Z" fill="#FF3EB5"/>
</svg>

After

Width:  |  Height:  |  Size: 4.6 KiB

View File

@@ -1,8 +1,8 @@
{
"manifest_version": 3,
"name": "Plebian Signer",
"name": "Plebeian Signer",
"description": "Nostr Identity Manager & Signer",
"version": "0.0.4",
"version": "0.0.5",
"homepage_url": "https://git.mleku.dev/mleku/plebeian-signer",
"options_page": "options.html",
"permissions": [
@@ -10,7 +10,14 @@
],
"action": {
"default_popup": "index.html",
"default_icon": "gooti-with-bg.png"
"default_icon": {
"48": "icon-48.png",
"128": "icon-128.png"
}
},
"icons": {
"48": "icon-48.png",
"128": "icon-128.png"
},
"background": {
"scripts": [

View File

@@ -2,7 +2,7 @@
<html data-bs-theme="dark">
<head>
<title>Plebian Signer - Options</title>
<title>Plebeian Signer - Options</title>
<link rel="stylesheet" type="text/css" href="styles.css" />
<script src="scripts.js"></script>
<style>
@@ -35,7 +35,7 @@
height: 60px;
width: 60px;
border-radius: 100%;
border: 2px solid var(--primary);
border: 2px solid var(--secondary);
img {
height: 100%;
@@ -47,7 +47,7 @@
font-weight: 700;
font-size: 1.5rem;
letter-spacing: 4px;
color: #b9d6ff;
color: var(--secondary);
}
.main-header {
@@ -64,8 +64,8 @@
line-height: 1.4;
.accent {
color: #d63384;
border: 1px solid #d63384;
color: var(--secondary);
border: 1px solid var(--secondary);
border-radius: 4px;
padding: 2px 4px;
}
@@ -102,9 +102,9 @@
<div class="page">
<div class="container sam-flex-row gap" style="margin-top: 16px">
<div class="logo">
<img src="gooti.svg" alt="" />
<img src="logo.svg" alt="" />
</div>
<span class="brand-name">Plebian Signer</span>
<span class="brand-name">Plebeian Signer</span>
<span>OPTIONS</span>
</div>

View File

@@ -2,7 +2,7 @@
<html data-bs-theme="dark">
<head>
<title>Plebian Signer</title>
<title>Plebeian Signer</title>
<link rel="stylesheet" type="text/css" href="styles.css" />
<script src="scripts.js"></script>
<style>

View File

@@ -14,7 +14,7 @@ export class AppComponent implements OnInit {
readonly #logger = inject(LoggerService);
ngOnInit(): void {
this.#logger.initialize('Plebian Signer Firefox Extension');
this.#logger.initialize('Plebeian Signer Firefox Extension');
this.#startup.startOver(getNewStorageServiceConfig());
}

View File

@@ -25,18 +25,20 @@
justify-content: center;
font-size: 24px;
color: gray;
color: var(--muted-foreground);
border-top: 3px solid transparent;
transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
cursor: pointer;
&:hover {
background: var(--background-light-hover);
color: var(--foreground);
}
&.active {
color: #ffffff;
border-top: 3px solid #0d6efd;
color: var(--foreground);
border-top: 3px solid var(--primary);
}
}
}

View File

@@ -1,5 +1,5 @@
<div class="sam-text-header">
<span> Plebian Signer </span>
<span> Plebeian Signer </span>
</div>
<span>Version {{ version }}</span>

View File

@@ -55,7 +55,7 @@ export class SettingsComponent extends NavComponent implements OnInit {
const jsonVault = this.#storage.exportVault();
const dateTimeString = DateHelper.dateToISOLikeButLocal(new Date());
const fileName = `Plebian Signer Firefox - Vault Export - ${dateTimeString}.json`;
const fileName = `Plebeian Signer Firefox - Vault Export - ${dateTimeString}.json`;
this.#downloadJson(jsonVault, fileName);
}

View File

@@ -1,12 +1,10 @@
<div class="sam-text-header">
<span>Plebian Signer</span>
</div>
<div class="vertically-centered">
<div class="sam-flex-column center">
<div class="sam-flex-column gap" style="align-items: center">
<span class="title">Plebeian Signer</span>
<div class="logo-frame">
<img src="gooti.svg" height="120" width="120" alt="" />
<img src="logo.svg" height="120" width="120" alt="" />
</div>
<button

View File

@@ -10,6 +10,17 @@
align-items: center;
}
.title {
font-size: 20px;
font-weight: 500;
margin-bottom: var(--size);
}
.logo-frame {
border: 2px solid var(--secondary);
border-radius: 100%;
}
.file-input {
position: absolute;
visibility: hidden;

View File

@@ -1,11 +1,11 @@
<div class="sam-text-header">
<span>Plebian Signer</span>
<span>Plebeian Signer</span>
</div>
<div class="content">
<div class="sam-flex-column gap" style="align-items: center">
<div class="logo-frame">
<img src="gooti.svg" height="120" width="120" alt="" />
<img src="logo.svg" height="120" width="120" alt="" />
</div>
<span class="sam-mt-2"> Please define a password for your vault. </span>

View File

@@ -42,7 +42,7 @@
}
.logo-frame {
border: 2px solid #0d6efd;
border: 2px solid var(--secondary);
border-radius: 100%;
}
}

View File

@@ -1,11 +1,11 @@
<div class="sam-text-header">
<span class="brand">Plebian Signer</span>
<span class="brand">Plebeian Signer</span>
</div>
<div class="content-login-vault">
<div class="sam-flex-column gap" style="align-items: center">
<div class="logo-frame">
<img src="gooti.svg" height="120" width="120" alt="" />
<img src="logo.svg" height="120" width="120" alt="" />
</div>
<div class="sam-mt-2 input-group">
@@ -15,6 +15,7 @@
class="form-control"
placeholder="vault password"
[(ngModel)]="loginPassword"
(keyup.enter)="loginPassword && loginVault()"
/>
<button
class="btn btn-outline-secondary"

View File

@@ -5,7 +5,7 @@
justify-items: center;
.logo-frame {
border: 2px solid #0d6efd;
border: 2px solid var(--secondary);
border-radius: 100%;
}

View File

@@ -1,9 +1,9 @@
<div class="sam-text-header sam-mb-2">
<span>Plebian Signer Setup - Sync Preference</span>
<div class="sam-text-header sam-mb-h">
<span>Plebeian Signer Setup - Sync Preference</span>
</div>
<span class="sam-text-muted sam-text-md sam-text-align-center2">
Plebian Signer always encrypts sensitive data like private keys and site permissions
Plebeian Signer always encrypts sensitive data like private keys and site permissions
independent of the chosen sync mode.
</span>
@@ -22,7 +22,7 @@
<span> Sync ON</span>
</button>
<span class="sam-mt-2 sam-text-lg">Offline</span>
<span class="sam-mt sam-text-lg">Offline</span>
<span class="sam-text-muted sam-text-md">
Your encrypted data is never uploaded to any servers. It remains in your local

View File

@@ -18,7 +18,7 @@ import browser from 'webextension-polyfill';
export const debug = function (message: any) {
const dateString = new Date().toISOString();
console.log(`[Plebian Signer - ${dateString}]: ${JSON.stringify(message)}`);
console.log(`[Plebeian Signer - ${dateString}]: ${JSON.stringify(message)}`);
};
export type PromptResponse =

View File

@@ -51,7 +51,7 @@ browser.runtime.onMessage.addListener(async (message /*, sender*/) => {
const browserSessionData = await getBrowserSessionData();
if (!browserSessionData) {
throw new Error('Plebian Signer vault not unlocked by the user.');
throw new Error('Plebeian Signer vault not unlocked by the user.');
}
const currentIdentity = browserSessionData.identities.find(

View File

@@ -2,7 +2,7 @@
<html lang="en" data-bs-theme="dark">
<head>
<meta charset="utf-8">
<title>Plebian Signer</title>
<title>Plebeian Signer</title>
<base href="/">
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>

View File

@@ -12,9 +12,16 @@ body {
height: 600px;
width: 375px;
color: #ffffff;
color: var(--foreground);
font-family: var(--font-sans);
font-size: 16px;
background: var(--background);
margin: 0;
}
// Button styling to match market
button {
text-transform: uppercase;
font-family: var(--font-sans);
}