Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
fba8725
feat(issue-50): implement voluntary profile page with editable fields…
SebastienDechand Apr 17, 2025
824f1a4
refactor(issue-50): simplify effect and improve understanding of call…
SebastienDechand Aug 21, 2025
662371b
feat(issue-50): implement voluntary profile page with editable fields…
SebastienDechand Aug 21, 2025
5f5824d
refactor(issue-99): reviews fixes
SebastienDechand Aug 21, 2025
a0741bc
feat(issue-99): add auto-focus pin on map to zoom and filter on user …
SebastienDechand Aug 21, 2025
8e01223
feat(issue-99): add auto-focus pin on map to zoom and filter on user …
SebastienDechand Aug 21, 2025
a08674a
feat(issue-101): improve general design for create activity
SebastienDechand Aug 18, 2025
086c25a
feat(issue-101): improve general design for create activity
SebastienDechand Aug 21, 2025
125c74e
add ban user(asso and voluntary), contact user to admin actions (#79)
EmmanuelleBonoli Aug 25, 2025
a034232
Feature/issue 2/docker (#81)
EmmanuelleBonoli Aug 25, 2025
4175f04
Feature/issue 2/docker (#82)
EmmanuelleBonoli Aug 25, 2025
eaa329d
Feature/issue 2/docker (#83)
EmmanuelleBonoli Aug 25, 2025
312a79d
Feature/issue 2/docker (#84)
EmmanuelleBonoli Aug 25, 2025
eb1f84c
Feature/issue 2/docker (#85)
EmmanuelleBonoli Aug 25, 2025
d0d2373
Feature/issue 2/docker (#86)
EmmanuelleBonoli Aug 25, 2025
8de9805
Feature/issue 2/docker (#87)
EmmanuelleBonoli Aug 25, 2025
79fc785
Feature/issue 2/docker (#88)
Irwin-SOLIMAN Aug 25, 2025
901e4b9
Feature/issue 2/docker (#89)
Irwin-SOLIMAN Aug 25, 2025
f939831
Feature/issue 2/docker (#90)
EmmanuelleBonoli Aug 25, 2025
9368a49
Feature/issue 2/docker (#91)
EmmanuelleBonoli Aug 25, 2025
970f16d
Feature/issue 2/docker (#92)
EmmanuelleBonoli Aug 25, 2025
b728204
:construction: wip adding mock for e2e (#93)
Irwin-SOLIMAN Aug 26, 2025
c1072b9
Feature/issue 2/docker (#94)
EmmanuelleBonoli Aug 26, 2025
caf429c
fix dockerfile (#96)
EmmanuelleBonoli Aug 26, 2025
32731f2
fix dockerfile (#98)
EmmanuelleBonoli Aug 26, 2025
a0e13a7
Merge branch 'staging' into development
EmmanuelleBonoli Aug 26, 2025
5bf88f9
fix nginx (#99)
EmmanuelleBonoli Aug 26, 2025
539e07a
Merge branch 'staging' into development
EmmanuelleBonoli Aug 26, 2025
43ece82
fix nginx (#102)
EmmanuelleBonoli Aug 26, 2025
a961e9d
fix nginx (#104)
EmmanuelleBonoli Aug 26, 2025
6813622
Merge branch 'staging' into development
EmmanuelleBonoli Aug 26, 2025
8dfdb09
Feature/issue 103/add cookies rgbd acceptance (#107)
Irwin-SOLIMAN Aug 26, 2025
060665a
feat(issue-72): add scroll for activity description (#95)
SebastienDechand Aug 26, 2025
c9c1f8c
Hotfix/issue 7777/nginx (#108)
EmmanuelleBonoli Aug 26, 2025
df2dcbf
Feature/issue 100/asso can modify an published activity (#110)
Irwin-SOLIMAN Aug 26, 2025
3036586
Hotfix/issue 6666/fix staging (#112)
EmmanuelleBonoli Aug 26, 2025
b0a33cd
Merge branch 'staging' into development
EmmanuelleBonoli Aug 26, 2025
cf10958
transfer login modal (#114)
EmmanuelleBonoli Aug 26, 2025
08d05e6
Development (#111) (#116)
EmmanuelleBonoli Aug 26, 2025
4a32abf
Merge branch 'staging' into development
EmmanuelleBonoli Aug 26, 2025
4fc9325
Merge branch 'staging' into hotfix/issue-666/transfer-login-modal (#117)
EmmanuelleBonoli Aug 26, 2025
b4c8252
Merge branch 'staging' into hotfix/issue-666/transfer-login-modal (#118)
EmmanuelleBonoli Aug 26, 2025
197fec2
maj docker compose production (#120)
EmmanuelleBonoli Aug 26, 2025
2a020a5
Merge branch 'staging' into development
EmmanuelleBonoli Aug 26, 2025
81eda23
feat(issue-180): improve SEO (#123)
SebastienDechand Aug 27, 2025
9f29c6a
fix footer and dark mode (#126)
EmmanuelleBonoli Aug 27, 2025
5c0131e
add documentation with compodoc (#127)
EmmanuelleBonoli Aug 27, 2025
8f4f71a
fix(issue-181): fix SEO
SebastienDechand Aug 27, 2025
d39f3df
feat(issue-92): prevent registration when activity is full or past
SebastienDechand Aug 27, 2025
ee7e52d
Merge branch 'staging' into development
SebastienDechand Aug 27, 2025
40d7c42
fix(issue-181): fix SEO
SebastienDechand Aug 27, 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
98 changes: 0 additions & 98 deletions .github/workflows/main.yml

This file was deleted.

2 changes: 1 addition & 1 deletion package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
"e2e:ci:production": "npm run e2e:ci --env=production",
"lint": "npx ng lint",
"prettier": "npx prettier --write .",
"doc": "node -e \"require('os').platform() === 'win32' ? require('child_process').execSync('start http://127.0.0.1:8080') : require('child_process').execSync('open http://127.0.0.1:8080')\" && compodoc -p tsconfig.doc.json -s",
"doc": "npx compodoc -p tsconfig.doc.json -d documentation && npx compodoc -s -p tsconfig.doc.json --host 127.0.0.1 -r 8081",
"docker:dev": "docker-compose -f docker-compose.development.yml up --build",
"docker:staging": "docker-compose -f docker-compose.staging.yml up --build",
"docker:prod": "docker-compose -f docker-compose.production.yml up --build"
Expand Down Expand Up @@ -61,7 +61,7 @@
"@angular-devkit/build-angular": "^19.0.0",
"@angular/cli": "^19.0.0",
"@angular/compiler-cli": "^19.0.0",
"@compodoc/compodoc": "^1.1.19",
"@compodoc/compodoc": "^1.1.26",
"@cypress/schematic": "^2.5.2",
"@ngrx/store-devtools": "^19.2.1",
"@types/jest": "^29.5.14",
Expand Down
Binary file added public/opengraph-seo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed public/opengraph.png
Binary file not shown.
3 changes: 2 additions & 1 deletion src/app/app.component.html
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
<app-header></app-header>
<div class="page">
<app-header></app-header>
<p-toast></p-toast>
@if (loading) {
<p-progressBar mode="indeterminate" [style]="{ height: '6px' }" />

Check warning on line 5 in src/app/app.component.html

View workflow job for this annotation

GitHub Actions / 🧪 Lint + Unit Tests

<p-progressBar/> element should not have inline styles via style attribute. Please use classes instead

Check warning on line 5 in src/app/app.component.html

View workflow job for this annotation

GitHub Actions / 🧪 Lint + Unit Tests

<p-progressBar/> element should not have inline styles via style attribute. Please use classes instead
}

<router-outlet></router-outlet>
<div class="spacer"></div>
<app-footer></app-footer>
</div>
5 changes: 5 additions & 0 deletions src/app/app.component.scss
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,9 @@
white-space: pre-line;
max-width: 1920px;
margin: 0 auto;
min-height: 100vh;

.spacer {
flex-grow: 1;
}
}
3 changes: 3 additions & 0 deletions src/app/app.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,9 @@ export const appConfig: ApplicationConfig = {
providePrimeNG({
theme: {
preset: myPreset,
options: {
darkModeSelector: false,
},
},
translation: PRIME_NG_FR.password,
}),
Expand Down
4 changes: 0 additions & 4 deletions src/app/common/components/footer/footer.component.scss
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,8 @@ footer {
justify-content: space-around;
align-items: center;
background-color: var(--primary-light-color);
position: fixed;
bottom: 0;
left: 0;
width: 100%;
padding: 12px 0;
z-index: 11;

.links-asso {
display: flex;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,13 +25,17 @@ <h1>{{ activity.title }}</h1>
</div>

@if (isVoluntary$ | async) {
<app-single-button
[id]="1"
(buttonClicked)="toggleRegister(activity)"
[styleClass]="(isRegisteredActivity$ | async) ? ButtonStyleClass.unsubscribe : ButtonStyleClass.subscribe"
[label]="(isRegisteredActivity$ | async) ? 'Me désinscrire' : 'M\'inscrire 🚀'"
[ariaLabel]="'bouton de ' + (isRegisteredActivity$ | async) ? 'désinscription' : 'inscription'">
</app-single-button>
@if (isNotFull$ | async) {
<app-single-button
[id]="1"
(buttonClicked)="toggleRegister(activity)"
[styleClass]="(isRegisteredActivity$ | async) ? ButtonStyleClass.unsubscribe : ButtonStyleClass.subscribe"
[label]="(isRegisteredActivity$ | async) ? 'Me désinscrire' : 'M\'inscrire !'"
[ariaLabel]="'bouton de ' + (isRegisteredActivity$ | async) ? 'désinscription' : 'inscription'">
</app-single-button>
} @else {
<p class="full-message">Cette activité est complète</p>
}
}
</section>
}
Original file line number Diff line number Diff line change
Expand Up @@ -71,4 +71,19 @@
}
}
}

.full-message {
margin-top: 1rem;
padding: 0.6rem 1rem;
border-radius: 8px;
display: inline-flex;
align-items: center;
justify-content: center;
background-color: var(--secondary-complete-color);
color: var(--background-color-white);
font-size: var(--font-size-p);
font-weight: 600;
font-family: var(--font-family-p);
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { AsyncPipe, DatePipe } from '@angular/common';
import { Component, inject, Input, OnInit } from '@angular/core';
import { ButtonModule } from 'primeng/button';
import { Observable, take } from 'rxjs';
import { map, Observable, take } from 'rxjs';
import { TAKE_1 } from 'src/app/common/constants/observables.constants';
import { ButtonStyleClass } from 'src/app/common/models/button';
import { AuthService } from 'src/app/features/authentication/services/auth.service';
Expand Down Expand Up @@ -31,11 +31,13 @@ export class ActivityDescriptionComponent implements OnInit {
public voluntariesRegistered$: Observable<Participant>;

isVoluntary$: Observable<boolean> = this._authService.isVoluntaryUser();
isNotFull$: Observable<boolean>;

ngOnInit(): void {
this.isRegisteredActivity$ = this._activityFacadeService.getIsRegisteredActivity(this.activity.id);
this.isSavedActivity$ = this._activityFacadeService.getIsSavedActivity(this.activity.id);
this.voluntariesRegistered$ = this._activityFacadeService.getVoluntariesRegisteredToAnActivity(this.activity.id);
this.isNotFull$ = this.voluntariesRegistered$.pipe(map(participants => participants.current < participants.max));
}

toggleRegister(activity: Activity): void {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
justify-content: space-around;
background-color: var(--background-color-light);
width: 90%;
height: 85vh;
height: 83vh;
margin: 5px auto;
position: relative;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,11 @@ export class ActivitiesHomeComponent implements OnInit {

private _applyFilters(): void {
this.filteredActivities$ = this.activities$.pipe(
map(activities => this._activityFilterService.filterActivities(activities, this.searchFilters, this.selectedThemesName))
map(activities =>
this._activityFilterService
.filterActivities(activities, this.searchFilters, this.selectedThemesName)
.filter(activity => new Date(activity.date).getTime() >= Date.now())
)
);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,7 @@

.add-informations-container {
overflow: visible;
z-index: 11;
.section-content {
display: grid;
grid-template-columns: 1fr 1fr;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
.sidebar {
background-color: var(--primary-dark-color);
width: 250px;
height: 100vh;
height: 85vh;
padding: 2rem 1rem;
box-sizing: border-box;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import { MAX_LENGTH, MIN_LENGTH, PHONE_REGEX } from 'src/app/features/authentica
import { UserType, VoluntaryLogin } from 'src/app/features/authentication/models/user.model';
import { AuthFacade } from 'src/app/features/authentication/services/auth-facade.service';
import { AuthService } from 'src/app/features/authentication/services/auth.service';
import { environment } from 'src/environments/environment.development';
import { environment } from 'src/environments/environment';
import { VoluntaryUpdateRequestDTO } from '../../../models/update-request-dto.models';
import { VoluntaryProfileService } from '../../../services/voluntary-profil.service';
import { EditableFieldComponent } from '../../editable-field/editable-field.component';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { Component } from '@angular/core';
import { Component, OnInit } from '@angular/core';
import { RouterOutlet } from '@angular/router';
import { AssociationProfileMenuComponent } from '../../components/association/association-profile-menu/association-profile-menu.component';

Expand All @@ -9,4 +9,8 @@ import { AssociationProfileMenuComponent } from '../../components/association/as
templateUrl: './association-profile-page.component.html',
styleUrls: ['./association-profile-page.component.scss'],
})
export class AssociationProfilePageComponent {}
export class AssociationProfilePageComponent implements OnInit {
ngOnInit(): void {
window.scrollTo(0, 0);
}
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { HttpClient } from '@angular/common/http';
import { Injectable, inject } from '@angular/core';
import { Observable } from 'rxjs';
import { environment } from 'src/environments/environment.development';
import { environment } from 'src/environments/environment';
import { VoluntaryLogin } from '../../authentication/models/user.model';
import { VoluntaryUpdateRequestDTO } from '../models/update-request-dto.models';

Expand Down
25 changes: 16 additions & 9 deletions src/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
<meta name="keywords" content="bénévolat, association, engagement, solidarité, activités bénévoles, entraide, volontariat, dons, missions" />
<meta name="author" content="A l'Asso" />
<meta name="robots" content="index, follow" />
<link rel="canonical" href="https://www.alasso.fr/" />
<link rel="canonical" href="https://a-l-asso.fr/" />

<!-- Mobile & Accessibilité -->
<meta name="viewport" content="width=device-width, initial-scale=1" />
Expand All @@ -24,14 +24,14 @@
<meta property="og:title" content="A l'Asso – Trouvez des activités bénévoles près de chez vous" />
<meta property="og:description" content="Rejoignez facilement une association et participez à des activités solidaires locales ou à distance." />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://www.alasso.fr/" />
<meta property="og:image" content="https://www.alasso.fr/opengraph.png" />
<meta property="og:url" content="https://a-l-asso.fr/" />
<meta property="og:image" content="https://a-l-asso.fr/opengraph-seo.png" />

<!-- Twitter Card -->
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="A l'Asso – Bénévolat & Engagement" />
<meta name="twitter:description" content="Rejoignez facilement une association et participez à des activités solidaires locales ou à distance." />
<meta name="twitter:image" content="https://www.alasso.fr/assets/opengraph.png" />
<meta name="twitter:image" content="https://a-l-asso.fr/opengraph-seo.png" />

<!-- Favicon -->
<link rel="icon" type="image/png" href="LogoALAsso.png" />
Expand All @@ -46,11 +46,18 @@
"@context": "https://schema.org",
"@type": "WebSite",
"name": "A l'asso",
"url": "https://www.alasso.fr/",
"potentialAction": {
"@type": "SearchAction",
"target": "https://www.alasso.fr/recherche?q={search_term_string}",
"query-input": "required name=search_term_string"
"url": "https://a-l-asso.fr/",
"image": "https://a-l-asso.fr/opengraph-seo.png",
"description": "Rejoignez facilement une association et participez à des activités solidaires locales ou à distance.",
"email": "[email protected]",
"telephone": "+33 6 58 96 25 48",
"address": {
"@type": "PostalAddress",
"streetAddress": "89 rue de la liberté",
"addressLocality": "Paris",
"postalCode": "75000",
"addressRegion": "Île-de-France",
"addressCountry": "FR"
}
}
</script>
Expand Down
14 changes: 13 additions & 1 deletion tsconfig.doc.json
Original file line number Diff line number Diff line change
@@ -1 +1,13 @@
{"include":["src/**/*.ts"],"exclude":["src/**/*.spec.ts"]}
{
"extends": "./tsconfig.json",
"compilerOptions": {
"outDir": "./out-tsc/doc",
"types": []
},
"include": [
"src/**/*.ts"
],
"exclude": [
"src/**/*.spec.ts"
]
}
Loading