This commit is contained in:
Çetin
2025-07-24 18:44:14 +03:00
parent e6ab60ad3d
commit ec372d10f4
3 changed files with 10 additions and 5 deletions

View File

@@ -1,14 +1,15 @@
import { Component, computed, inject } from '@angular/core'; import {Component, computed, inject, input} from '@angular/core';
import { ButtonModule } from 'primeng/button'; import { ButtonModule } from 'primeng/button';
import { StyleClassModule } from 'primeng/styleclass'; import { StyleClassModule } from 'primeng/styleclass';
import { AppConfigurator } from './app.configurator'; import { AppConfigurator } from './app.configurator';
import { LayoutService } from '../service/layout.service'; import { LayoutService } from '../service/layout.service';
import {CommonModule} from "@angular/common";
@Component({ @Component({
selector: 'app-floating-configurator', selector: 'app-floating-configurator',
imports: [ButtonModule, StyleClassModule, AppConfigurator], imports: [CommonModule, ButtonModule, StyleClassModule, AppConfigurator],
template: ` template: `
<div class="fixed flex gap-4 top-8 right-8"> <div class="flex gap-4 top-8 right-8" [ngClass]="{'fixed':float()}">
<p-button type="button" (onClick)="toggleDarkMode()" [rounded]="true" [icon]="isDarkTheme() ? 'pi pi-moon' : 'pi pi-sun'" severity="secondary" /> <p-button type="button" (onClick)="toggleDarkMode()" [rounded]="true" [icon]="isDarkTheme() ? 'pi pi-moon' : 'pi pi-sun'" severity="secondary" />
<div class="relative"> <div class="relative">
<p-button icon="pi pi-palette" pStyleClass="@next" enterFromClass="hidden" enterActiveClass="animate-scalein" leaveToClass="hidden" leaveActiveClass="animate-fadeout" [hideOnOutsideClick]="true" type="button" rounded /> <p-button icon="pi pi-palette" pStyleClass="@next" enterFromClass="hidden" enterActiveClass="animate-scalein" leaveToClass="hidden" leaveActiveClass="animate-fadeout" [hideOnOutsideClick]="true" type="button" rounded />
@@ -20,9 +21,12 @@ import { LayoutService } from '../service/layout.service';
export class AppFloatingConfigurator { export class AppFloatingConfigurator {
LayoutService = inject(LayoutService); LayoutService = inject(LayoutService);
float = input<boolean>(true);
isDarkTheme = computed(() => this.LayoutService.layoutConfig().darkTheme); isDarkTheme = computed(() => this.LayoutService.layoutConfig().darkTheme);
toggleDarkMode() { toggleDarkMode() {
this.LayoutService.layoutConfig.update((state) => ({ ...state, darkTheme: !state.darkTheme })); this.LayoutService.layoutConfig.update((state) => ({ ...state, darkTheme: !state.darkTheme }));
} }
} }

View File

@@ -3,10 +3,11 @@ import { StyleClassModule } from 'primeng/styleclass';
import { Router, RouterModule } from '@angular/router'; import { Router, RouterModule } from '@angular/router';
import { RippleModule } from 'primeng/ripple'; import { RippleModule } from 'primeng/ripple';
import { ButtonModule } from 'primeng/button'; import { ButtonModule } from 'primeng/button';
import {AppFloatingConfigurator} from "@/layout/component/app.floatingconfigurator";
@Component({ @Component({
selector: 'topbar-widget', selector: 'topbar-widget',
imports: [RouterModule, StyleClassModule, ButtonModule, RippleModule], imports: [RouterModule, StyleClassModule, ButtonModule, RippleModule, AppFloatingConfigurator],
template: `<a class="flex items-center" href="#"> template: `<a class="flex items-center" href="#">
<svg viewBox="0 0 54 40" fill="none" xmlns="http://www.w3.org/2000/svg" class="h-12 mr-2"> <svg viewBox="0 0 54 40" fill="none" xmlns="http://www.w3.org/2000/svg" class="h-12 mr-2">
<path <path
@@ -58,6 +59,7 @@ import { ButtonModule } from 'primeng/button';
<div class="flex border-t lg:border-t-0 border-surface py-4 lg:py-0 mt-4 lg:mt-0 gap-2"> <div class="flex border-t lg:border-t-0 border-surface py-4 lg:py-0 mt-4 lg:mt-0 gap-2">
<button pButton pRipple label="Login" routerLink="/auth/login" [rounded]="true" [text]="true"></button> <button pButton pRipple label="Login" routerLink="/auth/login" [rounded]="true" [text]="true"></button>
<button pButton pRipple label="Register" routerLink="/auth/login" [rounded]="true"></button> <button pButton pRipple label="Register" routerLink="/auth/login" [rounded]="true"></button>
<app-floating-configurator [float]="false"/>
</div> </div>
</div> ` </div> `
}) })

View File

@@ -27,7 +27,6 @@ import {AppFloatingConfigurator} from "@/layout/component/app.floatingconfigurat
<footer-widget /> <footer-widget />
</div> </div>
</div> </div>
<app-floating-configurator />
` `
}) })
export class Landing {} export class Landing {}