diff --git a/apps/desktop/tailwind.config.js b/apps/desktop/tailwind.config.js
index 55ea44fdc..f9d8b0e5f 100644
--- a/apps/desktop/tailwind.config.js
+++ b/apps/desktop/tailwind.config.js
@@ -1 +1 @@
-module.exports = require('@sd/ui/tailwind');
+module.exports = require('@sd/ui/tailwind')('desktop');
diff --git a/apps/desktop/vite.config.ts b/apps/desktop/vite.config.ts
index 38b6e92e7..2bc86c870 100644
--- a/apps/desktop/vite.config.ts
+++ b/apps/desktop/vite.config.ts
@@ -4,9 +4,6 @@ import { name, version } from './package.json';
import * as path from 'path';
import svgr from '@honkhonk/vite-plugin-svgr';
-function resolvePackage(name: string) {
- return path.resolve(require.resolve(`${name}/package.json`), '../src');
-}
// https://vitejs.dev/config/
export default defineConfig({
server: {
@@ -23,16 +20,6 @@ export default defineConfig({
define: {
pkgJson: { name, version }
},
- optimizeDeps: {
- include: ['@sd/interface', '@sd/ui', '@sd/client']
- },
- resolve: {
- alias: {
- '@sd/interface': resolvePackage('@sd/interface'),
- '@sd/ui': resolvePackage('@sd/ui'),
- '@sd/client': resolvePackage('@sd/client')
- }
- },
build: {
outDir: '../dist',
assetsDir: '.'
diff --git a/apps/landing/.gitignore b/apps/landing/.gitignore
new file mode 100644
index 000000000..a547bf36d
--- /dev/null
+++ b/apps/landing/.gitignore
@@ -0,0 +1,24 @@
+# Logs
+logs
+*.log
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+pnpm-debug.log*
+lerna-debug.log*
+
+node_modules
+dist
+dist-ssr
+*.local
+
+# Editor directories and files
+.vscode/*
+!.vscode/extensions.json
+.idea
+.DS_Store
+*.suo
+*.ntvs*
+*.njsproj
+*.sln
+*.sw?
diff --git a/apps/landing/README.md b/apps/landing/README.md
deleted file mode 100644
index 897f79301..000000000
--- a/apps/landing/README.md
+++ /dev/null
@@ -1,43 +0,0 @@
-# TypeScript Next.js example
-
-This is a really simple project that shows the usage of Next.js with TypeScript.
-
-## Deploy your own
-
-Deploy the example using [Vercel](https://vercel.com?utm_source=github&utm_medium=readme&utm_campaign=next-example) or preview live with [StackBlitz](https://stackblitz.com/github/vercel/next.js/tree/canary/examples/with-typescript)
-
-[](https://vercel.com/new/git/external?repository-url=https://github.com/vercel/next.js/tree/canary/examples/with-typescript&project-name=with-typescript&repository-name=with-typescript)
-
-## How to use it?
-
-Execute [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app) with [npm](https://docs.npmjs.com/cli/init) or [Yarn](https://yarnpkg.com/lang/en/docs/cli/create/) to bootstrap the example:
-
-```bash
-npx create-next-app --example with-typescript with-typescript-app
-# or
-yarn create next-app --example with-typescript with-typescript-app
-# or
-pnpm create next-app -- --example with-typescript with-typescript-app
-```
-
-Deploy it to the cloud with [Vercel](https://vercel.com/new?utm_source=github&utm_medium=readme&utm_campaign=next-example) ([Documentation](https://nextjs.org/docs/deployment)).
-
-## Notes
-
-This example shows how to integrate the TypeScript type system into Next.js. Since TypeScript is supported out of the box with Next.js, all we have to do is to install TypeScript.
-
-```
-npm install --save-dev typescript
-```
-
-To enable TypeScript's features, we install the type declarations for React and Node.
-
-```
-npm install --save-dev @types/react @types/react-dom @types/node
-```
-
-When we run `next dev` the next time, Next.js will start looking for any `.ts` or `.tsx` files in our project and builds it. It even automatically creates a `tsconfig.json` file for our project with the recommended settings.
-
-Next.js has built-in TypeScript declarations, so we'll get autocompletion for Next.js' modules straight away.
-
-A `type-check` script is also added to `package.json`, which runs TypeScript's `tsc` CLI in `noEmit` mode to run type-checking separately. You can then include this, for example, in your `test` scripts.
diff --git a/apps/landing/components/Layout.tsx b/apps/landing/components/Layout.tsx
deleted file mode 100644
index e0e172ce3..000000000
--- a/apps/landing/components/Layout.tsx
+++ /dev/null
@@ -1,33 +0,0 @@
-import React, { ReactNode } from 'react';
-import Link from 'next/link';
-import Head from 'next/head';
-
-type Props = {
- children?: ReactNode;
- title?: string;
-};
-
-const Layout = ({ children, title = 'Spacedrive' }: Props) => (
- <>
-
- {title}
-
-
-
-
- {/*
-
- Home
- {' '}
- */}
-
-
- {children as any}
-
- {/* */}
- >
-);
-
-export default Layout;
diff --git a/apps/landing/components/global.scss b/apps/landing/components/global.scss
deleted file mode 100644
index bd6213e1d..000000000
--- a/apps/landing/components/global.scss
+++ /dev/null
@@ -1,3 +0,0 @@
-@tailwind base;
-@tailwind components;
-@tailwind utilities;
\ No newline at end of file
diff --git a/apps/landing/index.html b/apps/landing/index.html
new file mode 100644
index 000000000..38f386110
--- /dev/null
+++ b/apps/landing/index.html
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+ Vite App
+
+
+
+
+
+
diff --git a/apps/landing/next-env.d.ts b/apps/landing/next-env.d.ts
deleted file mode 100644
index 4f11a03dc..000000000
--- a/apps/landing/next-env.d.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-///
-///
-
-// NOTE: This file should not be edited
-// see https://nextjs.org/docs/basic-features/typescript for more information.
diff --git a/apps/landing/next.config.js b/apps/landing/next.config.js
deleted file mode 100644
index 1403639ed..000000000
--- a/apps/landing/next.config.js
+++ /dev/null
@@ -1,5 +0,0 @@
-module.exports = {
- experimental: {
- externalDir: true
- }
-};
diff --git a/apps/landing/package.json b/apps/landing/package.json
index 0794e9969..b3a282c4d 100644
--- a/apps/landing/package.json
+++ b/apps/landing/package.json
@@ -1,29 +1,30 @@
{
"name": "@sd/landing",
"private": true,
+ "version": "0.0.0",
"scripts": {
- "dev": "next -p 8003",
- "build": "next build",
- "start": "next start",
- "type-check": "tsc"
+ "dev": "vite",
+ "build": "tsc && vite build",
+ "preview": "vite preview"
},
"dependencies": {
- "@sd/interface": "*",
- "@sd/ui": "*",
- "autoprefixer": "^10.4.4",
- "next": "latest",
- "postcss": "^8.4.12",
- "react": "^17.0.2",
- "react-dom": "^17.0.2",
+ "@sd/client": "workspace:*",
+ "@sd/core": "workspace:*",
+ "@sd/interface": "workspace:*",
+ "@sd/ui": "workspace:*",
+ "react": "^18.0.0",
+ "react-dom": "^18.0.0",
"react-tsparticles": "^2.0.6",
- "sass": "^1.50.0",
- "tailwindcss": "^3.0.23",
"tsparticles": "^2.0.6"
},
"devDependencies": {
- "@types/node": "^12.12.21",
- "@types/react": "^17.0.2",
- "@types/react-dom": "^17.0.1",
- "typescript": "^4.6.3"
+ "@types/react": "^18.0.0",
+ "@types/react-dom": "^18.0.0",
+ "@vitejs/plugin-react": "^1.3.1",
+ "autoprefixer": "^10.4.4",
+ "postcss": "^8.4.12",
+ "tailwind": "^4.0.0",
+ "typescript": "^4.6.3",
+ "vite": "^2.9.5"
}
}
diff --git a/apps/landing/pages/_app.tsx b/apps/landing/pages/_app.tsx
deleted file mode 100644
index fa9af6e2a..000000000
--- a/apps/landing/pages/_app.tsx
+++ /dev/null
@@ -1,7 +0,0 @@
-import '../components/global.scss';
-
-function MyApp({ Component, pageProps }) {
- return ;
-}
-
-export default MyApp;
diff --git a/apps/landing/pages/index.tsx b/apps/landing/pages/index.tsx
deleted file mode 100644
index b7575489a..000000000
--- a/apps/landing/pages/index.tsx
+++ /dev/null
@@ -1,27 +0,0 @@
-// import Link from 'next/link';
-import Layout from '../components/Layout';
-import { Bubbles } from '../components/Bubbles';
-import { Button } from '@sd/ui';
-
-const IndexPage = () => (
-
-
- The file explorer from the future
-
- Spacedrive is the first file manager that puts the full power of the cloud in your hands.
-
-
- Download
-
-
-
-
-
-);
-
-export default IndexPage;
diff --git a/apps/landing/postcss.config.js b/apps/landing/postcss.config.js
index 5cbc2c7d8..ed7b3ffb4 100644
--- a/apps/landing/postcss.config.js
+++ b/apps/landing/postcss.config.js
@@ -1,6 +1 @@
-module.exports = {
- plugins: {
- tailwindcss: {},
- autoprefixer: {}
- }
-};
+module.exports = require('@sd/ui/postcss');
diff --git a/apps/landing/src/App.tsx b/apps/landing/src/App.tsx
new file mode 100644
index 000000000..2549ca087
--- /dev/null
+++ b/apps/landing/src/App.tsx
@@ -0,0 +1,28 @@
+import { useState } from 'react';
+import { Button } from '@sd/ui';
+import { Bubbles } from './Bubbles';
+
+function App() {
+ return (
+
+
+
The file explorer from the future
+
+ Spacedrive is the first file explorer that puts the full power of the cloud in your hands.
+
+
+ Download
+
+
+
+
+
+ );
+}
+
+export default App;
diff --git a/apps/landing/components/Bubbles.tsx b/apps/landing/src/Bubbles.tsx
similarity index 93%
rename from apps/landing/components/Bubbles.tsx
rename to apps/landing/src/Bubbles.tsx
index 844c0abd0..6993e8a26 100644
--- a/apps/landing/components/Bubbles.tsx
+++ b/apps/landing/src/Bubbles.tsx
@@ -3,12 +3,12 @@ import Particles from 'react-tsparticles';
import { loadFull } from 'tsparticles';
export const Bubbles = () => {
- const particlesInit = async (main) => {
+ const particlesInit = async (main: any) => {
console.log(main);
await loadFull(main);
};
- const particlesLoaded = (container) => {
+ const particlesLoaded = (container: any) => {
console.log(container);
};
diff --git a/apps/landing/src/favicon.svg b/apps/landing/src/favicon.svg
new file mode 100644
index 000000000..de4aeddc1
--- /dev/null
+++ b/apps/landing/src/favicon.svg
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/landing/src/index.css b/apps/landing/src/index.css
new file mode 100644
index 000000000..ec2585e8c
--- /dev/null
+++ b/apps/landing/src/index.css
@@ -0,0 +1,13 @@
+body {
+ margin: 0;
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
+ 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
+ sans-serif;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+}
+
+code {
+ font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',
+ monospace;
+}
diff --git a/apps/landing/src/logo.svg b/apps/landing/src/logo.svg
new file mode 100644
index 000000000..6b60c1042
--- /dev/null
+++ b/apps/landing/src/logo.svg
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/apps/landing/src/main.tsx b/apps/landing/src/main.tsx
new file mode 100644
index 000000000..54ead544c
--- /dev/null
+++ b/apps/landing/src/main.tsx
@@ -0,0 +1,10 @@
+import React from 'react';
+import ReactDOM from 'react-dom/client';
+import App from './App';
+import '@sd/ui/style';
+
+ReactDOM.createRoot(document.getElementById('root')!).render(
+
+
+
+);
diff --git a/apps/landing/src/vite-env.d.ts b/apps/landing/src/vite-env.d.ts
new file mode 100644
index 000000000..11f02fe2a
--- /dev/null
+++ b/apps/landing/src/vite-env.d.ts
@@ -0,0 +1 @@
+///
diff --git a/apps/landing/tailwind.config.js b/apps/landing/tailwind.config.js
index 64e461dec..306d40eb3 100644
--- a/apps/landing/tailwind.config.js
+++ b/apps/landing/tailwind.config.js
@@ -1,104 +1 @@
-module.exports = {
- content: ['./pages/**/*.{js,ts,jsx,tsx}', './components/**/*.{js,ts,jsx,tsx}'],
- darkMode: 'media',
- mode: 'jit',
- theme: {
- fontSize: {
- 'tiny': '.65rem',
- 'xs': '.75rem',
- 'sm': '.84rem',
- 'base': '1rem',
- 'lg': '1.125rem',
- 'xl': '1.25rem',
- '2xl': '1.5rem',
- '3xl': '1.875rem',
- '4xl': '2.25rem',
- '5xl': '3rem',
- '6xl': '4rem',
- '7xl': '5rem'
- },
- extend: {
- boxShadow: {
- box: '0px 4px 9px rgba(0, 0, 0, 0.05)',
- backdrop: '0px 4px 66px rgba(0, 0, 0, 0.08)'
- },
- bg: {
- funky: 'linear-gradient(90.63deg,#46bcff 12.1%,#85edfb 50.85%,#e04cf8 91.09%)'
- },
- colors: {
- primary: {
- DEFAULT: '#2599FF',
- 50: '#FFFFFF',
- 100: '#F1F8FF',
- 200: '#BEE1FF',
- 300: '#8BC9FF',
- 400: '#58B1FF',
- 500: '#2599FF',
- 600: '#0081F1',
- 700: '#0065BE',
- 800: '#004A8B',
- 900: '#002F58'
- },
- gray: {
- DEFAULT: '#505468',
- 50: '#F1F1F4',
- 100: '#E8E9ED',
- 150: '#E0E1E6',
- 200: '#D8DAE3',
- 250: '#D2D4DC',
- 300: '#C0C2CE',
- 350: '#A6AABF',
- 400: '#9196A8',
- 450: '#71758A',
- 500: '#303544',
- 550: '#20222d',
- 600: '#171720',
- 650: '#121219',
- 700: '#121317',
- 750: '#0D0E11',
- 800: '#0C0C0F',
- 850: '#08090D',
- 900: '#060609',
- 950: '#030303'
- }
- },
- // fontFamily: { sans: ['Inter', ...defaultTheme.fontFamily.sans] }
- extend: {
- transitionTimingFunction: {
- 'css': 'ease',
- 'css-in': 'ease-in',
- 'css-out': 'ease-out',
- 'css-in-out': 'ease-in-out',
- 'in-sine': 'cubic-bezier(0.12, 0, 0.39, 0)',
- 'out-sine': 'cubic-bezier(0.61, 1, 0.88, 1)',
- 'in-out-sine': 'cubic-bezier(0.37, 0, 0.63, 1)',
- 'in-quad': 'cubic-bezier(0.11, 0, 0.5, 0)',
- 'out-quad': 'cubic-bezier(0.5, 1, 0.89, 1)',
- 'in-out-quad': 'cubic-bezier(0.45, 0, 0.55, 1)',
- 'in-cubic': 'cubic-bezier(0.32, 0, 0.67, 0)',
- 'out-cubic': 'cubic-bezier(0.33, 1, 0.68, 1)',
- 'in-out-cubic': 'cubic-bezier(0.65, 0, 0.35, 1)',
- 'in-quart': 'cubic-bezier(0.5, 0, 0.75, 0)',
- 'out-quart': 'cubic-bezier(0.25, 1, 0.5, 1)',
- 'in-out-quart': 'cubic-bezier(0.76, 0, 0.24, 1)',
- 'in-quint': 'cubic-bezier(0.64, 0, 0.78, 0)',
- 'out-quint': 'cubic-bezier(0.22, 1, 0.36, 1)',
- 'in-out-quint': 'cubic-bezier(0.83, 0, 0.17, 1)',
- 'in-expo': 'cubic-bezier(0.7, 0, 0.84, 0)',
- 'out-expo': 'cubic-bezier(0.16, 1, 0.3, 1)',
- 'in-out-expo': 'cubic-bezier(0.87, 0, 0.13, 1)',
- 'in-circ': 'cubic-bezier(0.55, 0, 1, 0.45)',
- 'out-circ': 'cubic-bezier(0, 0.55, 0.45, 1)',
- 'in-out-circ': 'cubic-bezier(0.85, 0, 0.15, 1)',
- 'in-back': 'cubic-bezier(0.36, 0, 0.66, -0.56)',
- 'out-back': 'cubic-bezier(0.34, 1.56, 0.64, 1)',
- 'in-out-back': 'cubic-bezier(0.68, -0.6, 0.32, 1.6)'
- }
- }
- }
- },
- variants: {
- extend: {}
- },
- plugins: []
-};
+module.exports = require('@sd/ui/tailwind')('landing');
diff --git a/apps/landing/tsconfig.json b/apps/landing/tsconfig.json
index 5bee8c4d5..63968aa1f 100644
--- a/apps/landing/tsconfig.json
+++ b/apps/landing/tsconfig.json
@@ -1,30 +1,27 @@
{
"compilerOptions": {
- "target": "es5",
- "lib": [
- "dom",
- "dom.iterable",
- "esnext"
- ],
- "allowJs": true,
+ "target": "ESNext",
+ "useDefineForClassFields": true,
+ "lib": ["DOM", "DOM.Iterable", "ESNext"],
+ "allowJs": false,
"skipLibCheck": true,
- "strict": false,
+ "esModuleInterop": false,
+ "allowSyntheticDefaultImports": true,
+ "strict": true,
"forceConsistentCasingInFileNames": true,
- "noEmit": true,
- "esModuleInterop": true,
- "module": "esnext",
- "moduleResolution": "node",
+ "module": "ESNext",
+ "moduleResolution": "Node",
"resolveJsonModule": true,
"isolatedModules": true,
- "jsx": "preserve",
- "incremental": true
+ "noEmit": true,
+ "jsx": "react-jsx",
+ "baseUrl": "./",
+ "paths": {
+ "@sd/interface": ["../../packages/interface/src/index.ts"],
+ "@sd/ui": ["../../packages/ui/src/index.ts"],
+ "@sd/client": ["../../packages/client/src/index.ts"],
+ }
},
- "include": [
- "next-env.d.ts",
- "**/*.ts",
- "**/*.tsx"
- ],
- "exclude": [
- "node_modules"
- ]
+ "include": ["src"],
+ "references": [{ "path": "./tsconfig.node.json" }]
}
diff --git a/apps/landing/tsconfig.node.json b/apps/landing/tsconfig.node.json
new file mode 100644
index 000000000..e993792cb
--- /dev/null
+++ b/apps/landing/tsconfig.node.json
@@ -0,0 +1,8 @@
+{
+ "compilerOptions": {
+ "composite": true,
+ "module": "esnext",
+ "moduleResolution": "node"
+ },
+ "include": ["vite.config.ts"]
+}
diff --git a/apps/landing/vite.config.ts b/apps/landing/vite.config.ts
new file mode 100644
index 000000000..817878999
--- /dev/null
+++ b/apps/landing/vite.config.ts
@@ -0,0 +1,12 @@
+import { defineConfig } from 'vite';
+import react from '@vitejs/plugin-react';
+
+// https://vitejs.dev/config/
+export default defineConfig({
+ // @ts-ignore
+ plugins: [react()],
+ server: {
+ port: 8003
+ },
+ publicDir: 'public'
+});
diff --git a/apps/landing/yarn.lock b/apps/landing/yarn.lock
deleted file mode 100644
index 8bb6cce5d..000000000
--- a/apps/landing/yarn.lock
+++ /dev/null
@@ -1,208 +0,0 @@
-# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
-# yarn lockfile v1
-
-
-"@next/env@12.1.5":
- version "12.1.5"
- resolved "https://registry.yarnpkg.com/@next/env/-/env-12.1.5.tgz#a21ba6708022d630402ca2b340316e69a0296dfc"
- integrity sha512-+34yUJslfJi7Lyx6ELuN8nWcOzi27izfYnZIC1Dqv7kmmfiBVxgzR3BXhlvEMTKC2IRJhXVs2FkMY+buQe3k7Q==
-
-"@next/swc-android-arm-eabi@12.1.5":
- version "12.1.5"
- resolved "https://registry.yarnpkg.com/@next/swc-android-arm-eabi/-/swc-android-arm-eabi-12.1.5.tgz#36729ab3dfd7743e82cfe536b43254dcb146620c"
- integrity sha512-SKnGTdYcoN04Y2DvE0/Y7/MjkA+ltsmbuH/y/hR7Ob7tsj+8ZdOYuk+YvW1B8dY20nDPHP58XgDTSm2nA8BzzA==
-
-"@next/swc-android-arm64@12.1.5":
- version "12.1.5"
- resolved "https://registry.yarnpkg.com/@next/swc-android-arm64/-/swc-android-arm64-12.1.5.tgz#52578f552305c92d0b9b81d603c9643fb71e0835"
- integrity sha512-YXiqgQ/9Rxg1dXp6brXbeQM1JDx9SwUY/36JiE+36FXqYEmDYbxld9qkX6GEzkc5rbwJ+RCitargnzEtwGW0mw==
-
-"@next/swc-darwin-arm64@12.1.5":
- version "12.1.5"
- resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-12.1.5.tgz#3d5b53211484c72074f4975ba0ec2b1107db300e"
- integrity sha512-y8mhldb/WFZ6lFeowkGfi0cO/lBdiBqDk4T4LZLvCpoQp4Or/NzUN6P5NzBQZ5/b4oUHM/wQICEM+1wKA4qIVw==
-
-"@next/swc-darwin-x64@12.1.5":
- version "12.1.5"
- resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-12.1.5.tgz#adcabb732d226453777c0d37d58eaff9328b66fd"
- integrity sha512-wqJ3X7WQdTwSGi0kIDEmzw34QHISRIQ5uvC+VXmsIlCPFcMA+zM5723uh8NfuKGquDMiEMS31a83QgkuHMYbwQ==
-
-"@next/swc-linux-arm-gnueabihf@12.1.5":
- version "12.1.5"
- resolved "https://registry.yarnpkg.com/@next/swc-linux-arm-gnueabihf/-/swc-linux-arm-gnueabihf-12.1.5.tgz#82a7cde67482b756bc65fbebf1dfa8a782074e93"
- integrity sha512-WnhdM5duONMvt2CncAl+9pim0wBxDS2lHoo7ub/o/i1bRbs11UTzosKzEXVaTDCUkCX2c32lIDi1WcN2ZPkcdw==
-
-"@next/swc-linux-arm64-gnu@12.1.5":
- version "12.1.5"
- resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-12.1.5.tgz#f82ca014504950aab751e81f467492e9be0bad5d"
- integrity sha512-Jq2H68yQ4bLUhR/XQnbw3LDW0GMQn355qx6rU36BthDLeGue7YV7MqNPa8GKvrpPocEMW77nWx/1yI6w6J07gw==
-
-"@next/swc-linux-arm64-musl@12.1.5":
- version "12.1.5"
- resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-12.1.5.tgz#f811ec9f4b12a978426c284c95ab2f515ddf7f9e"
- integrity sha512-KgPjwdbhDqXI7ghNN8V/WAiLquc9Ebe8KBrNNEL0NQr+yd9CyKJ6KqjayVkmX+hbHzbyvbui/5wh/p3CZQ9xcQ==
-
-"@next/swc-linux-x64-gnu@12.1.5":
- version "12.1.5"
- resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-12.1.5.tgz#d44857257e6d20dc841998951d584ab1f25772c3"
- integrity sha512-O2ErUTvCJ6DkNTSr9pbu1n3tcqykqE/ebty1rwClzIYdOgpB3T2MfEPP+K7GhUR87wmN/hlihO9ch7qpVFDGKw==
-
-"@next/swc-linux-x64-musl@12.1.5":
- version "12.1.5"
- resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-12.1.5.tgz#3cc523abadc9a2a6de680593aff06e71cc29ecef"
- integrity sha512-1eIlZmlO/VRjxxzUBcVosf54AFU3ltAzHi+BJA+9U/lPxCYIsT+R4uO3QksRzRjKWhVQMRjEnlXyyq5SKJm7BA==
-
-"@next/swc-win32-arm64-msvc@12.1.5":
- version "12.1.5"
- resolved "https://registry.yarnpkg.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-12.1.5.tgz#c62232d869f1f9b22e8f24e4e7f05307c20f30ca"
- integrity sha512-oromsfokbEuVb0CBLLE7R9qX3KGXucZpsojLpzUh1QJjuy1QkrPJncwr8xmWQnwgtQ6ecMWXgXPB+qtvizT9Tw==
-
-"@next/swc-win32-ia32-msvc@12.1.5":
- version "12.1.5"
- resolved "https://registry.yarnpkg.com/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-12.1.5.tgz#2bd9b28a9ba730d12a493e7d9d18e150fe89d496"
- integrity sha512-a/51L5KzBpeZSW9LbekMo3I3Cwul+V+QKwbEIMA+Qwb2qrlcn1L9h3lt8cHqNTFt2y72ce6aTwDTw1lyi5oIRA==
-
-"@next/swc-win32-x64-msvc@12.1.5":
- version "12.1.5"
- resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-12.1.5.tgz#02f377e4d41eaaacf265e34bab9bacd8efc4a351"
- integrity sha512-/SoXW1Ntpmpw3AXAzfDRaQidnd8kbZ2oSni8u5z0yw6t4RwJvmdZy1eOaAADRThWKV+2oU90++LSnXJIwBRWYQ==
-
-"@types/node@^12.12.21":
- version "12.20.47"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.47.tgz#ca9237d51f2a2557419688511dab1c8daf475188"
- integrity sha512-BzcaRsnFuznzOItW1WpQrDHM7plAa7GIDMZ6b5pnMbkqEtM/6WCOhvZar39oeMQP79gwvFUWjjptE7/KGcNqFg==
-
-"@types/prop-types@*":
- version "15.7.5"
- resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.5.tgz#5f19d2b85a98e9558036f6a3cacc8819420f05cf"
- integrity sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==
-
-"@types/react-dom@^17.0.1":
- version "17.0.15"
- resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-17.0.15.tgz#f2c8efde11521a4b7991e076cb9c70ba3bb0d156"
- integrity sha512-Tr9VU9DvNoHDWlmecmcsE5ZZiUkYx+nKBzum4Oxe1K0yJVyBlfbq7H3eXjxXqJczBKqPGq3EgfTru4MgKb9+Yw==
- dependencies:
- "@types/react" "^17"
-
-"@types/react@^17", "@types/react@^17.0.2":
- version "17.0.44"
- resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.44.tgz#c3714bd34dd551ab20b8015d9d0dbec812a51ec7"
- integrity sha512-Ye0nlw09GeMp2Suh8qoOv0odfgCoowfM/9MG6WeRD60Gq9wS90bdkdRtYbRkNhXOpG4H+YXGvj4wOWhAC0LJ1g==
- dependencies:
- "@types/prop-types" "*"
- "@types/scheduler" "*"
- csstype "^3.0.2"
-
-"@types/scheduler@*":
- version "0.16.2"
- resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.2.tgz#1a62f89525723dde24ba1b01b092bf5df8ad4d39"
- integrity sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==
-
-caniuse-lite@^1.0.30001283:
- version "1.0.30001331"
- resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001331.tgz#41048f2a5cf0c3c6198f40207cd323388b3d4399"
- integrity sha512-Y1xk6paHpUXKP/P6YjQv1xqyTbgAP05ycHBcRdQjTcyXlWol868sJJPlmk5ylOekw2BrucWes5jk+LvVd7WZ5Q==
-
-csstype@^3.0.2:
- version "3.0.11"
- resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.11.tgz#d66700c5eacfac1940deb4e3ee5642792d85cd33"
- integrity sha512-sa6P2wJ+CAbgyy4KFssIb/JNMLxFvKF1pCYCSXS8ZMuqZnMsrxqI2E5sPyoTpxoPU/gVZMzr2zjOfg8GIZOMsw==
-
-"js-tokens@^3.0.0 || ^4.0.0":
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
- integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
-
-loose-envify@^1.1.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
- integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==
- dependencies:
- js-tokens "^3.0.0 || ^4.0.0"
-
-nanoid@^3.1.30:
- version "3.3.2"
- resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.2.tgz#c89622fafb4381cd221421c69ec58547a1eec557"
- integrity sha512-CuHBogktKwpm5g2sRgv83jEy2ijFzBwMoYA60orPDR7ynsLijJDqgsi4RDGj3OJpy3Ieb+LYwiRmIOGyytgITA==
-
-next@latest:
- version "12.1.5"
- resolved "https://registry.yarnpkg.com/next/-/next-12.1.5.tgz#7a07687579ddce61ee519493e1c178d83abac063"
- integrity sha512-YGHDpyfgCfnT5GZObsKepmRnne7Kzp7nGrac07dikhutWQug7hHg85/+sPJ4ZW5Q2pDkb+n0FnmLkmd44htIJQ==
- dependencies:
- "@next/env" "12.1.5"
- caniuse-lite "^1.0.30001283"
- postcss "8.4.5"
- styled-jsx "5.0.1"
- optionalDependencies:
- "@next/swc-android-arm-eabi" "12.1.5"
- "@next/swc-android-arm64" "12.1.5"
- "@next/swc-darwin-arm64" "12.1.5"
- "@next/swc-darwin-x64" "12.1.5"
- "@next/swc-linux-arm-gnueabihf" "12.1.5"
- "@next/swc-linux-arm64-gnu" "12.1.5"
- "@next/swc-linux-arm64-musl" "12.1.5"
- "@next/swc-linux-x64-gnu" "12.1.5"
- "@next/swc-linux-x64-musl" "12.1.5"
- "@next/swc-win32-arm64-msvc" "12.1.5"
- "@next/swc-win32-ia32-msvc" "12.1.5"
- "@next/swc-win32-x64-msvc" "12.1.5"
-
-object-assign@^4.1.1:
- version "4.1.1"
- resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
- integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=
-
-picocolors@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c"
- integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==
-
-postcss@8.4.5:
- version "8.4.5"
- resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.5.tgz#bae665764dfd4c6fcc24dc0fdf7e7aa00cc77f95"
- integrity sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg==
- dependencies:
- nanoid "^3.1.30"
- picocolors "^1.0.0"
- source-map-js "^1.0.1"
-
-react-dom@^17.0.2:
- version "17.0.2"
- resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-17.0.2.tgz#ecffb6845e3ad8dbfcdc498f0d0a939736502c23"
- integrity sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==
- dependencies:
- loose-envify "^1.1.0"
- object-assign "^4.1.1"
- scheduler "^0.20.2"
-
-react@^17.0.2:
- version "17.0.2"
- resolved "https://registry.yarnpkg.com/react/-/react-17.0.2.tgz#d0b5cc516d29eb3eee383f75b62864cfb6800037"
- integrity sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==
- dependencies:
- loose-envify "^1.1.0"
- object-assign "^4.1.1"
-
-scheduler@^0.20.2:
- version "0.20.2"
- resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.20.2.tgz#4baee39436e34aa93b4874bddcbf0fe8b8b50e91"
- integrity sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==
- dependencies:
- loose-envify "^1.1.0"
- object-assign "^4.1.1"
-
-source-map-js@^1.0.1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c"
- integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==
-
-styled-jsx@5.0.1:
- version "5.0.1"
- resolved "https://registry.yarnpkg.com/styled-jsx/-/styled-jsx-5.0.1.tgz#78fecbbad2bf95ce6cd981a08918ce4696f5fc80"
- integrity sha512-+PIZ/6Uk40mphiQJJI1202b+/dYeTVd9ZnMPR80pgiWbjIwvN2zIp4r9et0BgqBuShh48I0gttPlAXA7WVvBxw==
-
-typescript@4.0:
- version "4.0.8"
- resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.0.8.tgz#5739105541db80a971fdbd0d56511d1a6f17d37f"
- integrity sha512-oz1765PN+imfz1MlZzSZPtC/tqcwsCyIYA8L47EkRnRW97ztRk83SzMiWLrnChC0vqoYxSU1fcFUDA5gV/ZiPg==
diff --git a/apps/web/package.json b/apps/web/package.json
index 7c771577d..f46e6b896 100644
--- a/apps/web/package.json
+++ b/apps/web/package.json
@@ -1,11 +1,11 @@
{
"name": "@sd/web",
- "version": "0.1.0",
"private": true,
+ "version": "0.0.0",
"scripts": {
"dev": "vite",
"build": "tsc && vite build",
- "serve": "vite preview"
+ "preview": "vite preview"
},
"dependencies": {
"@sd/client": "*",
@@ -13,46 +13,19 @@
"@sd/interface": "*",
"@sd/ui": "*",
"react": "^18.0.0",
- "react-dom": "^18.0.0"
+ "react-dom": "^18.0.0",
+ "react-tsparticles": "^2.0.6",
+ "tsparticles": "^2.0.6"
},
"devDependencies": {
- "typescript": "^4.6.3",
"@honkhonk/vite-plugin-svgr": "^1.1.0",
- "@types/babel-core": "^6.25.7",
- "@types/byte-size": "^8.1.0",
- "@types/jest": "^27.4.1",
- "@types/node": "^16.11.27",
"@types/react": "^18.0.0",
"@types/react-dom": "^18.0.0",
- "@types/react-router-dom": "^5.3.3",
- "@types/react-virtualized-auto-sizer": "^1.0.1",
- "@types/react-window": "^1.8.5",
- "@types/tailwindcss": "^3.0.10",
"@vitejs/plugin-react": "^1.3.1",
- "concurrently": "^7.1.0",
- "prettier": "^2.6.2",
- "sass": "^1.50.0",
- "vite": "^2.9.1",
- "vite-plugin-filter-replace": "^0.1.9",
- "vite-plugin-react-svg": "^0.2.0",
- "vite-tsconfig-paths": "^3.4.1"
- },
- "eslintConfig": {
- "extends": [
- "react-app",
- "react-app/jest"
- ]
- },
- "browserslist": {
- "production": [
- ">0.2%",
- "not dead",
- "not op_mini all"
- ],
- "development": [
- "last 1 chrome version",
- "last 1 firefox version",
- "last 1 safari version"
- ]
+ "autoprefixer": "^10.4.4",
+ "postcss": "^8.4.12",
+ "tailwind": "^4.0.0",
+ "typescript": "^4.6.3",
+ "vite": "^2.9.5"
}
}
diff --git a/apps/web/src/App.tsx b/apps/web/src/App.tsx
index d45c3c5ad..d610821cf 100644
--- a/apps/web/src/App.tsx
+++ b/apps/web/src/App.tsx
@@ -1,8 +1,6 @@
import React from 'react';
import SpacedriveInterface from '@sd/interface';
-// import '@sd/ui/style';
-
import { ClientCommand, ClientQuery } from '@sd/core';
import { BaseTransport } from '@sd/client';
diff --git a/apps/web/src/index.css b/apps/web/src/index.css
deleted file mode 100644
index a0cd628cc..000000000
--- a/apps/web/src/index.css
+++ /dev/null
@@ -1,10 +0,0 @@
-@tailwind base;
-@tailwind components;
-@tailwind utilities;
-
-body {
- margin: 0;
- -webkit-font-smoothing: antialiased;
- -moz-osx-font-smoothing: grayscale;
-}
-
diff --git a/apps/web/src/index.tsx b/apps/web/src/index.tsx
index 652531e4b..b18b0963a 100644
--- a/apps/web/src/index.tsx
+++ b/apps/web/src/index.tsx
@@ -1,7 +1,7 @@
import React from 'react';
import ReactDOM from 'react-dom/client';
-import './index.css';
import App from './App';
+import '@sd/ui/style';
const root = ReactDOM.createRoot(document.getElementById('root') as HTMLElement);
root.render(
diff --git a/apps/web/tailwind.config.js b/apps/web/tailwind.config.js
index 55ea44fdc..198f2f062 100644
--- a/apps/web/tailwind.config.js
+++ b/apps/web/tailwind.config.js
@@ -1 +1 @@
-module.exports = require('@sd/ui/tailwind');
+module.exports = require('@sd/ui/tailwind')('web');
diff --git a/apps/web/vite.config.ts b/apps/web/vite.config.ts
index e864f2e92..dbcaec665 100644
--- a/apps/web/vite.config.ts
+++ b/apps/web/vite.config.ts
@@ -4,18 +4,17 @@ import { name, version } from './package.json';
import * as path from 'path';
import svgr from '@honkhonk/vite-plugin-svgr';
-function resolvePackage(name: string) {
- return path.resolve(require.resolve(`${name}/package.json`), '../src');
-}
// https://vitejs.dev/config/
export default defineConfig({
server: {
port: 8002
},
plugins: [
+ //@ts-ignore
react({
jsxRuntime: 'classic'
}),
+ //@ts-ignore
svgr()
],
root: 'src',
@@ -23,16 +22,6 @@ export default defineConfig({
define: {
pkgJson: { name, version }
},
- optimizeDeps: {
- include: ['@sd/interface', '@sd/ui', '@sd/client']
- },
- resolve: {
- alias: {
- '@sd/interface': resolvePackage('@sd/interface'),
- '@sd/ui': resolvePackage('@sd/ui'),
- '@sd/client': resolvePackage('@sd/client')
- }
- },
build: {
outDir: '../dist',
assetsDir: '.'
diff --git a/packages/client/package.json b/packages/client/package.json
index 626c49115..89a383bc1 100644
--- a/packages/client/package.json
+++ b/packages/client/package.json
@@ -2,13 +2,10 @@
"name": "@sd/client",
"version": "0.0.0",
"private": true,
+ "main": "./src/index.ts",
"files": [
"dist/**"
],
- "exports": {
- ".": "./src",
- "./package.json": "./package.json"
- },
"scripts": {
"test": "jest",
"dev": "tsc -w",
diff --git a/packages/interface/package.json b/packages/interface/package.json
index a22cbaae0..538ab1dda 100644
--- a/packages/interface/package.json
+++ b/packages/interface/package.json
@@ -3,6 +3,7 @@
"version": "1.0.0",
"license": "MIT",
"private": true,
+ "main": "src/index.ts",
"resolutions": {
"react-virtualized": "patch:react-virtualized@9.22.3#./path/to/react-virtualized-9.22.3.patch"
},
diff --git a/packages/interface/src/components/file/FileList.tsx b/packages/interface/src/components/file/FileList.tsx
index fa5e42218..74290637d 100644
--- a/packages/interface/src/components/file/FileList.tsx
+++ b/packages/interface/src/components/file/FileList.tsx
@@ -182,10 +182,11 @@ const RenderRow: React.FC<{
setSearchParams({ path: row.materialized_path });
}
}}
- className={clsx('table-body-row flex flex-row rounded-lg border-2 border-[#00000000]', {
- 'bg-[#00000006] dark:bg-[#00000030]': rowIndex % 2 == 0,
- 'border-primary-500': isActive
- })}
+ className={clsx(
+ 'table-body-row flex flex-row rounded-lg border-2',
+ isActive ? 'border-primary-500' : 'border-transparent',
+ rowIndex % 2 == 0 && 'bg-[#00000006] dark:bg-[#00000030]'
+ )}
>
{columns.map((col) => (