mirror of
https://github.com/Gabi-Zar/Silk-Fly-Launcher.git
synced 2026-04-17 05:26:04 +02:00
update styles and html for online mods page, add open external link function
This commit is contained in:
6
main.js
6
main.js
@@ -1,4 +1,4 @@
|
|||||||
const { app, BrowserWindow , ipcMain, dialog} = require('electron/main');
|
const { app, BrowserWindow , ipcMain, dialog, shell} = require('electron/main');
|
||||||
const path = require('node:path');
|
const path = require('node:path');
|
||||||
const Store = require('electron-store').default;
|
const Store = require('electron-store').default;
|
||||||
const fs = require('fs/promises');
|
const fs = require('fs/promises');
|
||||||
@@ -95,3 +95,7 @@ ipcMain.handle('import-data', async () => {
|
|||||||
}
|
}
|
||||||
await fs.copyFile(filePaths[0], dataPath,fs.constants.COPYFILE_EXCL)
|
await fs.copyFile(filePaths[0], dataPath,fs.constants.COPYFILE_EXCL)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
ipcMain.handle('open-link', async (event, link) => {
|
||||||
|
await shell.openExternal(link)
|
||||||
|
})
|
||||||
@@ -18,3 +18,7 @@ contextBridge.exposeInMainWorld('files', {
|
|||||||
export: () => ipcRenderer.invoke('export-data'),
|
export: () => ipcRenderer.invoke('export-data'),
|
||||||
import: () => ipcRenderer.invoke('import-data')
|
import: () => ipcRenderer.invoke('import-data')
|
||||||
});
|
});
|
||||||
|
|
||||||
|
contextBridge.exposeInMainWorld('electronAPI', {
|
||||||
|
openExternalLink: (url) => ipcRenderer.invoke('open-link', url)
|
||||||
|
});
|
||||||
BIN
renderer/assets/placeholder_icon.png
Normal file
BIN
renderer/assets/placeholder_icon.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 356 B |
@@ -80,8 +80,18 @@
|
|||||||
|
|
||||||
<template id="mod-template">
|
<template id="mod-template">
|
||||||
<div class="mod-container">
|
<div class="mod-container">
|
||||||
|
<div class="mod-text">
|
||||||
<h3 id="mod-title">Mod Title</h3>
|
<h3 id="mod-title">Mod Title</h3>
|
||||||
<p id="mod-description">description</p>
|
<p id="mod-description">description</p>
|
||||||
|
<p class="transparent-text">V1.0.0 last update on 01/01/2026</p>
|
||||||
|
|
||||||
|
<div class="mod-actions">
|
||||||
|
<button class="default-button" onclick="downloadMod()">Download</button>
|
||||||
|
<a href="https://google.com" class="default-button" id="external-link">Website</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<img class="mod-icon" src="assets/placeholder_icon.png" alt="mod icon">
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|||||||
@@ -48,6 +48,14 @@ async function navigate(page) {
|
|||||||
|
|
||||||
for(let i = 0; i <= 10; i++) {
|
for(let i = 0; i <= 10; i++) {
|
||||||
const modTemplateCopy = modTemplate.content.cloneNode(true)
|
const modTemplateCopy = modTemplate.content.cloneNode(true)
|
||||||
|
|
||||||
|
const modLinkButton = modTemplateCopy.getElementById("external-link")
|
||||||
|
modLinkButton.addEventListener('click', function(event) {
|
||||||
|
event.preventDefault()
|
||||||
|
const modLink = modLinkButton.href
|
||||||
|
electronAPI.openExternalLink(modLink)
|
||||||
|
})
|
||||||
|
|
||||||
ModsContainer.appendChild(modTemplateCopy)
|
ModsContainer.appendChild(modTemplateCopy)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@@ -104,3 +112,7 @@ async function importData() {
|
|||||||
await files.import()
|
await files.import()
|
||||||
document.getElementById("silksong-path-input").value = await save.loadSilksongPath()
|
document.getElementById("silksong-path-input").value = await save.loadSilksongPath()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async function downloadMod() {
|
||||||
|
console.log("WIP")
|
||||||
|
}
|
||||||
@@ -249,9 +249,33 @@ body {
|
|||||||
width: 100%;
|
width: 100%;
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
margin-bottom: 10px;
|
margin-bottom: 10px;
|
||||||
background: rgba(0, 0, 0, 0.8);
|
display: flex;
|
||||||
border: 1px solid rgba(200, 25, 0);
|
align-items: center;
|
||||||
border-radius: 12px;
|
justify-content: space-between;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.mod-container:not(:last-child) {
|
||||||
|
border-bottom: 1px solid rgba(150, 25, 0, 0.5);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.mod-text {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mod-actions {
|
||||||
|
margin-top: 12px;
|
||||||
|
display: flex;
|
||||||
|
gap: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mod-icon {
|
||||||
|
width: 128px;
|
||||||
|
height: 128px;
|
||||||
|
object-fit: contain;
|
||||||
|
opacity: 0.9;
|
||||||
}
|
}
|
||||||
|
|
||||||
::-webkit-scrollbar {
|
::-webkit-scrollbar {
|
||||||
@@ -270,3 +294,7 @@ body {
|
|||||||
::-webkit-scrollbar-thumb:hover {
|
::-webkit-scrollbar-thumb:hover {
|
||||||
background: rgb(170, 25, 0);
|
background: rgb(170, 25, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.transparent-text {
|
||||||
|
color: rgba(255, 255, 255, 0.7);
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user