Compare commits

..

1 commit

Author SHA1 Message Date
ce6c0fb270 Update README.md 2025-04-03 17:43:56 +00:00
15 changed files with 13 additions and 2286 deletions

3
.gitignore vendored
View file

@ -130,6 +130,3 @@ dist
.yarn/install-state.gz
.pnp.*
# Mock hiding
public/mock/*
!public/mock/notice.txt

View file

@ -1,3 +0,0 @@
{
"recommendations": ["Vue.volar"]
}

1105
Bridge-mock-APIs.d.ts vendored

File diff suppressed because it is too large Load diff

View file

@ -1,2 +1,13 @@
This is the Vue 3 + Vite template branch.
If you want to download this for use, this is not a working Bridge Launcher Project, but a template. In that case select a different branch.
# BLHS
Bridge Launcher Home Screens I made for myself but published for no reason
# How to install
1. **Go to Branches** -> (select any EXCEPT `template`)
2. **Go to Release**
3. **Download** the source code `.zip` file
4. **Unarchive** the downloaded `.zip` file into any directory
> Note: You only need `dist` folder from there, you can safely delete everything else
5. **Open Bridge Launcher** and go to settings to **choose the `dist` folder from unarchived the `.zip` file as the Project Folder**
# License
[MIT](LICENSE)

View file

@ -1,13 +0,0 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Vite + Vue</title>
</head>
<body>
<div id="app"></div>
<script type="module" src="/src/main.js"></script>
</body>
</html>

View file

@ -1,26 +0,0 @@
{
"name": "blhs",
"private": true,
"version": "0.0.0",
"type": "module",
"scripts": {
"dev": "vite",
"build": "vite build",
"preview": "vite preview"
},
"dependencies": {
"@bridgelauncher/api-mock": "^0.1.0",
"vue": "^3.5.13"
},
"devDependencies": {
"@vitejs/plugin-vue": "^5.2.1",
"sass": "^1.86.2",
"vite": "^6.2.0"
},
"packageManager": "pnpm@10.6.1+sha512.40ee09af407fa9fbb5fbfb8e1cb40fbb74c0af0c3e10e9224d7b53c7658528615b2c92450e74cfad91e3a2dcafe3ce4050d80bda71d757756d2ce2b66213e9a3",
"pnpm": {
"onlyBuiltDependencies": [
"@parcel/watcher"
]
}
}

1016
pnpm-lock.yaml generated

File diff suppressed because it is too large Load diff

View file

@ -1,9 +0,0 @@
This is the mock folder, put your `icons` folder and `apps.json` in the folder where this file is located
How to obtain? (you may ask)
1. Open Bridge Launcher
2. Open it's Settings
3. Scroll down to 'development'
4. Click 'Export'
5. Select any path
6. Transfer the needed files (`icons` folder and `apps.json`) here

View file

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="31.88" height="32" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 257"><defs><linearGradient id="IconifyId1813088fe1fbc01fb466" x1="-.828%" x2="57.636%" y1="7.652%" y2="78.411%"><stop offset="0%" stop-color="#41D1FF"></stop><stop offset="100%" stop-color="#BD34FE"></stop></linearGradient><linearGradient id="IconifyId1813088fe1fbc01fb467" x1="43.376%" x2="50.316%" y1="2.242%" y2="89.03%"><stop offset="0%" stop-color="#FFEA83"></stop><stop offset="8.333%" stop-color="#FFDD35"></stop><stop offset="100%" stop-color="#FFA800"></stop></linearGradient></defs><path fill="url(#IconifyId1813088fe1fbc01fb466)" d="M255.153 37.938L134.897 252.976c-2.483 4.44-8.862 4.466-11.382.048L.875 37.958c-2.746-4.814 1.371-10.646 6.827-9.67l120.385 21.517a6.537 6.537 0 0 0 2.322-.004l117.867-21.483c5.438-.991 9.574 4.796 6.877 9.62Z"></path><path fill="url(#IconifyId1813088fe1fbc01fb467)" d="M185.432.063L96.44 17.501a3.268 3.268 0 0 0-2.634 3.014l-5.474 92.456a3.268 3.268 0 0 0 3.997 3.378l24.777-5.718c2.318-.535 4.413 1.507 3.936 3.838l-7.361 36.047c-.495 2.426 1.782 4.5 4.151 3.78l15.304-4.649c2.372-.72 4.652 1.36 4.15 3.788l-11.698 56.621c-.732 3.542 3.979 5.473 5.943 2.437l1.313-2.028l72.516-144.72c1.215-2.423-.88-5.186-3.54-4.672l-25.505 4.922c-2.396.462-4.435-1.77-3.759-4.114l16.646-57.705c.677-2.35-1.37-4.583-3.769-4.113Z"></path></svg>

Before

Width:  |  Height:  |  Size: 1.5 KiB

View file

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="37.07" height="36" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 198"><path fill="#41B883" d="M204.8 0H256L128 220.8L0 0h97.92L128 51.2L157.44 0h47.36Z"></path><path fill="#41B883" d="m0 0l128 220.8L256 0h-51.2L128 132.48L50.56 0H0Z"></path><path fill="#35495E" d="M50.56 0L128 133.12L204.8 0h-47.36L128 51.2L97.92 0H50.56Z"></path></svg>

Before

Width:  |  Height:  |  Size: 496 B

View file

@ -1,29 +0,0 @@
<template>
This is a <strong>TEMPLATE</strong>
<Suspense>
<template #default>
<div>
<AppIcon v-for="app in apps" :key="app.packageName" :packageName="app.packageName" :label="app.label" />
</div>
</template>
</Suspense>
</template>
<script setup>
import { ref } from 'vue'
import AppIcon from './components/AppIcon.vue'
const apps = ref([])
async function loadApps() {
const resp = await fetch(Bridge.getAppsURL())
const data = await resp.json()
apps.value = data.apps
}
loadApps()
</script>
<style>
</style>

View file

@ -1,43 +0,0 @@
<script setup>
import { defineProps, ref, onMounted } from 'vue'
// Define component props
const props = defineProps({
packageName: {
type: String,
required: true
},
label: {
type: String,
required: true
}
})
// Create a ref to hold the icon URL
const icon = ref('');
icon.value = await Bridge.getDefaultAppIconURL(props.packageName);
</script>
<template>
<div class="app-icon">
<img :src="icon" :alt="props.label" />
<span>{{ props.label }}</span>
</div>
</template>
<style scoped>
.app-icon {
display: flex;
align-items: center;
}
.app-icon img {
width: 50px;
height: 50px;
}
.app-icon span {
font-size: 14px;
color: #333;
}
</style>

View file

@ -1,13 +0,0 @@
import { createApp } from 'vue'
import './style.scss'
import App from './App.vue'
import { BridgeMock } from '@bridgelauncher/api-mock';
if (!window.Bridge) {
window.Bridge = new BridgeMock({
appsUrl: '/mock/apps.json',
makeGetDefaultIconUrl: (packageName) => `/mock/icons/default/${packageName}.png`,
});
}
createApp(App).mount('#app')

View file

@ -1,7 +0,0 @@
// SCSS goes here
body {
margin: 0;
padding: 0;
box-sizing: border-box;
}

View file

@ -1,15 +0,0 @@
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import sass from 'sass';
// https://vite.dev/config/
export default defineConfig({
plugins: [vue()],
css: {
preprocessorOptions: {
sass: {
implementation: sass,
},
},
},
})