aril 1.0.39 → 1.0.41

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/esm2022/http/src/serviceStateMethods.mjs +6 -2
  2. package/esm2022/theme/layout/app/favorite-pages/favorite-pages-sidebar.component.mjs +211 -0
  3. package/esm2022/theme/layout/app/favorite-pages/favorite-pages.service.mjs +55 -0
  4. package/esm2022/theme/layout/app/favorite-pages/modals/add-edit-favorite-modal/add-edit-favorite-modal.component.mjs +129 -0
  5. package/esm2022/theme/layout/app/history/history-sidebar.component.mjs +128 -0
  6. package/esm2022/theme/layout/app/history/history.service.mjs +146 -0
  7. package/esm2022/theme/layout/app/layout/app.layout.component.mjs +9 -3
  8. package/esm2022/theme/layout/app/profileSidebar/app.profilesidebar.component.mjs +100 -8
  9. package/esm2022/theme/layout/app/profileSidebar/modals/change-password-modal/change-password-modal.component.mjs +142 -0
  10. package/esm2022/theme/layout/app/profileSidebar/modals/edit-profile-modal/edit-profile-modal.component.mjs +123 -0
  11. package/esm2022/theme/layout/app/profileSidebar/profile.service.mjs +42 -0
  12. package/esm2022/theme/layout/app/site-map/site-map-sidebar.component.mjs +161 -0
  13. package/esm2022/theme/layout/app/topbar/app.topbar.component.mjs +23 -5
  14. package/esm2022/theme/layout/service/app.layout.service.mjs +13 -1
  15. package/fesm2022/aril-http.mjs +5 -1
  16. package/fesm2022/aril-http.mjs.map +1 -1
  17. package/fesm2022/aril-theme-layout.mjs +1197 -75
  18. package/fesm2022/aril-theme-layout.mjs.map +1 -1
  19. package/package.json +84 -83
  20. package/theme/layout/app/favorite-pages/favorite-pages-sidebar.component.d.ts +42 -0
  21. package/theme/layout/app/favorite-pages/favorite-pages-sidebar.component.html +106 -0
  22. package/theme/layout/app/favorite-pages/favorite-pages-sidebar.component.scss +181 -0
  23. package/theme/layout/app/favorite-pages/favorite-pages-sidebar.component.ts +253 -0
  24. package/theme/layout/app/favorite-pages/favorite-pages.service.d.ts +54 -0
  25. package/theme/layout/app/favorite-pages/favorite-pages.service.ts +87 -0
  26. package/theme/layout/app/favorite-pages/modals/add-edit-favorite-modal/add-edit-favorite-modal.component.d.ts +36 -0
  27. package/theme/layout/app/favorite-pages/modals/add-edit-favorite-modal/add-edit-favorite-modal.component.html +27 -0
  28. package/theme/layout/app/favorite-pages/modals/add-edit-favorite-modal/add-edit-favorite-modal.component.ts +165 -0
  29. package/theme/layout/app/history/history-sidebar.component.d.ts +30 -0
  30. package/theme/layout/app/history/history-sidebar.component.html +88 -0
  31. package/theme/layout/app/history/history-sidebar.component.scss +191 -0
  32. package/theme/layout/app/history/history-sidebar.component.ts +139 -0
  33. package/theme/layout/app/history/history.service.d.ts +36 -0
  34. package/theme/layout/app/history/history.service.ts +182 -0
  35. package/theme/layout/app/layout/app.layout.component.html +3 -0
  36. package/theme/layout/app/layout/app.layout.component.ts +7 -1
  37. package/theme/layout/app/profileSidebar/app.profilesidebar.component.d.ts +17 -2
  38. package/theme/layout/app/profileSidebar/app.profilesidebar.component.html +107 -135
  39. package/theme/layout/app/profileSidebar/app.profilesidebar.component.scss +152 -0
  40. package/theme/layout/app/profileSidebar/app.profilesidebar.component.ts +114 -7
  41. package/theme/layout/app/profileSidebar/modals/change-password-modal/change-password-modal.component.d.ts +30 -0
  42. package/theme/layout/app/profileSidebar/modals/change-password-modal/change-password-modal.component.html +46 -0
  43. package/theme/layout/app/profileSidebar/modals/change-password-modal/change-password-modal.component.scss +28 -0
  44. package/theme/layout/app/profileSidebar/modals/change-password-modal/change-password-modal.component.ts +178 -0
  45. package/theme/layout/app/profileSidebar/modals/edit-profile-modal/edit-profile-modal.component.d.ts +27 -0
  46. package/theme/layout/app/profileSidebar/modals/edit-profile-modal/edit-profile-modal.component.html +76 -0
  47. package/theme/layout/app/profileSidebar/modals/edit-profile-modal/edit-profile-modal.component.ts +141 -0
  48. package/theme/layout/app/profileSidebar/profile.service.d.ts +67 -0
  49. package/theme/layout/app/profileSidebar/profile.service.ts +89 -0
  50. package/theme/layout/app/site-map/site-map-sidebar.component.d.ts +37 -0
  51. package/theme/layout/app/site-map/site-map-sidebar.component.html +118 -0
  52. package/theme/layout/app/site-map/site-map-sidebar.component.scss +189 -0
  53. package/theme/layout/app/site-map/site-map-sidebar.component.ts +189 -0
  54. package/theme/layout/app/topbar/app.topbar.component.d.ts +7 -1
  55. package/theme/layout/app/topbar/app.topbar.component.html +37 -17
  56. package/theme/layout/app/topbar/app.topbar.component.scss +188 -12
  57. package/theme/layout/app/topbar/app.topbar.component.ts +29 -7
  58. package/theme/layout/service/app.layout.service.d.ts +6 -0
  59. package/theme/layout/service/app.layout.service.ts +19 -1
