Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
c5f7032
feat(asso): asso detail page
AlbanSdl Oct 3, 2025
9a81fe1
feat: add membership list
AlbanSdl Oct 3, 2025
b6aaa8c
feat(asso): add role reorder ui
AlbanSdl Oct 9, 2025
b0d7a9e
feat(asso): role names can be ui modified
AlbanSdl Oct 9, 2025
fb3de1f
fix(asso): dnd should consume pointer events on links
AlbanSdl Oct 9, 2025
d5e73eb
feat(asso): add button to create role
AlbanSdl Oct 9, 2025
c6c78e6
feat(asso): add icons
AlbanSdl Oct 9, 2025
5df208f
feat(asso): add user selector for future memberAdd ui
AlbanSdl Oct 9, 2025
cd1d7e3
feat(ui): add code of data modal
AlbanSdl Oct 10, 2025
221722c
feat: add style and required properties to modalform
AlbanSdl Oct 10, 2025
cb8e26c
feat: add labels for options in ModalForm
AlbanSdl Oct 10, 2025
7b57aaa
feat(asso): interface complete
AlbanSdl Oct 10, 2025
6a0fb63
fix: bug fix and split page to AssoRole component
AlbanSdl Oct 10, 2025
1cf7059
fix: sort role members
AlbanSdl Oct 15, 2025
38c2fbd
feat: update icon set and introduce lexical rte
AlbanSdl Oct 17, 2025
24ffee6
feat: add image upload on drop
AlbanSdl Oct 17, 2025
f736f1a
feat(media): add image wrapper to load private media
AlbanSdl Oct 17, 2025
88da667
feat: add style to rte, rte-dnd-zone and toolbar
AlbanSdl Oct 18, 2025
105648c
feat(rte): add placeholder config
AlbanSdl Oct 18, 2025
55d7cfe
feat(rte): add image upload from clipboard paste
AlbanSdl Oct 18, 2025
ca88b7c
feat(rte): add interface for last customization types
AlbanSdl Oct 18, 2025
9f5c452
fix(rte): color removing base format when applied
AlbanSdl Oct 18, 2025
fb15c88
fix(rte): add color node automerging
AlbanSdl Oct 18, 2025
41a6d76
fix(rte): add replacement for textnode
AlbanSdl Oct 18, 2025
b58d63e
fix(rte): move color property to $getState
AlbanSdl Oct 18, 2025
c771b37
fix(rte): add some style
AlbanSdl Oct 19, 2025
dfd0732
feat(rte): support for node bundles
AlbanSdl Oct 19, 2025
8c83616
feat(asso): add avatar uploader and complete asso edit form
AlbanSdl Oct 19, 2025
9ceedd8
fix(asso): escaping double quotes
AlbanSdl Oct 19, 2025
e074978
fix: je ne sais pas écrire
AlbanSdl Oct 19, 2025
f04c9b8
chore: update deps
AlbanSdl Oct 21, 2025
9c17a64
fix: add ts-expect-error for global.scss import
AlbanSdl Oct 21, 2025
910f9c2
fix: update ci and add build ci
AlbanSdl Oct 21, 2025
e976b84
chore: update to nextjs 16
AlbanSdl Nov 6, 2025
f7df7b3
fix(lint): fix eslint config
AlbanSdl Nov 6, 2025
344d2fe
fix: update ci branches
AlbanSdl Nov 6, 2025
caf597e
fix: remove unused files
AlbanSdl Nov 6, 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 .env.dist
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
# The environment in which we are running the application.
# Possible values are development and production.
# In order to issue a build using "pnpm build", this variable MUST be set to "production".
NODE_ENV=development

# The base URL to the API.
NEXT_PUBLIC_API_URL=http://localhost:3000

# The version of the API, will be concatenated to the API base URL.
NEXT_PUBLIC_API_VERSION=v1
NEXT_PUBLIC_API_VERSION=1

