Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
67 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
2611f00
feat: group
grv-saini-20 Jul 17, 2025
d70a8b4
fix: separate page added for members
grv-saini-20 Jul 17, 2025
d616ede
chore: added dummy data and commented the protection on routes for de…
Sahil2004 Jul 18, 2025
95cd777
feat: added view participants button.
Sahil2004 Jul 18, 2025
c0bf369
feat: added participants modal
Sahil2004 Jul 18, 2025
707df60
feat: group
grv-saini-20 Jul 18, 2025
e27bca4
feat: group-charter-manager
grv-saini-20 Jul 18, 2025
2a59067
feat: added nanoid
grv-saini-20 Jul 18, 2025
7ca1053
feat: added context menu and the owner or admin status
Sahil2004 Jul 18, 2025
fe63afd
feat: added context menu functionality on frontend.
Sahil2004 Jul 18, 2025
6182560
fix: lock file
grv-saini-20 Jul 18, 2025
13405c7
fix: added a edit modal
grv-saini-20 Jul 18, 2025
1d73d48
chore: renamed to member.
Sahil2004 Jul 18, 2025
bfee3e3
fix: responsiveness
grv-saini-20 Jul 18, 2025
5c8b158
fix: responsiveness
grv-saini-20 Jul 18, 2025
33da495
feat: added group settings page.
Sahil2004 Jul 18, 2025
d6000f0
fix: role based editing
grv-saini-20 Jul 18, 2025
2bad471
feat: show info and not allow edits when not a group admin or owner.
Sahil2004 Jul 18, 2025
ac5cdfb
fix: user role based edit in group info
grv-saini-20 Jul 18, 2025
0e126f4
fix: edit image with pencil icon
grv-saini-20 Jul 18, 2025
29c382c
fix: added a text area
grv-saini-20 Jul 18, 2025
860ec3c
feat: new group functionality and textarea fixed
grv-saini-20 Jul 18, 2025
9b506d1
feat: new group functionality and textarea fixed
grv-saini-20 Jul 18, 2025
b95541e
feat: added close icon on dialog boxes for accessibility improvement.
Sahil2004 Jul 19, 2025
918ea1c
feat: removed save and close button on group settings for non admin o…
Sahil2004 Jul 19, 2025
86b5f5d
feat: added add members button.
Sahil2004 Jul 19, 2025
3709a43
feat: added add members component.
Sahil2004 Jul 19, 2025
bd96082
feat: added relevant checks.
Sahil2004 Jul 19, 2025
070f795
feat: added icons next to owner and admin.
Sahil2004 Jul 19, 2025
e4cd536
feat: added new chat button.
Sahil2004 Jul 19, 2025
1e0bf3e
chore: fixed squigglies.
Sahil2004 Jul 19, 2025
e1536c6
feat: added new chat flow.
Sahil2004 Jul 19, 2025
5499ddb
chore: trimed down the non-required code and made a new next js proje…
Sahil2004 Jul 19, 2025
f18c303
feat: added working 404 page with some changes.
Sahil2004 Jul 19, 2025
a77e8f6
feat: fixed and added /dashboard route
Sahil2004 Jul 20, 2025
dd0b18e
chore: upgraded tailwind v3 to v4 in old group charter
Sahil2004 Jul 20, 2025
bdda53e
chore: copied old index.css to new global.css
Sahil2004 Jul 20, 2025
e66590b
chore: added missing dependencies for tailwindcss
Sahil2004 Jul 20, 2025
48f5233
chore: upgraded new charter app's whole codebase to tailwind v4
Sahil2004 Jul 20, 2025
f5cf33e
chore: moved dashboard page to correct route
Sahil2004 Jul 20, 2025
894d245
feat: added new charter page
Sahil2004 Jul 20, 2025
7a0ede5
feat: added single charter page.
Sahil2004 Jul 20, 2025
47fd8df
feat: added /charter/:id/edit route
Sahil2004 Jul 20, 2025
d5238db
chore: removed old charter codebase.
Sahil2004 Jul 20, 2025
42ce61c
feat: eVoting
grv-saini-20 Jul 21, 2025
039925a
chore: project moved to platforms
grv-saini-20 Jul 21, 2025
1755116
chore: created a new next app and moved the older to the old folder
Sahil2004 Jul 21, 2025
7fba6f1
chore: moved the old to old dir.
Sahil2004 Jul 21, 2025
75c51bb
chore: migrated old project to tailwindcss v4
Sahil2004 Jul 21, 2025
75936d1
feat: added components and other stuff to the new proj.
Sahil2004 Jul 21, 2025
b8ebf79
feat: added the not found page.
Sahil2004 Jul 21, 2025
be5619f
feat: added homepage.
Sahil2004 Jul 21, 2025
4e2d628
feat: added create page.
Sahil2004 Jul 21, 2025
53c55b1
feat: added vote/id page.
Sahil2004 Jul 21, 2025
2028060
chore: remove the old evoting proj.
Sahil2004 Jul 21, 2025
ac084cc
feat: add a button, modal for sign charter
grv-saini-20 Jul 23, 2025
f4d7b57
Merge pull request #3 from auvoid/feat/group-charter-manager
coodos Jul 30, 2025
d8d642e
fix: lock file
grv-saini-20 Jul 30, 2025
60ff78b
fix: lock file
grv-saini-20 Jul 30, 2025
df09572
Merge branch 'main' into feat/eVoting
grv-saini-20 Jul 30, 2025
f987d40
fix: lock-file
grv-saini-20 Jul 30, 2025
64d10f2
Merge pull request #5 from auvoid/feat/eVoting
coodos Jul 30, 2025
e81f6af
Merge pull request #4 from auvoid/feat/blabsy-group-chats
coodos Jul 30, 2025
86c309e
Merge pull request #2 from auvoid/feat/group
coodos Jul 30, 2025
64c42db
fix: lock-file
grv-saini-20 Jul 30, 2025
795952e
fix: merge conflicts
grv-saini-20 Jul 30, 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
3 changes: 2 additions & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,5 +27,6 @@
"source.organizeImports.biome": "explicit",
"source.fixAll.biome": "explicit"
}
}
},
"editor.formatOnSave": true
}
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"
}
}
]
}
25 changes: 25 additions & 0 deletions infrastructure/control-panel/.storybook/main.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
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!"
}
47 changes: 47 additions & 0 deletions infrastructure/control-panel/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
{
"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": {
"@inlang/paraglide-js": "^2.0.0"
}
}

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"]
}
36 changes: 36 additions & 0 deletions infrastructure/control-panel/src/app.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
@import 'tailwindcss';


