Compare commits
37 Commits
Author | SHA1 | Date |
---|---|---|
semantic-release-bot | 8744ffe248 | |
Derrick Hammer | 1cfab9a705 | |
Derrick Hammer | 5772f321ec | |
Derrick Hammer | e7e2c2502b | |
semantic-release-bot | c70d72f028 | |
Derrick Hammer | 65a51fcc79 | |
Derrick Hammer | 831d50f65c | |
Derrick Hammer | 52eb5b1efe | |
semantic-release-bot | 06adae7c1c | |
Derrick Hammer | 7ebb55ffcf | |
Derrick Hammer | 569cb3c5c9 | |
Derrick Hammer | 0b9a78eacc | |
semantic-release-bot | 3fd78f50b1 | |
Derrick Hammer | f650a3149c | |
Derrick Hammer | 461e611670 | |
semantic-release-bot | e67a9aad4e | |
Derrick Hammer | e76b7f20bd | |
Derrick Hammer | 6659de6550 | |
semantic-release-bot | 78c8a7864f | |
Derrick Hammer | 6074923086 | |
Derrick Hammer | a3ba768885 | |
Derrick Hammer | 13c51dd7d0 | |
Derrick Hammer | 265bbe3b91 | |
Derrick Hammer | 0303eeaf15 | |
Derrick Hammer | b5ccda8425 | |
Derrick Hammer | b37e680d1c | |
Derrick Hammer | 7295325295 | |
Derrick Hammer | f09c19c3e6 | |
Derrick Hammer | 6aa2b9a5b0 | |
Derrick Hammer | ffbe7a7df1 | |
Derrick Hammer | 7902f6a0bc | |
Derrick Hammer | 9ea94740e3 | |
Derrick Hammer | 98ce451c74 | |
Derrick Hammer | 6611372d73 | |
Derrick Hammer | 8bcb0e1ea4 | |
Derrick Hammer | 3cd7406d20 | |
Derrick Hammer | df1895f824 |
|
@ -0,0 +1,70 @@
|
|||
name: Build/Publish
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- develop
|
||||
- develop-*
|
||||
workflow_call:
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: Use Node.js
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: 18.x
|
||||
cache: 'npm'
|
||||
- name: Install APT Packages
|
||||
run: sudo apt-get install rename -y
|
||||
- run: npm ci
|
||||
- run: npm run build --if-present
|
||||
env:
|
||||
NODE_OPTIONS: "--max_old_space_size=4096"
|
||||
- name: Install SSH key
|
||||
uses: shimataro/ssh-key-action@v2
|
||||
with:
|
||||
key: ${{ secrets.GITEA_SSH_KEY }}
|
||||
known_hosts: ${{ secrets.GITEA_KNOWN_HOST }}
|
||||
|
||||
- name: Download YQ
|
||||
run: |
|
||||
sudo wget https://github.com/mikefarah/yq/releases/latest/download/yq_linux_amd64 -O /usr/bin/yq;
|
||||
sudo chmod +x /usr/bin/yq
|
||||
- name: Set up S3CMD
|
||||
uses: s3-actions/s3cmd@v1.5.0
|
||||
with:
|
||||
provider: cloudflare
|
||||
account_id: ${{ secrets.CF_ACCOUNT_ID }}
|
||||
access_key: ${{ secrets.S3_ACCESS_KEY }}
|
||||
secret_key: ${{ secrets.S3_SECRET_KEY }}
|
||||
|
||||
- name: Publish
|
||||
run: npm run semantic-release
|
||||
env:
|
||||
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||||
|
||||
- name: Publish to S3
|
||||
if: ${{ env.PKG != null }}
|
||||
run: |
|
||||
s3cmd put "${{ env.PKG }}" s3://${{ vars.S3_BUCKET }}/$(basename "${{ env.PKG }}")
|
||||
|
||||
echo Release Zip: https://extension-release.lumeweb.com/$(basename "${{ env.PKG }}")
|
||||
echo Release Zip SHA56: $(sha256sum "${{ env.PKG }}" | awk '{print $1}')
|
||||
- name: Publish to Firefox
|
||||
uses: yayuyokitano/firefox-addon@v0.0.6-alpha
|
||||
if: ${{ github.ref_name == 'master' && env.PKG != null }}
|
||||
with:
|
||||
api_key: ${{ secrets.AMO_ISSUER }}
|
||||
api_secret: ${{ secrets.AMO_SECRET }}
|
||||
guid: ${{ vars.EXTENSION_GUID }}
|
||||
xpi_path: ${{ env.PKG }}
|
||||
src_path: ${{ env.PKG_SRC }}
|
||||
- name: Setup tmate session
|
||||
uses: mxschmitt/action-tmate@v3
|
||||
if: ${{ github.event_name == 'workflow_dispatch' && inputs.debug_enabled && failure() }}
|
||||
with:
|
||||
limit-access-to-actor: true
|
|
@ -0,0 +1,80 @@
|
|||
{
|
||||
"plugins": [
|
||||
[
|
||||
"@semantic-release/commit-analyzer",
|
||||
{
|
||||
"releaseRules": [
|
||||
{
|
||||
"breaking": true,
|
||||
"release": "major"
|
||||
},
|
||||
{
|
||||
"revert": true,
|
||||
"release": "patch"
|
||||
},
|
||||
{
|
||||
"type": "feat",
|
||||
"release": "minor"
|
||||
},
|
||||
{
|
||||
"type": "fix",
|
||||
"release": "patch"
|
||||
},
|
||||
{
|
||||
"type": "perf",
|
||||
"release": "patch"
|
||||
},
|
||||
{
|
||||
"type": "dep",
|
||||
"release": "patch"
|
||||
},
|
||||
{
|
||||
"type": "refactor",
|
||||
"release": "patch"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"@semantic-release/release-notes-generator",
|
||||
[
|
||||
"@semantic-release/changelog",
|
||||
{
|
||||
"changelogFile": "CHANGELOG.md"
|
||||
}
|
||||
],
|
||||
[
|
||||
"@semantic-release/npm",
|
||||
{
|
||||
"npmPublish": false
|
||||
}
|
||||
],
|
||||
[
|
||||
"@semantic-release/exec",
|
||||
{
|
||||
"prepareCmd": "./prepare.sh ${nextRelease.version}"
|
||||
}
|
||||
],
|
||||
[
|
||||
"@semantic-release/git",
|
||||
{
|
||||
"assets": [
|
||||
"package.json",
|
||||
"CHANGELOG.md",
|
||||
"npm-shrinkwrap.json",
|
||||
"assets/manifest.json"
|
||||
]
|
||||
}
|
||||
]
|
||||
],
|
||||
"branches": [
|
||||
"master",
|
||||
{
|
||||
"name": "develop",
|
||||
"prerelease": true
|
||||
},
|
||||
{
|
||||
"name": "develop-*",
|
||||
"prerelease": true
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,47 @@
|
|||
# [0.4.0](https://git.lumeweb.com/LumeWeb/extension/compare/v0.3.0...v0.4.0) (2023-08-13)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **ci:** change publish step to prepare ([a3ba768](https://git.lumeweb.com/LumeWeb/extension/commit/a3ba768885d0102cbd941fce78c089876734be49))
|
||||
* **ci:** echo out url for release zip, and provide sha256 hash checksum. ([265bbe3](https://git.lumeweb.com/LumeWeb/extension/commit/265bbe3b9171b5711a58a89a70938dd0c709b3ea))
|
||||
* **ci:** install rename, not util-linux ([461e611](https://git.lumeweb.com/LumeWeb/extension/commit/461e6116707df95d994d47eedb80cdee1a0bbe34))
|
||||
* **ci:** install util-linux for rename command ([6659de6](https://git.lumeweb.com/LumeWeb/extension/commit/6659de6550a01a3cf0184bc54c8680a1baf89662))
|
||||
* **ci:** strip out filename ([13c51dd](https://git.lumeweb.com/LumeWeb/extension/commit/13c51dd7d024da830055b7671c371d1292b2c06a))
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* add new popup app to go to login, dashboard, and logout ([df1895f](https://git.lumeweb.com/LumeWeb/extension/commit/df1895f8243b515921210dd6248b4126a96564c6))
|
||||
|
||||
# [0.4.0-develop.5](https://git.lumeweb.com/LumeWeb/extension/compare/v0.4.0-develop.4...v0.4.0-develop.5) (2023-08-11)
|
||||
|
||||
# [0.4.0-develop.4](https://git.lumeweb.com/LumeWeb/extension/compare/v0.4.0-develop.3...v0.4.0-develop.4) (2023-08-10)
|
||||
|
||||
# [0.4.0-develop.3](https://git.lumeweb.com/LumeWeb/extension/compare/v0.4.0-develop.2...v0.4.0-develop.3) (2023-08-08)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **ci:** install rename, not util-linux ([461e611](https://git.lumeweb.com/LumeWeb/extension/commit/461e6116707df95d994d47eedb80cdee1a0bbe34))
|
||||
|
||||
# [0.4.0-develop.2](https://git.lumeweb.com/LumeWeb/extension/compare/v0.4.0-develop.1...v0.4.0-develop.2) (2023-08-08)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **ci:** install util-linux for rename command ([6659de6](https://git.lumeweb.com/LumeWeb/extension/commit/6659de6550a01a3cf0184bc54c8680a1baf89662))
|
||||
|
||||
# [0.4.0-develop.1](https://git.lumeweb.com/LumeWeb/extension/compare/v0.3.0...v0.4.0-develop.1) (2023-08-07)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **ci:** change publish step to prepare ([a3ba768](https://git.lumeweb.com/LumeWeb/extension/commit/a3ba768885d0102cbd941fce78c089876734be49))
|
||||
* **ci:** echo out url for release zip, and provide sha256 hash checksum. ([265bbe3](https://git.lumeweb.com/LumeWeb/extension/commit/265bbe3b9171b5711a58a89a70938dd0c709b3ea))
|
||||
* **ci:** strip out filename ([13c51dd](https://git.lumeweb.com/LumeWeb/extension/commit/13c51dd7d024da830055b7671c371d1292b2c06a))
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* add new popup app to go to login, dashboard, and logout ([df1895f](https://git.lumeweb.com/LumeWeb/extension/commit/df1895f8243b515921210dd6248b4126a96564c6))
|
BIN
assets/icon.png
BIN
assets/icon.png
Binary file not shown.
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 1.0 KiB |
Binary file not shown.
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 2.0 KiB |
|
@ -1,68 +1,73 @@
|
|||
{
|
||||
"description": "Lume Web is your decentralized gateway into the web3 internet, the web owned and controlled by its users",
|
||||
"manifest_version": 2,
|
||||
"name": "Lume Web",
|
||||
"version": "0.3.0.3",
|
||||
"homepage_url": "https://lumeweb.com",
|
||||
"icons": {
|
||||
"48": "icon.png",
|
||||
"96": "icon@2x.png"
|
||||
"description": "Lume Web is your decentralized gateway into the web3 internet, the web owned and controlled by its users",
|
||||
"manifest_version": 2,
|
||||
"name": "Lume Web",
|
||||
"version": "0.4.0",
|
||||
"homepage_url": "https://lumeweb.com",
|
||||
"icons": {
|
||||
"48": "icon.png",
|
||||
"96": "icon@2x.png"
|
||||
},
|
||||
"permissions": [
|
||||
"proxy",
|
||||
"webRequest",
|
||||
"webRequestBlocking",
|
||||
"webNavigation",
|
||||
"menus",
|
||||
"<all_urls>"
|
||||
],
|
||||
"background": {
|
||||
"scripts": [
|
||||
"background.js"
|
||||
]
|
||||
},
|
||||
"content_scripts": [
|
||||
{
|
||||
"matches": [
|
||||
"http://kernel.lume/"
|
||||
],
|
||||
"js": [
|
||||
"bootloader.js"
|
||||
],
|
||||
"run_at": "document_end",
|
||||
"all_frames": true
|
||||
},
|
||||
"permissions": [
|
||||
"proxy",
|
||||
"webRequest",
|
||||
"webRequestBlocking",
|
||||
"webNavigation",
|
||||
"menus",
|
||||
{
|
||||
"matches": [
|
||||
"<all_urls>"
|
||||
],
|
||||
"background": {
|
||||
"scripts": [
|
||||
"background.js"
|
||||
]
|
||||
],
|
||||
"js": [
|
||||
"bridge.js"
|
||||
],
|
||||
"run_at": "document_end",
|
||||
"all_frames": true
|
||||
},
|
||||
"content_scripts": [
|
||||
{
|
||||
"matches": [
|
||||
"http://kernel.lume/"
|
||||
],
|
||||
"js": [
|
||||
"bootloader.js"
|
||||
],
|
||||
"run_at": "document_end",
|
||||
"all_frames": true
|
||||
},
|
||||
{
|
||||
"matches": [
|
||||
"<all_urls>"
|
||||
],
|
||||
"js": [
|
||||
"bridge.js"
|
||||
],
|
||||
"run_at": "document_end",
|
||||
"all_frames": true
|
||||
},
|
||||
{
|
||||
"matches": [
|
||||
"<all_urls>"
|
||||
],
|
||||
"js": [
|
||||
"cryptoLoader.js"
|
||||
],
|
||||
"run_at": "document_start",
|
||||
"all_frames": true
|
||||
}
|
||||
],
|
||||
"web_accessible_resources": [
|
||||
"icon@2x.png",
|
||||
"*.html",
|
||||
"assets/*"
|
||||
],
|
||||
"content_security_policy": "script-src 'self' 'unsafe-eval'; object-src 'self';",
|
||||
"browser_specific_settings": {
|
||||
"gecko": {
|
||||
"id": "contact@lumeweb.com",
|
||||
"strict_min_version": "91.1.0"
|
||||
}
|
||||
{
|
||||
"matches": [
|
||||
"<all_urls>"
|
||||
],
|
||||
"js": [
|
||||
"cryptoLoader.js"
|
||||
],
|
||||
"run_at": "document_start",
|
||||
"all_frames": true
|
||||
}
|
||||
],
|
||||
"web_accessible_resources": [
|
||||
"icon@2x.png",
|
||||
"*.html",
|
||||
"assets/*"
|
||||
],
|
||||
"content_security_policy": "script-src 'self' 'unsafe-eval'; object-src 'self';",
|
||||
"browser_specific_settings": {
|
||||
"gecko": {
|
||||
"id": "contact@lumeweb.com",
|
||||
"strict_min_version": "91.1.0"
|
||||
}
|
||||
},
|
||||
"browser_action": {
|
||||
"default_icon": "icon.png",
|
||||
"default_title": "Lume Web",
|
||||
"default_popup": "popup.html"
|
||||
}
|
||||
}
|
||||
|
|
File diff suppressed because it is too large
Load Diff
19
package.json
19
package.json
|
@ -1,11 +1,14 @@
|
|||
{
|
||||
"name": "@lumeweb/extension",
|
||||
"version": "0.3.0",
|
||||
"version": "0.4.0",
|
||||
"description": "Lume Web is your decentralized gateway into the web3 internet, the web owned and controlled by its users",
|
||||
"main": "index.js",
|
||||
"type": "module",
|
||||
"readme": "ERROR: No README data found!",
|
||||
"_id": "@lumeweb/extension@0.3.0",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "gitea@git.lumeweb.com:LumeWeb/extension.git"
|
||||
},
|
||||
"scripts": {
|
||||
"prepare": "presetter bootstrap",
|
||||
"build": "run build",
|
||||
|
@ -13,6 +16,7 @@
|
|||
},
|
||||
"devDependencies": {
|
||||
"@lumeweb/presetter-kernel-module-preset": "^0.1.0-develop.44",
|
||||
"@semantic-release/exec": "^6.0.3",
|
||||
"@tsconfig/svelte": "^5.0.0",
|
||||
"@types/object-diff": "^0.0.2",
|
||||
"@types/react": "^18.2.17",
|
||||
|
@ -26,20 +30,21 @@
|
|||
"sass": "^1.63.6",
|
||||
"svelte-check": "^3.4.6",
|
||||
"tailwindcss": "^3.3.3",
|
||||
"typescript": "^5.1.6"
|
||||
"typescript": "^5.1.6",
|
||||
"web-ext": "^7.6.2"
|
||||
},
|
||||
"dependencies": {
|
||||
"@helia/unixfs": "^1.4.0",
|
||||
"@lumeweb/kernel-dns-client": "^0.1.0-develop.4",
|
||||
"@lumeweb/kernel-eth-client": "^0.1.0-develop.13",
|
||||
"@lumeweb/kernel-handshake-client": "^0.1.0-develop.3",
|
||||
"@lumeweb/kernel-handshake-client": "^0.1.0-develop.4",
|
||||
"@lumeweb/kernel-ipfs-client": "0.1.0-develop.21",
|
||||
"@lumeweb/kernel-network-registry-client": "^0.1.0-develop.5",
|
||||
"@lumeweb/kernel-peer-discovery-client": "0.0.2-develop.10",
|
||||
"@lumeweb/kernel-swarm-client": "0.1.0-develop.5",
|
||||
"@lumeweb/libkernel": "0.1.0-develop.34",
|
||||
"@lumeweb/libkernel": "0.1.0-develop.35",
|
||||
"@lumeweb/libresolver": "^0.1.0-develop.1",
|
||||
"@lumeweb/libweb": "0.2.0-develop.27",
|
||||
"@lumeweb/libweb": "0.2.0-develop.30",
|
||||
"@lumeweb/tld-enum": "0.1.0-develop.1",
|
||||
"@noble/ciphers": "^0.1.4",
|
||||
"@peculiar/webcrypto": "^1.4.3",
|
||||
|
@ -60,6 +65,6 @@
|
|||
"webextension-polyfill": "^0.10.0"
|
||||
},
|
||||
"overrides": {
|
||||
"@lumeweb/libkernel": "0.1.0-develop.34"
|
||||
"@lumeweb/libkernel": "0.1.0-develop.35"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,15 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
export VERSION="$1"
|
||||
export PKG="web-ext-artifacts/lume_web-${VERSION}.zip"
|
||||
export PKG_SRC="web-ext-artifacts/lume_web-${VERSION}-src.zip"
|
||||
yq -i '.version = strenv(VERSION)' assets/manifest.json
|
||||
cp assets/manifest.json dist/
|
||||
web-ext build -s dist
|
||||
mkdir -p dist-src
|
||||
cp -r assets shared src ui *.json .js dist-src/
|
||||
zip -r "web-ext-artifacts/lume_web-${VERSION}-src.zip" dist-src/
|
||||
|
||||
echo "EXTENSION_VERSION=${VERSION}" >> $GITHUB_ENV
|
||||
echo "PKG=${PKG}" >> $GITHUB_ENV
|
||||
echo "PKG_SRC=${PKG_SRC}" >> $GITHUB_ENV
|
|
@ -85,7 +85,7 @@ export async function doInit() {
|
|||
const resolvers = [
|
||||
"zduRfyhiAu871qg14RUapxxsBS4gaFxnWXs1jxf3guk2vVAhSx6vJp1kxo", // CID
|
||||
"zduPorYNSjbkTipeAtDcW8bfRw4qhEb6rbf6yrMdGcxTthkmNkHfJGyyi7", // ENS
|
||||
"zduKYXmsGfqDxsERGU2MQdKSjNvuaqe9a3KmYDEXHZWx1AfHPgam7TmCpF", // HNS
|
||||
"zduKCaTxTn7yx2AcGL3VZeK6WnKKvZ3QhSCQSq7hgjWWqEcCpaiTnFaV51", // HNS
|
||||
];
|
||||
|
||||
for (const resolver of resolvers) {
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import { x25519 } from "@noble/curves/ed25519";
|
||||
|
||||
export const defaultKernelLink =
|
||||
"zduQ9EzFDZLM7z7RKbGex8duA29tHKk5gqriPvRRLcr1CUCvi6BYPoxHN7";
|
||||
"zduU8tCftgnWPaJZrmyjCwCSftsMkSyeR9tjFxbEiBEp5HwxUpvfFJmvg7";
|
||||
|
||||
const store = new Map<string, any>(
|
||||
Object.entries({
|
||||
|
|
|
@ -149,7 +149,7 @@ p {
|
|||
|
||||
#content-text-wrapper {
|
||||
position: relative;
|
||||
margin-bottom: 3.2em;
|
||||
margin-bottom: 6em;
|
||||
transition: height 500ms, opacity 500ms;
|
||||
|
||||
> div {
|
||||
|
|
|
@ -208,10 +208,7 @@ export default function App() {
|
|||
<div id="content-text-wrapper" ref={elContentTextWrapper}>
|
||||
<div id="content-text-default" ref={elContentTextDefault}>
|
||||
<h1>Access the open web with ease</h1>
|
||||
<p>
|
||||
Seamless access to the open web with Lume, integrated
|
||||
Handshake (HNS) and Ethereum (ENS) Support.
|
||||
</p>
|
||||
<p>Seamless access to your favorite networks</p>
|
||||
</div>
|
||||
<div
|
||||
id="content-text-create-account"
|
||||
|
|
|
@ -25,30 +25,42 @@ const contentPages = [
|
|||
),
|
||||
},
|
||||
{
|
||||
heading: <>Thank you for supporting an open web.</>,
|
||||
heading: <>Your means to access all of the open web</>,
|
||||
content: (
|
||||
<>
|
||||
Easy Access to Web3. With native Handshake (HNS) and Ethereum (ENS)
|
||||
support, you can forget eth.link and hns.is. This is your gateway.
|
||||
Web3 is made up of a diverse set of open networks and projects, all with
|
||||
the intention of letting you be in control.
|
||||
<br /> <br />
|
||||
You can now <i>freely</i> access all these platforms and services
|
||||
without a concern for censorship.
|
||||
</>
|
||||
),
|
||||
},
|
||||
{
|
||||
heading: <>Thank you for supporting an open web.</>,
|
||||
heading: <>An early demo</>,
|
||||
content: (
|
||||
<>
|
||||
We are an independent, pure organization. We have decided not to take
|
||||
money from venture capitalists. Nor do we have a large treasury funding
|
||||
our work.
|
||||
Be aware this system is effectively a prototype/product demo/tech demo.
|
||||
<br /> <br />
|
||||
It relies on you to provide feedback and the direction you want to see
|
||||
it evolve.
|
||||
<br /> <br />
|
||||
In short, we are here to show you what is possible with web3, and the
|
||||
rest is in your court!
|
||||
<br /> <br />
|
||||
We are starting off with: Handshake, Ethereum, and IPFS.
|
||||
</>
|
||||
),
|
||||
},
|
||||
{
|
||||
heading: <>Thank you for supporting an open web.</>,
|
||||
heading: <>The next step is to create an account</>,
|
||||
content: (
|
||||
<>
|
||||
Stop worrying about being vendor-locked. Remain flexible and reduce your
|
||||
storage costs by 50% or more. Lume is affordable storage on-demand.
|
||||
If you are new to web3, this is a 12 word code that represents your
|
||||
account. <i>Keep it safe</i>. If you share it, that person can access
|
||||
everything and <b>you cannot revoke access</b>. <br /> <br />
|
||||
If you are not new, consider this as a wallet, but for the web, not for
|
||||
crypto.
|
||||
</>
|
||||
),
|
||||
},
|
||||
|
|
|
@ -0,0 +1,144 @@
|
|||
@font-face {
|
||||
font-family: 'Jaldi';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: url("../../fonts/Jaldi-Regular.woff2") format('woff2');
|
||||
}
|
||||
|
||||
body {
|
||||
background: #1D1D1D;
|
||||
min-width: 15em;
|
||||
}
|
||||
|
||||
.body {
|
||||
background: #3B3B3B;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
||||
.button-container {
|
||||
margin: auto;
|
||||
//max-width: 13.7em;
|
||||
margin-bottom: 2em;
|
||||
margin-left: 1em;
|
||||
margin-right: 1em;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
button {
|
||||
display: flex;
|
||||
border-radius: 5px;
|
||||
padding-left: 1.6em;
|
||||
padding-right: 1.6em;
|
||||
padding-top: 0.8em;
|
||||
padding-bottom: 0.8em;
|
||||
margin: auto;
|
||||
cursor: pointer;
|
||||
border: none;
|
||||
font-size: 1em;
|
||||
color: #F2F2F2;
|
||||
|
||||
> svg, span {
|
||||
flex: 1;
|
||||
}
|
||||
}
|
||||
|
||||
.dashboard-btn {
|
||||
background: #1B1B1B;
|
||||
box-shadow: 1px 0 5px 0 rgb(27, 27, 27, 0.75);
|
||||
|
||||
|
||||
> svg {
|
||||
margin-right: 1em;
|
||||
height: 1.2em;
|
||||
width: 1.2em;
|
||||
}
|
||||
}
|
||||
|
||||
.login-btn {
|
||||
background: #1B1B1B;
|
||||
box-shadow: 1px 0 5px 0 rgb(27, 27, 27, 0.75);
|
||||
border: none;
|
||||
|
||||
&:hover {
|
||||
background: #3B3B3B;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.connection-text {
|
||||
font-family: Jaldi;
|
||||
font-weight: 400;
|
||||
font-size: 0.875em;
|
||||
line-height: 2.1em;
|
||||
color: #BFBFBF;
|
||||
margin: auto;
|
||||
padding-left: 2em;
|
||||
padding-right: 2em;
|
||||
padding-top: 1em;
|
||||
margin-bottom: 2em;
|
||||
}
|
||||
|
||||
.connection {
|
||||
width: 100%;
|
||||
max-width: 7em;
|
||||
margin: auto;
|
||||
margin-top: 2em;
|
||||
}
|
||||
|
||||
|
||||
.header {
|
||||
display: flex;
|
||||
width: 100%;
|
||||
max-width: 100%;
|
||||
min-width: 2.75em;
|
||||
margin-bottom: 0.5em;
|
||||
|
||||
.icons {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.logo,
|
||||
.exit,
|
||||
.logout {
|
||||
padding: 1em;
|
||||
flex: 1;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
cursor: pointer;
|
||||
width: 2em;
|
||||
height: 2em;
|
||||
max-width: 1.2em;
|
||||
max-height: 1.2em;
|
||||
|
||||
svg {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
fill: #8E8E93; // Set the fill color to gray for both icons
|
||||
}
|
||||
}
|
||||
|
||||
.exit, .logout {
|
||||
&:hover {
|
||||
svg {
|
||||
fill: #62C554;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.logo {
|
||||
margin-right: auto;
|
||||
|
||||
&.connected {
|
||||
svg {
|
||||
fill: #62C554;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.exit {
|
||||
margin-left: auto;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,163 @@
|
|||
import "./App.scss";
|
||||
import { useEffect, useState } from "react";
|
||||
import { init, loginComplete } from "@lumeweb/libkernel/kernel";
|
||||
import browser from "webextension-polyfill";
|
||||
import classNames from "classnames";
|
||||
import { clearLoginKey } from "../../../shared/keys.js";
|
||||
|
||||
export default function App() {
|
||||
const [loggedIn, setLoggedIn] = useState(false);
|
||||
|
||||
useEffect(() => {
|
||||
init().then(() => {
|
||||
loginComplete().then(() => {
|
||||
setLoggedIn(true);
|
||||
});
|
||||
});
|
||||
}, [loggedIn]);
|
||||
|
||||
function openDashboard() {
|
||||
browser.tabs.create({
|
||||
url: browser.runtime.getURL("dashboard.html"),
|
||||
active: true,
|
||||
});
|
||||
}
|
||||
|
||||
function openAccount() {
|
||||
browser.tabs.create({
|
||||
url: browser.runtime.getURL("account.html"),
|
||||
active: true,
|
||||
});
|
||||
}
|
||||
|
||||
function close() {
|
||||
window.close();
|
||||
}
|
||||
|
||||
async function logout() {
|
||||
await clearLoginKey();
|
||||
window.location.reload();
|
||||
}
|
||||
return (
|
||||
<>
|
||||
<div className="header">
|
||||
<div className={classNames("logo", { connected: loggedIn })}>
|
||||
<svg
|
||||
viewBox="0 0 339.18999 339.19"
|
||||
xmlns="http://www.w3.org/2000/svg">
|
||||
<g transform="translate(-425.68,-251.35)">
|
||||
<g>
|
||||
<path d="m 697.89,382.61 c -0.96,-3.95 -3.58,-7.25 -7.1,-9.09 -1.93,-1.01 -4.13,-1.59 -6.46,-1.59 H 653.6 c -20.14,-0.03 -30.35,-10.26 -30.35,-30.42 0,-0.02 0,-0.04 0,-0.06 v 0 -76.11 c 0,-0.55 -0.04,-1.09 -0.1,-1.62 -0.01,-0.13 -0.04,-0.25 -0.06,-0.37 -0.06,-0.41 -0.13,-0.82 -0.23,-1.22 -0.03,-0.12 -0.06,-0.24 -0.09,-0.36 -0.11,-0.42 -0.24,-0.84 -0.39,-1.25 -0.03,-0.08 -0.05,-0.15 -0.08,-0.23 -0.19,-0.48 -0.4,-0.96 -0.64,-1.41 -0.01,-0.03 -0.04,-0.05 -0.05,-0.08 -0.28,-0.52 -0.58,-1.03 -0.92,-1.51 -0.01,-0.01 -0.02,-0.02 -0.03,-0.04 -0.34,-0.47 -0.7,-0.92 -1.09,-1.34 -0.04,-0.05 -0.08,-0.09 -0.13,-0.14 -0.81,-0.86 -1.72,-1.61 -2.71,-2.24 -0.09,-0.06 -0.19,-0.11 -0.28,-0.17 -0.43,-0.26 -0.88,-0.5 -1.34,-0.71 -0.08,-0.04 -0.15,-0.08 -0.23,-0.11 -0.53,-0.23 -1.07,-0.43 -1.63,-0.6 -0.11,-0.03 -0.22,-0.06 -0.33,-0.09 -0.45,-0.12 -0.92,-0.22 -1.39,-0.3 -0.16,-0.03 -0.31,-0.05 -0.47,-0.07 -0.58,-0.07 -1.18,-0.13 -1.78,-0.13 0,0 0,0 0,0 v 0 c -0.73,0 -1.43,0.07 -2.13,0.18 -0.12,0.02 -0.25,0.03 -0.37,0.06 -0.67,0.12 -1.32,0.29 -1.96,0.5 -0.1,0.03 -0.2,0.07 -0.3,0.11 -1.33,0.48 -2.56,1.15 -3.67,1.99 -0.05,0.04 -0.1,0.08 -0.16,0.12 -0.56,0.43 -1.08,0.91 -1.57,1.42 -0.02,0.02 -0.04,0.04 -0.06,0.07 -1,1.07 -1.84,2.3 -2.46,3.65 0,0 0,0.01 0,0.01 -0.3,0.64 -0.54,1.31 -0.74,2 -0.01,0.04 -0.04,0.09 -0.05,0.13 -0.15,0.55 -0.27,1.12 -0.36,1.7 -0.01,0.08 -0.03,0.16 -0.04,0.24 -0.08,0.6 -0.13,1.2 -0.13,1.82 v 76.17 c 0,0.02 0,0.04 0,0.07 0.02,28.2 15.37,58.31 58.36,58.33 0.01,0 0.02,0 0.03,0 0.01,0 0.02,0 0.03,0 h 30.63 c 3.86,0 7.36,-1.57 9.89,-4.1 2.53,-2.53 4.1,-6.03 4.1,-9.89 v -0.02 c -0.01,-1.15 -0.17,-2.24 -0.43,-3.3 z" />
|
||||
<path d="m 556.94,318.33 c -3.95,0.96 -7.25,3.58 -9.09,7.1 -1.01,1.93 -1.59,4.13 -1.59,6.46 v 30.73 c -0.03,20.14 -10.26,30.35 -30.42,30.35 -0.02,0 -0.04,0 -0.06,0 v 0 h -76.11 c -0.55,0 -1.09,0.04 -1.62,0.1 -0.13,0.01 -0.25,0.04 -0.37,0.06 -0.41,0.06 -0.82,0.13 -1.22,0.23 -0.12,0.03 -0.24,0.06 -0.36,0.09 -0.42,0.11 -0.84,0.24 -1.25,0.39 -0.08,0.03 -0.15,0.05 -0.23,0.08 -0.48,0.19 -0.96,0.4 -1.41,0.64 -0.03,0.01 -0.05,0.04 -0.08,0.05 -0.52,0.28 -1.03,0.58 -1.51,0.92 -0.01,0.01 -0.02,0.02 -0.04,0.03 -0.47,0.34 -0.92,0.7 -1.34,1.09 -0.05,0.04 -0.09,0.08 -0.14,0.13 -0.86,0.81 -1.61,1.72 -2.24,2.71 -0.06,0.09 -0.11,0.19 -0.17,0.28 -0.26,0.43 -0.5,0.88 -0.71,1.34 -0.04,0.08 -0.08,0.15 -0.11,0.23 -0.23,0.53 -0.43,1.07 -0.6,1.63 -0.03,0.11 -0.06,0.22 -0.09,0.33 -0.12,0.45 -0.22,0.92 -0.3,1.39 -0.03,0.16 -0.05,0.31 -0.07,0.47 -0.07,0.58 -0.13,1.18 -0.13,1.78 0,0 0,0 0,0 v 0 c 0,0.73 0.07,1.43 0.18,2.13 0.02,0.12 0.03,0.25 0.06,0.37 0.12,0.67 0.29,1.32 0.5,1.96 0.03,0.1 0.07,0.2 0.11,0.3 0.48,1.33 1.15,2.56 1.99,3.67 0.04,0.05 0.08,0.1 0.12,0.16 0.43,0.56 0.91,1.08 1.42,1.57 0.02,0.02 0.04,0.04 0.07,0.06 1.07,1 2.3,1.84 3.65,2.46 0,0 0.01,0 0.01,0 0.64,0.3 1.31,0.54 2,0.74 0.04,0.01 0.09,0.04 0.13,0.05 0.55,0.15 1.12,0.27 1.7,0.36 0.08,0.01 0.16,0.03 0.24,0.04 0.6,0.08 1.2,0.13 1.82,0.13 h 76.17 c 0.02,0 0.04,0 0.07,0 28.2,-0.02 58.31,-15.37 58.33,-58.36 0,-0.01 0,-0.02 0,-0.03 0,-0.01 0,-0.02 0,-0.03 v -30.63 c 0,-3.86 -1.57,-7.36 -4.1,-9.89 -2.53,-2.53 -6.03,-4.1 -9.89,-4.1 h -0.02 c -1.15,0.01 -2.24,0.17 -3.3,0.43 z" />
|
||||
<path d="m 492.66,459.28 c 0.96,3.95 3.58,7.25 7.1,9.09 1.93,1.01 4.13,1.59 6.46,1.59 h 30.73 c 20.14,0.03 30.35,10.26 30.35,30.42 0,0.02 0,0.04 0,0.06 v 0 76.11 c 0,0.55 0.04,1.09 0.1,1.62 0.01,0.13 0.04,0.25 0.06,0.37 0.06,0.41 0.13,0.82 0.23,1.22 0.03,0.12 0.06,0.24 0.09,0.36 0.11,0.42 0.24,0.84 0.39,1.25 0.03,0.08 0.05,0.15 0.08,0.23 0.19,0.48 0.4,0.96 0.64,1.41 0.01,0.03 0.04,0.05 0.05,0.08 0.28,0.52 0.58,1.03 0.92,1.51 0.01,0.01 0.02,0.02 0.03,0.04 0.34,0.47 0.7,0.92 1.09,1.34 0.04,0.05 0.08,0.09 0.13,0.14 0.81,0.86 1.72,1.61 2.71,2.24 0.09,0.06 0.19,0.11 0.28,0.17 0.43,0.26 0.88,0.5 1.34,0.71 0.08,0.04 0.15,0.08 0.23,0.11 0.53,0.23 1.07,0.43 1.63,0.6 0.11,0.03 0.22,0.06 0.33,0.09 0.45,0.12 0.92,0.22 1.39,0.3 0.16,0.03 0.31,0.05 0.47,0.07 0.58,0.07 1.18,0.13 1.78,0.13 0,0 0,0 0,0 v 0 c 0.73,0 1.43,-0.07 2.13,-0.18 0.12,-0.02 0.25,-0.03 0.37,-0.06 0.67,-0.12 1.32,-0.29 1.96,-0.5 0.1,-0.03 0.2,-0.07 0.3,-0.11 1.33,-0.48 2.56,-1.15 3.67,-1.99 0.05,-0.04 0.1,-0.08 0.16,-0.12 0.56,-0.43 1.08,-0.91 1.57,-1.42 0.02,-0.02 0.04,-0.04 0.06,-0.07 1,-1.07 1.84,-2.3 2.46,-3.65 0,0 0,-0.01 0,-0.01 0.3,-0.64 0.54,-1.31 0.74,-2 0.01,-0.04 0.04,-0.09 0.05,-0.13 0.15,-0.55 0.27,-1.12 0.36,-1.7 0.01,-0.08 0.03,-0.16 0.04,-0.24 0.08,-0.6 0.13,-1.2 0.13,-1.82 v -76.17 c 0,-0.02 0,-0.04 0,-0.07 -0.02,-28.2 -15.37,-58.31 -58.36,-58.33 -0.01,0 -0.02,0 -0.03,0 -0.01,0 -0.02,0 -0.03,0 h -30.63 c -3.86,0 -7.36,1.57 -9.89,4.1 -2.53,2.53 -4.1,6.03 -4.1,9.89 v 0.02 c 0.01,1.15 0.17,2.24 0.43,3.3 z" />
|
||||
<path d="m 633.61,523.56 c 3.95,-0.96 7.25,-3.58 9.09,-7.1 1.01,-1.93 1.59,-4.13 1.59,-6.46 v -30.73 c 0.03,-20.14 10.26,-30.35 30.42,-30.35 0.02,0 0.04,0 0.06,0 v 0 h 76.11 c 0.55,0 1.09,-0.04 1.62,-0.1 0.13,-0.01 0.25,-0.04 0.37,-0.06 0.41,-0.06 0.82,-0.13 1.22,-0.23 0.12,-0.03 0.24,-0.06 0.36,-0.09 0.42,-0.11 0.84,-0.24 1.25,-0.39 0.08,-0.03 0.15,-0.05 0.23,-0.08 0.48,-0.19 0.96,-0.4 1.41,-0.64 0.03,-0.01 0.05,-0.04 0.08,-0.05 0.52,-0.28 1.03,-0.58 1.51,-0.92 0.01,-0.01 0.02,-0.02 0.04,-0.03 0.47,-0.34 0.92,-0.7 1.34,-1.09 0.05,-0.04 0.09,-0.08 0.14,-0.13 0.86,-0.81 1.61,-1.72 2.24,-2.71 0.06,-0.09 0.11,-0.19 0.17,-0.28 0.26,-0.43 0.5,-0.88 0.71,-1.34 0.04,-0.08 0.08,-0.15 0.11,-0.23 0.23,-0.53 0.43,-1.07 0.6,-1.63 0.03,-0.11 0.06,-0.22 0.09,-0.33 0.12,-0.45 0.22,-0.92 0.3,-1.39 0.03,-0.16 0.05,-0.31 0.07,-0.47 0.07,-0.58 0.13,-1.18 0.13,-1.78 0,0 0,0 0,0 v 0 c 0,-0.73 -0.07,-1.43 -0.18,-2.13 -0.02,-0.12 -0.03,-0.25 -0.06,-0.37 -0.12,-0.67 -0.29,-1.32 -0.5,-1.96 -0.03,-0.1 -0.07,-0.2 -0.11,-0.3 -0.48,-1.33 -1.15,-2.56 -1.99,-3.67 -0.04,-0.05 -0.08,-0.1 -0.12,-0.16 -0.43,-0.56 -0.91,-1.08 -1.42,-1.57 -0.02,-0.02 -0.04,-0.04 -0.07,-0.06 -1.07,-1 -2.3,-1.84 -3.65,-2.46 0,0 -0.01,0 -0.01,0 -0.64,-0.3 -1.31,-0.54 -2,-0.74 -0.04,-0.01 -0.09,-0.04 -0.13,-0.05 -0.55,-0.15 -1.12,-0.27 -1.7,-0.36 -0.08,-0.01 -0.16,-0.03 -0.24,-0.04 -0.6,-0.08 -1.2,-0.13 -1.82,-0.13 H 674.7 c -0.02,0 -0.04,0 -0.07,0 -28.2,0.02 -58.31,15.37 -58.33,58.36 0,0.01 0,0.02 0,0.03 0,0.01 0,0.02 0,0.03 V 510 c 0,3.86 1.57,7.36 4.1,9.89 2.53,2.53 6.03,4.1 9.89,4.1 h 0.02 c 1.15,-0.01 2.24,-0.17 3.3,-0.43 z" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
</div>
|
||||
<div className="icons">
|
||||
{loggedIn && (
|
||||
<div className="logout" onClick={logout}>
|
||||
<svg
|
||||
viewBox="0 0 16 16"
|
||||
fill="none"
|
||||
xmlns="http://www.w3.org/2000/svg">
|
||||
<path
|
||||
fillRule="evenodd"
|
||||
clipRule="evenodd"
|
||||
d="M6.31111 11.2L7.55556 12.4444L12 8L7.55556 3.55556L6.31111 4.8L8.62222 7.11111H0V8.88889H8.62222L6.31111 11.2ZM14.2222 0H1.77778C0.8 0 0 0.8 0 1.77778V5.33333H1.77778V1.77778H14.2222V14.2222H1.77778V10.6667H0V14.2222C0 15.2 0.8 16 1.77778 16H14.2222C15.2 16 16 15.2 16 14.2222V1.77778C16 0.8 15.2 0 14.2222 0Z"
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
)}
|
||||
<div className="exit" onClick={close}>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18">
|
||||
<g>
|
||||
<path d="M12.255 6.992a.75.75 0 1 0-1.023-1.097L9.037 7.94 6.992 5.745a.75.75 0 0 0-1.097 1.023L7.94 8.963l-2.195 2.045a.75.75 0 0 0 1.023 1.097l2.195-2.045 2.045 2.195a.75.75 0 0 0 1.097-1.023L10.06 9.037l2.195-2.045z" />
|
||||
<path
|
||||
fillRule="evenodd"
|
||||
d="M.75 9a8.25 8.25 0 1 1 16.5 0A8.25 8.25 0 1 1 .75 9zM9 15.75a6.75 6.75 0 1 1 0-13.5 6.75 6.75 0 1 1 0 13.5z"
|
||||
/>
|
||||
</g>
|
||||
</svg>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div className="body">
|
||||
<div className="connection">
|
||||
<svg viewBox="0 0 113 113" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clipPath="url(#clip0_625_565)">
|
||||
<path
|
||||
d="M24.7188 63.5625H88.2812C101.912 63.5625 113 52.4744 113 38.8438C113 25.2131 101.912 14.125 88.2812 14.125H28.25C28.25 6.32094 21.9291 0 14.125 0C6.32094 0 0 6.32094 0 14.125C0 21.9291 6.32094 28.25 14.125 28.25C19.3371 28.25 23.843 25.3897 26.2937 21.1875H88.2812C98.0134 21.1875 105.938 29.1116 105.938 38.8438C105.938 48.5759 98.0134 56.5 88.2812 56.5H24.7188C11.0881 56.5 0 67.5881 0 81.2188C0 94.8494 11.0881 105.938 24.7188 105.938H86.7063C89.1499 110.14 93.6558 113 98.875 113C106.679 113 113 106.679 113 98.875C113 91.0709 106.679 84.75 98.875 84.75C91.0709 84.75 84.75 91.0709 84.75 98.875H24.7188C14.9866 98.875 7.0625 90.9509 7.0625 81.2188C7.0625 71.4866 14.9866 63.5625 24.7188 63.5625Z"
|
||||
fill="url(#paint0_linear_625_565)"
|
||||
/>
|
||||
</g>
|
||||
<defs>
|
||||
<linearGradient
|
||||
id="paint0_linear_625_565"
|
||||
x1="56.5"
|
||||
y1="0"
|
||||
x2="56.5"
|
||||
y2="113"
|
||||
gradientUnits="userSpaceOnUse">
|
||||
<stop stopColor="#1F6E46" />
|
||||
<stop offset="1" stopColor="#484848" stopOpacity="0" />
|
||||
</linearGradient>
|
||||
<clipPath id="clip0_625_565">
|
||||
<rect width="113" height="113" fill="white" />
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
</div>
|
||||
<div className="connection-text">
|
||||
{!loggedIn && <>Looks like you’re not connected.</>}
|
||||
{loggedIn && <>Connected to Lume Web.</>}
|
||||
</div>
|
||||
<div className="button-container">
|
||||
{loggedIn && (
|
||||
<button className="dashboard-btn" onClick={openDashboard}>
|
||||
<svg
|
||||
width=""
|
||||
height=""
|
||||
viewBox=""
|
||||
fill="none"
|
||||
xmlns="http://www.w3.org/2000/svg">
|
||||
<g clipPath="url(#clip0_625_287)">
|
||||
<path
|
||||
d="M0 8C0 9.58225 0.469192 11.129 1.34824 12.4446C2.22729 13.7602 3.47672 14.7855 4.93853 15.391C6.40034 15.9965 8.00887 16.155 9.56072 15.8463C11.1126 15.5376 12.538 14.7757 13.6569 13.6569C14.7757 12.538 15.5376 11.1126 15.8463 9.56072C16.155 8.00887 15.9965 6.40034 15.391 4.93853C14.7855 3.47672 13.7602 2.22729 12.4446 1.34824C11.129 0.469192 9.58225 0 8 0C5.87827 0 3.84344 0.842855 2.34315 2.34315C0.842855 3.84344 0 5.87827 0 8Z"
|
||||
fill="#BFBFBF"
|
||||
/>
|
||||
<path
|
||||
d="M11.4999 10.545V12.0225C11.4999 12.0824 11.4763 12.1399 11.4342 12.1825C11.392 12.2251 11.3348 12.2494 11.2749 12.25H4.4999C4.44 12.2494 4.38277 12.2251 4.34065 12.1825C4.29852 12.1399 4.2749 12.0824 4.2749 12.0225V10.545C4.2749 9.35251 5.8924 8.38501 7.8874 8.38501C9.8824 8.38501 11.4999 9.35251 11.4999 10.545Z"
|
||||
stroke="#1E1F21"
|
||||
strokeWidth="2"
|
||||
strokeMiterlimit="10"
|
||||
strokeLinecap="round"
|
||||
/>
|
||||
<path
|
||||
d="M7.88747 6.84C8.77389 6.84 9.49247 6.14828 9.49247 5.295C9.49247 4.44172 8.77389 3.75 7.88747 3.75C7.00105 3.75 6.28247 4.44172 6.28247 5.295C6.28247 6.14828 7.00105 6.84 7.88747 6.84Z"
|
||||
stroke="#1E1F21"
|
||||
strokeWidth="2"
|
||||
strokeMiterlimit="10"
|
||||
strokeLinecap="round"
|
||||
/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_625_287">
|
||||
<rect width="16" height="16" fill="white" />
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
<span>Dashboard</span>
|
||||
</button>
|
||||
)}
|
||||
{!loggedIn && (
|
||||
<button className="login-btn" onClick={openAccount}>
|
||||
<span>Login</span>
|
||||
</button>
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
</>
|
||||
);
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Lume Web</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="app"></div>
|
||||
<script type="module" src="./popup.js"></script>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,8 @@
|
|||
import { createRoot } from "react-dom";
|
||||
import React from "react";
|
||||
|
||||
import App from "./apps/popup/App.tsx";
|
||||
|
||||
const root = createRoot(document.getElementById("app"));
|
||||
|
||||
root.render(React.createElement(App));
|
|
@ -3,6 +3,7 @@ module.exports = {
|
|||
"./onboarding.html",
|
||||
"./account.html",
|
||||
"./dashboard.html",
|
||||
"./popup.html",
|
||||
"./src/**/*.{js,ts, tsx}",
|
||||
],
|
||||
mode: "jit",
|
||||
|
|
|
@ -12,6 +12,7 @@ export default defineConfig({
|
|||
onboarding: resolve(__dirname, "onboarding.html"),
|
||||
account: resolve(__dirname, "account.html"),
|
||||
dashboard: resolve(__dirname, "dashboard.html"),
|
||||
popup: resolve(__dirname, "popup.html"),
|
||||
},
|
||||
},
|
||||
minify: false,
|
||||
|
|
Reference in New Issue