# The timeout when doing API requests, in milliseconds.
NEXT_PUBLIC_API_REQUEST_TIMEOUT=10000
Expand Down
61 changes: 0 additions & 61 deletions .eslintrc.json

This file was deleted.

44 changes: 36 additions & 8 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
@@ -1,34 +1,61 @@
name: CI
permissions:
contents: read
on:
push:
branches: [master, dev]
branches: [main, dev]
pull_request:
branches: [master, dev]
branches: [main, dev]

jobs:
lint:
runs-on: self-hosted
strategy:
matrix:
node-version: [18]
node-version: [22]
pnpm-version: [10]
steps:
- uses: actions/checkout@v3
- uses: pnpm/action-setup@v4
- uses: actions/checkout@v5
- name: Install pnpm
uses: pnpm/action-setup@v4
with:
version: 9
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
version: ${{ matrix.pnpm-version }}
- name: Use Node.js
uses: actions/setup-node@v6
with:
package-manager-cache: false
node-version: ${{ matrix.node-version }}
cache: 'pnpm'
- run: pnpm install --frozen-lockfile
- run: pnpm lint

build:
runs-on: self-hosted
strategy:
matrix:
node-version: [22]
pnpm-version: [10]
steps:
- uses: actions/checkout@v5
- name: Install pnpm
uses: pnpm/action-setup@v4
with:
version: ${{ matrix.pnpm-version }}
- name: Use Node.js
uses: actions/setup-node@v6
with:
package-manager-cache: false
node-version: ${{ matrix.node-version }}
cache: 'pnpm'
- run: pnpm install --frozen-lockfile
- run: pnpm build

deploy-dev:
if: ${{ github.event_name != 'pull_request' && (github.ref == 'refs/heads/dev') }}
runs-on: self-hosted
needs:
- lint
- build
steps:
- uses: actions/checkout@v4
- name: Install docker
Expand Down Expand Up @@ -58,6 +85,7 @@ jobs:
runs-on: self-hosted
needs:
- lint
- build
steps:
- uses: actions/checkout@v4
- name: Install docker
Expand Down
68 changes: 68 additions & 0 deletions eslint.config.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
import { defineConfig, globalIgnores } from 'eslint/config';
import nextVitals from 'eslint-config-next/core-web-vitals'
import prettier from 'eslint-plugin-prettier';
import tsParser from '@typescript-eslint/parser';
import js from '@eslint/js';

