|
63 | 63 | </div> |
64 | 64 | </div> |
65 | 65 | <div id="cve-search-results-container" v-if="cveListSearchStore.totalSearchResultCount > 0"> |
| 66 | + <div class="notification is-warning is-light" role="alert"> |
| 67 | + <div v-if="websiteEnv !== 'prd'" class="is-flex" style="justify-content: center;"> |
| 68 | + <p id="alertIconCveRecordsRequestErrored" class="is-hidden">alert</p> |
| 69 | + <font-awesome-icon style="flex: 0 0 40px;" size="1x" icon="triangle-exclamation" role="img" |
| 70 | + aria-labelledby="alertIconCveRecordsRequestErrored" aria-hidden="false" /> |
| 71 | + <p>You are viewing <span class="has-text-weight-bold">Production</span> data from </p> |
| 72 | + <a :href="resultUrl" target="_blank"> {{ resultUrl }} |
| 73 | + <span class="icon cve-icon-xxs"> |
| 74 | + <p id="externalLinkIcon" class="is-hidden">external website</p> |
| 75 | + <font-awesome-icon icon="up-right-from-square" |
| 76 | + aria-labelledby="externalLinkIcon" aria-hidden="false"/> |
| 77 | + </span> |
| 78 | + </a> |
| 79 | + </div> |
| 80 | + </div> |
66 | 81 | <h2 class="title">Search Results</h2> |
67 | 82 | <div class="mt-2 mb-2"> |
68 | 83 | <p> |
|
226 | 241 | <script setup> |
227 | 242 | import { useCveListSearchStore } from '@/stores/cveListSearch'; |
228 | 243 | import { usePartnerStore } from '@/stores/partners'; |
229 | | -import { createApp, watch } from 'vue'; |
| 244 | +import { createApp, ref, watch } from 'vue'; |
230 | 245 | import { useRouter } from 'vue-router'; |
231 | 246 | import ServiceUnavailable from '@/components/ServiceUnavailable.vue' |
232 | 247 |
|
233 | 248 | const cveListSearchStore = useCveListSearchStore(); |
234 | 249 | const router = useRouter(); |
235 | 250 | const app = createApp({}); |
| 251 | +const resultUrl = ref(`https://${import.meta.env.VITE_CVE_SERVICES_BASE_URL}`); |
236 | 252 |
|
237 | 253 | app.component('ServiceUnavailable', ServiceUnavailable); |
238 | 254 |
|
|
0 commit comments