From acdd5f235a495b4fa6f1f5e5fd90edd29a9bd2ac Mon Sep 17 00:00:00 2001 From: andreluislima Date: Mon, 1 Dec 2025 13:10:07 -0300 Subject: [PATCH 1/8] feat: cria sidebar --- front-end/app-gestao/angular.json | 19 +++- front-end/app-gestao/package-lock.json | 33 +++++- front-end/app-gestao/package.json | 1 + front-end/app-gestao/src/app/app.routes.ts | 9 +- .../src/app/components/side-bar/side-bar.scss | 0 .../src/app/components/side-bar/side-bar.ts | 11 -- .../src/app/components/sidebar/sidebar.html | 1 + .../side-bar.html => sidebar/sidebar.scss} | 0 .../sidebar.spec.ts} | 12 +- .../src/app/components/sidebar/sidebar.ts | 11 ++ .../layout/default-layout/default-layout.html | 104 ++++++++++++++++++ .../layout/default-layout/default-layout.scss | 3 + .../default-layout/default-layout.spec.ts} | 12 +- .../layout/default-layout/default-layout.ts | 12 ++ .../src/app/pages/dashboard/dashboard.html | 10 -- .../src/app/pages/dashboard/dashboard.scss | 0 .../src/app/pages/dashboard/dashboard.ts | 16 --- .../{ => views}/pages/auth/login/login.html | 0 .../{ => views}/pages/auth/login/login.scss | 0 .../pages/auth/login/login.spec.ts | 0 .../app/{ => views}/pages/auth/login/login.ts | 6 +- .../pages/auth/sign-in/sign-in.html | 0 .../pages/auth/sign-in/sign-in.scss | 0 .../pages/auth/sign-in/sign-in.spec.ts | 0 .../{ => views}/pages/auth/sign-in/sign-in.ts | 4 +- 25 files changed, 200 insertions(+), 64 deletions(-) delete mode 100644 front-end/app-gestao/src/app/components/side-bar/side-bar.scss delete mode 100644 front-end/app-gestao/src/app/components/side-bar/side-bar.ts create mode 100644 front-end/app-gestao/src/app/components/sidebar/sidebar.html rename front-end/app-gestao/src/app/components/{side-bar/side-bar.html => sidebar/sidebar.scss} (100%) rename front-end/app-gestao/src/app/components/{side-bar/side-bar.spec.ts => sidebar/sidebar.spec.ts} (61%) create mode 100644 front-end/app-gestao/src/app/components/sidebar/sidebar.ts create mode 100644 front-end/app-gestao/src/app/layout/default-layout/default-layout.html create mode 100644 front-end/app-gestao/src/app/layout/default-layout/default-layout.scss rename front-end/app-gestao/src/app/{pages/dashboard/dashboard.spec.ts => layout/default-layout/default-layout.spec.ts} (56%) create mode 100644 front-end/app-gestao/src/app/layout/default-layout/default-layout.ts delete mode 100644 front-end/app-gestao/src/app/pages/dashboard/dashboard.html delete mode 100644 front-end/app-gestao/src/app/pages/dashboard/dashboard.scss delete mode 100644 front-end/app-gestao/src/app/pages/dashboard/dashboard.ts rename front-end/app-gestao/src/app/{ => views}/pages/auth/login/login.html (100%) rename front-end/app-gestao/src/app/{ => views}/pages/auth/login/login.scss (100%) rename front-end/app-gestao/src/app/{ => views}/pages/auth/login/login.spec.ts (100%) rename front-end/app-gestao/src/app/{ => views}/pages/auth/login/login.ts (59%) rename front-end/app-gestao/src/app/{ => views}/pages/auth/sign-in/sign-in.html (100%) rename front-end/app-gestao/src/app/{ => views}/pages/auth/sign-in/sign-in.scss (100%) rename front-end/app-gestao/src/app/{ => views}/pages/auth/sign-in/sign-in.spec.ts (100%) rename front-end/app-gestao/src/app/{ => views}/pages/auth/sign-in/sign-in.ts (59%) diff --git a/front-end/app-gestao/angular.json b/front-end/app-gestao/angular.json index e2c416e..84d6e8f 100644 --- a/front-end/app-gestao/angular.json +++ b/front-end/app-gestao/angular.json @@ -30,9 +30,14 @@ "styles": [ "@angular/material/prebuilt-themes/azure-blue.css", "node_modules/bootstrap/dist/css/bootstrap.min.css", + "https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.0/css/all.min.css", + "https://cdnjs.cloudflare.com/ajax/libs/startbootstrap-sb-admin-2/4.1.4/css/sb-admin-2.min.css", "src/styles.scss" ], - "scripts": [] + "scripts": [ + "node_modules/jquery/dist/jquery.min.js", + "node_modules/bootstrap/dist/js/bootstrap.bundle.min.js" + ] }, "configurations": { "production": { @@ -88,10 +93,16 @@ ], "styles": [ "@angular/material/prebuilt-themes/azure-blue.css", - "node_modules/bootstrap/dist/css/bootstrap.min.css", - "src/styles.scss" + "node_modules/bootstrap/dist/css/bootstrap.min.css", + "https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.0/css/all.min.css", + "https://cdnjs.cloudflare.com/ajax/libs/startbootstrap-sb-admin-2/4.1.4/css/sb-admin-2.min.css", + "src/styles.scss" ], - "scripts": [] + "scripts": [ + "node_modules/jquery/dist/jquery.min.js", + "node_modules/bootstrap/dist/js/bootstrap.bundle.min.js" + + ] } } } diff --git a/front-end/app-gestao/package-lock.json b/front-end/app-gestao/package-lock.json index f66f6ce..17564b4 100644 --- a/front-end/app-gestao/package-lock.json +++ b/front-end/app-gestao/package-lock.json @@ -17,6 +17,7 @@ "@angular/platform-browser": "^20.3.0", "@angular/router": "^20.3.0", "bootstrap": "^5.3.8", + "jquery": "^3.7.1", "ngx-mask": "^20.0.3", "rxjs": "~7.8.0", "tslib": "^2.3.0", @@ -426,6 +427,7 @@ "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-20.2.11.tgz", "integrity": "sha512-+zcP6eq9+h6f09rZWHNIj2nap9P6S38mm75/WjdGZbl1BJy7vaASDnr4fwXKi2JvTyap/vj6mMuadFXEivavPw==", "license": "MIT", + "peer": true, "dependencies": { "parse5": "^8.0.0", "tslib": "^2.3.0" @@ -476,6 +478,7 @@ "resolved": "https://registry.npmjs.org/@angular/common/-/common-20.3.10.tgz", "integrity": "sha512-12fEzvKbEqjqy1fSk9DMYlJz6dF1MJVXuC5BB+oWWJpd+2lfh4xJ62pkvvLGAICI89hfM5n9Cy5kWnXwnqPZsA==", "license": "MIT", + "peer": true, "dependencies": { "tslib": "^2.3.0" }, @@ -492,6 +495,7 @@ "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-20.3.10.tgz", "integrity": "sha512-cW939Lr8GZjPSYfbQKIDNrUaHWmn2M+zBbERThfq5skLuY+xM60bJFv4NqBekfX6YqKLCY62ilUZlnImYIXaqA==", "license": "MIT", + "peer": true, "dependencies": { "tslib": "^2.3.0" }, @@ -505,6 +509,7 @@ "integrity": "sha512-9BemvpFxA26yIVdu8ROffadMkEdlk/AQQ2Jb486w7RPkrvUQ0pbEJukhv9aryJvhbMopT66S5H/j4ipOUMzmzQ==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@babel/core": "7.28.3", "@jridgewell/sourcemap-codec": "^1.4.14", @@ -537,6 +542,7 @@ "resolved": "https://registry.npmjs.org/@angular/core/-/core-20.3.10.tgz", "integrity": "sha512-g99Qe+NOVo72OLxowVF9NjCckswWYHmvO7MgeiZTDJbTjF9tXH96dMx7AWq76/GUinV10sNzDysVW16NoAbCRQ==", "license": "MIT", + "peer": true, "dependencies": { "tslib": "^2.3.0" }, @@ -562,6 +568,7 @@ "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-20.3.10.tgz", "integrity": "sha512-9yWr51EUauTEINB745AaHwZNTHLpXIm4uxuykxzOg+g2QskEgVfH26uS8G2ogdNuwYpB8wnsXWr34qhM3qgOWw==", "license": "MIT", + "peer": true, "dependencies": { "tslib": "^2.3.0" }, @@ -597,6 +604,7 @@ "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-20.3.10.tgz", "integrity": "sha512-UV8CGoB5P3FmJciI3/I/n3L7C3NVgGh7bIlZ1BaB/qJDtv0Wq0rRAGwmT/Z3gwmrRtfHZWme7/CeQ2CYJmMyUQ==", "license": "MIT", + "peer": true, "dependencies": { "tslib": "^2.3.0" }, @@ -663,6 +671,7 @@ "integrity": "sha512-yDBHV9kQNcr2/sUr9jghVyz9C3Y5G2zUM2H2lo+9mKv4sFgbA8s8Z9t8D1jiTkGoO/NoIfKMyKWr4s6CN23ZwQ==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.27.1", @@ -1613,6 +1622,7 @@ "integrity": "sha512-nqhDw2ZcAUrKNPwhjinJny903bRhI0rQhiDz1LksjeRxqa36i3l75+4iXbOy0rlDpLJGxqtgoPavQjmmyS5UJw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@inquirer/checkbox": "^4.2.1", "@inquirer/confirm": "^5.1.14", @@ -3585,6 +3595,7 @@ "integrity": "sha512-qzQZRBqkFsYyaSWXuEHc2WR9c0a0CXwiE5FWUvn7ZM+vdy1uZLfCunD38UzhuB7YN/J11ndbDBcTmOdxJo9Q7A==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "undici-types": "~7.16.0" } @@ -3937,6 +3948,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "baseline-browser-mapping": "^2.8.19", "caniuse-lite": "^1.0.30001751", @@ -5022,6 +5034,7 @@ "integrity": "sha512-DT9ck5YIRU+8GYzzU5kT3eHGA5iL+1Zd0EutOmTE9Dtk+Tvuzd23VBU+ec7HPNSTxXYO55gPV/hq4pSBJDjFpA==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "accepts": "^2.0.0", "body-parser": "^2.2.0", @@ -5974,6 +5987,13 @@ "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-5.9.0.tgz", "integrity": "sha512-OMUvF1iI6+gSRYOhMrH4QYothVLN9C3EJ6wm4g7zLJlnaTl8zbaPOr0bTw70l7QxkoM7sVFOWo83u9B2Fe2Zng==", "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/jquery": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.7.1.tgz", + "integrity": "sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg==", "license": "MIT" }, "node_modules/js-tokens": { @@ -6059,6 +6079,7 @@ "integrity": "sha512-LrtUxbdvt1gOpo3gxG+VAJlJAEMhbWlM4YrFQgql98FwF7+K8K12LYO4hnDdUkNjeztYrOXEMqgTajSWgmtI/w==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@colors/colors": "1.5.0", "body-parser": "^1.19.0", @@ -6526,6 +6547,7 @@ "integrity": "sha512-SL0JY3DaxylDuo/MecFeiC+7pedM0zia33zl0vcjgwcq1q1FWWF1To9EIauPbl8GbMCU0R2e0uJ8bZunhYKD2g==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "cli-truncate": "^4.0.0", "colorette": "^2.0.20", @@ -8200,6 +8222,7 @@ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz", "integrity": "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==", "license": "Apache-2.0", + "peer": true, "dependencies": { "tslib": "^2.1.0" } @@ -8256,6 +8279,7 @@ "integrity": "sha512-9GUyuksjw70uNpb1MTYWsH9MQHOHY6kwfnkafC24+7aOMZn9+rVMBxRbLvw756mrBFbIsFg6Xw9IkR2Fnn3k+Q==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "chokidar": "^4.0.0", "immutable": "^5.0.2", @@ -9086,7 +9110,8 @@ "version": "2.8.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "license": "0BSD" + "license": "0BSD", + "peer": true }, "node_modules/tuf-js": { "version": "3.1.0", @@ -9124,6 +9149,7 @@ "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", "dev": true, "license": "Apache-2.0", + "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -9310,6 +9336,7 @@ "integrity": "sha512-uzcxnSDVjAopEUjljkWh8EIrg6tlzrjFUfMcR1EVsRDGwf/ccef0qQPRyOrROwhrTDaApueq+ja+KLPlzR/zdg==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "esbuild": "^0.25.0", "fdir": "^6.5.0", @@ -9713,6 +9740,7 @@ "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==", "dev": true, "license": "MIT", + "peer": true, "funding": { "url": "https://github.com/sponsors/colinhacks" } @@ -9731,7 +9759,8 @@ "version": "0.15.1", "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.15.1.tgz", "integrity": "sha512-XE96n56IQpJM7NAoXswY3XRLcWFW83xe0BiAOeMD7K5k5xecOeul3Qcpx6GqEeeHNkW5DWL5zOyTbEfB4eti8w==", - "license": "MIT" + "license": "MIT", + "peer": true } } } diff --git a/front-end/app-gestao/package.json b/front-end/app-gestao/package.json index 9546546..47061ce 100644 --- a/front-end/app-gestao/package.json +++ b/front-end/app-gestao/package.json @@ -31,6 +31,7 @@ "@angular/platform-browser": "^20.3.0", "@angular/router": "^20.3.0", "bootstrap": "^5.3.8", + "jquery": "^3.7.1", "ngx-mask": "^20.0.3", "rxjs": "~7.8.0", "tslib": "^2.3.0", diff --git a/front-end/app-gestao/src/app/app.routes.ts b/front-end/app-gestao/src/app/app.routes.ts index 212ca25..ea2ebbd 100644 --- a/front-end/app-gestao/src/app/app.routes.ts +++ b/front-end/app-gestao/src/app/app.routes.ts @@ -1,11 +1,12 @@ import { Routes } from '@angular/router'; -import { Dashboard } from './pages/dashboard/dashboard'; -import { Login } from './pages/auth/login/login'; -import { SignIn } from './pages/auth/sign-in/sign-in'; +import { Login } from './views/pages/auth/login/login'; +import { SignIn } from './views/pages/auth/sign-in/sign-in'; +import { DefaultLayout } from './layout/default-layout/default-layout'; + export const routes: Routes = [ {path:'login', component:Login}, {path:'signin', component:SignIn}, - {path:'dashboard', component:Dashboard}, + {path:'teste', component:DefaultLayout}, {path:'', redirectTo:'login', pathMatch:'full'} ]; diff --git a/front-end/app-gestao/src/app/components/side-bar/side-bar.scss b/front-end/app-gestao/src/app/components/side-bar/side-bar.scss deleted file mode 100644 index e69de29..0000000 diff --git a/front-end/app-gestao/src/app/components/side-bar/side-bar.ts b/front-end/app-gestao/src/app/components/side-bar/side-bar.ts deleted file mode 100644 index d4108b5..0000000 --- a/front-end/app-gestao/src/app/components/side-bar/side-bar.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { Component } from '@angular/core'; - -@Component({ - selector: 'app-side-bar', - imports: [], - templateUrl: './side-bar.html', - styleUrl: './side-bar.scss', -}) -export class SideBar { - -} diff --git a/front-end/app-gestao/src/app/components/sidebar/sidebar.html b/front-end/app-gestao/src/app/components/sidebar/sidebar.html new file mode 100644 index 0000000..0519ecb --- /dev/null +++ b/front-end/app-gestao/src/app/components/sidebar/sidebar.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/front-end/app-gestao/src/app/components/side-bar/side-bar.html b/front-end/app-gestao/src/app/components/sidebar/sidebar.scss similarity index 100% rename from front-end/app-gestao/src/app/components/side-bar/side-bar.html rename to front-end/app-gestao/src/app/components/sidebar/sidebar.scss diff --git a/front-end/app-gestao/src/app/components/side-bar/side-bar.spec.ts b/front-end/app-gestao/src/app/components/sidebar/sidebar.spec.ts similarity index 61% rename from front-end/app-gestao/src/app/components/side-bar/side-bar.spec.ts rename to front-end/app-gestao/src/app/components/sidebar/sidebar.spec.ts index 3fff534..2b1adaa 100644 --- a/front-end/app-gestao/src/app/components/side-bar/side-bar.spec.ts +++ b/front-end/app-gestao/src/app/components/sidebar/sidebar.spec.ts @@ -1,18 +1,18 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { SideBar } from './side-bar'; +import { Sidebar } from './sidebar'; -describe('SideBar', () => { - let component: SideBar; - let fixture: ComponentFixture; +describe('Sidebar', () => { + let component: Sidebar; + let fixture: ComponentFixture; beforeEach(async () => { await TestBed.configureTestingModule({ - imports: [SideBar] + imports: [Sidebar] }) .compileComponents(); - fixture = TestBed.createComponent(SideBar); + fixture = TestBed.createComponent(Sidebar); component = fixture.componentInstance; fixture.detectChanges(); }); diff --git a/front-end/app-gestao/src/app/components/sidebar/sidebar.ts b/front-end/app-gestao/src/app/components/sidebar/sidebar.ts new file mode 100644 index 0000000..cbbd31d --- /dev/null +++ b/front-end/app-gestao/src/app/components/sidebar/sidebar.ts @@ -0,0 +1,11 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'app-sidebar', + imports: [], + templateUrl: './sidebar.html', + styleUrl: './sidebar.scss', +}) +export class Sidebar { + +} diff --git a/front-end/app-gestao/src/app/layout/default-layout/default-layout.html b/front-end/app-gestao/src/app/layout/default-layout/default-layout.html new file mode 100644 index 0000000..c68d8fb --- /dev/null +++ b/front-end/app-gestao/src/app/layout/default-layout/default-layout.html @@ -0,0 +1,104 @@ +
+ + + + +
diff --git a/front-end/app-gestao/src/app/layout/default-layout/default-layout.scss b/front-end/app-gestao/src/app/layout/default-layout/default-layout.scss new file mode 100644 index 0000000..1acc22e --- /dev/null +++ b/front-end/app-gestao/src/app/layout/default-layout/default-layout.scss @@ -0,0 +1,3 @@ +.wrapper{ + border: 4px solid; +} \ No newline at end of file diff --git a/front-end/app-gestao/src/app/pages/dashboard/dashboard.spec.ts b/front-end/app-gestao/src/app/layout/default-layout/default-layout.spec.ts similarity index 56% rename from front-end/app-gestao/src/app/pages/dashboard/dashboard.spec.ts rename to front-end/app-gestao/src/app/layout/default-layout/default-layout.spec.ts index d4f1a13..4052cdf 100644 --- a/front-end/app-gestao/src/app/pages/dashboard/dashboard.spec.ts +++ b/front-end/app-gestao/src/app/layout/default-layout/default-layout.spec.ts @@ -1,18 +1,18 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { Dashboard } from './dashboard'; +import { DefaultLayout } from './default-layout'; -describe('Dashboard', () => { - let component: Dashboard; - let fixture: ComponentFixture; +describe('DefaultLayout', () => { + let component: DefaultLayout; + let fixture: ComponentFixture; beforeEach(async () => { await TestBed.configureTestingModule({ - imports: [Dashboard] + imports: [DefaultLayout] }) .compileComponents(); - fixture = TestBed.createComponent(Dashboard); + fixture = TestBed.createComponent(DefaultLayout); component = fixture.componentInstance; fixture.detectChanges(); }); diff --git a/front-end/app-gestao/src/app/layout/default-layout/default-layout.ts b/front-end/app-gestao/src/app/layout/default-layout/default-layout.ts new file mode 100644 index 0000000..5c06d4b --- /dev/null +++ b/front-end/app-gestao/src/app/layout/default-layout/default-layout.ts @@ -0,0 +1,12 @@ +import { Component, ViewEncapsulation } from '@angular/core'; + +@Component({ + selector: 'app-default-layout', + imports: [], + templateUrl: './default-layout.html', + styleUrl: './default-layout.scss', + encapsulation: ViewEncapsulation.None +}) +export class DefaultLayout { + +} diff --git a/front-end/app-gestao/src/app/pages/dashboard/dashboard.html b/front-end/app-gestao/src/app/pages/dashboard/dashboard.html deleted file mode 100644 index ce5f654..0000000 --- a/front-end/app-gestao/src/app/pages/dashboard/dashboard.html +++ /dev/null @@ -1,10 +0,0 @@ -
-
- - -
- -
-
-
-
\ No newline at end of file diff --git a/front-end/app-gestao/src/app/pages/dashboard/dashboard.scss b/front-end/app-gestao/src/app/pages/dashboard/dashboard.scss deleted file mode 100644 index e69de29..0000000 diff --git a/front-end/app-gestao/src/app/pages/dashboard/dashboard.ts b/front-end/app-gestao/src/app/pages/dashboard/dashboard.ts deleted file mode 100644 index b5a09ab..0000000 --- a/front-end/app-gestao/src/app/pages/dashboard/dashboard.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { Component, signal } from '@angular/core'; -import { SideBar } from "../../components/side-bar/side-bar"; - -@Component({ - selector: 'app-dashboard', - imports: [SideBar], - templateUrl: './dashboard.html', - styleUrl: './dashboard.scss', -}) -export class Dashboard { - sidebarOpen = signal(false); - - toggleSidebar(){ - this.sidebarOpen.update((v)=> !v); - } -} diff --git a/front-end/app-gestao/src/app/pages/auth/login/login.html b/front-end/app-gestao/src/app/views/pages/auth/login/login.html similarity index 100% rename from front-end/app-gestao/src/app/pages/auth/login/login.html rename to front-end/app-gestao/src/app/views/pages/auth/login/login.html diff --git a/front-end/app-gestao/src/app/pages/auth/login/login.scss b/front-end/app-gestao/src/app/views/pages/auth/login/login.scss similarity index 100% rename from front-end/app-gestao/src/app/pages/auth/login/login.scss rename to front-end/app-gestao/src/app/views/pages/auth/login/login.scss diff --git a/front-end/app-gestao/src/app/pages/auth/login/login.spec.ts b/front-end/app-gestao/src/app/views/pages/auth/login/login.spec.ts similarity index 100% rename from front-end/app-gestao/src/app/pages/auth/login/login.spec.ts rename to front-end/app-gestao/src/app/views/pages/auth/login/login.spec.ts diff --git a/front-end/app-gestao/src/app/pages/auth/login/login.ts b/front-end/app-gestao/src/app/views/pages/auth/login/login.ts similarity index 59% rename from front-end/app-gestao/src/app/pages/auth/login/login.ts rename to front-end/app-gestao/src/app/views/pages/auth/login/login.ts index 452fe4d..cf63278 100644 --- a/front-end/app-gestao/src/app/pages/auth/login/login.ts +++ b/front-end/app-gestao/src/app/views/pages/auth/login/login.ts @@ -1,7 +1,7 @@ import { Component } from '@angular/core'; -import { FormLogin } from '../../../components/form-login/form-login'; -import { Brand } from '../../../components/brand/brand'; - +import { FormLogin } from '../../../../components/form-login/form-login'; +import { Brand } from '../../../../components/brand/brand'; + @Component({ selector: 'app-login', imports: [FormLogin, Brand], diff --git a/front-end/app-gestao/src/app/pages/auth/sign-in/sign-in.html b/front-end/app-gestao/src/app/views/pages/auth/sign-in/sign-in.html similarity index 100% rename from front-end/app-gestao/src/app/pages/auth/sign-in/sign-in.html rename to front-end/app-gestao/src/app/views/pages/auth/sign-in/sign-in.html diff --git a/front-end/app-gestao/src/app/pages/auth/sign-in/sign-in.scss b/front-end/app-gestao/src/app/views/pages/auth/sign-in/sign-in.scss similarity index 100% rename from front-end/app-gestao/src/app/pages/auth/sign-in/sign-in.scss rename to front-end/app-gestao/src/app/views/pages/auth/sign-in/sign-in.scss diff --git a/front-end/app-gestao/src/app/pages/auth/sign-in/sign-in.spec.ts b/front-end/app-gestao/src/app/views/pages/auth/sign-in/sign-in.spec.ts similarity index 100% rename from front-end/app-gestao/src/app/pages/auth/sign-in/sign-in.spec.ts rename to front-end/app-gestao/src/app/views/pages/auth/sign-in/sign-in.spec.ts diff --git a/front-end/app-gestao/src/app/pages/auth/sign-in/sign-in.ts b/front-end/app-gestao/src/app/views/pages/auth/sign-in/sign-in.ts similarity index 59% rename from front-end/app-gestao/src/app/pages/auth/sign-in/sign-in.ts rename to front-end/app-gestao/src/app/views/pages/auth/sign-in/sign-in.ts index 676dd6f..f2d80a1 100644 --- a/front-end/app-gestao/src/app/pages/auth/sign-in/sign-in.ts +++ b/front-end/app-gestao/src/app/views/pages/auth/sign-in/sign-in.ts @@ -1,6 +1,6 @@ import { Component } from '@angular/core'; -import { FormSignIn } from '../../../components/form-sign-in/form-sign-in'; -import { Brand } from '../../../components/brand/brand'; +import { FormSignIn } from '../../../../components/form-sign-in/form-sign-in'; +import { Brand } from '../../../../components/brand/brand'; @Component({ selector: 'app-sign-in', From a52ed3f8829aced7abe51e7f6ebee6a01eddb1b5 Mon Sep 17 00:00:00 2001 From: andreluislima Date: Mon, 1 Dec 2025 14:41:54 -0300 Subject: [PATCH 2/8] feat: cria comportamento 'sanduiche'. --- .../layout/default-layout/default-layout.html | 254 +++++++++++++++++- .../layout/default-layout/default-layout.scss | 55 +++- .../layout/default-layout/default-layout.ts | 9 +- lab/dashboard/dashboard-lab/index.html | 1 + 4 files changed, 311 insertions(+), 8 deletions(-) diff --git a/front-end/app-gestao/src/app/layout/default-layout/default-layout.html b/front-end/app-gestao/src/app/layout/default-layout/default-layout.html index c68d8fb..ec05154 100644 --- a/front-end/app-gestao/src/app/layout/default-layout/default-layout.html +++ b/front-end/app-gestao/src/app/layout/default-layout/default-layout.html @@ -1,6 +1,8 @@ -
+
- +
+ +
+ + + + + +
+
+

Dashboard

+
+ + +
+ +
+
+
+
+ Receita Mensal +
+
+ R$ 40.000 +
+
+
+
+ + +
+
+
+
+ Receita Anual +
+
+ R$ 215.000 +
+
+
+
+ + +
+
+
+
+ Tarefas +
+ 50% +
+
+
+ + +
+
+
+
+ Pendências +
+ 18 +
+
+
+
+ + +
+
+
+
+
+ Painel de Largura Total +
+
+
+ Este é um painel simples ocupando toda a largura disponível + da página. +
+
+
+
+ + + + +
+
+
+
+
+ Tabela de Exemplo +
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#NomeStatusAção
1Item A + Ativo + + +
2Item B + Pendente + + +
3Item C + Inativo + + +
+
+
+
+
+
+ +
+ +
+
+ diff --git a/front-end/app-gestao/src/app/layout/default-layout/default-layout.scss b/front-end/app-gestao/src/app/layout/default-layout/default-layout.scss index 1acc22e..2662161 100644 --- a/front-end/app-gestao/src/app/layout/default-layout/default-layout.scss +++ b/front-end/app-gestao/src/app/layout/default-layout/default-layout.scss @@ -1,3 +1,52 @@ -.wrapper{ - border: 4px solid; -} \ No newline at end of file +.wrapper { + display: flex; +} + +/* conteúdo ocupa o resto da tela */ +.content-wrapper { + border: 2px solid red; // só pra visualizar + flex: 1 1 auto; +} + +/* largura padrão da sidebar */ +.wrapper .sidebar { + width: 14rem; + transition: width 0.2s ease; +} + +/* =========================== + DESKTOP (>= md) – recolher = sidebar estreita + =========================== */ +@media (min-width: 768px) { + .wrapper.sidebar-toggled .sidebar, + .wrapper .sidebar.toggled { + width: 6% !important; /* mantém visível, só ícones */ + overflow: visible; + } + + /* esconde textos dos menus quando recolhido */ + .wrapper.sidebar-toggled .sidebar .nav-link span, + .wrapper .sidebar.toggled .nav-link span { + // opacity: 0; + // width: 0; + overflow: hidden; + white-space: nowrap; + } + + /* esconde os títulos de seção (INTERFACE, EXTRAS…) */ + .wrapper.sidebar-toggled .sidebar .sidebar-heading, + .wrapper .sidebar.toggled .sidebar-heading { + display: none; + } +} + +/* =========================== + MOBILE (< md) – recolher = some tudo + =========================== */ +@media (max-width: 767.98px) { + .wrapper.sidebar-toggled .sidebar, + .wrapper .sidebar.toggled { + width: 0 !important; + overflow: hidden; + } +} diff --git a/front-end/app-gestao/src/app/layout/default-layout/default-layout.ts b/front-end/app-gestao/src/app/layout/default-layout/default-layout.ts index 5c06d4b..1f42c61 100644 --- a/front-end/app-gestao/src/app/layout/default-layout/default-layout.ts +++ b/front-end/app-gestao/src/app/layout/default-layout/default-layout.ts @@ -1,12 +1,19 @@ +import { CommonModule } from '@angular/common'; import { Component, ViewEncapsulation } from '@angular/core'; @Component({ selector: 'app-default-layout', - imports: [], + imports: [CommonModule], templateUrl: './default-layout.html', styleUrl: './default-layout.scss', encapsulation: ViewEncapsulation.None }) export class DefaultLayout { + sidebarToggled = false; + + toggleSidebar():void{ + this.sidebarToggled = !this.sidebarToggled; + } + } diff --git a/lab/dashboard/dashboard-lab/index.html b/lab/dashboard/dashboard-lab/index.html index 0a10514..c33ea3b 100644 --- a/lab/dashboard/dashboard-lab/index.html +++ b/lab/dashboard/dashboard-lab/index.html @@ -466,6 +466,7 @@
+