@@ -1,22 +1,198 @@
1
+ // Layout Topbar Responsive Styles
2
+ .layout-topbar {
3
+ display: flex;
4
+ align-items: center;
5
+ justify-content: space-between;
6
+ flex-wrap: nowrap;
7
+ gap: 0.5rem;
8
+ padding: 0 1rem;
9
+
10
+ @media (max-width: 768px) {
11
+ padding: 0 0.5rem;
12
+ gap: 0.25rem;
13
+ }
14
+ }
15
+
16
+ .topbar-start {
17
+ display: flex;
18
+ align-items: center;
19
+ flex-shrink: 0;
20
+ }
21
+
22
+ .topbar-logo {
23
+ height: 32px;
24
+ width: auto;
25
+
26
+ @media (max-width: 768px) {
27
+ display: none; // Logo'yu mobile'da gizle
28
+ }
29
+ }
30
+
31
+ .topbar-search {
32
+ flex: 1;
33
+ max-width: 50rem;
34
+ margin: 0 1rem;
35
+
36
+ @media (max-width: 1024px) {
37
+ max-width: 30rem;
38
+ }
39
+
40
+ @media (max-width: 768px) {
41
+ max-width: 20rem;
42
+ margin: 0 0.5rem;
43
+ }
44
+
45
+ @media (max-width: 480px) {
46
+ max-width: 15rem;
47
+ margin: 0 0.25rem;
48
+ }
49
+
50
+ .p-input-icon-left {
51
+ width: 100%;
52
+ }
53
+ }
54
+
55
+ .topbar-search-input {
56
+ width: 100% !important;
57
+ }
58
+
59
+ .topbar-end {
60
+ flex-shrink: 0;
61
+ }
62
+
63
+ .topbar-menu {
64
+ display: flex;
65
+ align-items: center;
66
+ gap: 0.5rem;
67
+ margin: 0;
68
+ padding: 0;
69
+ list-style: none;
70
+
71
+ @media (max-width: 768px) {
72
+ gap: 0.25rem;
73
+ }
74
+
75
+ @media (max-width: 480px) {
76
+ gap: 0.1rem;
77
+ }
78
+ }
79
+
80
+ .topbar-menu-item {
81
+ display: flex;
82
+ align-items: center;
83
+ }
84
+
85
+ // Responsive visibility classes - Daha iyi yaklaşım
86
+ .desktop-only {
87
+ @media (max-width: 1024px) {
88
+ display: none !important;
89
+ }
90
+ }
91
+
92
+ .mobile-only {
93
+ display: none !important;
94
+
95
+ @media (max-width: 1024px) {
96
+ display: flex !important;
97
+ }
98
+ }
99
+
100
+ // Custom dropdown styles
1
101
  .custom-dropdown .p-dropdown {
2
- border-radius: 50px;
3
- padding: 0.5rem 1rem;
4
- border: 1px solid #c8c8c8;
5
- background-color: #f4f4f4;
102
+ border-radius: 50px;
103
+ padding: 0.5rem 1rem;
104
+ border: 1px solid #c8c8c8;
105
+ background-color: #f4f4f4;
106
+
107
+ @media (max-width: 768px) {
108
+ padding: 0.4rem 0.8rem;
109
+ }
110
+
111
+ @media (max-width: 480px) {
112
+ padding: 0.3rem 0.6rem;
113
+ }
6
114
  }
