Compare commits

...

2 Commits

5 changed files with 65 additions and 58 deletions

View File

@@ -1,26 +1,26 @@
# Logs # Logs
logs logs
*.log *.log
npm-debug.log* npm-debug.log*
yarn-debug.log* yarn-debug.log*
yarn-error.log* yarn-error.log*
pnpm-debug.log* pnpm-debug.log*
lerna-debug.log* lerna-debug.log*
node_modules node_modules
dist dist
dist-ssr dist-ssr
dist-electron dist-electron
*.local *.local
release/ release/
# Editor directories and files # Editor directories and files
.vscode/* .vscode/*
!.vscode/extensions.json !.vscode/extensions.json
.idea .idea
.DS_Store .DS_Store
*.suo *.suo
*.ntvs* *.ntvs*
*.njsproj *.njsproj
*.sln *.sln
*.sw? *.sw?

View File

@@ -4,7 +4,8 @@
"version": "0.0.0", "version": "0.0.0",
"type": "module", "type": "module",
"scripts": { "scripts": {
"dev": "bunx --bun vite --open", "dev:web": "VITE_APP_MODE=web bunx --bun vite",
"dev:electron": "bunx --bun vite --open",
"build": "tsc && bunx --bun vite build && electron-builder", "build": "tsc && bunx --bun vite build && electron-builder",
"lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0", "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
"preview": "bunx --bun vite preview" "preview": "bunx --bun vite preview"

View File

@@ -65,7 +65,7 @@ function App(props: { socket: Socket }) {
return ( return (
<ErrorBoundary> <ErrorBoundary>
<QueryClientProvider client={queryClient}> <QueryClientProvider client={queryClient}>
<ThemeProvider defaultTheme="system" storageKey="discord-theme"> <ThemeProvider defaultTheme="system" storageKey="concord-theme">
<Router> <Router>
<div className="h-screen w-screen overflow-hidden bg-background text-foreground"> <div className="h-screen w-screen overflow-hidden bg-background text-foreground">
<Routes> <Routes>

View File

@@ -558,9 +558,8 @@ const ChatPage: React.FC = () => {
</div> </div>
); );
} else if (!channelId || !currentChannel) { } else if (!channelId || !currentChannel) {
const existingChannelId = categories const existingChannelId = categories?.flatMap((cat) => cat.channels)?.[0]
?.flatMap((cat) => cat.channels) ?.id; // Get the first channel from the flattened list
?.find((channel) => channel.position === 0)?.id;
if (existingChannelId) { if (existingChannelId) {
navigate(`/channels/${instanceId}/${existingChannelId}`); navigate(`/channels/${instanceId}/${existingChannelId}`);

View File

@@ -5,33 +5,40 @@ import react from "@vitejs/plugin-react";
import tailwindcss from "@tailwindcss/vite"; import tailwindcss from "@tailwindcss/vite";
// https://vitejs.dev/config/ // https://vitejs.dev/config/
export default defineConfig({ export default defineConfig(({ mode }) => {
plugins: [ // Check if VITE_APP_MODE is set to 'web'
react(), const isWebApp = process.env.VITE_APP_MODE === "web";
electron({
main: { return {
// Shortcut of `build.lib.entry`. plugins: [
entry: "electron/main.ts", react(),
// Only include the electron plugin if not in 'web' app mode
!isWebApp &&
electron({
main: {
// Shortcut of `build.lib.entry`.
entry: "electron/main.ts",
},
preload: {
// Shortcut of `build.rollupOptions.input`.
// Preload scripts may contain Web assets, so use the `build.rollupOptions.input` instead `build.lib.entry`.
input: path.join(__dirname, "electron/preload.ts"),
},
// Ployfill the Electron and Node.js API for Renderer process.
// If you want use Node.js in Renderer process, the `nodeIntegration` needs to be enabled in the Main process.
// See 👉 https://github.com/electron-vite/vite-plugin-electron-renderer
renderer:
process.env.NODE_ENV === "test"
? // https://github.com/electron-vite/vite-plugin-electron-renderer/issues/78#issuecomment-2053600808
undefined
: {},
}),
tailwindcss(),
].filter(Boolean), // Filter out 'false' values if electron plugin is not included
resolve: {
alias: {
"@": path.resolve(__dirname, "./src"),
}, },
preload: {
// Shortcut of `build.rollupOptions.input`.
// Preload scripts may contain Web assets, so use the `build.rollupOptions.input` instead `build.lib.entry`.
input: path.join(__dirname, "electron/preload.ts"),
},
// Ployfill the Electron and Node.js API for Renderer process.
// If you want use Node.js in Renderer process, the `nodeIntegration` needs to be enabled in the Main process.
// See 👉 https://github.com/electron-vite/vite-plugin-electron-renderer
renderer:
process.env.NODE_ENV === "test"
? // https://github.com/electron-vite/vite-plugin-electron-renderer/issues/78#issuecomment-2053600808
undefined
: {},
}),
tailwindcss(),
],
resolve: {
alias: {
"@": path.resolve(__dirname, "./src"),
}, },
}, };
}); });