diff --git a/resources/js/app.js b/resources/js/app.js index a149614b4..f5ededb56 100644 --- a/resources/js/app.js +++ b/resources/js/app.js @@ -49,6 +49,7 @@ import HomeShuffleOrchestrator from './components/home/ShuffleOrchestrator.vue' import HomeTransitionInPlace from './components/home/TransitionInPlace.vue' import ToggleController from './components/ToggleController.vue' import ReloadController from './components/ReloadController.vue' +import SearchBar from './components/SearchBar.vue' import TabsController from './components/TabsController.vue' import Tab from './components/Tab.vue' import TabPanel from './components/TabPanel.vue' @@ -68,17 +69,21 @@ import BottomModal from './components/BottomModal.vue' import NewsletterSignupFormController from './components/newsletter-signup/FormController.vue' import NewsletterSignupBottomModalController from './components/newsletter-signup/BottomModalController.vue' -createApp({ +const app = createApp({ compilerOptions: { whitespace: 'preserve', }, }) - .use(VueMasonryPlugin) + +app.use(VueMasonryPlugin) .use(i18nVue, { resolve: async (lang) => { const langs = import.meta.glob('../../lang/*.json') return await langs[`../../lang/${lang}.json`]() }, + onLoad: () => { + app.mount('#app') // App is mounted here so translations are loaded before vue. + }, }) .use(ZiggyVue) @@ -107,6 +112,7 @@ createApp({ .component('flickity', Flickity) .component('home.shuffle-orchestrator', HomeShuffleOrchestrator) .component('home.transition-in-place', HomeTransitionInPlace) + .component('search-bar', SearchBar) .component('tabs-controller', TabsController) .component('tab', Tab) .component('tab-panel', TabPanel) @@ -125,5 +131,3 @@ createApp({ .component('bottom-modal', BottomModal) .component('newsletter-signup.form-controller', NewsletterSignupFormController) .component('newsletter-signup.bottom-modal-controller', NewsletterSignupBottomModalController) - - .mount('#app') diff --git a/resources/js/components/SearchBar.vue b/resources/js/components/SearchBar.vue new file mode 100644 index 000000000..79a535fe6 --- /dev/null +++ b/resources/js/components/SearchBar.vue @@ -0,0 +1,206 @@ + + diff --git a/resources/less/components/ukraine-glow.less b/resources/less/components/ukraine-glow.less deleted file mode 100644 index 920824e08..000000000 --- a/resources/less/components/ukraine-glow.less +++ /dev/null @@ -1,52 +0,0 @@ -// .form-control.ukraine::after { -.ukraine { - & #search { - background-color: white !important; - - &:focus { - box-shadow: none; - border-color: #888888; - } - } - - &:focus-within::before, - &:focus-within::after { - opacity: .5; - } - - &::before { - content: ""; - position: absolute; - height: 15px; - top: 10px; - left: 15px; - right: 15px; - box-shadow: 0px 0px 5px 2px #0057b7; - - transition: opacity 0.15s ease-in-out; - opacity: 0; - - @media(min-width: @screen-sm-min) { - top: 0px; - box-shadow: 0px 0px 10px 3px #0057b7; - } - } - - &::after { - content: ""; - position: absolute; - height: 13px; - bottom: 10px; - left: 15px; - right: 15px; - box-shadow: 0px 0px 5px 2px #ffd700; - - transition: opacity 0.15s ease-in-out; - opacity: 0; - - @media(min-width: @screen-sm-min) { - bottom: 0px; - box-shadow: 0px 0px 10px 3px #ffd700; - } - } -} diff --git a/resources/less/style.less b/resources/less/style.less index 5f238d427..b980d6d0b 100644 --- a/resources/less/style.less +++ b/resources/less/style.less @@ -29,7 +29,6 @@ @import "components/gallery-map.less"; @import "components/year-slider.less"; @import "components/inline-input.less"; -@import "components/ukraine-glow.less"; @import "content.less"; diff --git a/resources/views/components/nav_bar.blade.php b/resources/views/components/nav_bar.blade.php index 41c3fe25e..c06cc7644 100644 --- a/resources/views/components/nav_bar.blade.php +++ b/resources/views/components/nav_bar.blade.php @@ -23,6 +23,39 @@ + {{-- TODO Duplicated header -- remove before merging --}} + +