7
115
 
8
116
  .custom-dropdown .p-dropdown-label {
9
- padding: 0;
10
- line-height: 1.5;
117
+ padding: 0;
118
+ line-height: 1.5;
11
119
  }
12
120
 
13
121
  .custom-dropdown .p-dropdown-trigger {
14
- border-radius: 50px;
122
+ border-radius: 50px;
15
123
  }
16
124
 
17
125
  .flag-icon {
18
- width: 18px;
19
- height: 18px;
20
- display: inline-block;
21
- vertical-align: middle;
22
- }
126
+ width: 18px;
127
+ height: 18px;
128
+ display: inline-block;
129
+ vertical-align: middle;
130
+
131
+ @media (max-width: 768px) {
132
+ width: 16px;
133
+ height: 16px;
134
+ }
135
+ }
136
+
137
+ // Language text responsive visibility
138
+ .language-text {
139
+ @media (max-width: 480px) {
140
+ display: none;
141
+ }
142
+ }
143
+
144
+ // Menu button responsiveness
145
+ .topbar-menubutton {
146
+ @media (max-width: 768px) {
147
+ padding: 0.4rem !important;
148
+ }
149
+
150
+ @media (max-width: 480px) {
151
+ padding: 0.3rem !important;
152
+ }
153
+ }
154
+
155
+ // Button responsive sizing
156
+ @media (max-width: 768px) {
157
+ .topbar-menu-item p-button {
158
+ min-width: auto;
159
+
160
+ .p-button-icon {
161
+ margin: 0;
162
+ }
163
+
164
+ .p-button-label {
165
+ font-size: 0.9rem;
166
+ }
167
+ }
168
+ }
169
+
170
+ @media (max-width: 480px) {
171
+ .topbar-menu-item p-button {
172
+ .p-button-label {
173
+ font-size: 0.8rem;
174
+ }
175
+ }
176
+
177
+ // Divider'ı mobile'da gizle
178
+ .topbar-menu-item p-divider {
179
+ display: none;
180
+ }
181
+ }
182
+
183
+ // Notification icon styles
184
+ .notification-icon {
185
+ cursor: pointer;
186
+ padding: 0.5rem;
187
+ border-radius: 50%;
188
+ transition: background-color 0.2s;
189
+
190
+ &:hover {
191
+ background-color: var(--surface-hover);
192
+ }
193
+
194
+ @media (max-width: 480px) {
195
+ font-size: 0.9rem;
196
+ padding: 0.4rem;
197
+ }
198
+ }
@@ -8,16 +8,16 @@ import { DividerModule } from 'primeng/divider';
8
8
  import { DropdownModule } from 'primeng/dropdown';
9
9
  import { MenubarModule } from 'primeng/menubar';
10
10
 
11
- import { TranslocoService } from '@ngneat/transloco';
11
+ import { TranslocoModule, TranslocoService } from '@ngneat/transloco';
12
+ import { KeycloakService } from 'keycloak-angular';
12
13
 
13
14
  import { Apps } from 'aril/boot/config/apps';
14
15
  import { PubSubService } from 'aril/util/pub-sub';
15
16
 
16
17
  import { LayoutService } from '../../service/app.layout.service';
17
- import { AppBreadcrumbComponent } from '../breadcrumb/app.breadcrumb.component';
18
18
  import { LanguageCode } from '../../service/interfaces/enum';
19
19
  import { Language, LanguageChangeEvent } from '../../service/interfaces/interfaces';
20
- import { KeycloakService } from 'keycloak-angular';
20
+ import { AppBreadcrumbComponent } from '../breadcrumb/app.breadcrumb.component';
21
21
 
