Skip to content

Commit 5a19aa4

Browse files
committed
feat: Initial work on skeleton of ZMK Studio UI.
0 parents  commit 5a19aa4

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

58 files changed

+44789
-0
lines changed

.devcontainer/Dockerfile

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
from fedora:41
2+
3+
RUN dnf update -y
4+
5+
RUN dnf group list
6+
RUN dnf install -y @c-development @development-tools
7+
8+
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
9+
10+
RUN dnf install -y \
11+
nodejs \
12+
webkit2gtk4.1-devel \
13+
openssl-devel \
14+
curl \
15+
wget \
16+
file \
17+
libappindicator-gtk3-devel \
18+
librsvg2-devel

.devcontainer/devcontainer.json

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
{
2+
"name": "ZMK Development",
3+
"dockerFile": "Dockerfile",
4+
"runArgs": ["--security-opt", "label=disable", "--security-opt", "label=type:container_runtime_t", "-u", "0", "--userns", "keep-id"],
5+
"mounts": [
6+
"type=bind,source=/tmp/.X11-unix,target=/tmp/.X11-unix",
7+
"type=bind,source=../zmk,target=/opt/zmk"
8+
],
9+
"containerEnv": {
10+
"DISPLAY": "${localEnv:DISPLAY}",
11+
"DBUS_SESSION_BUS_ADDRESS": "${localEnv:DBUS_SESSION_BUS_ADDRESS}",
12+
"LIBGL_ALWAYS_SOFTWARE": "1"
13+
},
14+
"forwardPorts": [5173, 6006],
15+
"appPort": 5173
16+
}

.eslintrc.cjs

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
module.exports = {
2+
root: true,
3+
env: { browser: true, es2020: true },
4+
extends: ['eslint:recommended', 'plugin:@typescript-eslint/recommended', 'plugin:react-hooks/recommended', 'plugin:storybook/recommended'],
5+
ignorePatterns: ['dist', '.eslintrc.cjs'],
6+
parser: '@typescript-eslint/parser',
7+
plugins: ['react-refresh'],
8+
rules: {
9+
'react-refresh/only-export-components': [
10+
'warn',
11+
{ allowConstantExport: true },
12+
],
13+
},
14+
}

.gitignore

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# Logs
2+
logs
3+
*.log
4+
npm-debug.log*
5+
yarn-debug.log*
6+
yarn-error.log*
7+
pnpm-debug.log*
8+
lerna-debug.log*
9+
10+
node_modules
11+
dist
12+
dist-ssr
13+
*.local
14+
15+
# Editor directories and files
16+
.vscode/*
17+
!.vscode/extensions.json
18+
.idea
19+
.DS_Store
20+
*.suo
21+
*.ntvs*
22+
*.njsproj
23+
*.sln
24+
*.sw?
25+
26+
*storybook.log

.storybook/main.ts

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
import type { StorybookConfig } from "@storybook/react-vite";
2+
3+
const config: StorybookConfig = {
4+
stories: ["../src/**/*.mdx", "../src/**/*.stories.@(js|jsx|mjs|ts|tsx)"],
5+
addons: [
6+
"@storybook/addon-onboarding",
7+
"@storybook/addon-links",
8+
"@storybook/addon-essentials",
9+
"@chromatic-com/storybook",
10+
"@storybook/addon-interactions",
11+
],
12+
framework: {
13+
name: "@storybook/react-vite",
14+
options: {},
15+
},
16+
docs: {
17+
autodocs: "tag",
18+
},
19+
};
20+
export default config;

.storybook/preview.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
import type { Preview } from "@storybook/react";
2+
3+
const preview: Preview = {
4+
parameters: {
5+
controls: {
6+
matchers: {
7+
color: /(background|color)$/i,
8+
date: /Date$/i,
9+
},
10+
},
11+
},
12+
};
13+
14+
export default preview;

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# ZMK Studio
2+
3+
Initial work on the ZMK Studio UI. To build, be sure that `zmk`
4+
is checked out next to the `zmk-studio` repo.

index.html

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<!doctype html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="UTF-8" />
5+
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
6+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
7+
<title>Vite + React + TS</title>
8+
</head>
9+
<body>
10+
<div id="root"></div>
11+
<script type="module" src="/src/main.tsx"></script>
12+
</body>
13+
</html>

0 commit comments

Comments
 (0)