export default defineConfig([
js.configs.recommended,
...nextVitals,
{
name: 'prettier',
plugins: { prettier },
rules: {
'prettier/prettier': 'error',
},
},
{
name: 'typescript',
languageOptions: {
parser: tsParser,
parserOptions: {
project: './tsconfig.json',
ecmaFeatures: {
jsx: true,
},
},
},
rules: {
'no-unused-vars': 'off',
'@typescript-eslint/no-unused-vars': [
'warn',
{ args: 'after-used', vars: 'all', ignoreRestSiblings: true },
],
'@typescript-eslint/no-explicit-any': 'warn',
}
},
{
name: 'react',
settings: {
react: {
version: 'detect',
},
'import/resolver': {
node: {
extensions: ['.js', '.jsx'],
},
},
},
rules: {
'react/require-default-props': 'off',
'react-hooks/rules-of-hooks': 'error',
'react-hooks/exhaustive-deps': 'off',
'react/no-unescaped-entities': 'off',
},
},
{
rules: {
'no-console': 'warn',
'no-alert': 'error',
'no-redeclare': 'off',
'linebreak-style': ['warn', 'unix'],
'import/default': 'off',
'@next/next/no-img-element': 'off',
'import/no-named-as-default-member': 'off',
},
},
globalIgnores(['.next/**/*', '**/*.mjs', '**/*.js'])
]);
85 changes: 54 additions & 31 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,50 +6,73 @@
"dev": "env-cmd -f .env.dev -- next dev -p 8080",
"build": "env-cmd -f .env.prod -- next build",
"start": "env-cmd -f .env.prod -- next start -p 8080",
"lint": "next lint",
"lint:fix": "next lint --fix"
"lint": "eslint",
"lint:fix": "eslint --fix"
},
"dependencies": {
"@reduxjs/toolkit": "^2.2.2",
"date-fns": "^3.6.0",
"eslint-config-next": "^14.1.4",
"eslint-config-prettier": "^9.1.0",
"eslint-plugin-prettier": "^5.1.3",
"@dnd-kit/core": "^6.3.1",
"@dnd-kit/modifiers": "^9.0.0",
"@dnd-kit/sortable": "^10.0.0",
"@dnd-kit/utilities": "^3.2.2",
"@lexical/code": "^0.38.2",
"@lexical/link": "^0.38.2",
"@lexical/list": "^0.38.2",
"@lexical/react": "^0.38.2",
"@lexical/rich-text": "^0.38.2",
"@lexical/selection": "^0.38.2",
"@lexical/table": "^0.38.2",
"@lexical/utils": "^0.38.2",
"@reduxjs/toolkit": "^2.10.1",
"date-fns": "^4.1.0",
"eslint-config-next": "16.0.1",
"eslint-plugin-prettier": "^5.5.4",
"http-status-codes": "^2.3.0",
"i18next": "^23.11.5",
"i18next-browser-languagedetector": "^7.2.1",
"i18next": "^25.6.1",
"i18next-browser-languagedetector": "^8.2.0",
"i18next-resources-to-backend": "^1.2.1",
"modern-normalize": "^2.0.0",
"next": "^14.1.4",
"react": "^18.3.1",
"react-i18next": "^14.1.2",
"react-redux": "^9.1.0",
"lexical": "^0.38.2",
"modern-normalize": "^3.0.1",
"next": "16.0.1",
"obra-icons-react": "^1.23.1",
"react": "19.2.0",
"react-dom": "19.2.0",
"react-i18next": "^16.2.4",
"react-redux": "^9.2.0",
"redux": "^5.0.1",
"redux-logger": "^3.0.6",
"redux-thunk": "^3.1.0",
"sharp": "^0.32.6"
"sharp": "^0.34.5"
},
"devDependencies": {
"@types/node": "^20.14.1",
"@types/react": "^18.3.3",
"@types/react-dom": "^18.3.0",
"@types/react-redux": "^7.1.33",
"@eslint/compat": "^1.4.1",
"@eslint/eslintrc": "^3.3.1",
"@eslint/js": "^9.39.1",
"@next/eslint-plugin-next": "16.0.1",
"@types/node": "^24.10.0",
"@types/react": "19.2.2",
"@types/react-dom": "19.2.2",
"@types/react-redux": "^7.1.34",
"@types/redux-logger": "^3.0.13",
"@typescript-eslint/eslint-plugin": "^6.21.0",
"@typescript-eslint/parser": "^6.21.0",
"env-cmd": "^10.1.0",
"eslint": "^8.57.0",
"eslint-config-love": "^43.1.0",
"eslint-plugin-import": "^2.29.1",
"eslint-plugin-n": "^16.6.2",
"eslint-plugin-promise": "^6.2.0",
"eslint-plugin-react": "^7.34.2",
"sass": "^1.77.4",
"typescript": "^5.4.5"
"@typescript-eslint/eslint-plugin": "^8.46.3",
"@typescript-eslint/parser": "^8.46.3",
"env-cmd": "^11.0.0",
"eslint": "^9.39.1",
"eslint-config-love": "^133.0.0",
"eslint-config-prettier": "^10.1.8",
"eslint-plugin-import": "^2.32.0",
"eslint-plugin-n": "^17.23.1",
"eslint-plugin-promise": "^7.2.1",
"eslint-plugin-react": "^7.37.5",
"sass": "^1.93.3",
"typescript": "^5.9.3"
},
"pnpm": {
"onlyBuiltDependencies": [
"sharp"
]
],
"overrides": {
"@types/react": "19.2.2",
"@types/react-dom": "19.2.2"
}
}
}
Loading