@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;
}
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>
13 changes: 13 additions & 0 deletions infrastructure/control-panel/src/hooks.server.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
import type { Handle } from '@sveltejs/kit';
import { paraglideMiddleware } from '$lib/paraglide/server';

const handleParaglide: Handle = ({ event, resolve }) =>
paraglideMiddleware(event.request, ({ request, locale }) => {
event.request = request;

return resolve(event, {
transformPageChunk: ({ html }) => html.replace('%paraglide.lang%', locale)
});
});

export const handle: Handle = handleParaglide;
3 changes: 3 additions & 0 deletions infrastructure/control-panel/src/hooks.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
import { deLocalizeUrl } from '$lib/paraglide/runtime';

export const reroute = (request) => deLocalizeUrl(request.url).pathname;
1 change: 1 addition & 0 deletions infrastructure/control-panel/src/lib/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
// place files you want to import through the `$lib` alias in this folder.
7 changes: 7 additions & 0 deletions infrastructure/control-panel/src/routes/+layout.svelte
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<script lang="ts">
import '../app.css';

let { children } = $props();
</script>

{@render children()}
2 changes: 2 additions & 0 deletions infrastructure/control-panel/src/routes/+page.svelte
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
<h1>Welcome to SvelteKit</h1>
<p>Visit <a href="https://svelte.dev/docs/kit">svelte.dev/docs/kit</a> to read the documentation</p>
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<a href="/demo/paraglide">paraglide</a>
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
<script lang="ts">
import { setLocale } from '$lib/paraglide/runtime';
import { page } from '$app/state';
import { goto } from '$app/navigation';
import { m } from '$lib/paraglide/messages.js';
</script>

<h1>{m.hello_world({ name: 'SvelteKit User' })}</h1>
<div>
<button onclick={() => setLocale('en')}>en</button>
<button onclick={() => setLocale('es')}>es</button>
</div>
<p>
If you use VSCode, install the <a
href="https://marketplace.visualstudio.com/items?itemName=inlang.vs-code-extension"
target="_blank">Sherlock i18n extension</a
> for a better i18n experience.
</p>
1 change: 1 addition & 0 deletions infrastructure/control-panel/static/favicon.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Loading