Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 | 1x 7x | /** * BUILT WITH O2.SERVICES AI HIVE * * This file was created by AI Hive - a dynamic swarm of AI agents that * transform customer requirements into shipped products, handling every * phase of the software engineering lifecycle. * * IMPORTANT: Keep this file focused and under 200 lines to ensure * AI agents can effectively work with it. * * Learn more: https://o2.services */ import { Component } from '@angular/core'; import { RouterOutlet, RouterLink, RouterLinkActive } from '@angular/router'; import { CommonModule } from '@angular/common'; @Component({ selector: 'app-root', standalone: true, imports: [CommonModule, RouterOutlet, RouterLink, RouterLinkActive], template: ` <div class="app-container"> <header class="app-header"> <h1>CAS/DISOT System</h1> <nav class="main-nav"> <a routerLink="/" routerLinkActive="active" [routerLinkActiveOptions]="{exact: true}">Home</a> <a routerLink="/content" routerLinkActive="active">Content List</a> <a routerLink="/content/upload" routerLinkActive="active">Upload</a> <a routerLink="/disot/create" routerLinkActive="active">Create Entry</a> <a routerLink="/disot/verify" routerLinkActive="active">Verify</a> <a routerLink="/metadata/create" routerLinkActive="active">Metadata</a> <a routerLink="/settings" routerLinkActive="active">Settings</a> </nav> </header> <main class="main-content"> <router-outlet></router-outlet> </main> <footer class="app-footer"> <p>Decentralized Content Management System</p> </footer> </div> `, styles: [` .app-container { min-height: 100vh; display: flex; flex-direction: column; } .app-header { background-color: #2c3e50; color: white; padding: 20px; box-shadow: 0 2px 4px rgba(0,0,0,0.1); } .app-header h1 { margin: 0 0 15px 0; font-size: 24px; } .main-nav { display: flex; gap: 20px; } .main-nav a { color: #ecf0f1; text-decoration: none; padding: 8px 16px; border-radius: 4px; transition: background-color 0.3s; } .main-nav a:hover { background-color: #34495e; } .main-nav a.active { background-color: #3498db; } .main-content { flex: 1; background-color: #f5f5f5; padding: 20px; } .app-footer { background-color: #2c3e50; color: #ecf0f1; text-align: center; padding: 20px; } .app-footer p { margin: 0; } `] }) export class App { protected title = 'cas-app'; } |