krazkidd / lineup Goto Github PK
View Code? Open in Web Editor NEWSoftball lineup editor made with Nuxt 3 (Vue.js 3)
Home Page: https://lineup.app.xericode.net
License: GNU Affero General Public License v3.0
Softball lineup editor made with Nuxt 3 (Vue.js 3)
Home Page: https://lineup.app.xericode.net
License: GNU Affero General Public License v3.0
Firestore writes are rate-limited. But the scoreboard encourages rapid user input through the score increment buttons (also the emoji reacts, but those can be limited). We may need to provide a workaround. Fortunately, a solution is provided.
<div>
element so that it is focused/highlighted.On desktop, you delete a player by pressing backspace in step 4. This is not possible on mobile without somehow manually pulling up the keyboard.
This can be fixed in a couple of ways, either:
a. Use long press event to trigger a prompt.
b. Delete the player if the user has the name input field focused and they press backspace when the field is empty. (This should ideally also trigger a prompt but a new issue can be created for that.)
If a prompt is added, it should be a PrimeVue dialog encapsulated in an SFC.
See ScoreboardEmojiButton
component. This should use an element to source the image like we do in the LineupJerseyButton
component.
The motivation for this is to be able to manipulate the images in real time, like say with filters or enhanced animations, though I'm not sure what can be done that CSS doesn't support in some way.
service-account.json
fileNeed a non-intrusive animation when scoreboard viewers react.
This functionality preferably should not introduce any new dependencies; Vue.js supports some basic animations out of the box. If a more involved animation is desired, a popular VueUse composable or Nuxt module may be permitted.
Ideally, some method should be provided to show multiple simultaneous reactions. Currently, only the latest reaction is shown. The inspiration for this is social media livestreams which support dozens or hundreds of on-screen reactions in a short timespan.
I don't remember where I pulled this workflow from.
NITRO_PRESET: github_pages
is used over NITRO_PRESET: firebase
The current Firestore production db is in test mode. It needs to be put in production mode with reasonable security rules. The following need to be done before 19 Oct 2023:
firestore.rules
is up to date.I would like to add something like a Heather pattern to the jersey icons here so they don't appear so flat.
This can be done through a noise filter, like this:
<filter id='noiseFilter'>
<feTurbulence
type='fractalNoise'
baseFrequency='0.65'
numOctaves='3'
stitchTiles='stitch'/>
</filter>
New release!
https://github.com/nuxt/nuxt/releases/tag/v3.7.4
Note that I tried this but the PrimeVue dialogs had an issue.
We may want to wait until the coming PrimeVue module is released before messing with dependencies again.
Firebase supports reCAPTCHA to prevent abuse in a non-invasive manner. And VueFire supports App Check.
README.md
if neededFor the team name and player name input text fields, we should instruct the browser to use an IME which auto-capitalizes words.
https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/autocapitalize
Indexes need to be added to firestore.indexes.json
and the GitHub workflow needs to publish these at build time, just like we do for security rules in #20.
Additionally, there should be a way to configure TTLs in the same manner. We can add this on the emotes collection as we have no need to store these after a game has completed.
The inning should be tracked along with the scores.
See this mocked up example:
Requirements:
I would like to add a Spanish language option. The first task is to add the Nuxt module and then start pulling out strings for translation. (Another module comes recommended by a redditor.)
A language select button can be added next to the color mode button on the header (in app.vue
) since there will be only two options.
We will also need to pull out the title/language metadata in nuxt.config
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.