diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..f6c7e20 --- /dev/null +++ b/.prettierignore @@ -0,0 +1,3 @@ +data/ +public/img/ +public/json/ \ No newline at end of file diff --git a/README.md b/README.md index 2bb9a58..088f85f 100644 --- a/README.md +++ b/README.md @@ -10,11 +10,11 @@ A Vue.js and Flask Web Application designed to provide a quick way to search for ## Features - Vue.js based, providing fast SPA functionality - - Setup via Vue CLI - - Vue Router - - Vue Bootstrap - - Axios - - Vue Instantsearch (Algolia) + - Setup via Vue CLI + - Vue Router + - Vue Bootstrap + - Axios + - Vue Instantsearch (Algolia) - Backend API provided by Flask - Instant Search provided Algolia - Sleek, responsive design that is easy on the eyes @@ -162,11 +162,11 @@ them. ### Running - Vue.js can be ran via `npm run serve`. - - Run this in `./client/`. + - Run this in `./client/`. - Flask can be ran via `flask run`. - - Run this in `./server/`. - - Add `--host=0.0.0.0` to the end to allow connections from LAN. - + - Run this in `./server/`. + - Add `--host=0.0.0.0` to the end to allow connections from LAN. + Note: Readying this application for Production and wider-development is still in progress. ## Descriptions, Images, Summaries @@ -204,28 +204,28 @@ be viewed. Small to-do list to complete. - Font Awesome Icons - - SeasonList Chevron - - Quote Permalink + - SeasonList Chevron + - Quote Permalink - Attempt Algolia Query Suggestions - - Redirect to SearchResults page on Enter press + - Redirect to SearchResults page on Enter press - Process all quote data - Site Meta Tags - Better Mobile Season List - - Smaller, collapsible? + - Smaller, collapsible? - Heroku Production Deployment - - Possible solution via Docker + - Possible solution via Docker - Axios 'Fetch' Error Handling - Navigation Bar - - Navbar Logo (?) + - Navbar Logo (?) - Overall Responsiveness Improvements - Algolia Clickthrough Events - - Search Results Page + - Search Results Page - Character List - Quote Permalink - Deleted Scenes Marker - - Possible 'Flashback' Scene Marker + - Possible 'Flashback' Scene Marker - Season List Episode Modal Popover - - Preview Image, Description, Episode Stats + - Preview Image, Description, Episode Stats - Quote Likes Database - - Requires difficult implementation of Flask controlled Postgres database - - Requires funding, longterm free hosting not possible with database requirements + - Requires difficult implementation of Flask controlled Postgres database + - Requires funding, longterm free hosting not possible with database requirements diff --git a/app/components/common/ImageSkeleton.vue b/app/components/common/ImageSkeleton.vue index ef97131..3d3cee7 100644 --- a/app/components/common/ImageSkeleton.vue +++ b/app/components/common/ImageSkeleton.vue @@ -1,24 +1,23 @@ diff --git a/app/components/features/CharacterBadges.vue b/app/components/features/CharacterBadges.vue index df31a47..1cc9576 100644 --- a/app/components/features/CharacterBadges.vue +++ b/app/components/features/CharacterBadges.vue @@ -5,7 +5,7 @@ :id="`character-${character_id}`" :key="character.name" squared - class="mx-2 my-1 character-button" + class="character-button mx-2 my-1" size="sm" :title="`${character.appearances} Quote${character.appearances > 1 ? 's' : ''}`" :to="{ name: 'Character', params: { character: character_id } }" @@ -19,8 +19,8 @@ diff --git a/app/components/features/DynamicSpeaker.vue b/app/components/features/DynamicSpeaker.vue index 78b2f08..ce93b7c 100644 --- a/app/components/features/DynamicSpeaker.vue +++ b/app/components/features/DynamicSpeaker.vue @@ -15,7 +15,7 @@ diff --git a/app/components/features/SearchResult.vue b/app/components/features/SearchResult.vue index 44d25e8..65ad171 100644 --- a/app/components/features/SearchResult.vue +++ b/app/components/features/SearchResult.vue @@ -8,8 +8,8 @@ @mouseleave="hoverOff" @click="toggleExpansion" > - - + +
{{ quote.speaker }}
@@ -31,7 +31,7 @@
- +
@@ -39,7 +39,7 @@
-import { defineComponent } from 'vue' +import { defineComponent } from 'vue'; -import axios from 'axios' +import axios from 'axios'; export default defineComponent({ props: ['item'], @@ -106,29 +106,29 @@ export default defineComponent({ above: null, below: null, timeoutID: null, - } + }; }, computed: { fetched() { - return this.above !== null || this.below !== null + return this.above !== null || this.below !== null; }, }, methods: { toggleExpansion() { - this.expanded = !this.expanded + this.expanded = !this.expanded; // if first time expanding, fetch quotes if (!this.fetchQuotes()) { - this.hasExpanded = true + this.hasExpanded = true; // this.fetchQuotes(); } }, hoverFetch() { if (!this.fetched && !this.fetching) { - this.fetching = true - this.fetchQuotes() - this.fetching = false + this.fetching = true; + this.fetchQuotes(); + this.fetching = false; } }, hoverOn() { @@ -137,20 +137,20 @@ export default defineComponent({ }, hoverOff() { // Hover is off. Unschedule event if it has not already fetched. - if (this.timeoutID !== null) clearTimeout(this.timeoutID) + if (this.timeoutID !== null) clearTimeout(this.timeoutID); }, fetchQuotes() { - const path = `/api/surrounding?season=${this.item.season}&episode=${this.item.episode_rel}&scene=${this.item.section_rel}"e=${this.item.quote_rel}` + const path = `/api/surrounding?season=${this.item.season}&episode=${this.item.episode_rel}&scene=${this.item.section_rel}"e=${this.item.quote_rel}`; axios .get(path) .then((res) => { - this.above = res.data.above - this.below = res.data.below + this.above = res.data.above; + this.below = res.data.below; }) .catch((error) => { - console.error(error) - }) + console.error(error); + }); }, }, -}) +}); diff --git a/app/components/layout/Footer.vue b/app/components/layout/Footer.vue index 7ca4c3a..23b3ad8 100644 --- a/app/components/layout/Footer.vue +++ b/app/components/layout/Footer.vue @@ -27,8 +27,8 @@ --> -