Skip to content
Merged
Show file tree
Hide file tree
Changes from 28 commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
e516e58
feat: setup control-panel project, added-colors same as eid-wallet
grv-saini-20 Jul 17, 2025
1888acf
fix: paraglide removed
grv-saini-20 Jul 17, 2025
8cc4af5
feat: twmerge, clsx, button in ui added
grv-saini-20 Jul 17, 2025
109ee03
feat: huge icons added
grv-saini-20 Jul 17, 2025
f78ec4e
fix: storybook
grv-saini-20 Jul 17, 2025
0d4d59d
feat: table and checkbox added,flowbite-added
grv-saini-20 Jul 17, 2025
37f4b00
feat: table added on page
grv-saini-20 Jul 17, 2025
51b7a09
fix: checkbox
grv-saini-20 Jul 17, 2025
74eea3b
fix: row hover color
grv-saini-20 Jul 17, 2025
1ae3203
fix: table design
grv-saini-20 Jul 22, 2025
5b28185
feat: live-data-animation
grv-saini-20 Jul 22, 2025
1311fbe
fix: z-index
grv-saini-20 Jul 22, 2025
8d8b27b
fix: opacity
grv-saini-20 Jul 22, 2025
6014106
fix: dot animation
grv-saini-20 Jul 22, 2025
8f0d4e2
feat: added Logs component.
Sahil2004 Jul 22, 2025
3ae4f01
feat: added logs component to page.
Sahil2004 Jul 22, 2025
89d02b2
feat: added button and heading
grv-saini-20 Jul 23, 2025
493690c
fix: animation play pause
grv-saini-20 Jul 23, 2025
2ce4c08
fix: format
grv-saini-20 Jul 23, 2025
60f7bee
fix: format
grv-saini-20 Jul 23, 2025
85524e5
feat: added a monitoring page
grv-saini-20 Jul 23, 2025
94da73a
feat: data flow with svelte flow library
grv-saini-20 Jul 24, 2025
9c37e1a
feat: no need to add ssr = false because await import is there
grv-saini-20 Jul 24, 2025
7ed57a7
fix: set positions
grv-saini-20 Jul 24, 2025
5fc47ab
fix: labels position and two way data flow
grv-saini-20 Jul 24, 2025
d9f985d
fix: labels
grv-saini-20 Jul 25, 2025
9bba20f
feat: modal added
grv-saini-20 Jul 25, 2025
db4487d
fix: text
grv-saini-20 Jul 25, 2025
22cb13a
feat: added voult button
grv-saini-20 Jul 25, 2025
183d1fd
feat: added voult button
grv-saini-20 Jul 25, 2025
0db9e1e
feat: added voult button shadow
grv-saini-20 Jul 25, 2025
618db1a
fix: added logic to add new vaults
grv-saini-20 Jul 25, 2025
d73fa09
feat: added header at the top of the table
grv-saini-20 Aug 4, 2025
db73a4f
fix: format and lint
grv-saini-20 Aug 4, 2025
0e6da35
fix: search values binded
grv-saini-20 Aug 4, 2025
011e42b
fix: merge conflicts
grv-saini-20 Aug 4, 2025
18ee03a
feat: added icons
grv-saini-20 Aug 4, 2025
da2c39d
feat: added icons
grv-saini-20 Aug 4, 2025
c73e617
feat: added icons
grv-saini-20 Aug 4, 2025
2f4a1be
fix: check
grv-saini-20 Aug 4, 2025
aaf07f0
chore: fix conflict in pnpm lock
coodos Aug 7, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 29 additions & 0 deletions infrastructure/control-panel/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
node_modules

# Output
.output
.vercel
.netlify
.wrangler
/.svelte-kit
/build

# OS
.DS_Store
Thumbs.db

# Env
.env
.env.*
!.env.example
!.env.test

# Vite
vite.config.js.timestamp-*
vite.config.ts.timestamp-*

# Paraglide
src/lib/paraglide

*storybook.log
storybook-static
1 change: 1 addition & 0 deletions infrastructure/control-panel/.npmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
engine-strict=true
9 changes: 9 additions & 0 deletions infrastructure/control-panel/.prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Package Managers
package-lock.json
pnpm-lock.yaml
yarn.lock
bun.lock
bun.lockb

# Miscellaneous
/static/
15 changes: 15 additions & 0 deletions infrastructure/control-panel/.prettierrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"useTabs": true,
"singleQuote": true,
"trailingComma": "none",
"printWidth": 100,
"plugins": ["prettier-plugin-svelte", "prettier-plugin-tailwindcss"],
"overrides": [
{
"files": "*.svelte",
"options": {
"parser": "svelte"
}
}
]
}
20 changes: 20 additions & 0 deletions infrastructure/control-panel/.storybook/main.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
import type { StorybookConfig } from '@storybook/sveltekit';

