diff --git a/angular.json b/angular.json
index 0b6ee56..1765036 100644
--- a/angular.json
+++ b/angular.json
@@ -49,7 +49,13 @@
"development": {
"optimization": false,
"extractLicenses": false,
- "sourceMap": true
+ "sourceMap": true,
+ "fileReplacements": [
+ {
+ "replace": "src/environments/environment.ts",
+ "with": "src/environments/environment.development.ts"
+ }
+ ]
}
},
"defaultConfiguration": "production"
@@ -86,5 +92,8 @@
}
}
}
+ },
+ "cli": {
+ "analytics": false
}
}
diff --git a/public/home.jpg b/public/home.jpg
new file mode 100644
index 0000000..c77a487
Binary files /dev/null and b/public/home.jpg differ
diff --git a/src/app/app.component.html b/src/app/app.component.html
index a56b35a..acb9bac 100644
--- a/src/app/app.component.html
+++ b/src/app/app.component.html
@@ -1,4 +1,4 @@
-
+
diff --git a/src/app/app.component.ts b/src/app/app.component.ts
index 838bea1..3642636 100644
--- a/src/app/app.component.ts
+++ b/src/app/app.component.ts
@@ -1,11 +1,10 @@
import { Component } from '@angular/core';
import { RouterOutlet } from '@angular/router';
-import { LeafletMapComponent } from './components/leaflet-map/leaflet-map.component';
import { NavbarComponent } from './components/navbar/navbar.component';
@Component({
selector: 'app-root',
- imports: [RouterOutlet, NavbarComponent, LeafletMapComponent],
+ imports: [RouterOutlet, NavbarComponent],
templateUrl: './app.component.html',
})
export class AppComponent {
diff --git a/src/app/app.routes.ts b/src/app/app.routes.ts
index dc39edb..a3c8012 100644
--- a/src/app/app.routes.ts
+++ b/src/app/app.routes.ts
@@ -1,3 +1,8 @@
import { Routes } from '@angular/router';
+import { HomePageComponent } from './components/home-page/home-page.component';
+import { LeafletMapComponent } from './components/leaflet-map/leaflet-map.component';
-export const routes: Routes = [];
+export const routes: Routes = [
+ {path: '', component: HomePageComponent},
+ {path: 'map', component: LeafletMapComponent}
+];
diff --git a/src/app/components/home-page/home-page.component.css b/src/app/components/home-page/home-page.component.css
new file mode 100644
index 0000000..e69de29
diff --git a/src/app/components/home-page/home-page.component.html b/src/app/components/home-page/home-page.component.html
new file mode 100644
index 0000000..67311cd
--- /dev/null
+++ b/src/app/components/home-page/home-page.component.html
@@ -0,0 +1,58 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Plongez dans un voyage interactif à travers vos souvenirs avec
+ Memory Map , l'application qui transforme vos aventures
+ en une carte unique et personnalisée.
+
+
+ Enrichissez vos marqueurs avec des photos, des légendes, des notes personnelles, et même des amis
+ identifiés pour revivre chaque moment important.
+
+
+ Commencez votre aventure
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Toute l'équipe de Memory est fière de vous présenter
+ Memory Map , une application conçue avec passion et créativité pour vous permettre
+ de revivre vos meilleurs souvenirs et d'en découvrir de nouveaux.
+
+
+ Nous vous remercions de nous accompagner dans cette belle aventure, et nous avons hâte de voir les
+ magnifiques cartes que vous allez créer !
+
+
+ Bonne année 2025 à tous, remplie de souvenirs inoubliables 🌍✨
+
+
+
+
+
+
+
+
diff --git a/src/app/components/home-page/home-page.component.spec.ts b/src/app/components/home-page/home-page.component.spec.ts
new file mode 100644
index 0000000..c6f955d
--- /dev/null
+++ b/src/app/components/home-page/home-page.component.spec.ts
@@ -0,0 +1,23 @@
+import { ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { HomePageComponent } from './home-page.component';
+
+describe('HomePageComponent', () => {
+ let component: HomePageComponent;
+ let fixture: ComponentFixture;
+
+ beforeEach(async () => {
+ await TestBed.configureTestingModule({
+ imports: [HomePageComponent]
+ })
+ .compileComponents();
+
+ fixture = TestBed.createComponent(HomePageComponent);
+ component = fixture.componentInstance;
+ fixture.detectChanges();
+ });
+
+ it('should create', () => {
+ expect(component).toBeTruthy();
+ });
+});
diff --git a/src/app/components/home-page/home-page.component.ts b/src/app/components/home-page/home-page.component.ts
new file mode 100644
index 0000000..643bba6
--- /dev/null
+++ b/src/app/components/home-page/home-page.component.ts
@@ -0,0 +1,13 @@
+import { Component } from '@angular/core';
+import { RouterLink } from '@angular/router';
+
+
+@Component({
+ selector: 'app-home-page',
+ imports: [RouterLink],
+ templateUrl: './home-page.component.html',
+ styleUrl: './home-page.component.css'
+})
+export class HomePageComponent {
+
+}
diff --git a/src/app/components/leaflet-map/leaflet-map.component.ts b/src/app/components/leaflet-map/leaflet-map.component.ts
index 9c2f936..4c0dd38 100644
--- a/src/app/components/leaflet-map/leaflet-map.component.ts
+++ b/src/app/components/leaflet-map/leaflet-map.component.ts
@@ -19,7 +19,14 @@ export class LeafletMapComponent implements OnInit {
private initializeMap(): void {
// Initialize the map
- this.map = L.map('map').setView([46.603354, 1.888334], 6);
+ this.map = L.map('map', {
+ maxBounds: L.latLngBounds(
+ L.latLng(-90, -180), // South-West
+ L.latLng(90, 180) // North-East
+ ),
+ maxBoundsViscosity: 1.0, // Prevent dragging the map out of bounds
+ minZoom: 2, // Prevent zooming out too much
+ }).setView([46.603354, 1.888334], 6);
// Add OpenStreetMap tiles
L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
diff --git a/src/app/components/navbar/navbar.component.html b/src/app/components/navbar/navbar.component.html
index df8c94e..608cd72 100644
--- a/src/app/components/navbar/navbar.component.html
+++ b/src/app/components/navbar/navbar.component.html
@@ -9,7 +9,7 @@
>Memory Map
-
+
diff --git a/src/app/components/navbar/navbar.component.ts b/src/app/components/navbar/navbar.component.ts
index 12cc284..ad41235 100644
--- a/src/app/components/navbar/navbar.component.ts
+++ b/src/app/components/navbar/navbar.component.ts
@@ -1,9 +1,24 @@
-import { Component } from '@angular/core';
+import { NgIf } from '@angular/common';
+import { Component, OnInit } from '@angular/core';
+import { NavigationEnd, Router } from '@angular/router';
import { AddPinPopupComponent } from '../add-pin-popup/add-pin-popup.component';
@Component({
selector: 'app-navbar',
- imports: [AddPinPopupComponent],
+ imports: [AddPinPopupComponent, NgIf],
templateUrl: './navbar.component.html',
})
-export class NavbarComponent {}
+export class NavbarComponent implements OnInit {
+ isHomePage: boolean = false;
+
+ constructor(private router: Router) {}
+
+ ngOnInit(): void {
+ this.isHomePage = this.router.url === '/';
+ this.router.events.subscribe((event) => {
+ if (event instanceof NavigationEnd) {
+ this.isHomePage = event.url === '/';
+ }
+ });
+ }
+}
diff --git a/src/app/services/login.service.spec.ts b/src/app/services/login.service.spec.ts
new file mode 100644
index 0000000..299b0d5
--- /dev/null
+++ b/src/app/services/login.service.spec.ts
@@ -0,0 +1,16 @@
+import { TestBed } from '@angular/core/testing';
+
+import { LoginService } from './login.service';
+
+describe('LoginService', () => {
+ let service: LoginService;
+
+ beforeEach(() => {
+ TestBed.configureTestingModule({});
+ service = TestBed.inject(LoginService);
+ });
+
+ it('should be created', () => {
+ expect(service).toBeTruthy();
+ });
+});
diff --git a/src/app/services/login.service.ts b/src/app/services/login.service.ts
new file mode 100644
index 0000000..bc33419
--- /dev/null
+++ b/src/app/services/login.service.ts
@@ -0,0 +1,22 @@
+import { HttpClient } from '@angular/common/http';
+import { Injectable } from '@angular/core';
+import { Observable } from 'rxjs';
+import { environment } from '../../environments/environment';
+
+@Injectable({
+ providedIn: 'root',
+})
+export class LoginService {
+ private apiUrl = environment.apiURL;
+
+ constructor(private http: HttpClient) {}
+
+ login(username: string, password: string): Observable
{
+ return this.http.get(this.apiUrl + '/login', {
+ params: {
+ username: username,
+ password: password,
+ },
+ });
+ }
+}
diff --git a/src/environments/environment.development.ts b/src/environments/environment.development.ts
new file mode 100644
index 0000000..89fad4e
--- /dev/null
+++ b/src/environments/environment.development.ts
@@ -0,0 +1,4 @@
+export const environment = {
+ production: false,
+ apiURL: 'https://api.memorymap.fr/api/v1',
+};
diff --git a/src/environments/environment.ts b/src/environments/environment.ts
new file mode 100644
index 0000000..2c63d3c
--- /dev/null
+++ b/src/environments/environment.ts
@@ -0,0 +1,4 @@
+export const environment = {
+ production: true,
+ apiURL: 'https://api.memorymap.fr/api/v1',
+};