22
22
  @Component({
23
23
  standalone: true,
@@ -30,7 +30,8 @@ import { KeycloakService } from 'keycloak-angular';
30
30
  DividerModule,
31
31
  BadgeModule,
32
32
  MenubarModule,
33
- DropdownModule
33
+ DropdownModule,
34
+ TranslocoModule
34
35
  ],
35
36
  templateUrl: './app.topbar.component.html',
36
37
  styleUrls: ['./app.topbar.component.scss']
@@ -43,6 +44,7 @@ export class AppTopbarComponent {
43
44
  search: string = '';
44
45
 
45
46
  filePath = signal<string>('');
47
+ isNotificationsVisible = signal<boolean>(false);
46
48
 
47
49
  currentLang: LanguageCode = (localStorage.getItem('lang') as LanguageCode) || LanguageCode.TR;
48
50
 
@@ -52,9 +54,9 @@ export class AppTopbarComponent {
52
54
  ];
53
55
 
54
56
  constructor(
55
- private readonly translocoService: TranslocoService,
56
- private readonly pubSubService: PubSubService,
57
- private readonly keycloak:KeycloakService
57
+ private readonly translocoService: TranslocoService,
58
+ private readonly pubSubService: PubSubService,
59
+ private readonly keycloak: KeycloakService
58
60
  ) {
59
61
  this.translocoService.setActiveLang(this.currentLang);
60
62
  this.publishLanguageChange(this.currentLang);
@@ -110,6 +112,26 @@ export class AppTopbarComponent {
110
112
  this.layoutService.showConfigSidebar();
111
113
  }
112
114
 
115
+ onHistoryButtonClick(): void {
116
+ this.layoutService.showHistorySidebar();
117
+ }
118
+
119
+ onSiteMapButtonClick(): void {
120
+ this.layoutService.showSiteMapSidebar();
121
+ }
122
+
123
+ onFavoritePagesButtonClick(): void {
124
+ this.layoutService.showFavoritePagesSidebar();
125
+ }
126
+
127
+ onNotificationsButtonClick(): void {
128
+ this.isNotificationsVisible.update((visible) => !visible);
129
+ }
130
+
131
+ onNotificationsClose(): void {
132
+ this.isNotificationsVisible.set(false);
133
+ }
134
+
113
135
  onLanguageChange(): void {
114
136
  localStorage.setItem('lang', this.currentLang);
115
137
 
@@ -16,6 +16,9 @@ interface LayoutState {
16
16
  overlayMenuActive: boolean;
17
17
  profileSidebarVisible: boolean;
18
18
  configSidebarVisible: boolean;
19
+ historySidebarVisible: boolean;
20
+ siteMapSidebarVisible: boolean;
21
+ favoritePagesSidebarVisible: boolean;
19
22
  staticMenuMobileActive: boolean;
20
23
  menuHoverActive: boolean;
21
24
  sidebarActive: boolean;
@@ -41,6 +44,9 @@ export declare class LayoutService {
41
44
  onOverlaySubmenuOpen(): void;
42
45
  showProfileSidebar(): void;
43
46
  showConfigSidebar(): void;
47
+ showHistorySidebar(): void;
48
+ showSiteMapSidebar(): void;
49
+ showFavoritePagesSidebar(): void;
44
50
  isOverlay(): boolean;
45
51
  isDesktop(): boolean;
46
52
  isSlim(): boolean;
@@ -23,6 +23,9 @@ interface LayoutState {
23
23
  overlayMenuActive: boolean;
24
24
  profileSidebarVisible: boolean;
25
25
  configSidebarVisible: boolean;
26
+ historySidebarVisible: boolean;
27
+ siteMapSidebarVisible: boolean;
28
+ favoritePagesSidebarVisible: boolean;
26
29
  staticMenuMobileActive: boolean;
27
30
  menuHoverActive: boolean;
28
31
  sidebarActive: boolean;
@@ -58,6 +61,9 @@ export class LayoutService {
58
61
  overlayMenuActive: false,
59
62
  profileSidebarVisible: false,
60
63
  configSidebarVisible: false,
64
+ historySidebarVisible: false,
65
+ siteMapSidebarVisible: false,
66
+ favoritePagesSidebarVisible: false,
61
67
  staticMenuMobileActive: false,
62
68
  menuHoverActive: false,
63
69
  sidebarActive: false,
@@ -121,6 +127,18 @@ export class LayoutService {
121
127
  this.state.configSidebarVisible = true;
122
128
  }
123
129
 
130
+ showHistorySidebar() {
131
+ this.state.historySidebarVisible = true;
132
+ }
133
+
134
+ showSiteMapSidebar() {
135
+ this.state.siteMapSidebarVisible = true;
136
+ }
137
+
138
+ showFavoritePagesSidebar() {
139
+ this.state.favoritePagesSidebarVisible = true;
140
+ }
141
+
124
142
  isOverlay() {
125
143
  return this.config().menuMode === 'overlay';
126
144
  }
@@ -184,4 +202,4 @@ export class LayoutService {
184
202
  changeScale(value: number) {
185
203
  document.documentElement.style.fontSize = `${value}px`;
186
204
  }
187
- }
205
+ }