import { join, dirname } from 'path';

/**
* This function is used to resolve the absolute path of a package.
* It is needed in projects that use Yarn PnP or are set up within a monorepo.
*/
function getAbsolutePath(value: string): any {
return dirname(require.resolve(join(value, 'package.json')));
}
const config: StorybookConfig = {
stories: ['../src/**/*.mdx', '../src/**/*.stories.@(js|ts|svelte)'],
addons: [getAbsolutePath('@storybook/addon-svelte-csf')],
framework: {
name: getAbsolutePath('@storybook/sveltekit'),
options: {}
}
};
export default config;
15 changes: 15 additions & 0 deletions infrastructure/control-panel/.storybook/preview.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import type { Preview } from '@storybook/sveltekit';
import '../src/app.css';

const preview: Preview = {
parameters: {
controls: {
matchers: {
color: /(background|color)$/i,
date: /Date$/i
}
}
}
};

export default preview;
38 changes: 38 additions & 0 deletions infrastructure/control-panel/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# sv

Everything you need to build a Svelte project, powered by [`sv`](https://github.com/sveltejs/cli).

## Creating a project

If you're seeing this, you've probably already done this step. Congrats!

```bash
# create a new project in the current directory
npx sv create

# create a new project in my-app
npx sv create my-app
```

## Developing

Once you've created a project and installed dependencies with `npm install` (or `pnpm install` or `yarn`), start a development server:

```bash
npm run dev

# or start the server and open the app in a new browser tab
npm run dev -- --open
```

## Building

To create a production version of your app:

```bash
npm run build
```

You can preview the production build with `npm run preview`.

> To deploy your app, you may need to install an [adapter](https://svelte.dev/docs/kit/adapters) for your target environment.
44 changes: 44 additions & 0 deletions infrastructure/control-panel/eslint.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
// For more info, see https://github.com/storybookjs/eslint-plugin-storybook#configuration-flat-config-format
import storybook from 'eslint-plugin-storybook';

import prettier from 'eslint-config-prettier';
import { includeIgnoreFile } from '@eslint/compat';
import js from '@eslint/js';
import svelte from 'eslint-plugin-svelte';
import globals from 'globals';
import { fileURLToPath } from 'node:url';
import ts from 'typescript-eslint';
import svelteConfig from './svelte.config.js';

const gitignorePath = fileURLToPath(new URL('./.gitignore', import.meta.url));

export default ts.config(
includeIgnoreFile(gitignorePath),
js.configs.recommended,
...ts.configs.recommended,
...svelte.configs.recommended,
prettier,
...svelte.configs.prettier,
{
languageOptions: {
globals: { ...globals.browser, ...globals.node }
},
rules: {
// typescript-eslint strongly recommend that you do not use the no-undef lint rule on TypeScript projects.
// see: https://typescript-eslint.io/troubleshooting/faqs/eslint/#i-get-errors-from-the-no-undef-rule-about-global-variables-not-being-defined-even-though-there-are-no-typescript-errors
'no-undef': 'off'
}
},
{
files: ['**/*.svelte', '**/*.svelte.ts', '**/*.svelte.js'],
languageOptions: {
parserOptions: {
projectService: true,
extraFileExtensions: ['.svelte'],
parser: ts.parser,
svelteConfig
}
}
},
storybook.configs['flat/recommended']
);
4 changes: 4 additions & 0 deletions infrastructure/control-panel/messages/en.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"$schema": "https://inlang.com/schema/inlang-message-format",
"hello_world": "Hello, {name} from en!"
}
4 changes: 4 additions & 0 deletions infrastructure/control-panel/messages/es.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"$schema": "https://inlang.com/schema/inlang-message-format",
"hello_world": "Hello, {name} from es!"
}
55 changes: 55 additions & 0 deletions infrastructure/control-panel/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
{
"name": "control-panel",
"private": true,
"version": "0.0.1",
"type": "module",
"scripts": {
"dev": "vite dev",
"build": "vite build",
"preview": "vite preview",
"prepare": "svelte-kit sync || echo ''",
"check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
"check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
"format": "prettier --write .",
"lint": "prettier --check . && eslint .",
"storybook": "storybook dev -p 6006",
"build-storybook": "storybook build"
},
"devDependencies": {
"@eslint/compat": "^1.2.5",
"@eslint/js": "^9.18.0",
"@storybook/addon-svelte-csf": "^5.0.7",
"@storybook/sveltekit": "^9.0.17",
"@sveltejs/adapter-static": "^3.0.8",
"@sveltejs/kit": "^2.22.0",
"@sveltejs/vite-plugin-svelte": "^6.0.0",
"@tailwindcss/vite": "^4.0.0",
"@types/node": "^22",
"eslint": "^9.18.0",
"eslint-config-prettier": "^10.0.1",
"eslint-plugin-storybook": "^9.0.17",
"eslint-plugin-svelte": "^3.0.0",
"globals": "^16.0.0",
"prettier": "^3.4.2",
"prettier-plugin-svelte": "^3.3.3",
"prettier-plugin-tailwindcss": "^0.6.11",
"storybook": "^9.0.17",
"svelte": "^5.0.0",
"svelte-check": "^4.0.0",
"tailwindcss": "^4.0.0",
"typescript": "^5.0.0",
"typescript-eslint": "^8.20.0",
"vite": "^7.0.4"
},
"dependencies": {
"@hugeicons/core-free-icons": "^1.0.13",
"@hugeicons/svelte": "^1.0.2",
"@inlang/paraglide-js": "^2.0.0",
"@xyflow/svelte": "^1.2.2",
"clsx": "^2.1.1",
"flowbite": "^3.1.2",
"flowbite-svelte": "^1.10.7",
"flowbite-svelte-icons": "^2.2.1",
"tailwind-merge": "^3.0.2"
}
}

