|
1 | 1 | <template> |
2 | | - <!-- Vuetify app root wrapper --> |
3 | 2 | <v-app> |
4 | | - <!-- Navigation bar wrapper --> |
| 3 | + <!-- Navigation Bar --> |
5 | 4 | <v-container |
| 5 | + fluid |
6 | 6 | class="d-flex align-center" |
7 | 7 | style="height: 72px; background-color: #FFFFFF" |
8 | | - fluid |
9 | 8 | > |
10 | | - <!-- Logo Section --> |
11 | | - <v-col |
12 | | - :cols="$vuetify.display.mdAndUp ? 6 : 10" |
13 | | - class="d-flex align-center" |
14 | | - > |
| 9 | + <!-- Logo --> |
| 10 | + <v-col :cols="$vuetify.display.mdAndUp ? 6 : 10" class="d-flex align-center"> |
15 | 11 | <v-img |
16 | 12 | src="@/assets/logo.svg" |
17 | 13 | alt="PE Logo" |
18 | | - :height="$vuetify.display.mdAndUp ? '36' : '48'" |
| 14 | + :height="$vuetify.display.mdAndUp ? 36 : 48" |
19 | 15 | contain |
20 | 16 | /> |
21 | 17 | </v-col> |
22 | | - |
23 | | - <!-- Desktop Menu Links --> |
| 18 | + |
| 19 | + <!-- Desktop Menu --> |
24 | 20 | <v-col |
25 | 21 | v-if="$vuetify.display.mdAndUp" |
26 | 22 | cols="6" |
|
30 | 26 | <v-btn text>About</v-btn> |
31 | 27 | <v-btn text>Contact</v-btn> |
32 | 28 | </v-col> |
33 | | - |
34 | | - <!-- Mobile Hamburger Icon --> |
35 | | - <v-col |
36 | | - v-else |
37 | | - cols="2" |
38 | | - class="d-flex justify-end align-center" |
39 | | - > |
| 29 | + |
| 30 | + <!-- Mobile Hamburger --> |
| 31 | + <v-col v-else cols="2" class="d-flex justify-end align-center"> |
40 | 32 | <v-btn |
41 | 33 | icon |
42 | 34 | size="36" |
43 | 35 | style="color: #33691E" |
| 36 | + @click="drawer = true" |
44 | 37 | > |
45 | 38 | <v-icon>mdi-menu</v-icon> |
46 | 39 | </v-btn> |
47 | 40 | </v-col> |
48 | 41 | </v-container> |
49 | 42 |
|
50 | | - <!-- Main content section --> |
| 43 | + <!-- Mobile Drawer --> |
| 44 | + <v-navigation-drawer |
| 45 | + v-model="drawer" |
| 46 | + temporary |
| 47 | + location="right" |
| 48 | + style="background-color: #fff" |
| 49 | + > |
| 50 | + <v-list> |
| 51 | + <v-list-item @click="drawer = false"><v-list-item-title>Home</v-list-item-title></v-list-item> |
| 52 | + <v-list-item @click="drawer = false"><v-list-item-title>About</v-list-item-title></v-list-item> |
| 53 | + <v-list-item @click="drawer = false"><v-list-item-title>Contact</v-list-item-title></v-list-item> |
| 54 | + </v-list> |
| 55 | + </v-navigation-drawer> |
| 56 | + |
| 57 | + <!-- Main Content & Map Layout --> |
51 | 58 | <v-main> |
52 | | - <v-container class="pa-10"> |
53 | | - <v-alert type="success" title="Vuetify 3 Installed!"> |
54 | | - Welcome to the Map Dashboard UI! |
55 | | - </v-alert> |
| 59 | + <v-container> |
| 60 | + <v-row> |
| 61 | + <!-- Map Visualization --> |
| 62 | + <v-col cols="12" md="8" class="map-vis-col pa-0" style="border: 1px solid black;"> |
| 63 | + <v-sheet> |
| 64 | + <v-img cover src="/images/Map_Screenshot_Vue_Test.jpg" /> |
| 65 | + </v-sheet> |
| 66 | + </v-col> |
| 67 | + |
| 68 | + <!-- Map Info --> |
| 69 | + <v-col cols="12" md="4" class="map-info-col"> |
| 70 | + <v-sheet class="map-info-reset"> |
| 71 | + <h1 class="text-h1 mb-6">Biodiversity Conservation</h1> |
| 72 | + |
| 73 | + <!-- Maps Section --> |
| 74 | + <v-container class="pa-0 mb-6"> |
| 75 | + <h2 class="text-h2 mb-4">Maps</h2> |
| 76 | + <p>Select to view map layer:</p> |
| 77 | + <v-checkbox label="ProgramEarth Conservation Partners" density="compact" hide-details /> |
| 78 | + <v-checkbox label="USGS Watershed Boundary Dataset" density="compact" hide-details /> |
| 79 | + <v-checkbox label="Meta's Canopy Heights" density="compact" hide-details /> |
| 80 | + </v-container> |
| 81 | + |
| 82 | + <!-- Legend --> |
| 83 | + <v-container class="pa-0 mb-6"> |
| 84 | + <h2 class="text-h2 mb-4">Legend</h2> |
| 85 | + |
| 86 | + <div class="points-container"> |
| 87 | + <h3 class="text-h3 mb-3">Points</h3> |
| 88 | + <v-container class="points-item mb-3"> |
| 89 | + <i class="fas fa-circle" style="color: #424242; font-size: 16px;"></i> |
| 90 | + <p>Landmark</p> |
| 91 | + </v-container> |
| 92 | + <v-container class="points-item mb-3"> |
| 93 | + <i class="fas fa-dove" style="color: #2196F3; font-size: 16px;"></i> |
| 94 | + <p>Animals</p> |
| 95 | + </v-container> |
| 96 | + <v-container class="points-item"> |
| 97 | + <i class="fas fa-seedling" style="color: #43A047; font-size: 16px;"></i> |
| 98 | + <p>Plants</p> |
| 99 | + </v-container> |
| 100 | + </div> |
| 101 | + |
| 102 | + <div class="areas-container"> |
| 103 | + <h3 class="text-h3 mb-3">Areas</h3> |
| 104 | + <v-container class="areas-item mb-3" style="width: fit-content;"> |
| 105 | + <v-img width="30" height="30" src="/images/species_icon.svg" /> |
| 106 | + <p>Species</p> |
| 107 | + </v-container> |
| 108 | + <v-container class="areas-item mb-3" style="width: fit-content;"> |
| 109 | + <v-img width="30" height="30" src="/images/water_polygon_icon.svg" /> |
| 110 | + <p>Water</p> |
| 111 | + </v-container> |
| 112 | + <v-container class="areas-item" style="width: fit-content;"> |
| 113 | + <v-img width="30" height="30" src="/images/canopy_polygon_icon.svg" /> |
| 114 | + <p>Canopy</p> |
| 115 | + </v-container> |
| 116 | + </div> |
| 117 | + </v-container> |
| 118 | + </v-sheet> |
| 119 | + </v-col> |
| 120 | + </v-row> |
56 | 121 | </v-container> |
57 | 122 | </v-main> |
| 123 | + |
| 124 | + <!-- Footer --> |
| 125 | + <v-footer> |
| 126 | + Footer goes here |
| 127 | + </v-footer> |
58 | 128 | </v-app> |
59 | 129 | </template> |
60 | 130 |
|
61 | 131 | <script setup> |
62 | | -// No logic needed for now |
63 | | -</script> |
| 132 | +import { ref } from 'vue' |
64 | 133 |
|
| 134 | +const drawer = ref(false) |
| 135 | +</script> |
0 commit comments