Large diffs are not rendered by default.

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions infrastructure/control-panel/project.inlang/project_id
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
5BFJFCnZ9odC1qA9BH
12 changes: 12 additions & 0 deletions infrastructure/control-panel/project.inlang/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"$schema": "https://inlang.com/schema/project-settings",
"modules": [
"https://cdn.jsdelivr.net/npm/@inlang/plugin-message-format@4/dist/index.js",
"https://cdn.jsdelivr.net/npm/@inlang/plugin-m-function-matcher@2/dist/index.js"
],
"plugin.inlang.messageFormat": {
"pathPattern": "./messages/{locale}.json"
},
"baseLocale": "en",
"locales": ["en", "es"]
}
71 changes: 71 additions & 0 deletions infrastructure/control-panel/src/app.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
@import 'tailwindcss';

@font-face {
font-family: 'Archivo';
src: url('/fonts/Archivo-VariableFont_wdth,wght.ttf') format('truetype');
font-weight: 100 900;
font-style: normal;
}

@layer base {
/* Typography */
h1 {
@apply text-[90px]/[1.5] font-semibold text-black;
}

h2 {
@apply text-6xl/[1.5] font-semibold text-black;
}

h3 {
@apply text-3xl/[1.5] font-semibold text-black;
}

h4 {
@apply text-xl/[1.5] font-semibold text-black;
}

p {
@apply text-base/[1.5] font-normal text-black;
}

.small {
@apply text-xs/[1.5] font-normal text-black;
}
}

@theme {
/* Custom theme */
--color-primary: #8e52ff;
--color-primary-100: #e8dcff;
--color-primary-200: #d2baff;
--color-primary-300: #bb97ff;
--color-primary-400: #a575ff;
--color-primary-500: #8e52ff;

--color-secondary: #73efd5;
--color-secondary-100: #e3fcf7;
--color-secondary-200: #c7f9ee;
--color-secondary-300: #abf6e6;
--color-secondary-400: #8ff2dd;
--color-secondary-500: #73efd5;

--color-white: #ffffff;
--color-gray: #f5f5f5;

--color-black: #1f1f1f;
--color-black-100: #d2d2d2;
--color-black-300: #a5a5a5;
--color-black-500: #797979;
--color-black-700: #4c4c4c;
--color-black-900: #1f1f1f;

--color-danger: #ff5255;
--color-danger-100: #ffdcdd;
--color-danger-200: #ffb1a7;
--color-danger-300: #ff968e;
--color-danger-400: #ff7b77;
--color-danger-500: #ff5255;

--color-green: #0FB340;
}
13 changes: 13 additions & 0 deletions infrastructure/control-panel/src/app.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
// See https://svelte.dev/docs/kit/types#app.d.ts
// for information about these interfaces
declare global {
namespace App {
// interface Error {}
// interface Locals {}
// interface PageData {}
// interface PageState {}
// interface Platform {}
}
}

export {};
12 changes: 12 additions & 0 deletions infrastructure/control-panel/src/app.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<!doctype html>
<html lang="%paraglide.lang%">
<head>
<meta charset="utf-8" />
<link rel="icon" href="%sveltekit.assets%/favicon.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
%sveltekit.head%
</head>
<body data-sveltekit-preload-data="hover">
<div style="display: contents">%sveltekit.body%</div>
</body>
</html>
Empty file.
Empty file.
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
import type { ComponentProps } from 'svelte';
import { LiveDataFlow } from '..';

export default {
title: 'UI/LiveDataFlow',
component: LiveDataFlow,
tags: ['autodocs'],
render: (args: { Component: LiveDataFlow; props: ComponentProps<typeof LiveDataFlow> }) => ({
Component: LiveDataFlow,
props: args
})
};

export const Default = {
args: {
events: [
{ id: 1, from: "alice", to: "pictique" },
{ id: 2, from: "pictique", to: "bob" }
]
}
};
Loading