Compare commits
5 Commits
8dc8edaf5a
...
b6b6cecc0a
Author | SHA1 | Date | |
---|---|---|---|
b6b6cecc0a | |||
08916a504f | |||
3eda522903 | |||
2e6e26006d | |||
b66d0ea8a1 |
@ -17,7 +17,7 @@ steps:
|
||||
- .mix
|
||||
|
||||
- name: test
|
||||
image: elixir:1.17.3-otp-27-alpine
|
||||
image: elixir:1.18.1-otp-27-alpine
|
||||
environment:
|
||||
TEST_DATABASE_URL: ecto://postgres:postgres@database/cannery_test
|
||||
HOST: testing.example.tld
|
||||
|
@ -1,3 +1,3 @@
|
||||
elixir 1.17.3-otp-27
|
||||
erlang 27.1.2
|
||||
nodejs 23.0.0
|
||||
elixir 1.18.1-otp-27
|
||||
erlang 27.2.1
|
||||
nodejs 23.7.0
|
||||
|
@ -1,4 +1,7 @@
|
||||
# v0.9.13
|
||||
- Add button to resend email verification email
|
||||
- Move staging to container, rather than ammo
|
||||
- Add date restriction dropdown to range page
|
||||
- Fix dates not rendering properly in table
|
||||
- Update deps
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
FROM elixir:1.17.3-otp-27-alpine AS build
|
||||
FROM elixir:1.18.1-otp-27-alpine AS build
|
||||
|
||||
# install build dependencies
|
||||
RUN apk add --no-cache build-base npm git python3
|
||||
|
@ -27,7 +27,7 @@ $fa-font-path: "@fortawesome/fontawesome-free/webfonts";
|
||||
100% { scale: 1.0; opacity: 1; }
|
||||
}
|
||||
|
||||
// disconnect toast
|
||||
/* disconnect toast */
|
||||
.phx-connected > #disconnect {
|
||||
opacity: 0 !important;
|
||||
pointer-events: none;
|
||||
|
172
assets/package-lock.json
generated
172
assets/package-lock.json
generated
@ -28,7 +28,7 @@
|
||||
"glob": "^11.0.1",
|
||||
"mini-css-extract-plugin": "^2.9.2",
|
||||
"npm-check-updates": "^17.1.13",
|
||||
"postcss": "^8.4.49",
|
||||
"postcss": "^8.5.1",
|
||||
"postcss-import": "^16.1.0",
|
||||
"postcss-loader": "^8.1.1",
|
||||
"postcss-preset-env": "^10.1.3",
|
||||
@ -42,8 +42,8 @@
|
||||
"webpack-dev-server": "^5.2.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": "v23.0.0",
|
||||
"npm": "10.9.0"
|
||||
"node": "v23.7.0",
|
||||
"npm": "10.9.2"
|
||||
}
|
||||
},
|
||||
"../deps/phoenix": {
|
||||
@ -3234,10 +3234,11 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@parcel/watcher": {
|
||||
"version": "2.4.1",
|
||||
"resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.4.1.tgz",
|
||||
"integrity": "sha512-HNjmfLQEVRZmHRET336f20H/8kOozUGwk7yajvsonjNxbj2wBTK1WsQuHkD5yYh9RxFGL2EyDHryOihOwUoKDA==",
|
||||
"version": "2.5.1",
|
||||
"resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.1.tgz",
|
||||
"integrity": "sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==",
|
||||
"dev": true,
|
||||
"hasInstallScript": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
@ -3254,24 +3255,25 @@
|
||||
"url": "https://opencollective.com/parcel"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"@parcel/watcher-android-arm64": "2.4.1",
|
||||
"@parcel/watcher-darwin-arm64": "2.4.1",
|
||||
"@parcel/watcher-darwin-x64": "2.4.1",
|
||||
"@parcel/watcher-freebsd-x64": "2.4.1",
|
||||
"@parcel/watcher-linux-arm-glibc": "2.4.1",
|
||||
"@parcel/watcher-linux-arm64-glibc": "2.4.1",
|
||||
"@parcel/watcher-linux-arm64-musl": "2.4.1",
|
||||
"@parcel/watcher-linux-x64-glibc": "2.4.1",
|
||||
"@parcel/watcher-linux-x64-musl": "2.4.1",
|
||||
"@parcel/watcher-win32-arm64": "2.4.1",
|
||||
"@parcel/watcher-win32-ia32": "2.4.1",
|
||||
"@parcel/watcher-win32-x64": "2.4.1"
|
||||
"@parcel/watcher-android-arm64": "2.5.1",
|
||||
"@parcel/watcher-darwin-arm64": "2.5.1",
|
||||
"@parcel/watcher-darwin-x64": "2.5.1",
|
||||
"@parcel/watcher-freebsd-x64": "2.5.1",
|
||||
"@parcel/watcher-linux-arm-glibc": "2.5.1",
|
||||
"@parcel/watcher-linux-arm-musl": "2.5.1",
|
||||
"@parcel/watcher-linux-arm64-glibc": "2.5.1",
|
||||
"@parcel/watcher-linux-arm64-musl": "2.5.1",
|
||||
"@parcel/watcher-linux-x64-glibc": "2.5.1",
|
||||
"@parcel/watcher-linux-x64-musl": "2.5.1",
|
||||
"@parcel/watcher-win32-arm64": "2.5.1",
|
||||
"@parcel/watcher-win32-ia32": "2.5.1",
|
||||
"@parcel/watcher-win32-x64": "2.5.1"
|
||||
}
|
||||
},
|
||||
"node_modules/@parcel/watcher-android-arm64": {
|
||||
"version": "2.4.1",
|
||||
"resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.4.1.tgz",
|
||||
"integrity": "sha512-LOi/WTbbh3aTn2RYddrO8pnapixAziFl6SMxHM69r3tvdSm94JtCenaKgk1GRg5FJ5wpMCpHeW+7yqPlvZv7kg==",
|
||||
"version": "2.5.1",
|
||||
"resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.1.tgz",
|
||||
"integrity": "sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@ -3290,9 +3292,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@parcel/watcher-darwin-arm64": {
|
||||
"version": "2.4.1",
|
||||
"resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.4.1.tgz",
|
||||
"integrity": "sha512-ln41eihm5YXIY043vBrrHfn94SIBlqOWmoROhsMVTSXGh0QahKGy77tfEywQ7v3NywyxBBkGIfrWRHm0hsKtzA==",
|
||||
"version": "2.5.1",
|
||||
"resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.1.tgz",
|
||||
"integrity": "sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@ -3311,9 +3313,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@parcel/watcher-darwin-x64": {
|
||||
"version": "2.4.1",
|
||||
"resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.4.1.tgz",
|
||||
"integrity": "sha512-yrw81BRLjjtHyDu7J61oPuSoeYWR3lDElcPGJyOvIXmor6DEo7/G2u1o7I38cwlcoBHQFULqF6nesIX3tsEXMg==",
|
||||
"version": "2.5.1",
|
||||
"resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.1.tgz",
|
||||
"integrity": "sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@ -3332,9 +3334,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@parcel/watcher-freebsd-x64": {
|
||||
"version": "2.4.1",
|
||||
"resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.4.1.tgz",
|
||||
"integrity": "sha512-TJa3Pex/gX3CWIx/Co8k+ykNdDCLx+TuZj3f3h7eOjgpdKM+Mnix37RYsYU4LHhiYJz3DK5nFCCra81p6g050w==",
|
||||
"version": "2.5.1",
|
||||
"resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.1.tgz",
|
||||
"integrity": "sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@ -3353,9 +3355,30 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@parcel/watcher-linux-arm-glibc": {
|
||||
"version": "2.4.1",
|
||||
"resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.4.1.tgz",
|
||||
"integrity": "sha512-4rVYDlsMEYfa537BRXxJ5UF4ddNwnr2/1O4MHM5PjI9cvV2qymvhwZSFgXqbS8YoTk5i/JR0L0JDs69BUn45YA==",
|
||||
"version": "2.5.1",
|
||||
"resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.1.tgz",
|
||||
"integrity": "sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==",
|
||||
"cpu": [
|
||||
"arm"
|
||||
],
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">= 10.0.0"
|
||||
},
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/parcel"
|
||||
}
|
||||
},
|
||||
"node_modules/@parcel/watcher-linux-arm-musl": {
|
||||
"version": "2.5.1",
|
||||
"resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.1.tgz",
|
||||
"integrity": "sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==",
|
||||
"cpu": [
|
||||
"arm"
|
||||
],
|
||||
@ -3374,9 +3397,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@parcel/watcher-linux-arm64-glibc": {
|
||||
"version": "2.4.1",
|
||||
"resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.4.1.tgz",
|
||||
"integrity": "sha512-BJ7mH985OADVLpbrzCLgrJ3TOpiZggE9FMblfO65PlOCdG++xJpKUJ0Aol74ZUIYfb8WsRlUdgrZxKkz3zXWYA==",
|
||||
"version": "2.5.1",
|
||||
"resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.1.tgz",
|
||||
"integrity": "sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@ -3395,9 +3418,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@parcel/watcher-linux-arm64-musl": {
|
||||
"version": "2.4.1",
|
||||
"resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.4.1.tgz",
|
||||
"integrity": "sha512-p4Xb7JGq3MLgAfYhslU2SjoV9G0kI0Xry0kuxeG/41UfpjHGOhv7UoUDAz/jb1u2elbhazy4rRBL8PegPJFBhA==",
|
||||
"version": "2.5.1",
|
||||
"resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.1.tgz",
|
||||
"integrity": "sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@ -3416,9 +3439,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@parcel/watcher-linux-x64-glibc": {
|
||||
"version": "2.4.1",
|
||||
"resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.4.1.tgz",
|
||||
"integrity": "sha512-s9O3fByZ/2pyYDPoLM6zt92yu6P4E39a03zvO0qCHOTjxmt3GHRMLuRZEWhWLASTMSrrnVNWdVI/+pUElJBBBg==",
|
||||
"version": "2.5.1",
|
||||
"resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.1.tgz",
|
||||
"integrity": "sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@ -3437,9 +3460,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@parcel/watcher-linux-x64-musl": {
|
||||
"version": "2.4.1",
|
||||
"resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.4.1.tgz",
|
||||
"integrity": "sha512-L2nZTYR1myLNST0O632g0Dx9LyMNHrn6TOt76sYxWLdff3cB22/GZX2UPtJnaqQPdCRoszoY5rcOj4oMTtp5fQ==",
|
||||
"version": "2.5.1",
|
||||
"resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.1.tgz",
|
||||
"integrity": "sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@ -3458,9 +3481,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@parcel/watcher-win32-arm64": {
|
||||
"version": "2.4.1",
|
||||
"resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.4.1.tgz",
|
||||
"integrity": "sha512-Uq2BPp5GWhrq/lcuItCHoqxjULU1QYEcyjSO5jqqOK8RNFDBQnenMMx4gAl3v8GiWa59E9+uDM7yZ6LxwUIfRg==",
|
||||
"version": "2.5.1",
|
||||
"resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.1.tgz",
|
||||
"integrity": "sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@ -3479,9 +3502,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@parcel/watcher-win32-ia32": {
|
||||
"version": "2.4.1",
|
||||
"resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.4.1.tgz",
|
||||
"integrity": "sha512-maNRit5QQV2kgHFSYwftmPBxiuK5u4DXjbXx7q6eKjq5dsLXZ4FJiVvlcw35QXzk0KrUecJmuVFbj4uV9oYrcw==",
|
||||
"version": "2.5.1",
|
||||
"resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.1.tgz",
|
||||
"integrity": "sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==",
|
||||
"cpu": [
|
||||
"ia32"
|
||||
],
|
||||
@ -3500,9 +3523,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@parcel/watcher-win32-x64": {
|
||||
"version": "2.4.1",
|
||||
"resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.4.1.tgz",
|
||||
"integrity": "sha512-+DvS92F9ezicfswqrvIRM2njcYJbd5mb9CUgtrHCHmvn7pPPa+nMDRu1o1bYYz/l5IB2NVGNJWiH7h1E58IF2A==",
|
||||
"version": "2.5.1",
|
||||
"resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.1.tgz",
|
||||
"integrity": "sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@ -5879,9 +5902,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/enhanced-resolve": {
|
||||
"version": "5.17.1",
|
||||
"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz",
|
||||
"integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==",
|
||||
"version": "5.18.0",
|
||||
"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.0.tgz",
|
||||
"integrity": "sha512-0/r0MySGYG8YqlayBZ6MuCfECmHFdJ5qyPh8s8wa5Hnm6SaFLSK1VYCbj+NKp090Nm1caZhD+QTnmxO7esYGyQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
@ -9159,9 +9182,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/nanoid": {
|
||||
"version": "3.3.7",
|
||||
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz",
|
||||
"integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==",
|
||||
"version": "3.3.8",
|
||||
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz",
|
||||
"integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
@ -9169,6 +9192,7 @@
|
||||
"url": "https://github.com/sponsors/ai"
|
||||
}
|
||||
],
|
||||
"license": "MIT",
|
||||
"bin": {
|
||||
"nanoid": "bin/nanoid.cjs"
|
||||
},
|
||||
@ -9827,9 +9851,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/postcss": {
|
||||
"version": "8.4.49",
|
||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.49.tgz",
|
||||
"integrity": "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==",
|
||||
"version": "8.5.1",
|
||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.1.tgz",
|
||||
"integrity": "sha512-6oz2beyjc5VMn/KV1pPw8fliQkhBXrVn1Z3TVyqZxU8kZpzEKhBdmCFqI6ZbmGtamQvQGuU1sgPTk8ZrXDD7jQ==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
@ -9847,7 +9871,7 @@
|
||||
],
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"nanoid": "^3.3.7",
|
||||
"nanoid": "^3.3.8",
|
||||
"picocolors": "^1.1.1",
|
||||
"source-map-js": "^1.2.1"
|
||||
},
|
||||
@ -11893,9 +11917,9 @@
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/sass": {
|
||||
"version": "1.83.1",
|
||||
"resolved": "https://registry.npmjs.org/sass/-/sass-1.83.1.tgz",
|
||||
"integrity": "sha512-EVJbDaEs4Rr3F0glJzFSOvtg2/oy2V/YrGFPqPY24UqcLDWcI9ZY5sN+qyO3c/QCZwzgfirvhXvINiJCE/OLcA==",
|
||||
"version": "1.83.4",
|
||||
"resolved": "https://registry.npmjs.org/sass/-/sass-1.83.4.tgz",
|
||||
"integrity": "sha512-B1bozCeNQiOgDcLd33e2Cs2U60wZwjUUXzh900ZyQF5qUasvMdDZYbQ566LJu7cqR+sAHlAfO6RMkaID5s6qpA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
@ -11955,9 +11979,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/sass/node_modules/chokidar": {
|
||||
"version": "4.0.1",
|
||||
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.1.tgz",
|
||||
"integrity": "sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==",
|
||||
"version": "4.0.3",
|
||||
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz",
|
||||
"integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
@ -11971,13 +11995,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/sass/node_modules/readdirp": {
|
||||
"version": "4.0.2",
|
||||
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.0.2.tgz",
|
||||
"integrity": "sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==",
|
||||
"version": "4.1.1",
|
||||
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.1.tgz",
|
||||
"integrity": "sha512-h80JrZu/MHUZCyHu5ciuoI0+WxsCxzxJTILn6Fs8rxSnFPh+UVHYfeIxK1nVGugMqkfC4vJcBOYbkfkwYK0+gw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">= 14.16.0"
|
||||
"node": ">= 14.18.0"
|
||||
},
|
||||
"funding": {
|
||||
"type": "individual",
|
||||
|
@ -3,8 +3,8 @@
|
||||
"description": " ",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": "v23.0.0",
|
||||
"npm": "10.9.0"
|
||||
"node": "v23.7.0",
|
||||
"npm": "10.9.2"
|
||||
},
|
||||
"scripts": {
|
||||
"deploy": "NODE_ENV=production webpack --mode production",
|
||||
@ -35,7 +35,7 @@
|
||||
"glob": "^11.0.1",
|
||||
"mini-css-extract-plugin": "^2.9.2",
|
||||
"npm-check-updates": "^17.1.13",
|
||||
"postcss": "^8.4.49",
|
||||
"postcss": "^8.5.1",
|
||||
"postcss-import": "^16.1.0",
|
||||
"postcss-loader": "^8.1.1",
|
||||
"postcss-preset-env": "^10.1.3",
|
||||
|
@ -8,6 +8,7 @@
|
||||
import Config
|
||||
|
||||
config :cannery,
|
||||
env: :dev,
|
||||
ecto_repos: [Cannery.Repo],
|
||||
generators: [binary_id: true]
|
||||
|
||||
|
@ -14,6 +14,8 @@ config :cannery, CanneryWeb.Endpoint, cache_static_manifest: "priv/static/cache_
|
||||
# Do not print debug messages in production
|
||||
config :logger, level: :info
|
||||
|
||||
config :cannery, env: :prod
|
||||
|
||||
# ## SSL Support
|
||||
#
|
||||
# To get SSL working, you will need to add the `https` key
|
||||
|
@ -20,6 +20,8 @@ config :cannery, CanneryWeb.Endpoint,
|
||||
secret_key_base: "S3qq9QtUdsFtlYej+HTjAVN95uP5i5tf2sPYINWSQfCKJghFj2B1+wTAoljZyHOK",
|
||||
server: false
|
||||
|
||||
config :cannery, env: :test
|
||||
|
||||
# In test we don't send emails.
|
||||
config :cannery, Cannery.Mailer, adapter: Swoosh.Adapters.Test
|
||||
|
||||
|
@ -218,7 +218,7 @@ defmodule Cannery.Accounts do
|
||||
|
||||
with {:ok, query} <- UserToken.verify_change_email_token_query(token, context),
|
||||
%UserToken{sent_to: email} <- Repo.one(query),
|
||||
{:ok, _} <- Repo.transaction(user_email_multi(user, email, context)) do
|
||||
{:ok, _result} <- Repo.transaction(user_email_multi(user, email, context)) do
|
||||
:ok
|
||||
else
|
||||
_error_tuple -> :error
|
||||
|
@ -136,7 +136,7 @@ defmodule Cannery.Accounts.User do
|
||||
|> cast(attrs, [:email])
|
||||
|> validate_email()
|
||||
|> case do
|
||||
%{changes: %{email: _}} = changeset -> changeset
|
||||
%{changes: %{email: _email}} = changeset -> changeset
|
||||
%{} = changeset -> add_error(changeset, :email, dgettext("errors", "did not change"))
|
||||
end
|
||||
end
|
||||
|
@ -150,7 +150,7 @@ defmodule Cannery.Accounts.UserToken do
|
||||
from t in __MODULE__, where: t.user_id == ^user.id
|
||||
end
|
||||
|
||||
def user_and_contexts_query(user, [_ | _] = contexts) do
|
||||
def user_and_contexts_query(user, [_first | _rest] = contexts) do
|
||||
from t in __MODULE__, where: t.user_id == ^user.id and t.context in ^contexts
|
||||
end
|
||||
end
|
||||
|
@ -9,6 +9,8 @@ defmodule Cannery.ActivityLog do
|
||||
@type list_shot_records_option ::
|
||||
{:search, String.t() | nil}
|
||||
| {:class, Type.class() | :all | nil}
|
||||
| {:start_date, String.t() | nil}
|
||||
| {:end_date, String.t() | nil}
|
||||
| {:pack_id, Pack.id() | nil}
|
||||
@type list_shot_records_options :: [list_shot_records_option()]
|
||||
|
||||
@ -49,6 +51,8 @@ defmodule Cannery.ActivityLog do
|
||||
|> list_shot_records_search(Keyword.get(opts, :search))
|
||||
|> list_shot_records_class(Keyword.get(opts, :class))
|
||||
|> list_shot_records_pack_id(Keyword.get(opts, :pack_id))
|
||||
|> list_shot_records_start_date(Keyword.get(opts, :start_date))
|
||||
|> list_shot_records_end_date(Keyword.get(opts, :end_date))
|
||||
|> Repo.all()
|
||||
end
|
||||
|
||||
@ -100,6 +104,20 @@ defmodule Cannery.ActivityLog do
|
||||
|
||||
defp list_shot_records_pack_id(query, _all), do: query
|
||||
|
||||
@spec list_shot_records_start_date(Queryable.t(), String.t() | nil) :: Queryable.t()
|
||||
defp list_shot_records_start_date(query, start_date) when start_date |> is_binary() do
|
||||
query |> where([sr: sr], sr.date >= ^Date.from_iso8601!(start_date))
|
||||
end
|
||||
|
||||
defp list_shot_records_start_date(query, _all), do: query
|
||||
|
||||
@spec list_shot_records_end_date(Queryable.t(), String.t() | nil) :: Queryable.t()
|
||||
defp list_shot_records_end_date(query, end_date) when end_date |> is_binary() do
|
||||
query |> where([sr: sr], sr.date <= ^Date.from_iso8601!(end_date))
|
||||
end
|
||||
|
||||
defp list_shot_records_end_date(query, _all), do: query
|
||||
|
||||
@doc """
|
||||
Returns a count of shot records.
|
||||
|
||||
|
@ -547,7 +547,7 @@ defmodule Cannery.Ammo do
|
||||
|
||||
@spec list_packs_staged(Queryable.t(), staged :: boolean() | nil) :: Queryable.t()
|
||||
defp list_packs_staged(query, staged) when staged |> is_boolean(),
|
||||
do: query |> where([p: p], p.staged == ^staged)
|
||||
do: query |> where([c: c], c.staged == ^staged)
|
||||
|
||||
defp list_packs_staged(query, _nil), do: query
|
||||
|
||||
|
@ -11,21 +11,19 @@ defmodule Cannery.Ammo.Pack do
|
||||
|
||||
@derive {Jason.Encoder,
|
||||
only: [
|
||||
:id,
|
||||
:container_id,
|
||||
:count,
|
||||
:id,
|
||||
:lot_number,
|
||||
:notes,
|
||||
:price_paid,
|
||||
:lot_number,
|
||||
:staged,
|
||||
:type_id,
|
||||
:container_id
|
||||
:type_id
|
||||
]}
|
||||
schema "packs" do
|
||||
field :count, :integer
|
||||
field :lot_number, :string
|
||||
field :notes, :string
|
||||
field :price_paid, :float
|
||||
field :staged, :boolean, default: false
|
||||
field :lot_number, :string
|
||||
field :purchased_on, :date
|
||||
|
||||
belongs_to :type, Type
|
||||
@ -36,12 +34,11 @@ defmodule Cannery.Ammo.Pack do
|
||||
end
|
||||
|
||||
@type t :: %__MODULE__{
|
||||
id: id(),
|
||||
count: integer,
|
||||
id: id(),
|
||||
lot_number: String.t() | nil,
|
||||
notes: String.t() | nil,
|
||||
price_paid: float() | nil,
|
||||
staged: boolean(),
|
||||
lot_number: String.t() | nil,
|
||||
purchased_on: Date.t(),
|
||||
type: Type.t() | nil,
|
||||
type_id: Type.id(),
|
||||
@ -92,7 +89,13 @@ defmodule Cannery.Ammo.Pack do
|
||||
|> change(type_id: type_id)
|
||||
|> change(container_id: container_id)
|
||||
|> change(user_id: user_id)
|
||||
|> cast(attrs, [:count, :lot_number, :notes, :price_paid, :purchased_on, :staged])
|
||||
|> cast(attrs, [
|
||||
:count,
|
||||
:lot_number,
|
||||
:notes,
|
||||
:price_paid,
|
||||
:purchased_on
|
||||
])
|
||||
|> validate_required(:type_id, message: dgettext("errors", "Please select a valid type"))
|
||||
|> validate_required(:container_id,
|
||||
message: dgettext("errors", "Please select a valid container")
|
||||
@ -100,7 +103,13 @@ defmodule Cannery.Ammo.Pack do
|
||||
|> validate_number(:count, greater_than: 0)
|
||||
|> validate_number(:price_paid, greater_than_or_equal_to: 0)
|
||||
|> validate_length(:lot_number, max: 255)
|
||||
|> validate_required([:count, :staged, :purchased_on, :type_id, :container_id, :user_id])
|
||||
|> validate_required([
|
||||
:container_id,
|
||||
:count,
|
||||
:purchased_on,
|
||||
:type_id,
|
||||
:user_id
|
||||
])
|
||||
end
|
||||
|
||||
@doc false
|
||||
@ -108,19 +117,22 @@ defmodule Cannery.Ammo.Pack do
|
||||
def update_changeset(pack, attrs, user) do
|
||||
pack
|
||||
|> cast(attrs, [
|
||||
:container_id,
|
||||
:count,
|
||||
:price_paid,
|
||||
:notes,
|
||||
:staged,
|
||||
:purchased_on,
|
||||
:lot_number,
|
||||
:container_id
|
||||
:notes,
|
||||
:price_paid,
|
||||
:purchased_on
|
||||
])
|
||||
|> validate_number(:count, greater_than_or_equal_to: 0)
|
||||
|> validate_number(:price_paid, greater_than_or_equal_to: 0)
|
||||
|> validate_container_id(user)
|
||||
|> validate_length(:lot_number, max: 255)
|
||||
|> validate_required([:count, :staged, :purchased_on, :container_id])
|
||||
|> validate_required([
|
||||
:container_id,
|
||||
:count,
|
||||
:purchased_on
|
||||
])
|
||||
end
|
||||
|
||||
defp validate_container_id(changeset, user) do
|
||||
@ -140,7 +152,7 @@ defmodule Cannery.Ammo.Pack do
|
||||
@spec range_changeset(t() | new_pack(), attrs :: map()) :: changeset()
|
||||
def range_changeset(pack, attrs) do
|
||||
pack
|
||||
|> cast(attrs, [:count, :staged])
|
||||
|> validate_required([:count, :staged])
|
||||
|> cast(attrs, [:count])
|
||||
|> validate_required([:count])
|
||||
end
|
||||
end
|
||||
|
@ -9,7 +9,9 @@ defmodule Cannery.Containers do
|
||||
|
||||
@container_preloads [:tags]
|
||||
|
||||
@type list_containers_option :: {:search, String.t() | nil}
|
||||
@type list_containers_option ::
|
||||
{:search, String.t() | nil}
|
||||
| {:staged, boolean() | nil}
|
||||
@type list_containers_options :: [list_containers_option()]
|
||||
|
||||
@doc """
|
||||
@ -20,7 +22,10 @@ defmodule Cannery.Containers do
|
||||
iex> list_containers(%User{id: 123})
|
||||
[%Container{}, ...]
|
||||
|
||||
iex> list_containers(%User{id: 123}, search: "cool")
|
||||
iex> list_containers(%User{id: 123},
|
||||
...> search: "cool",
|
||||
...> staged: true
|
||||
...> )
|
||||
[%Container{name: "my cool container"}, ...]
|
||||
|
||||
"""
|
||||
@ -37,9 +42,16 @@ defmodule Cannery.Containers do
|
||||
preload: ^@container_preloads
|
||||
)
|
||||
|> list_containers_search(Keyword.get(opts, :search))
|
||||
|> list_containers_staged(Keyword.get(opts, :staged))
|
||||
|> Repo.all()
|
||||
end
|
||||
|
||||
@spec list_containers_staged(Queryable.t(), staged :: boolean() | nil) :: Queryable.t()
|
||||
defp list_containers_staged(query, staged) when staged |> is_boolean(),
|
||||
do: query |> where([c: c], c.staged == ^staged)
|
||||
|
||||
defp list_containers_staged(query, _nil), do: query
|
||||
|
||||
@spec list_containers_search(Queryable.t(), search :: String.t() | nil) :: Queryable.t()
|
||||
defp list_containers_search(query, search) when search in ["", nil],
|
||||
do: query |> order_by([c: c], c.name)
|
||||
|
@ -8,17 +8,19 @@ defmodule Cannery.Containers.Container do
|
||||
|
||||
@derive {Jason.Encoder,
|
||||
only: [
|
||||
:id,
|
||||
:name,
|
||||
:desc,
|
||||
:id,
|
||||
:location,
|
||||
:type,
|
||||
:tags
|
||||
:name,
|
||||
:staged,
|
||||
:tags,
|
||||
:type
|
||||
]}
|
||||
schema "containers" do
|
||||
field :name, :string
|
||||
field :desc, :string
|
||||
field :location, :string
|
||||
field :name, :string
|
||||
field :staged, :boolean, default: false
|
||||
field :type, :string
|
||||
|
||||
field :user_id, :binary_id
|
||||
@ -29,10 +31,11 @@ defmodule Cannery.Containers.Container do
|
||||
end
|
||||
|
||||
@type t :: %__MODULE__{
|
||||
id: id(),
|
||||
name: String.t(),
|
||||
desc: String.t(),
|
||||
id: id(),
|
||||
location: String.t(),
|
||||
name: String.t(),
|
||||
staged: boolean(),
|
||||
type: String.t(),
|
||||
user_id: User.id(),
|
||||
tags: [Tag.t()] | nil,
|
||||
@ -48,19 +51,40 @@ defmodule Cannery.Containers.Container do
|
||||
def create_changeset(container, %User{id: user_id}, attrs) do
|
||||
container
|
||||
|> change(user_id: user_id)
|
||||
|> cast(attrs, [:name, :desc, :type, :location])
|
||||
|> cast(attrs, [
|
||||
:desc,
|
||||
:location,
|
||||
:name,
|
||||
:staged,
|
||||
:type
|
||||
])
|
||||
|> validate_length(:name, max: 255)
|
||||
|> validate_length(:type, max: 255)
|
||||
|> validate_required([:name, :type, :user_id])
|
||||
|> validate_required([
|
||||
:name,
|
||||
:staged,
|
||||
:type,
|
||||
:user_id
|
||||
])
|
||||
end
|
||||
|
||||
@doc false
|
||||
@spec update_changeset(t() | new_container(), attrs :: map()) :: changeset()
|
||||
def update_changeset(container, attrs) do
|
||||
container
|
||||
|> cast(attrs, [:name, :desc, :type, :location])
|
||||
|> cast(attrs, [
|
||||
:desc,
|
||||
:location,
|
||||
:name,
|
||||
:staged,
|
||||
:type
|
||||
])
|
||||
|> validate_length(:name, max: 255)
|
||||
|> validate_length(:type, max: 255)
|
||||
|> validate_required([:name, :type])
|
||||
|> validate_required([
|
||||
:name,
|
||||
:staged,
|
||||
:type
|
||||
])
|
||||
end
|
||||
end
|
||||
|
@ -4,6 +4,7 @@ defmodule CanneryWeb.Components.ContainerTableComponent do
|
||||
"""
|
||||
use CanneryWeb, :live_component
|
||||
alias Cannery.{Accounts.User, Ammo, Containers.Container}
|
||||
alias CanneryWeb.Components.TableComponent
|
||||
alias Ecto.UUID
|
||||
alias Phoenix.LiveView.{Rendered, Socket}
|
||||
|
||||
@ -13,6 +14,7 @@ defmodule CanneryWeb.Components.ContainerTableComponent do
|
||||
required(:id) => UUID.t(),
|
||||
required(:current_user) => User.t(),
|
||||
optional(:containers) => [Container.t()],
|
||||
optional(:range) => Rendered.t(),
|
||||
optional(:tag_actions) => Rendered.t(),
|
||||
optional(:actions) => Rendered.t(),
|
||||
optional(any()) => any()
|
||||
@ -23,6 +25,7 @@ defmodule CanneryWeb.Components.ContainerTableComponent do
|
||||
socket =
|
||||
socket
|
||||
|> assign(assigns)
|
||||
|> assign_new(:range, fn -> [] end)
|
||||
|> assign_new(:tag_actions, fn -> [] end)
|
||||
|> assign_new(:actions, fn -> [] end)
|
||||
|> display_containers()
|
||||
@ -35,6 +38,7 @@ defmodule CanneryWeb.Components.ContainerTableComponent do
|
||||
assigns: %{
|
||||
containers: containers,
|
||||
current_user: current_user,
|
||||
range: range,
|
||||
tag_actions: tag_actions,
|
||||
actions: actions
|
||||
}
|
||||
@ -62,13 +66,22 @@ defmodule CanneryWeb.Components.ContainerTableComponent do
|
||||
end)
|
||||
|> Enum.concat([
|
||||
%{label: gettext("Packs"), key: :packs, type: :integer},
|
||||
%{label: gettext("Rounds"), key: :rounds, type: :integer},
|
||||
%{label: gettext("Tags"), key: :tags, type: :tags},
|
||||
%{label: gettext("Actions"), key: :actions, sortable: false, type: :actions}
|
||||
%{label: gettext("Rounds"), key: :rounds, type: :integer}
|
||||
])
|
||||
|> Enum.concat(
|
||||
[
|
||||
%{label: gettext("Tags"), key: :tags, type: :tags},
|
||||
%{label: gettext("Actions"), key: :actions, sortable: false, type: :actions}
|
||||
]
|
||||
|> TableComponent.maybe_compose_columns(
|
||||
%{label: gettext("Range"), key: :range},
|
||||
range != []
|
||||
)
|
||||
)
|
||||
|
||||
extra_data = %{
|
||||
current_user: current_user,
|
||||
range: range,
|
||||
tag_actions: tag_actions,
|
||||
actions: actions,
|
||||
pack_count:
|
||||
@ -136,6 +149,15 @@ defmodule CanneryWeb.Components.ContainerTableComponent do
|
||||
round_count |> Map.get(container_id, 0)
|
||||
end
|
||||
|
||||
defp get_value_for_key(:range, %{staged: staged} = container, %{range: range}) do
|
||||
assigns = %{range: range, container: container}
|
||||
|
||||
{staged,
|
||||
~H"""
|
||||
<%= render_slot(@range, @container) %>
|
||||
"""}
|
||||
end
|
||||
|
||||
defp get_value_for_key(:tags, container, %{tag_actions: tag_actions}) do
|
||||
assigns = %{tag_actions: tag_actions, container: container}
|
||||
|
||||
|
@ -141,6 +141,18 @@ defmodule CanneryWeb.CoreComponents do
|
||||
"""
|
||||
def datetime(assigns)
|
||||
|
||||
attr :name, :string, required: true
|
||||
|
||||
attr :start_date, :string,
|
||||
default: Date.utc_today() |> Date.shift(year: -1) |> Date.to_iso8601()
|
||||
|
||||
attr :end_date, :string, default: Date.utc_today() |> Date.to_iso8601()
|
||||
|
||||
@doc """
|
||||
Phoenix.Component for an element that generates date fields for a range
|
||||
"""
|
||||
def date_range(assigns)
|
||||
|
||||
@spec cast_datetime(NaiveDateTime.t() | nil) :: String.t()
|
||||
defp cast_datetime(%NaiveDateTime{} = datetime) do
|
||||
datetime |> DateTime.from_naive!("Etc/UTC") |> DateTime.to_iso8601(:extended)
|
||||
|
@ -0,0 +1,15 @@
|
||||
<div class="flex items-center mx-4 my-2 space-x-1">
|
||||
<input
|
||||
class="w-36 text-center input input-primary"
|
||||
name={"#{@name}_start"}
|
||||
type="date"
|
||||
value={@start_date}
|
||||
/>
|
||||
<span>—</span>
|
||||
<input
|
||||
class="w-36 text-center input input-primary"
|
||||
name={"#{@name}_end"}
|
||||
type="date"
|
||||
value={@end_date}
|
||||
/>
|
||||
</div>
|
@ -201,13 +201,12 @@ defmodule CanneryWeb.Components.PackTableComponent do
|
||||
"""}
|
||||
end
|
||||
|
||||
defp get_value_for_key(:range, %{staged: staged} = pack, %{range: range}) do
|
||||
defp get_value_for_key(:range, pack, %{range: range}) do
|
||||
assigns = %{range: range, pack: pack}
|
||||
|
||||
{staged,
|
||||
~H"""
|
||||
<%= render_slot(@range, @pack) %>
|
||||
"""}
|
||||
~H"""
|
||||
<%= render_slot(@range, @pack) %>
|
||||
"""
|
||||
end
|
||||
|
||||
defp get_value_for_key(
|
||||
|
@ -40,7 +40,7 @@ defmodule CanneryWeb.UserResetPasswordController do
|
||||
# leaked token giving the user access to the account.
|
||||
def update(conn, %{"user" => user_params}) do
|
||||
case Accounts.reset_user_password(conn.assigns.user, user_params) do
|
||||
{:ok, _} ->
|
||||
{:ok, _socket} ->
|
||||
conn
|
||||
|> put_flash(:info, dgettext("prompts", "Password reset successfully."))
|
||||
|> redirect(to: ~p"/users/log_in")
|
||||
|
@ -112,6 +112,20 @@ defmodule CanneryWeb.ContainerLive.Index do
|
||||
{:noreply, socket |> push_patch(to: ~p"/containers/search/#{search_term}")}
|
||||
end
|
||||
|
||||
def handle_event(
|
||||
"toggle_staged",
|
||||
%{"container_id" => id},
|
||||
%{assigns: %{current_user: current_user}} = socket
|
||||
) do
|
||||
container = Containers.get_container!(id, current_user)
|
||||
|
||||
{:ok, _container} =
|
||||
container
|
||||
|> Containers.update_container(current_user, %{"staged" => !container.staged})
|
||||
|
||||
{:noreply, socket |> display_containers()}
|
||||
end
|
||||
|
||||
defp display_containers(%{assigns: %{search: search, current_user: current_user}} = socket) do
|
||||
socket |> assign(:containers, Containers.list_containers(current_user, search: search))
|
||||
end
|
||||
|
@ -1,10 +1,10 @@
|
||||
<div class="flex flex-col space-y-8 justify-center items-center">
|
||||
<h1 class="title text-2xl title-primary-500">
|
||||
<div class="flex flex-col justify-center items-center space-y-8">
|
||||
<h1 class="text-2xl title title-primary-500">
|
||||
<%= gettext("Containers") %>
|
||||
</h1>
|
||||
|
||||
<%= if @containers |> Enum.empty?() and @search |> is_nil() do %>
|
||||
<h2 class="title text-xl text-primary-600">
|
||||
<h2 class="text-xl title text-primary-600">
|
||||
<%= gettext("No containers") %>
|
||||
<%= display_emoji("😔") %>
|
||||
</h2>
|
||||
@ -17,14 +17,14 @@
|
||||
<%= dgettext("actions", "New Container") %>
|
||||
</.link>
|
||||
|
||||
<div class="w-full flex flex-col sm:flex-row justify-center items-center space-y-4 sm:space-y-0 sm:space-x-4 max-w-2xl">
|
||||
<div class="flex flex-col justify-center items-center space-y-4 w-full max-w-2xl sm:flex-row sm:space-y-0 sm:space-x-4">
|
||||
<.form
|
||||
:let={f}
|
||||
for={%{}}
|
||||
as={:search}
|
||||
phx-change="search"
|
||||
phx-submit="search"
|
||||
class="grow flex items-center"
|
||||
class="flex items-center grow"
|
||||
>
|
||||
<%= text_input(f, :search_term,
|
||||
class: "grow input input-primary",
|
||||
@ -36,14 +36,14 @@
|
||||
</.form>
|
||||
|
||||
<.toggle_button action="toggle_table" value={@view_table}>
|
||||
<span class="title text-lg text-primary-600">
|
||||
<span class="text-lg title text-primary-600">
|
||||
<%= gettext("View as table") %>
|
||||
</span>
|
||||
</.toggle_button>
|
||||
</div>
|
||||
|
||||
<%= if @containers |> Enum.empty?() do %>
|
||||
<h2 class="title text-xl text-primary-600">
|
||||
<h2 class="text-xl title text-primary-600">
|
||||
<%= gettext("No containers") %>
|
||||
<%= display_emoji("😔") %>
|
||||
</h2>
|
||||
@ -56,6 +56,20 @@
|
||||
containers={@containers}
|
||||
current_user={@current_user}
|
||||
>
|
||||
<:range :let={container}>
|
||||
<div class="flex justify-center items-center px-4 py-2 h-full min-w-20 flex-wrap">
|
||||
<button
|
||||
type="button"
|
||||
class="mx-2 my-1 text-sm btn btn-primary"
|
||||
phx-click="toggle_staged"
|
||||
phx-value-container_id={container.id}
|
||||
>
|
||||
<%= if container.staged,
|
||||
do: dgettext("actions", "Unstage"),
|
||||
else: dgettext("actions", "Stage") %>
|
||||
</button>
|
||||
</div>
|
||||
</:range>
|
||||
<:tag_actions :let={container}>
|
||||
<div class="mx-4 my-2">
|
||||
<.link
|
||||
@ -109,7 +123,7 @@
|
||||
</:actions>
|
||||
</.live_component>
|
||||
<% else %>
|
||||
<div class="w-full flex flex-row flex-wrap justify-center items-stretch">
|
||||
<div class="flex flex-row flex-wrap justify-center items-stretch w-full">
|
||||
<.container_card
|
||||
:for={container <- @containers}
|
||||
container={container}
|
||||
|
@ -78,6 +78,18 @@ defmodule CanneryWeb.ContainerLive.Show do
|
||||
{:noreply, socket}
|
||||
end
|
||||
|
||||
def handle_event(
|
||||
"toggle_staged",
|
||||
_params,
|
||||
%{assigns: %{container: container, current_user: current_user}} = socket
|
||||
) do
|
||||
{:ok, _container} =
|
||||
container
|
||||
|> Containers.update_container(current_user, %{"staged" => !container.staged})
|
||||
|
||||
{:noreply, socket |> render_container()}
|
||||
end
|
||||
|
||||
def handle_event("toggle_table", _params, %{assigns: %{view_table: view_table}} = socket) do
|
||||
{:noreply, socket |> assign(:view_table, !view_table) |> render_container()}
|
||||
end
|
||||
|
@ -1,34 +1,34 @@
|
||||
<div class="space-y-4 flex flex-col justify-center items-center">
|
||||
<h1 class="title text-2xl title-primary-500">
|
||||
<div class="flex flex-col justify-center items-center space-y-4">
|
||||
<h1 class="text-2xl title title-primary-500">
|
||||
<%= @container.name %>
|
||||
</h1>
|
||||
|
||||
<span :if={@container.desc} class="rounded-lg title text-lg">
|
||||
<span :if={@container.desc} class="text-lg rounded-lg title">
|
||||
<%= gettext("Description:") %>
|
||||
<%= @container.desc %>
|
||||
</span>
|
||||
|
||||
<span class="rounded-lg title text-lg">
|
||||
<span class="text-lg rounded-lg title">
|
||||
<%= gettext("Type:") %>
|
||||
<%= @container.type %>
|
||||
</span>
|
||||
|
||||
<span :if={@container.location} class="rounded-lg title text-lg">
|
||||
<span :if={@container.location} class="text-lg rounded-lg title">
|
||||
<%= gettext("Location:") %>
|
||||
<%= @container.location %>
|
||||
</span>
|
||||
|
||||
<span class="rounded-lg title text-lg">
|
||||
<span class="text-lg rounded-lg title">
|
||||
<%= gettext("Packs:") %>
|
||||
<%= @packs_count %>
|
||||
</span>
|
||||
|
||||
<span class="rounded-lg title text-lg">
|
||||
<span class="text-lg rounded-lg title">
|
||||
<%= gettext("Rounds:") %>
|
||||
<%= @round_count %>
|
||||
</span>
|
||||
|
||||
<div class="flex space-x-4 justify-center items-center text-primary-600">
|
||||
<div class="flex justify-center items-center space-x-4 text-primary-600">
|
||||
<.link
|
||||
patch={~p"/container/edit/#{@container}"}
|
||||
class="text-primary-600 link"
|
||||
@ -52,11 +52,19 @@
|
||||
</.link>
|
||||
</div>
|
||||
|
||||
<div class="flex flex-wrap justify-center items-center text-primary-600">
|
||||
<button type="button" class="mx-4 my-2 btn btn-primary" phx-click="toggle_staged">
|
||||
<%= if @container.staged,
|
||||
do: dgettext("actions", "Unstage from range"),
|
||||
else: dgettext("actions", "Stage for range") %>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<hr class="mb-4 hr" />
|
||||
|
||||
<%= if @container.tags |> Enum.empty?() do %>
|
||||
<div class="flex flex-row justify-center items-center space-x-4">
|
||||
<h2 class="title text-lg text-primary-600">
|
||||
<h2 class="text-lg title text-primary-600">
|
||||
<%= gettext("No tags for this container") %>
|
||||
<%= display_emoji("😔") %>
|
||||
</h2>
|
||||
@ -105,15 +113,15 @@
|
||||
</.form>
|
||||
|
||||
<.toggle_button action="toggle_table" value={@view_table}>
|
||||
<span class="title text-lg text-primary-600">
|
||||
<span class="text-lg title text-primary-600">
|
||||
<%= gettext("View as table") %>
|
||||
</span>
|
||||
</.toggle_button>
|
||||
</div>
|
||||
|
||||
<div class="w-full p-4">
|
||||
<div class="p-4 w-full">
|
||||
<%= if @packs |> Enum.empty?() do %>
|
||||
<h2 class="mx-4 title text-lg text-primary-600 text-center">
|
||||
<h2 class="mx-4 text-lg text-center title text-primary-600">
|
||||
<%= gettext("No ammo in this container") %>
|
||||
</h2>
|
||||
<% else %>
|
||||
@ -131,7 +139,7 @@
|
||||
</.link>
|
||||
</:type>
|
||||
<:actions :let={%{count: pack_count} = pack}>
|
||||
<div class="py-2 px-4 h-full space-x-4 flex justify-center items-center">
|
||||
<div class="flex justify-center items-center px-4 py-2 space-x-4 h-full">
|
||||
<.link
|
||||
navigate={~p"/ammo/show/#{pack}"}
|
||||
class="text-primary-600 link"
|
||||
|
@ -116,6 +116,20 @@ defmodule CanneryWeb.InviteLive.Index do
|
||||
{:noreply, socket |> put_flash(:info, dgettext("prompts", "Copied to clipboard"))}
|
||||
end
|
||||
|
||||
def handle_event("resend_email_verification", %{"id" => id}, socket) do
|
||||
%{email: user_email} = user = Accounts.get_user!(id)
|
||||
|
||||
Accounts.deliver_user_confirmation_instructions(
|
||||
user,
|
||||
fn token -> url(CanneryWeb.Endpoint, ~p"/users/confirm/#{token}") end
|
||||
)
|
||||
|
||||
prompt =
|
||||
dgettext("prompts", "Email resent to %{user_email} succesfully", user_email: user_email)
|
||||
|
||||
{:noreply, socket |> put_flash(:info, prompt) |> display_invites()}
|
||||
end
|
||||
|
||||
def handle_event(
|
||||
"delete_user",
|
||||
%{"id" => id},
|
||||
|
@ -1,10 +1,10 @@
|
||||
<div class="mx-auto flex flex-col justify-center items-center space-y-4 max-w-3xl">
|
||||
<h1 class="title text-2xl title-primary-500">
|
||||
<div class="flex flex-col justify-center items-center mx-auto space-y-4 max-w-3xl">
|
||||
<h1 class="text-2xl title title-primary-500">
|
||||
<%= gettext("Invites") %>
|
||||
</h1>
|
||||
|
||||
<%= if @invites |> Enum.empty?() do %>
|
||||
<h1 class="title text-xl text-primary-600">
|
||||
<h1 class="text-xl title text-primary-600">
|
||||
<%= gettext("No invites") %>
|
||||
<%= display_emoji("😔") %>
|
||||
</h1>
|
||||
@ -95,7 +95,7 @@
|
||||
<%= unless @admins |> Enum.empty?() do %>
|
||||
<hr class="hr" />
|
||||
|
||||
<h1 class="title text-2xl text-primary-600">
|
||||
<h1 class="text-2xl title text-primary-600">
|
||||
<%= gettext("Admins") %>
|
||||
</h1>
|
||||
|
||||
@ -123,27 +123,38 @@
|
||||
<%= unless @users |> Enum.empty?() do %>
|
||||
<hr class="hr" />
|
||||
|
||||
<h1 class="title text-2xl text-primary-600">
|
||||
<h1 class="text-2xl title text-primary-600">
|
||||
<%= gettext("Users") %>
|
||||
</h1>
|
||||
|
||||
<div class="flex flex-col justify-center items-stretch space-y-4">
|
||||
<.user_card :for={user <- @users} user={user}>
|
||||
<.link
|
||||
href="#"
|
||||
class="text-primary-600 link"
|
||||
phx-click="delete_user"
|
||||
phx-value-id={user.id}
|
||||
data-confirm={
|
||||
dgettext(
|
||||
"prompts",
|
||||
"Are you sure you want to delete %{email}? This action is permanent!",
|
||||
email: user.email
|
||||
)
|
||||
}
|
||||
>
|
||||
<i class="fa-fw fa-lg fas fa-trash"></i>
|
||||
</.link>
|
||||
<div class="flex justify-center items-center space-x-2">
|
||||
<.link
|
||||
:if={!user.confirmed_at}
|
||||
class="text-primary-600 link"
|
||||
href="#"
|
||||
phx-click="resend_email_verification"
|
||||
phx-value-id={user.id}
|
||||
>
|
||||
<i class="fa-fw fa-lg fas fa-paper-plane"></i>
|
||||
</.link>
|
||||
<.link
|
||||
class="text-primary-600 link"
|
||||
data-confirm={
|
||||
dgettext(
|
||||
"prompts",
|
||||
"Are you sure you want to delete %{email}? This action is permanent!",
|
||||
email: user.email
|
||||
)
|
||||
}
|
||||
href="#"
|
||||
phx-click="delete_user"
|
||||
phx-value-id={user.id}
|
||||
>
|
||||
<i class="fa-fw fa-lg fas fa-trash"></i>
|
||||
</.link>
|
||||
</div>
|
||||
</.user_card>
|
||||
</div>
|
||||
<% end %>
|
||||
|
@ -96,18 +96,6 @@ defmodule CanneryWeb.PackLive.Index do
|
||||
{:noreply, socket |> put_flash(:info, prompt) |> display_packs()}
|
||||
end
|
||||
|
||||
def handle_event(
|
||||
"toggle_staged",
|
||||
%{"pack_id" => id},
|
||||
%{assigns: %{current_user: current_user}} = socket
|
||||
) do
|
||||
pack = Ammo.get_pack!(id, current_user)
|
||||
|
||||
{:ok, _pack} = pack |> Ammo.update_pack(%{"staged" => !pack.staged}, current_user)
|
||||
|
||||
{:noreply, socket |> display_packs()}
|
||||
end
|
||||
|
||||
def handle_event("toggle_show_used", _params, %{assigns: %{show_used: show_used}} = socket) do
|
||||
{:noreply, socket |> assign(:show_used, !show_used) |> display_packs()}
|
||||
end
|
||||
|
@ -1,5 +1,5 @@
|
||||
<div class="flex flex-col space-y-8 justify-center items-center">
|
||||
<h1 class="title text-2xl title-primary-500">
|
||||
<div class="flex flex-col justify-center items-center space-y-8">
|
||||
<h1 class="text-2xl title title-primary-500">
|
||||
<%= gettext("Ammo") %>
|
||||
</h1>
|
||||
|
||||
@ -25,7 +25,7 @@
|
||||
</.link>
|
||||
</div>
|
||||
<% @packs_count == 0 -> %>
|
||||
<h2 class="title text-xl text-primary-600">
|
||||
<h2 class="text-xl title text-primary-600">
|
||||
<%= gettext("No ammo") %>
|
||||
<%= display_emoji("😔") %>
|
||||
</h2>
|
||||
@ -38,7 +38,7 @@
|
||||
<%= dgettext("actions", "Add Ammo") %>
|
||||
</.link>
|
||||
|
||||
<div class="w-full flex flex-col sm:flex-row justify-center items-center space-y-4 sm:space-y-0 sm:space-x-4 max-w-2xl">
|
||||
<div class="flex flex-col justify-center items-center space-y-4 w-full max-w-2xl sm:flex-row sm:space-y-0 sm:space-x-4">
|
||||
<.form
|
||||
:let={f}
|
||||
for={%{}}
|
||||
@ -71,7 +71,7 @@
|
||||
as={:search}
|
||||
phx-change="search"
|
||||
phx-submit="search"
|
||||
class="grow flex items-center"
|
||||
class="flex items-center grow"
|
||||
>
|
||||
<%= text_input(f, :search_term,
|
||||
class: "grow input input-primary",
|
||||
@ -83,14 +83,14 @@
|
||||
</.form>
|
||||
|
||||
<.toggle_button action="toggle_show_used" value={@show_used}>
|
||||
<span class="title text-lg text-primary-600">
|
||||
<span class="text-lg title text-primary-600">
|
||||
<%= gettext("Show used") %>
|
||||
</span>
|
||||
</.toggle_button>
|
||||
</div>
|
||||
|
||||
<%= if @packs |> Enum.empty?() do %>
|
||||
<h2 class="title text-xl text-primary-600">
|
||||
<h2 class="text-xl title text-primary-600">
|
||||
<%= gettext("No Ammo") %>
|
||||
<%= display_emoji("😔") %>
|
||||
</h2>
|
||||
@ -108,18 +108,7 @@
|
||||
</.link>
|
||||
</:type>
|
||||
<:range :let={pack}>
|
||||
<div class="min-w-20 py-2 px-4 h-full flex flew-wrap justify-center items-center">
|
||||
<button
|
||||
type="button"
|
||||
class="mx-2 my-1 text-sm btn btn-primary"
|
||||
phx-click="toggle_staged"
|
||||
phx-value-pack_id={pack.id}
|
||||
>
|
||||
<%= if pack.staged,
|
||||
do: dgettext("actions", "Unstage"),
|
||||
else: dgettext("actions", "Stage") %>
|
||||
</button>
|
||||
|
||||
<div class="flex flex-wrap justify-center items-center px-4 py-2 h-full min-w-20">
|
||||
<.link
|
||||
patch={~p"/ammo/add_shot_record/#{pack}"}
|
||||
class="mx-2 my-1 text-sm btn btn-primary"
|
||||
@ -129,7 +118,7 @@
|
||||
</div>
|
||||
</:range>
|
||||
<:container :let={{pack, %{name: container_name} = container}}>
|
||||
<div class="min-w-20 py-2 px-4 h-full flex flew-wrap justify-center items-center">
|
||||
<div class="flex flex-wrap justify-center items-center px-4 py-2 h-full min-w-20">
|
||||
<.link navigate={~p"/container/#{container}"} class="mx-2 my-1 link">
|
||||
<%= container_name %>
|
||||
</.link>
|
||||
@ -140,7 +129,7 @@
|
||||
</div>
|
||||
</:container>
|
||||
<:actions :let={%{count: pack_count} = pack}>
|
||||
<div class="py-2 px-4 h-full space-x-4 flex justify-center items-center">
|
||||
<div class="flex justify-center items-center px-4 py-2 space-x-4 h-full">
|
||||
<.link
|
||||
navigate={~p"/ammo/show/#{pack}"}
|
||||
class="text-primary-600 link"
|
||||
|
@ -57,22 +57,12 @@ defmodule CanneryWeb.PackLive.Show do
|
||||
{:noreply, socket |> put_flash(:info, prompt) |> push_navigate(to: redirect_to)}
|
||||
end
|
||||
|
||||
def handle_event(
|
||||
"toggle_staged",
|
||||
_params,
|
||||
%{assigns: %{pack: pack, current_user: current_user}} = socket
|
||||
) do
|
||||
{:ok, pack} = pack |> Ammo.update_pack(%{"staged" => !pack.staged}, current_user)
|
||||
|
||||
{:noreply, socket |> display_pack(pack)}
|
||||
end
|
||||
|
||||
def handle_event(
|
||||
"delete_shot_record",
|
||||
%{"id" => id},
|
||||
%{assigns: %{pack: %{id: pack_id}, current_user: current_user}} = socket
|
||||
) do
|
||||
{:ok, _} =
|
||||
{:ok, _shot_record} =
|
||||
ActivityLog.get_shot_record!(id, current_user)
|
||||
|> ActivityLog.delete_shot_record(current_user)
|
||||
|
||||
@ -136,7 +126,7 @@ defmodule CanneryWeb.PackLive.Show do
|
||||
|
||||
:actions ->
|
||||
~H"""
|
||||
<div class="px-4 py-2 space-x-4 flex justify-center items-center">
|
||||
<div class="flex justify-center items-center px-4 py-2 space-x-4">
|
||||
<.link
|
||||
patch={~p"/ammo/show/#{@pack}/edit/#{@shot_record}"}
|
||||
class="text-primary-600 link"
|
||||
|
@ -1,43 +1,43 @@
|
||||
<div class="mx-auto space-y-4 max-w-3xl flex flex-col justify-center items-center">
|
||||
<h1 class="title text-2xl title-primary-500">
|
||||
<div class="flex flex-col justify-center items-center mx-auto space-y-4 max-w-3xl">
|
||||
<h1 class="text-2xl title title-primary-500">
|
||||
<%= @pack.type.name %>
|
||||
</h1>
|
||||
|
||||
<div class="space-y-2 flex flex-col justify-center items-center">
|
||||
<span class="rounded-lg title text-lg">
|
||||
<div class="flex flex-col justify-center items-center space-y-2">
|
||||
<span class="text-lg rounded-lg title">
|
||||
<%= gettext("Count:") %>
|
||||
<%= @pack.count %>
|
||||
</span>
|
||||
|
||||
<span class="rounded-lg title text-lg">
|
||||
<span class="text-lg rounded-lg title">
|
||||
<%= gettext("Original count:") %>
|
||||
<%= @original_count %>
|
||||
</span>
|
||||
|
||||
<span class="rounded-lg title text-lg">
|
||||
<span class="text-lg rounded-lg title">
|
||||
<%= gettext("Percentage left:") %>
|
||||
<%= gettext("%{percentage}%", percentage: @percentage_remaining) %>
|
||||
</span>
|
||||
|
||||
<%= if @pack.notes do %>
|
||||
<span class="rounded-lg title text-lg">
|
||||
<span class="text-lg rounded-lg title">
|
||||
<%= gettext("Notes:") %>
|
||||
<%= @pack.notes %>
|
||||
</span>
|
||||
<% end %>
|
||||
|
||||
<span class="rounded-lg title text-lg">
|
||||
<span class="text-lg rounded-lg title">
|
||||
<%= gettext("Purchased on:") %>
|
||||
<.date id={"#{@pack.id}-purchased-on"} date={@pack.purchased_on} />
|
||||
</span>
|
||||
|
||||
<%= if @pack.price_paid do %>
|
||||
<span class="rounded-lg title text-lg">
|
||||
<span class="text-lg rounded-lg title">
|
||||
<%= gettext("Original cost:") %>
|
||||
<%= gettext("$%{amount}", amount: display_currency(@pack.price_paid)) %>
|
||||
</span>
|
||||
|
||||
<span class="rounded-lg title text-lg">
|
||||
<span class="text-lg rounded-lg title">
|
||||
<%= gettext("Current value:") %>
|
||||
<%= gettext("$%{amount}",
|
||||
amount: display_currency(@pack.price_paid * @percentage_remaining / 100)
|
||||
@ -76,12 +76,6 @@
|
||||
</div>
|
||||
|
||||
<div class="flex flex-wrap justify-center items-center text-primary-600">
|
||||
<button type="button" class="mx-4 my-2 btn btn-primary" phx-click="toggle_staged">
|
||||
<%= if @pack.staged,
|
||||
do: dgettext("actions", "Unstage from range"),
|
||||
else: dgettext("actions", "Stage for range") %>
|
||||
</button>
|
||||
|
||||
<.link patch={~p"/ammo/show/move/#{@pack}"} class="btn btn-primary">
|
||||
<%= dgettext("actions", "Move ammo") %>
|
||||
</.link>
|
||||
@ -96,7 +90,7 @@
|
||||
|
||||
<div>
|
||||
<%= if @container do %>
|
||||
<h1 class="mb-4 px-4 py-2 text-center rounded-lg title text-xl">
|
||||
<h1 class="px-4 py-2 mb-4 text-xl text-center rounded-lg title">
|
||||
<%= gettext("Stored in") %>
|
||||
</h1>
|
||||
|
||||
@ -109,7 +103,7 @@
|
||||
<%= unless @shot_records |> Enum.empty?() do %>
|
||||
<hr class="mb-4 w-full" />
|
||||
|
||||
<h1 class="mb-4 px-4 py-2 text-center rounded-lg title text-xl">
|
||||
<h1 class="px-4 py-2 mb-4 text-xl text-center rounded-lg title">
|
||||
<%= gettext("Rounds used") %>
|
||||
</h1>
|
||||
|
||||
|
@ -4,16 +4,37 @@ defmodule CanneryWeb.RangeLive.Index do
|
||||
"""
|
||||
|
||||
use CanneryWeb, :live_view
|
||||
alias Cannery.{ActivityLog, ActivityLog.ShotRecord, Ammo}
|
||||
alias Cannery.{ActivityLog, ActivityLog.ShotRecord}
|
||||
alias Cannery.{Ammo, Containers}
|
||||
alias Phoenix.LiveView.Socket
|
||||
|
||||
@impl true
|
||||
def mount(%{"search" => search}, _session, socket) do
|
||||
{:ok, socket |> assign(class: :all, search: search) |> display_shot_records()}
|
||||
socket =
|
||||
socket
|
||||
|> assign(
|
||||
class: :all,
|
||||
start_date: Date.shift(Date.utc_today(), year: -1),
|
||||
end_date: Date.utc_today(),
|
||||
search: search
|
||||
)
|
||||
|> display_shot_records()
|
||||
|
||||
{:ok, socket}
|
||||
end
|
||||
|
||||
def mount(_params, _session, socket) do
|
||||
{:ok, socket |> assign(class: :all, search: nil) |> display_shot_records()}
|
||||
socket =
|
||||
socket
|
||||
|> assign(
|
||||
class: :all,
|
||||
start_date: Date.shift(Date.utc_today(), year: -1),
|
||||
end_date: Date.utc_today(),
|
||||
search: nil
|
||||
)
|
||||
|> display_shot_records()
|
||||
|
||||
{:ok, socket}
|
||||
end
|
||||
|
||||
@impl true
|
||||
@ -71,7 +92,7 @@ defmodule CanneryWeb.RangeLive.Index do
|
||||
|
||||
@impl true
|
||||
def handle_event("delete", %{"id" => id}, %{assigns: %{current_user: current_user}} = socket) do
|
||||
{:ok, _} =
|
||||
{:ok, _shot_record} =
|
||||
ActivityLog.get_shot_record!(id, current_user)
|
||||
|> ActivityLog.delete_shot_record(current_user)
|
||||
|
||||
@ -81,14 +102,16 @@ defmodule CanneryWeb.RangeLive.Index do
|
||||
|
||||
def handle_event(
|
||||
"toggle_staged",
|
||||
%{"pack_id" => pack_id},
|
||||
%{"container_id" => container_id},
|
||||
%{assigns: %{current_user: current_user}} = socket
|
||||
) do
|
||||
pack = Ammo.get_pack!(pack_id, current_user)
|
||||
container = Containers.get_container!(container_id, current_user)
|
||||
|
||||
{:ok, _pack} = pack |> Ammo.update_pack(%{"staged" => !pack.staged}, current_user)
|
||||
{:ok, _container} =
|
||||
container
|
||||
|> Containers.update_container(current_user, %{"staged" => !container.staged})
|
||||
|
||||
prompt = dgettext("prompts", "Ammo unstaged succesfully")
|
||||
prompt = dgettext("prompts", "Container unstaged succesfully")
|
||||
{:noreply, socket |> put_flash(:info, prompt) |> display_shot_records()}
|
||||
end
|
||||
|
||||
@ -116,11 +139,49 @@ defmodule CanneryWeb.RangeLive.Index do
|
||||
{:noreply, socket |> assign(:class, :all) |> display_shot_records()}
|
||||
end
|
||||
|
||||
def handle_event(
|
||||
"change_dates",
|
||||
%{
|
||||
"dates_start" => start_date,
|
||||
"dates_end" => end_date
|
||||
},
|
||||
socket
|
||||
) do
|
||||
socket =
|
||||
socket
|
||||
|> assign(
|
||||
start_date: start_date,
|
||||
end_date: end_date
|
||||
)
|
||||
|> display_shot_records()
|
||||
|
||||
{:noreply, socket}
|
||||
end
|
||||
|
||||
@spec display_shot_records(Socket.t()) :: Socket.t()
|
||||
defp display_shot_records(
|
||||
%{assigns: %{class: class, search: search, current_user: current_user}} = socket
|
||||
%{
|
||||
assigns: %{
|
||||
class: class,
|
||||
start_date: start_date,
|
||||
end_date: end_date,
|
||||
search: search,
|
||||
current_user: current_user
|
||||
}
|
||||
} = socket
|
||||
) do
|
||||
shot_records = ActivityLog.list_shot_records(current_user, search: search, class: class)
|
||||
shot_records =
|
||||
ActivityLog.list_shot_records(current_user,
|
||||
class: class,
|
||||
end_date: end_date,
|
||||
search: search,
|
||||
start_date: start_date
|
||||
)
|
||||
|
||||
containers =
|
||||
Containers.list_containers(current_user, staged: true)
|
||||
|> Map.new(fn container = %{id: container_id} -> {container_id, container} end)
|
||||
|
||||
packs = Ammo.list_packs(current_user, staged: true)
|
||||
chart_data = shot_records |> get_chart_data_for_shot_record()
|
||||
original_counts = packs |> Ammo.get_original_counts(current_user)
|
||||
@ -130,6 +191,7 @@ defmodule CanneryWeb.RangeLive.Index do
|
||||
|
||||
socket
|
||||
|> assign(
|
||||
containers: containers,
|
||||
packs: packs,
|
||||
original_counts: original_counts,
|
||||
cprs: cprs,
|
||||
@ -153,6 +215,5 @@ defmodule CanneryWeb.RangeLive.Index do
|
||||
label: gettext("Rounds shot: %{count}", count: sum)
|
||||
}
|
||||
end)
|
||||
|> Enum.sort_by(fn %{date: date} -> date end, Date)
|
||||
end
|
||||
end
|
||||
|
@ -1,43 +1,55 @@
|
||||
<div class="flex flex-col space-y-8 justify-center items-center">
|
||||
<h1 class="title text-2xl title-primary-500">
|
||||
<div class="flex flex-col justify-center items-center space-y-8">
|
||||
<h1 class="text-2xl title title-primary-500">
|
||||
<%= gettext("Range day") %>
|
||||
</h1>
|
||||
|
||||
<%= if @packs |> Enum.empty?() do %>
|
||||
<h1 class="title text-xl text-primary-600">
|
||||
<%= gettext("No ammo staged") %>
|
||||
<%= if @containers |> Enum.empty?() do %>
|
||||
<h1 class="text-xl title text-primary-600">
|
||||
<%= gettext("No containers staged") %>
|
||||
<%= display_emoji("😔") %>
|
||||
</h1>
|
||||
|
||||
<.link navigate={~p"/ammo"} class="btn btn-primary">
|
||||
<.link navigate={~p"/containers"} class="btn btn-primary">
|
||||
<%= dgettext("actions", "Why not get some ready to shoot?") %>
|
||||
</.link>
|
||||
<% else %>
|
||||
<.link navigate={~p"/ammo"} class="btn btn-primary">
|
||||
<%= dgettext("actions", "Stage ammo") %>
|
||||
<.link navigate={~p"/containers"} class="btn btn-primary">
|
||||
<%= dgettext("actions", "Stage containers") %>
|
||||
</.link>
|
||||
|
||||
<div class="w-full flex flex-row flex-wrap justify-center items-stretch">
|
||||
<div class="flex flex-row flex-wrap justify-center items-stretch w-full">
|
||||
<.container_card
|
||||
:for={{container_id, container} <- @containers}
|
||||
container={container}
|
||||
current_user={@current_user}
|
||||
>
|
||||
<div class="flex flex-wrap justify-center items-center px-4 py-2 h-full min-w-20">
|
||||
<button
|
||||
type="button"
|
||||
class="mx-2 my-1 text-sm btn btn-primary"
|
||||
phx-click="toggle_staged"
|
||||
phx-value-container_id={container_id}
|
||||
>
|
||||
<%= if container.staged,
|
||||
do: dgettext("actions", "Unstage"),
|
||||
else: dgettext("actions", "Stage") %>
|
||||
</button>
|
||||
</div>
|
||||
</.container_card>
|
||||
</div>
|
||||
|
||||
<hr class="hr" />
|
||||
|
||||
<div class="flex flex-row flex-wrap justify-center items-stretch w-full">
|
||||
<.pack_card
|
||||
:for={%{id: pack_id} = pack <- @packs}
|
||||
:for={%{id: pack_id, container_id: container_id} = pack <- @packs}
|
||||
pack={pack}
|
||||
original_count={Map.fetch!(@original_counts, pack_id)}
|
||||
cpr={Map.get(@cprs, pack_id)}
|
||||
last_used_date={Map.get(@last_used_dates, pack_id)}
|
||||
current_user={@current_user}
|
||||
container={Map.fetch!(@containers, container_id)}
|
||||
>
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-primary"
|
||||
phx-click="toggle_staged"
|
||||
phx-value-pack_id={pack.id}
|
||||
data-confirm={"#{dgettext("prompts", "Are you sure you want to unstage this ammo?")}"}
|
||||
>
|
||||
<%= if pack.staged,
|
||||
do: dgettext("actions", "Unstage from range"),
|
||||
else: dgettext("actions", "Stage for range") %>
|
||||
</button>
|
||||
|
||||
<.link patch={~p"/range/add_shot_record/#{pack}"} class="btn btn-primary">
|
||||
<%= dgettext("actions", "Record shots") %>
|
||||
</.link>
|
||||
@ -48,12 +60,12 @@
|
||||
<hr class="hr" />
|
||||
|
||||
<%= if @shot_record_count == 0 do %>
|
||||
<h1 class="title text-xl text-primary-600">
|
||||
<h1 class="text-xl title text-primary-600">
|
||||
<%= gettext("No shots recorded") %>
|
||||
<%= display_emoji("😔") %>
|
||||
</h1>
|
||||
<% else %>
|
||||
<h1 class="title text-2xl text-primary-600">
|
||||
<h1 class="text-2xl title text-primary-600">
|
||||
<%= gettext("Shot log") %>
|
||||
</h1>
|
||||
|
||||
@ -71,7 +83,7 @@
|
||||
<%= dgettext("errors", "Your browser does not support the canvas element.") %>
|
||||
</canvas>
|
||||
|
||||
<div class="w-full flex flex-col sm:flex-row justify-center items-center space-y-4 sm:space-y-0 sm:space-x-4 max-w-2xl">
|
||||
<div class="flex flex-col justify-center items-center space-y-4 w-full max-w-2xl sm:flex-row sm:space-y-0 sm:space-x-4">
|
||||
<.form
|
||||
:let={f}
|
||||
for={%{}}
|
||||
@ -104,7 +116,7 @@
|
||||
as={:search}
|
||||
phx-change="search"
|
||||
phx-submit="search"
|
||||
class="grow flex items-center"
|
||||
class="flex items-center grow"
|
||||
>
|
||||
<%= text_input(f, :search_term,
|
||||
class: "grow input input-primary",
|
||||
@ -114,10 +126,25 @@
|
||||
value: @search
|
||||
) %>
|
||||
</.form>
|
||||
|
||||
<.form
|
||||
:let={f}
|
||||
for={%{}}
|
||||
as={:shot_records}
|
||||
phx-change="change_dates"
|
||||
phx-submit="change_dates"
|
||||
class="flex items-center"
|
||||
>
|
||||
<%= label(f, :dates_start, gettext("Dates"),
|
||||
class: "title text-primary-600 text-lg text-center"
|
||||
) %>
|
||||
|
||||
<.date_range name="dates" />
|
||||
</.form>
|
||||
</div>
|
||||
|
||||
<%= if @shot_records |> Enum.empty?() do %>
|
||||
<h1 class="title text-xl text-primary-600">
|
||||
<h1 class="text-xl title text-primary-600">
|
||||
<%= gettext("No shots recorded") %>
|
||||
<%= display_emoji("😔") %>
|
||||
</h1>
|
||||
@ -129,7 +156,7 @@
|
||||
current_user={@current_user}
|
||||
>
|
||||
<:actions :let={shot_record}>
|
||||
<div class="px-4 py-2 space-x-4 flex justify-center items-center">
|
||||
<div class="flex justify-center items-center px-4 py-2 space-x-4">
|
||||
<.link
|
||||
patch={~p"/range/edit/#{shot_record}"}
|
||||
class="text-primary-600 link"
|
||||
|
@ -120,7 +120,7 @@ defmodule CanneryWeb.Router do
|
||||
#
|
||||
# Note that preview only shows emails that were sent by the same
|
||||
# node running the Phoenix server.
|
||||
if Mix.env() == :dev do
|
||||
if Application.compile_env(:cannery, :env) == :dev do
|
||||
scope "/dev" do
|
||||
pipe_through :browser
|
||||
|
||||
|
2
mix.exs
2
mix.exs
@ -5,7 +5,7 @@ defmodule Cannery.MixProject do
|
||||
[
|
||||
app: :cannery,
|
||||
version: "0.9.13",
|
||||
elixir: "1.17.3",
|
||||
elixir: "1.18.1",
|
||||
elixirc_paths: elixirc_paths(Mix.env()),
|
||||
start_permanent: Mix.env() == :prod,
|
||||
aliases: aliases(),
|
||||
|
@ -131,7 +131,7 @@ msgstr ""
|
||||
msgid "Send instructions to reset password"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:65
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:73
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Why not add one?"
|
||||
msgstr ""
|
||||
@ -141,19 +141,14 @@ msgstr ""
|
||||
msgid "Add"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:17
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Stage ammo"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:13
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Why not get some ready to shoot?"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:127
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:90
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:42
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:116
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:84
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:54
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Record shots"
|
||||
msgstr ""
|
||||
@ -199,8 +194,8 @@ msgid "View in Catalog"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/move_pack_component.ex:77
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:138
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:86
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:127
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:80
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Move ammo"
|
||||
msgstr ""
|
||||
@ -210,14 +205,12 @@ msgstr ""
|
||||
msgid "Set Unlimited"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:82
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:38
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:59
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Stage for range"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:81
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:37
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:58
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Unstage from range"
|
||||
msgstr ""
|
||||
@ -227,8 +220,8 @@ msgstr ""
|
||||
msgid "Export Data as JSON"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:87
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:145
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:101
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:159
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Clone %{container_name}"
|
||||
msgstr ""
|
||||
@ -238,8 +231,8 @@ msgstr ""
|
||||
msgid "Copy invite link for %{invite_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:104
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:162
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:118
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:176
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:48
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Delete %{container_name}"
|
||||
@ -255,8 +248,8 @@ msgstr ""
|
||||
msgid "Delete invite for %{invite_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:77
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:135
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:91
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:149
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:35
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit %{container_name}"
|
||||
@ -272,54 +265,56 @@ msgstr ""
|
||||
msgid "Edit invite for %{invite_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:120
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:69
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:35
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Stage"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:65
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:124
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:79
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:138
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Tag %{container_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:119
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:68
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:34
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Unstage"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:172
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:161
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Clone pack of %{pack_count} bullets"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:187
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:176
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:71
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Delete pack of %{pack_count} bullets"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:160
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:149
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:59
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit pack of %{pack_count} bullets"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:139
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:148
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:147
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:137
|
||||
#: lib/cannery_web/live/type_live/show.html.heex:201
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "View pack of %{pack_count} bullets"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.ex:159
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:154
|
||||
#: lib/cannery_web/live/pack_live/show.ex:149
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:181
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Delete shot record of %{shot_record_count} shots"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.ex:144
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:137
|
||||
#: lib/cannery_web/live/pack_live/show.ex:134
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:164
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit shot record of %{shot_record_count} shots"
|
||||
msgstr ""
|
||||
@ -355,3 +350,8 @@ msgstr ""
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "add a type first"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:17
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Stage containers"
|
||||
msgstr ""
|
||||
|
@ -144,7 +144,7 @@ msgstr "Speichern"
|
||||
msgid "Send instructions to reset password"
|
||||
msgstr "Anleitung zum Passwort zurücksetzen zusenden"
|
||||
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:65
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:73
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Why not add one?"
|
||||
msgstr "Warum fügen Sie keine hinzu?"
|
||||
@ -154,19 +154,14 @@ msgstr "Warum fügen Sie keine hinzu?"
|
||||
msgid "Add"
|
||||
msgstr "Hinzufügen"
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:17
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Stage ammo"
|
||||
msgstr "Munition markieren"
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:13
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Why not get some ready to shoot?"
|
||||
msgstr "Warum nicht einige für den Schießstand auswählen?"
|
||||
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:127
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:90
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:42
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:116
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:84
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:54
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Record shots"
|
||||
msgstr "Schüsse dokumentieren"
|
||||
@ -212,8 +207,8 @@ msgid "View in Catalog"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/move_pack_component.ex:77
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:138
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:86
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:127
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:80
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Move ammo"
|
||||
msgstr ""
|
||||
@ -223,14 +218,12 @@ msgstr ""
|
||||
msgid "Set Unlimited"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:82
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:38
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:59
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Stage for range"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:81
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:37
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:58
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Unstage from range"
|
||||
msgstr ""
|
||||
@ -240,8 +233,8 @@ msgstr ""
|
||||
msgid "Export Data as JSON"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:87
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:145
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:101
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:159
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Clone %{container_name}"
|
||||
msgstr ""
|
||||
@ -251,8 +244,8 @@ msgstr ""
|
||||
msgid "Copy invite link for %{invite_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:104
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:162
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:118
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:176
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:48
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Delete %{container_name}"
|
||||
@ -268,8 +261,8 @@ msgstr ""
|
||||
msgid "Delete invite for %{invite_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:77
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:135
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:91
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:149
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:35
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit %{container_name}"
|
||||
@ -285,54 +278,56 @@ msgstr ""
|
||||
msgid "Edit invite for %{invite_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:120
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:69
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:35
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Stage"
|
||||
msgstr "Munition markieren"
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:65
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:124
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:79
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:138
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Tag %{container_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:119
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:68
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:34
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Unstage"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:172
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:161
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Clone pack of %{pack_count} bullets"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:187
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:176
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:71
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Delete pack of %{pack_count} bullets"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:160
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:149
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:59
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Edit pack of %{pack_count} bullets"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:139
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:148
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:147
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:137
|
||||
#: lib/cannery_web/live/type_live/show.html.heex:201
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "View pack of %{pack_count} bullets"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.ex:159
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:154
|
||||
#: lib/cannery_web/live/pack_live/show.ex:149
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:181
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Delete shot record of %{shot_record_count} shots"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.ex:144
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:137
|
||||
#: lib/cannery_web/live/pack_live/show.ex:134
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:164
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Edit shot record of %{shot_record_count} shots"
|
||||
msgstr ""
|
||||
@ -368,3 +363,8 @@ msgstr ""
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "add a type first"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:17
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Stage containers"
|
||||
msgstr ""
|
||||
|
@ -117,7 +117,7 @@ msgstr "Anzahl"
|
||||
msgid "Count:"
|
||||
msgstr "Anzahl:"
|
||||
|
||||
#: lib/cannery_web/components/container_table_component.ex:46
|
||||
#: lib/cannery_web/components/container_table_component.ex:50
|
||||
#: lib/cannery_web/live/container_live/form_component.html.heex:30
|
||||
#: lib/cannery_web/live/type_live/form_component.html.heex:43
|
||||
#, elixir-autogen, elixir-format
|
||||
@ -189,7 +189,7 @@ msgstr "Einladungen"
|
||||
msgid "Keep me logged in for 60 days"
|
||||
msgstr "Für 60 Tage eingeloggt bleiben"
|
||||
|
||||
#: lib/cannery_web/components/container_table_component.ex:47
|
||||
#: lib/cannery_web/components/container_table_component.ex:51
|
||||
#: lib/cannery_web/components/move_pack_component.ex:66
|
||||
#: lib/cannery_web/live/container_live/form_component.html.heex:49
|
||||
#, elixir-autogen, elixir-format
|
||||
@ -224,7 +224,7 @@ msgstr "Metallene Munitionskiste mit Anime-Girl-Sticker"
|
||||
msgid "My cool ammo can"
|
||||
msgstr "Meine coole Munitionskiste"
|
||||
|
||||
#: lib/cannery_web/components/container_table_component.ex:45
|
||||
#: lib/cannery_web/components/container_table_component.ex:49
|
||||
#: lib/cannery_web/components/type_table_component.ex:152
|
||||
#: lib/cannery_web/live/container_live/form_component.html.heex:21
|
||||
#: lib/cannery_web/live/invite_live/form_component.html.heex:21
|
||||
@ -281,7 +281,7 @@ msgstr "Keine Tags"
|
||||
#: lib/cannery_web/components/add_shot_record_component.html.heex:38
|
||||
#: lib/cannery_web/components/shot_record_table_component.ex:46
|
||||
#: lib/cannery_web/live/pack_live/form_component.html.heex:75
|
||||
#: lib/cannery_web/live/pack_live/show.ex:90
|
||||
#: lib/cannery_web/live/pack_live/show.ex:80
|
||||
#: lib/cannery_web/live/range_live/form_component.html.heex:30
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Notes"
|
||||
@ -354,12 +354,12 @@ msgstr "Einfach:"
|
||||
msgid "Steel"
|
||||
msgstr "Stahl"
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:100
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:94
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Stored in"
|
||||
msgstr "Gelagert in"
|
||||
|
||||
#: lib/cannery_web/components/container_table_component.ex:66
|
||||
#: lib/cannery_web/components/container_table_component.ex:73
|
||||
#: lib/cannery_web/components/core_components/topbar.html.heex:28
|
||||
#: lib/cannery_web/live/tag_live/index.ex:43
|
||||
#: lib/cannery_web/live/tag_live/index.ex:53
|
||||
@ -389,7 +389,7 @@ msgstr "Die selbst-gehostete Website zur Verwaltung von Schusswaffen"
|
||||
msgid "Tracer"
|
||||
msgstr "Leuchtspur"
|
||||
|
||||
#: lib/cannery_web/components/container_table_component.ex:48
|
||||
#: lib/cannery_web/components/container_table_component.ex:52
|
||||
#: lib/cannery_web/components/move_pack_component.ex:65
|
||||
#: lib/cannery_web/components/pack_table_component.ex:108
|
||||
#: lib/cannery_web/live/container_live/form_component.html.heex:40
|
||||
@ -419,15 +419,16 @@ msgstr "Verbleibende Nutzung"
|
||||
msgid "Your data stays with you, period"
|
||||
msgstr "Ihre Daten bleiben bei Ihnen, Punkt"
|
||||
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:60
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:68
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No tags for this container"
|
||||
msgstr "Keine Tags für diesen Behälter"
|
||||
|
||||
#: lib/cannery_web/components/container_table_component.ex:77
|
||||
#: lib/cannery_web/components/core_components/topbar.html.heex:48
|
||||
#: lib/cannery_web/components/pack_table_component.ex:80
|
||||
#: lib/cannery_web/live/range_live/index.ex:55
|
||||
#: lib/cannery_web/live/range_live/index.ex:65
|
||||
#: lib/cannery_web/live/range_live/index.ex:76
|
||||
#: lib/cannery_web/live/range_live/index.ex:86
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Range"
|
||||
msgstr "Schießplatz"
|
||||
@ -439,7 +440,7 @@ msgstr "Range Day"
|
||||
|
||||
#: lib/cannery_web/components/add_shot_record_component.html.heex:49
|
||||
#: lib/cannery_web/components/shot_record_table_component.ex:47
|
||||
#: lib/cannery_web/live/pack_live/show.ex:91
|
||||
#: lib/cannery_web/live/pack_live/show.ex:81
|
||||
#: lib/cannery_web/live/range_live/form_component.html.heex:41
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Date"
|
||||
@ -450,26 +451,21 @@ msgstr "Datum"
|
||||
msgid "Shots fired"
|
||||
msgstr "Schüsse abgegeben"
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:8
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No ammo staged"
|
||||
msgstr "Keine Munition selektiert"
|
||||
|
||||
#: lib/cannery_web/components/add_shot_record_component.html.heex:3
|
||||
#: lib/cannery_web/live/pack_live/index.ex:35
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Record shots"
|
||||
msgstr "Schüsse dokumentieren"
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:52
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:121
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:64
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:148
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No shots recorded"
|
||||
msgstr "Keine Schüsse dokumentiert"
|
||||
|
||||
#: lib/cannery_web/components/shot_record_table_component.ex:45
|
||||
#: lib/cannery_web/live/pack_live/show.ex:89
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:66
|
||||
#: lib/cannery_web/live/pack_live/show.ex:79
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:78
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Rounds shot"
|
||||
msgstr "Patronen abgefeuert"
|
||||
@ -484,7 +480,7 @@ msgstr "Munition verschieben"
|
||||
msgid "No other containers"
|
||||
msgstr "Kein weiterer Behälter"
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:57
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:69
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Shot log"
|
||||
msgstr "Schießkladde"
|
||||
@ -492,7 +488,7 @@ msgstr "Schießkladde"
|
||||
#: lib/cannery_web/components/core_components/pack_card.html.heex:42
|
||||
#: lib/cannery_web/components/core_components/pack_card.html.heex:47
|
||||
#: lib/cannery_web/components/pack_table_component.ex:181
|
||||
#: lib/cannery_web/components/pack_table_component.ex:264
|
||||
#: lib/cannery_web/components/pack_table_component.ex:263
|
||||
#: lib/cannery_web/components/type_table_component.ex:273
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:37
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:42
|
||||
@ -565,13 +561,13 @@ msgid "Reconnecting..."
|
||||
msgstr "Neu verbinden..."
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.ex:28
|
||||
#: lib/cannery_web/live/container_live/show.ex:118
|
||||
#: lib/cannery_web/live/container_live/show.ex:130
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit %{name}"
|
||||
msgstr "%{name} bearbeiten"
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.ex:63
|
||||
#: lib/cannery_web/live/container_live/show.ex:119
|
||||
#: lib/cannery_web/live/container_live/show.ex:131
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit %{name} tags"
|
||||
msgstr "Editiere %{name} Tags"
|
||||
@ -584,7 +580,7 @@ msgid "Rounds:"
|
||||
msgstr "Patronen:"
|
||||
|
||||
#: lib/cannery_web/components/pack_table_component.ex:178
|
||||
#: lib/cannery_web/components/pack_table_component.ex:260
|
||||
#: lib/cannery_web/components/pack_table_component.ex:259
|
||||
#: lib/cannery_web/components/type_table_component.ex:272
|
||||
#: lib/cannery_web/live/type_live/show.html.heex:154
|
||||
#, elixir-autogen, elixir-format
|
||||
@ -616,7 +612,7 @@ msgstr "Ursprüngliche Anzahl:"
|
||||
msgid "Percentage left:"
|
||||
msgstr "Prozent verbleibend:"
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:113
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:107
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Rounds used"
|
||||
msgstr "Patronen verbraucht"
|
||||
@ -647,8 +643,8 @@ msgid "Reset your password"
|
||||
msgstr "Passwort zurücksetzen"
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.ex:40
|
||||
#: lib/cannery_web/live/range_live/index.ex:31
|
||||
#: lib/cannery_web/live/range_live/index.ex:47
|
||||
#: lib/cannery_web/live/range_live/index.ex:52
|
||||
#: lib/cannery_web/live/range_live/index.ex:68
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Record Shots"
|
||||
msgstr "Schüsse dokumentieren"
|
||||
@ -706,7 +702,7 @@ msgstr "Munitionstyp bearbeiten"
|
||||
msgid "Move Ammo"
|
||||
msgstr "Munition verschieben"
|
||||
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:117
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:125
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "No ammo in this container"
|
||||
msgstr "Keine Munitionsgruppe in diesem Behälter"
|
||||
@ -716,7 +712,7 @@ msgstr "Keine Munitionsgruppe in diesem Behälter"
|
||||
msgid "Show Ammo"
|
||||
msgstr "Zeige Munitionsarten"
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:105
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:99
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "This ammo is not in a container"
|
||||
msgstr "Diese Munitionsgruppe ist nicht in einem Behälter"
|
||||
@ -756,31 +752,31 @@ msgstr "Behälter"
|
||||
msgid "Show used"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/pack_table_component.ex:219
|
||||
#: lib/cannery_web/components/pack_table_component.ex:218
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:19
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{percentage}%"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.ex:153
|
||||
#: lib/cannery_web/live/range_live/index.ex:215
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Rounds shot: %{count}"
|
||||
msgstr "Patronen abgefeuert"
|
||||
|
||||
#: lib/cannery_web/components/container_table_component.ex:64
|
||||
#: lib/cannery_web/components/container_table_component.ex:68
|
||||
#: lib/cannery_web/components/type_table_component.ex:122
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Packs"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/container_table_component.ex:65
|
||||
#: lib/cannery_web/components/container_table_component.ex:69
|
||||
#: lib/cannery_web/components/type_table_component.ex:143
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Rounds"
|
||||
msgstr "Patronen:"
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:40
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:109
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:117
|
||||
#: lib/cannery_web/live/type_live/show.html.heex:170
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "View as table"
|
||||
@ -826,7 +822,7 @@ msgstr ""
|
||||
msgid "Used rounds:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:68
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:80
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Rounds shot chart"
|
||||
msgstr "Patronen abgefeuert"
|
||||
@ -933,7 +929,7 @@ msgid "Average CPR"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/core_components/pack_card.html.heex:17
|
||||
#: lib/cannery_web/components/pack_table_component.ex:268
|
||||
#: lib/cannery_web/components/pack_table_component.ex:267
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Empty"
|
||||
msgstr ""
|
||||
@ -1015,7 +1011,7 @@ msgstr ""
|
||||
msgid "Search tags"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:112
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:124
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Search shot records"
|
||||
msgstr ""
|
||||
@ -1150,12 +1146,12 @@ msgstr ""
|
||||
msgid "Really great weather"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/container_table_component.ex:67
|
||||
#: lib/cannery_web/components/container_table_component.ex:74
|
||||
#: lib/cannery_web/components/move_pack_component.ex:67
|
||||
#: lib/cannery_web/components/pack_table_component.ex:62
|
||||
#: lib/cannery_web/components/shot_record_table_component.ex:48
|
||||
#: lib/cannery_web/components/type_table_component.ex:99
|
||||
#: lib/cannery_web/live/pack_live/show.ex:92
|
||||
#: lib/cannery_web/live/pack_live/show.ex:82
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Actions"
|
||||
msgstr ""
|
||||
@ -1181,9 +1177,9 @@ msgstr ""
|
||||
msgid "Close modal"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:97
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:105
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:58
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:91
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:103
|
||||
#: lib/cannery_web/live/type_live/index.html.heex:37
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "All"
|
||||
@ -1264,10 +1260,10 @@ msgstr "Keine Munition"
|
||||
msgid "None specified"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:100
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:108
|
||||
#: lib/cannery_web/live/pack_live/form_component.html.heex:30
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:61
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:94
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:106
|
||||
#: lib/cannery_web/live/type_live/form_component.html.heex:28
|
||||
#: lib/cannery_web/live/type_live/index.html.heex:40
|
||||
#: lib/cannery_web/live/type_live/show.html.heex:56
|
||||
@ -1290,10 +1286,10 @@ msgstr "Zündertyp"
|
||||
msgid "Projectile"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:98
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:106
|
||||
#: lib/cannery_web/live/pack_live/form_component.html.heex:28
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:59
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:92
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:104
|
||||
#: lib/cannery_web/live/type_live/form_component.html.heex:26
|
||||
#: lib/cannery_web/live/type_live/index.html.heex:38
|
||||
#: lib/cannery_web/live/type_live/show.html.heex:54
|
||||
@ -1345,10 +1341,10 @@ msgstr ""
|
||||
msgid "Shot type:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:99
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:107
|
||||
#: lib/cannery_web/live/pack_live/form_component.html.heex:29
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:60
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:93
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:105
|
||||
#: lib/cannery_web/live/type_live/form_component.html.heex:27
|
||||
#: lib/cannery_web/live/type_live/index.html.heex:39
|
||||
#: lib/cannery_web/live/type_live/show.html.heex:52
|
||||
@ -1390,10 +1386,10 @@ msgid "Wadding:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/type_table_component.ex:149
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:91
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:99
|
||||
#: lib/cannery_web/live/pack_live/form_component.html.heex:22
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:50
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:83
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:95
|
||||
#: lib/cannery_web/live/type_live/form_component.html.heex:21
|
||||
#: lib/cannery_web/live/type_live/index.html.heex:29
|
||||
#: lib/cannery_web/live/type_live/show.html.heex:46
|
||||
@ -1413,7 +1409,7 @@ msgid "Used up!"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.ex:41
|
||||
#: lib/cannery_web/live/range_live/index.ex:39
|
||||
#: lib/cannery_web/live/range_live/index.ex:60
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Edit Shot Record"
|
||||
msgstr "Schießkladde editieren"
|
||||
@ -1451,3 +1447,13 @@ msgstr ""
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Any"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:138
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Dates"
|
||||
msgstr "Datum"
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:8
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "No containers staged"
|
||||
msgstr "Kein Behälter"
|
||||
|
@ -23,7 +23,7 @@ msgstr ""
|
||||
## Run "mix gettext.extract" to bring this file up to
|
||||
## date. Leave "msgstr"s empty as changing them here has no
|
||||
## effect: edit them in PO (.po) files instead.
|
||||
#: lib/cannery/containers.ex:222
|
||||
#: lib/cannery/containers.ex:234
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Container must be empty before deleting"
|
||||
msgstr "Behälter muss vor dem Löschen leer sein"
|
||||
@ -170,7 +170,7 @@ msgstr ""
|
||||
"Ungültige Nummer an Kopien. Muss zwischen 1 and %{max} liegen. War "
|
||||
"%{multiplier}"
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:71
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:83
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Your browser does not support the canvas element."
|
||||
msgstr ""
|
||||
@ -216,12 +216,12 @@ msgstr ""
|
||||
msgid "You must log in to access this page."
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery/ammo/pack.ex:98
|
||||
#: lib/cannery/ammo/pack.ex:101
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Please select a valid container"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery/ammo/pack.ex:96
|
||||
#: lib/cannery/ammo/pack.ex:99
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Please select a valid type"
|
||||
msgstr ""
|
||||
|
@ -58,22 +58,22 @@ msgid "A link to confirm your email change has been sent to the new address."
|
||||
msgstr "Eine Mail zum Bestätigen ihre Mailadresse wurde Ihnen zugesandt."
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:110
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:138
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:145
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete %{email}? This action is permanent!"
|
||||
msgstr ""
|
||||
"Sind Sie sicher, dass sie %{email} löschen möchten? Dies kann nicht "
|
||||
"zurückgenommen werden!"
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:99
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:157
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:113
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:171
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:45
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:63
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete %{name}?"
|
||||
msgstr "Sind Sie sicher, dass sie %{name} löschen möchten?"
|
||||
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:185
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:174
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:69
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete this ammo?"
|
||||
@ -171,19 +171,14 @@ msgstr "Füge hinzu..."
|
||||
msgid "Shots recorded successfully"
|
||||
msgstr "Schüsse erfolgreich dokumentiert"
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:34
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to unstage this ammo?"
|
||||
msgstr "Sind sie sicher, dass Sie diese Munition demarkieren möchten?"
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.ex:157
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:151
|
||||
#: lib/cannery_web/live/pack_live/show.ex:147
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:178
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete this shot record?"
|
||||
msgstr "Sind sie sicher, dass sie die Schießkladde löschen möchten?"
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.ex:79
|
||||
#: lib/cannery_web/live/range_live/index.ex:78
|
||||
#: lib/cannery_web/live/pack_live/show.ex:69
|
||||
#: lib/cannery_web/live/range_live/index.ex:99
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Shot records deleted succesfully"
|
||||
msgstr "Schießkladde erfolgreich gelöscht"
|
||||
@ -240,11 +235,6 @@ msgstr "Spracheinstellung gespeichert."
|
||||
msgid "Ammo deleted succesfully"
|
||||
msgstr "Munitionsgruppe erfolgreich gelöscht"
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.ex:91
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Ammo unstaged succesfully"
|
||||
msgstr "Munition erfolgreich demarkiert"
|
||||
|
||||
#: lib/cannery_web/live/pack_live/form_component.ex:141
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Ammo updated successfully"
|
||||
@ -288,7 +278,7 @@ msgstr "%{name} erfolgreich aktiviert"
|
||||
msgid "%{invite_name} updated succesfully"
|
||||
msgstr "%{name} erfolgreich aktualisiert"
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.ex:125
|
||||
#: lib/cannery_web/live/invite_live/index.ex:139
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "%{user_email} deleted succesfully"
|
||||
msgstr "%{name} erfolgreich gelöscht"
|
||||
@ -302,3 +292,13 @@ msgstr "Sind Sie sicher, dass sie die Einladung für %{name} löschen möchten?"
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Are you sure you want to make %{invite_name} unlimited?"
|
||||
msgstr "Sind Sie sicher, dass sie %{name} auf unbegrenzt setzen möchten?"
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.ex:114
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Container unstaged succesfully"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.ex:128
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Email resent to %{user_email} succesfully"
|
||||
msgstr ""
|
||||
|
@ -113,7 +113,7 @@ msgstr ""
|
||||
msgid "Count:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/container_table_component.ex:46
|
||||
#: lib/cannery_web/components/container_table_component.ex:50
|
||||
#: lib/cannery_web/live/container_live/form_component.html.heex:30
|
||||
#: lib/cannery_web/live/type_live/form_component.html.heex:43
|
||||
#, elixir-autogen, elixir-format
|
||||
@ -185,7 +185,7 @@ msgstr ""
|
||||
msgid "Keep me logged in for 60 days"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/container_table_component.ex:47
|
||||
#: lib/cannery_web/components/container_table_component.ex:51
|
||||
#: lib/cannery_web/components/move_pack_component.ex:66
|
||||
#: lib/cannery_web/live/container_live/form_component.html.heex:49
|
||||
#, elixir-autogen, elixir-format
|
||||
@ -220,7 +220,7 @@ msgstr ""
|
||||
msgid "My cool ammo can"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/container_table_component.ex:45
|
||||
#: lib/cannery_web/components/container_table_component.ex:49
|
||||
#: lib/cannery_web/components/type_table_component.ex:152
|
||||
#: lib/cannery_web/live/container_live/form_component.html.heex:21
|
||||
#: lib/cannery_web/live/invite_live/form_component.html.heex:21
|
||||
@ -277,7 +277,7 @@ msgstr ""
|
||||
#: lib/cannery_web/components/add_shot_record_component.html.heex:38
|
||||
#: lib/cannery_web/components/shot_record_table_component.ex:46
|
||||
#: lib/cannery_web/live/pack_live/form_component.html.heex:75
|
||||
#: lib/cannery_web/live/pack_live/show.ex:90
|
||||
#: lib/cannery_web/live/pack_live/show.ex:80
|
||||
#: lib/cannery_web/live/range_live/form_component.html.heex:30
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Notes"
|
||||
@ -348,12 +348,12 @@ msgstr ""
|
||||
msgid "Steel"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:100
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:94
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Stored in"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/container_table_component.ex:66
|
||||
#: lib/cannery_web/components/container_table_component.ex:73
|
||||
#: lib/cannery_web/components/core_components/topbar.html.heex:28
|
||||
#: lib/cannery_web/live/tag_live/index.ex:43
|
||||
#: lib/cannery_web/live/tag_live/index.ex:53
|
||||
@ -383,7 +383,7 @@ msgstr ""
|
||||
msgid "Tracer"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/container_table_component.ex:48
|
||||
#: lib/cannery_web/components/container_table_component.ex:52
|
||||
#: lib/cannery_web/components/move_pack_component.ex:65
|
||||
#: lib/cannery_web/components/pack_table_component.ex:108
|
||||
#: lib/cannery_web/live/container_live/form_component.html.heex:40
|
||||
@ -413,15 +413,16 @@ msgstr ""
|
||||
msgid "Your data stays with you, period"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:60
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:68
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No tags for this container"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/container_table_component.ex:77
|
||||
#: lib/cannery_web/components/core_components/topbar.html.heex:48
|
||||
#: lib/cannery_web/components/pack_table_component.ex:80
|
||||
#: lib/cannery_web/live/range_live/index.ex:55
|
||||
#: lib/cannery_web/live/range_live/index.ex:65
|
||||
#: lib/cannery_web/live/range_live/index.ex:76
|
||||
#: lib/cannery_web/live/range_live/index.ex:86
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Range"
|
||||
msgstr ""
|
||||
@ -433,7 +434,7 @@ msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/add_shot_record_component.html.heex:49
|
||||
#: lib/cannery_web/components/shot_record_table_component.ex:47
|
||||
#: lib/cannery_web/live/pack_live/show.ex:91
|
||||
#: lib/cannery_web/live/pack_live/show.ex:81
|
||||
#: lib/cannery_web/live/range_live/form_component.html.heex:41
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Date"
|
||||
@ -444,26 +445,21 @@ msgstr ""
|
||||
msgid "Shots fired"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:8
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No ammo staged"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/add_shot_record_component.html.heex:3
|
||||
#: lib/cannery_web/live/pack_live/index.ex:35
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Record shots"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:52
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:121
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:64
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:148
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No shots recorded"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/shot_record_table_component.ex:45
|
||||
#: lib/cannery_web/live/pack_live/show.ex:89
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:66
|
||||
#: lib/cannery_web/live/pack_live/show.ex:79
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:78
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Rounds shot"
|
||||
msgstr ""
|
||||
@ -478,7 +474,7 @@ msgstr ""
|
||||
msgid "No other containers"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:57
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:69
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Shot log"
|
||||
msgstr ""
|
||||
@ -486,7 +482,7 @@ msgstr ""
|
||||
#: lib/cannery_web/components/core_components/pack_card.html.heex:42
|
||||
#: lib/cannery_web/components/core_components/pack_card.html.heex:47
|
||||
#: lib/cannery_web/components/pack_table_component.ex:181
|
||||
#: lib/cannery_web/components/pack_table_component.ex:264
|
||||
#: lib/cannery_web/components/pack_table_component.ex:263
|
||||
#: lib/cannery_web/components/type_table_component.ex:273
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:37
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:42
|
||||
@ -559,13 +555,13 @@ msgid "Reconnecting..."
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.ex:28
|
||||
#: lib/cannery_web/live/container_live/show.ex:118
|
||||
#: lib/cannery_web/live/container_live/show.ex:130
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit %{name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.ex:63
|
||||
#: lib/cannery_web/live/container_live/show.ex:119
|
||||
#: lib/cannery_web/live/container_live/show.ex:131
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit %{name} tags"
|
||||
msgstr ""
|
||||
@ -578,7 +574,7 @@ msgid "Rounds:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/pack_table_component.ex:178
|
||||
#: lib/cannery_web/components/pack_table_component.ex:260
|
||||
#: lib/cannery_web/components/pack_table_component.ex:259
|
||||
#: lib/cannery_web/components/type_table_component.ex:272
|
||||
#: lib/cannery_web/live/type_live/show.html.heex:154
|
||||
#, elixir-autogen, elixir-format
|
||||
@ -610,7 +606,7 @@ msgstr ""
|
||||
msgid "Percentage left:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:113
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:107
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Rounds used"
|
||||
msgstr ""
|
||||
@ -641,8 +637,8 @@ msgid "Reset your password"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.ex:40
|
||||
#: lib/cannery_web/live/range_live/index.ex:31
|
||||
#: lib/cannery_web/live/range_live/index.ex:47
|
||||
#: lib/cannery_web/live/range_live/index.ex:52
|
||||
#: lib/cannery_web/live/range_live/index.ex:68
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Record Shots"
|
||||
msgstr ""
|
||||
@ -700,7 +696,7 @@ msgstr ""
|
||||
msgid "Move Ammo"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:117
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:125
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No ammo in this container"
|
||||
msgstr ""
|
||||
@ -710,7 +706,7 @@ msgstr ""
|
||||
msgid "Show Ammo"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:105
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:99
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "This ammo is not in a container"
|
||||
msgstr ""
|
||||
@ -750,31 +746,31 @@ msgstr ""
|
||||
msgid "Show used"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/pack_table_component.ex:219
|
||||
#: lib/cannery_web/components/pack_table_component.ex:218
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:19
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{percentage}%"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.ex:153
|
||||
#: lib/cannery_web/live/range_live/index.ex:215
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Rounds shot: %{count}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/container_table_component.ex:64
|
||||
#: lib/cannery_web/components/container_table_component.ex:68
|
||||
#: lib/cannery_web/components/type_table_component.ex:122
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Packs"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/container_table_component.ex:65
|
||||
#: lib/cannery_web/components/container_table_component.ex:69
|
||||
#: lib/cannery_web/components/type_table_component.ex:143
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Rounds"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:40
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:109
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:117
|
||||
#: lib/cannery_web/live/type_live/show.html.heex:170
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "View as table"
|
||||
@ -820,7 +816,7 @@ msgstr ""
|
||||
msgid "Used rounds:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:68
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:80
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Rounds shot chart"
|
||||
msgstr ""
|
||||
@ -927,7 +923,7 @@ msgid "Average CPR"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/core_components/pack_card.html.heex:17
|
||||
#: lib/cannery_web/components/pack_table_component.ex:268
|
||||
#: lib/cannery_web/components/pack_table_component.ex:267
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Empty"
|
||||
msgstr ""
|
||||
@ -1009,7 +1005,7 @@ msgstr ""
|
||||
msgid "Search tags"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:112
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:124
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Search shot records"
|
||||
msgstr ""
|
||||
@ -1133,12 +1129,12 @@ msgstr ""
|
||||
msgid "Really great weather"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/container_table_component.ex:67
|
||||
#: lib/cannery_web/components/container_table_component.ex:74
|
||||
#: lib/cannery_web/components/move_pack_component.ex:67
|
||||
#: lib/cannery_web/components/pack_table_component.ex:62
|
||||
#: lib/cannery_web/components/shot_record_table_component.ex:48
|
||||
#: lib/cannery_web/components/type_table_component.ex:99
|
||||
#: lib/cannery_web/live/pack_live/show.ex:92
|
||||
#: lib/cannery_web/live/pack_live/show.ex:82
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Actions"
|
||||
msgstr ""
|
||||
@ -1164,9 +1160,9 @@ msgstr ""
|
||||
msgid "Close modal"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:97
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:105
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:58
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:91
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:103
|
||||
#: lib/cannery_web/live/type_live/index.html.heex:37
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "All"
|
||||
@ -1247,10 +1243,10 @@ msgstr ""
|
||||
msgid "None specified"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:100
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:108
|
||||
#: lib/cannery_web/live/pack_live/form_component.html.heex:30
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:61
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:94
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:106
|
||||
#: lib/cannery_web/live/type_live/form_component.html.heex:28
|
||||
#: lib/cannery_web/live/type_live/index.html.heex:40
|
||||
#: lib/cannery_web/live/type_live/show.html.heex:56
|
||||
@ -1273,10 +1269,10 @@ msgstr ""
|
||||
msgid "Projectile"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:98
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:106
|
||||
#: lib/cannery_web/live/pack_live/form_component.html.heex:28
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:59
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:92
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:104
|
||||
#: lib/cannery_web/live/type_live/form_component.html.heex:26
|
||||
#: lib/cannery_web/live/type_live/index.html.heex:38
|
||||
#: lib/cannery_web/live/type_live/show.html.heex:54
|
||||
@ -1328,10 +1324,10 @@ msgstr ""
|
||||
msgid "Shot type:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:99
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:107
|
||||
#: lib/cannery_web/live/pack_live/form_component.html.heex:29
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:60
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:93
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:105
|
||||
#: lib/cannery_web/live/type_live/form_component.html.heex:27
|
||||
#: lib/cannery_web/live/type_live/index.html.heex:39
|
||||
#: lib/cannery_web/live/type_live/show.html.heex:52
|
||||
@ -1373,10 +1369,10 @@ msgid "Wadding:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/type_table_component.ex:149
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:91
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:99
|
||||
#: lib/cannery_web/live/pack_live/form_component.html.heex:22
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:50
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:83
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:95
|
||||
#: lib/cannery_web/live/type_live/form_component.html.heex:21
|
||||
#: lib/cannery_web/live/type_live/index.html.heex:29
|
||||
#: lib/cannery_web/live/type_live/show.html.heex:46
|
||||
@ -1396,7 +1392,7 @@ msgid "Used up!"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.ex:41
|
||||
#: lib/cannery_web/live/range_live/index.ex:39
|
||||
#: lib/cannery_web/live/range_live/index.ex:60
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit Shot Record"
|
||||
msgstr ""
|
||||
@ -1434,3 +1430,13 @@ msgstr ""
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Any"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:138
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Dates"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:8
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No containers staged"
|
||||
msgstr ""
|
||||
|
@ -131,7 +131,7 @@ msgstr ""
|
||||
msgid "Send instructions to reset password"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:65
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:73
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Why not add one?"
|
||||
msgstr ""
|
||||
@ -141,19 +141,14 @@ msgstr ""
|
||||
msgid "Add"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:17
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Stage ammo"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:13
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Why not get some ready to shoot?"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:127
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:90
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:42
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:116
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:84
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:54
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Record shots"
|
||||
msgstr ""
|
||||
@ -199,8 +194,8 @@ msgid "View in Catalog"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/move_pack_component.ex:77
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:138
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:86
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:127
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:80
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Move ammo"
|
||||
msgstr ""
|
||||
@ -210,14 +205,12 @@ msgstr ""
|
||||
msgid "Set Unlimited"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:82
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:38
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:59
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Stage for range"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:81
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:37
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:58
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Unstage from range"
|
||||
msgstr ""
|
||||
@ -227,8 +220,8 @@ msgstr ""
|
||||
msgid "Export Data as JSON"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:87
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:145
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:101
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:159
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Clone %{container_name}"
|
||||
msgstr ""
|
||||
@ -238,8 +231,8 @@ msgstr ""
|
||||
msgid "Copy invite link for %{invite_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:104
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:162
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:118
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:176
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:48
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Delete %{container_name}"
|
||||
@ -255,8 +248,8 @@ msgstr ""
|
||||
msgid "Delete invite for %{invite_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:77
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:135
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:91
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:149
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:35
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit %{container_name}"
|
||||
@ -272,54 +265,56 @@ msgstr ""
|
||||
msgid "Edit invite for %{invite_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:120
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:69
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:35
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Stage"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:65
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:124
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:79
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:138
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Tag %{container_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:119
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:68
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:34
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Unstage"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:172
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:161
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Clone pack of %{pack_count} bullets"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:187
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:176
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:71
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Delete pack of %{pack_count} bullets"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:160
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:149
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:59
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Edit pack of %{pack_count} bullets"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:139
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:148
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:147
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:137
|
||||
#: lib/cannery_web/live/type_live/show.html.heex:201
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "View pack of %{pack_count} bullets"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.ex:159
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:154
|
||||
#: lib/cannery_web/live/pack_live/show.ex:149
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:181
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Delete shot record of %{shot_record_count} shots"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.ex:144
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:137
|
||||
#: lib/cannery_web/live/pack_live/show.ex:134
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:164
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Edit shot record of %{shot_record_count} shots"
|
||||
msgstr ""
|
||||
@ -355,3 +350,8 @@ msgstr ""
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "add a type first"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:17
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Stage containers"
|
||||
msgstr ""
|
||||
|
@ -113,7 +113,7 @@ msgstr ""
|
||||
msgid "Count:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/container_table_component.ex:46
|
||||
#: lib/cannery_web/components/container_table_component.ex:50
|
||||
#: lib/cannery_web/live/container_live/form_component.html.heex:30
|
||||
#: lib/cannery_web/live/type_live/form_component.html.heex:43
|
||||
#, elixir-autogen, elixir-format
|
||||
@ -185,7 +185,7 @@ msgstr ""
|
||||
msgid "Keep me logged in for 60 days"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/container_table_component.ex:47
|
||||
#: lib/cannery_web/components/container_table_component.ex:51
|
||||
#: lib/cannery_web/components/move_pack_component.ex:66
|
||||
#: lib/cannery_web/live/container_live/form_component.html.heex:49
|
||||
#, elixir-autogen, elixir-format
|
||||
@ -220,7 +220,7 @@ msgstr ""
|
||||
msgid "My cool ammo can"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/container_table_component.ex:45
|
||||
#: lib/cannery_web/components/container_table_component.ex:49
|
||||
#: lib/cannery_web/components/type_table_component.ex:152
|
||||
#: lib/cannery_web/live/container_live/form_component.html.heex:21
|
||||
#: lib/cannery_web/live/invite_live/form_component.html.heex:21
|
||||
@ -277,7 +277,7 @@ msgstr ""
|
||||
#: lib/cannery_web/components/add_shot_record_component.html.heex:38
|
||||
#: lib/cannery_web/components/shot_record_table_component.ex:46
|
||||
#: lib/cannery_web/live/pack_live/form_component.html.heex:75
|
||||
#: lib/cannery_web/live/pack_live/show.ex:90
|
||||
#: lib/cannery_web/live/pack_live/show.ex:80
|
||||
#: lib/cannery_web/live/range_live/form_component.html.heex:30
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Notes"
|
||||
@ -348,12 +348,12 @@ msgstr ""
|
||||
msgid "Steel"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:100
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:94
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Stored in"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/container_table_component.ex:66
|
||||
#: lib/cannery_web/components/container_table_component.ex:73
|
||||
#: lib/cannery_web/components/core_components/topbar.html.heex:28
|
||||
#: lib/cannery_web/live/tag_live/index.ex:43
|
||||
#: lib/cannery_web/live/tag_live/index.ex:53
|
||||
@ -383,7 +383,7 @@ msgstr ""
|
||||
msgid "Tracer"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/container_table_component.ex:48
|
||||
#: lib/cannery_web/components/container_table_component.ex:52
|
||||
#: lib/cannery_web/components/move_pack_component.ex:65
|
||||
#: lib/cannery_web/components/pack_table_component.ex:108
|
||||
#: lib/cannery_web/live/container_live/form_component.html.heex:40
|
||||
@ -413,15 +413,16 @@ msgstr ""
|
||||
msgid "Your data stays with you, period"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:60
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:68
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No tags for this container"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/container_table_component.ex:77
|
||||
#: lib/cannery_web/components/core_components/topbar.html.heex:48
|
||||
#: lib/cannery_web/components/pack_table_component.ex:80
|
||||
#: lib/cannery_web/live/range_live/index.ex:55
|
||||
#: lib/cannery_web/live/range_live/index.ex:65
|
||||
#: lib/cannery_web/live/range_live/index.ex:76
|
||||
#: lib/cannery_web/live/range_live/index.ex:86
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Range"
|
||||
msgstr ""
|
||||
@ -433,7 +434,7 @@ msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/add_shot_record_component.html.heex:49
|
||||
#: lib/cannery_web/components/shot_record_table_component.ex:47
|
||||
#: lib/cannery_web/live/pack_live/show.ex:91
|
||||
#: lib/cannery_web/live/pack_live/show.ex:81
|
||||
#: lib/cannery_web/live/range_live/form_component.html.heex:41
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Date"
|
||||
@ -444,26 +445,21 @@ msgstr ""
|
||||
msgid "Shots fired"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:8
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No ammo staged"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/add_shot_record_component.html.heex:3
|
||||
#: lib/cannery_web/live/pack_live/index.ex:35
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Record shots"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:52
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:121
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:64
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:148
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No shots recorded"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/shot_record_table_component.ex:45
|
||||
#: lib/cannery_web/live/pack_live/show.ex:89
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:66
|
||||
#: lib/cannery_web/live/pack_live/show.ex:79
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:78
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Rounds shot"
|
||||
msgstr ""
|
||||
@ -478,7 +474,7 @@ msgstr ""
|
||||
msgid "No other containers"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:57
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:69
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Shot log"
|
||||
msgstr ""
|
||||
@ -486,7 +482,7 @@ msgstr ""
|
||||
#: lib/cannery_web/components/core_components/pack_card.html.heex:42
|
||||
#: lib/cannery_web/components/core_components/pack_card.html.heex:47
|
||||
#: lib/cannery_web/components/pack_table_component.ex:181
|
||||
#: lib/cannery_web/components/pack_table_component.ex:264
|
||||
#: lib/cannery_web/components/pack_table_component.ex:263
|
||||
#: lib/cannery_web/components/type_table_component.ex:273
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:37
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:42
|
||||
@ -559,13 +555,13 @@ msgid "Reconnecting..."
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.ex:28
|
||||
#: lib/cannery_web/live/container_live/show.ex:118
|
||||
#: lib/cannery_web/live/container_live/show.ex:130
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit %{name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.ex:63
|
||||
#: lib/cannery_web/live/container_live/show.ex:119
|
||||
#: lib/cannery_web/live/container_live/show.ex:131
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit %{name} tags"
|
||||
msgstr ""
|
||||
@ -578,7 +574,7 @@ msgid "Rounds:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/pack_table_component.ex:178
|
||||
#: lib/cannery_web/components/pack_table_component.ex:260
|
||||
#: lib/cannery_web/components/pack_table_component.ex:259
|
||||
#: lib/cannery_web/components/type_table_component.ex:272
|
||||
#: lib/cannery_web/live/type_live/show.html.heex:154
|
||||
#, elixir-autogen, elixir-format
|
||||
@ -610,7 +606,7 @@ msgstr ""
|
||||
msgid "Percentage left:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:113
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:107
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Rounds used"
|
||||
msgstr ""
|
||||
@ -641,8 +637,8 @@ msgid "Reset your password"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.ex:40
|
||||
#: lib/cannery_web/live/range_live/index.ex:31
|
||||
#: lib/cannery_web/live/range_live/index.ex:47
|
||||
#: lib/cannery_web/live/range_live/index.ex:52
|
||||
#: lib/cannery_web/live/range_live/index.ex:68
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Record Shots"
|
||||
msgstr ""
|
||||
@ -700,7 +696,7 @@ msgstr ""
|
||||
msgid "Move Ammo"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:117
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:125
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "No ammo in this container"
|
||||
msgstr ""
|
||||
@ -710,7 +706,7 @@ msgstr ""
|
||||
msgid "Show Ammo"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:105
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:99
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "This ammo is not in a container"
|
||||
msgstr ""
|
||||
@ -750,31 +746,31 @@ msgstr ""
|
||||
msgid "Show used"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/pack_table_component.ex:219
|
||||
#: lib/cannery_web/components/pack_table_component.ex:218
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:19
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{percentage}%"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.ex:153
|
||||
#: lib/cannery_web/live/range_live/index.ex:215
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Rounds shot: %{count}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/container_table_component.ex:64
|
||||
#: lib/cannery_web/components/container_table_component.ex:68
|
||||
#: lib/cannery_web/components/type_table_component.ex:122
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Packs"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/container_table_component.ex:65
|
||||
#: lib/cannery_web/components/container_table_component.ex:69
|
||||
#: lib/cannery_web/components/type_table_component.ex:143
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Rounds"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:40
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:109
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:117
|
||||
#: lib/cannery_web/live/type_live/show.html.heex:170
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "View as table"
|
||||
@ -820,7 +816,7 @@ msgstr ""
|
||||
msgid "Used rounds:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:68
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:80
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Rounds shot chart"
|
||||
msgstr ""
|
||||
@ -927,7 +923,7 @@ msgid "Average CPR"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/core_components/pack_card.html.heex:17
|
||||
#: lib/cannery_web/components/pack_table_component.ex:268
|
||||
#: lib/cannery_web/components/pack_table_component.ex:267
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Empty"
|
||||
msgstr ""
|
||||
@ -1009,7 +1005,7 @@ msgstr ""
|
||||
msgid "Search tags"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:112
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:124
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Search shot records"
|
||||
msgstr ""
|
||||
@ -1133,12 +1129,12 @@ msgstr ""
|
||||
msgid "Really great weather"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/container_table_component.ex:67
|
||||
#: lib/cannery_web/components/container_table_component.ex:74
|
||||
#: lib/cannery_web/components/move_pack_component.ex:67
|
||||
#: lib/cannery_web/components/pack_table_component.ex:62
|
||||
#: lib/cannery_web/components/shot_record_table_component.ex:48
|
||||
#: lib/cannery_web/components/type_table_component.ex:99
|
||||
#: lib/cannery_web/live/pack_live/show.ex:92
|
||||
#: lib/cannery_web/live/pack_live/show.ex:82
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Actions"
|
||||
msgstr ""
|
||||
@ -1164,9 +1160,9 @@ msgstr ""
|
||||
msgid "Close modal"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:97
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:105
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:58
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:91
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:103
|
||||
#: lib/cannery_web/live/type_live/index.html.heex:37
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "All"
|
||||
@ -1247,10 +1243,10 @@ msgstr ""
|
||||
msgid "None specified"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:100
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:108
|
||||
#: lib/cannery_web/live/pack_live/form_component.html.heex:30
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:61
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:94
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:106
|
||||
#: lib/cannery_web/live/type_live/form_component.html.heex:28
|
||||
#: lib/cannery_web/live/type_live/index.html.heex:40
|
||||
#: lib/cannery_web/live/type_live/show.html.heex:56
|
||||
@ -1273,10 +1269,10 @@ msgstr ""
|
||||
msgid "Projectile"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:98
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:106
|
||||
#: lib/cannery_web/live/pack_live/form_component.html.heex:28
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:59
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:92
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:104
|
||||
#: lib/cannery_web/live/type_live/form_component.html.heex:26
|
||||
#: lib/cannery_web/live/type_live/index.html.heex:38
|
||||
#: lib/cannery_web/live/type_live/show.html.heex:54
|
||||
@ -1328,10 +1324,10 @@ msgstr ""
|
||||
msgid "Shot type:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:99
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:107
|
||||
#: lib/cannery_web/live/pack_live/form_component.html.heex:29
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:60
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:93
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:105
|
||||
#: lib/cannery_web/live/type_live/form_component.html.heex:27
|
||||
#: lib/cannery_web/live/type_live/index.html.heex:39
|
||||
#: lib/cannery_web/live/type_live/show.html.heex:52
|
||||
@ -1373,10 +1369,10 @@ msgid "Wadding:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/type_table_component.ex:149
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:91
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:99
|
||||
#: lib/cannery_web/live/pack_live/form_component.html.heex:22
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:50
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:83
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:95
|
||||
#: lib/cannery_web/live/type_live/form_component.html.heex:21
|
||||
#: lib/cannery_web/live/type_live/index.html.heex:29
|
||||
#: lib/cannery_web/live/type_live/show.html.heex:46
|
||||
@ -1396,7 +1392,7 @@ msgid "Used up!"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.ex:41
|
||||
#: lib/cannery_web/live/range_live/index.ex:39
|
||||
#: lib/cannery_web/live/range_live/index.ex:60
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Edit Shot Record"
|
||||
msgstr ""
|
||||
@ -1434,3 +1430,13 @@ msgstr ""
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Any"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:138
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Dates"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:8
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "No containers staged"
|
||||
msgstr ""
|
||||
|
@ -10,7 +10,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Language: en\n"
|
||||
|
||||
#: lib/cannery/containers.ex:222
|
||||
#: lib/cannery/containers.ex:234
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Container must be empty before deleting"
|
||||
msgstr ""
|
||||
@ -153,7 +153,7 @@ msgstr ""
|
||||
msgid "Invalid number of copies, must be between 1 and %{max}. Was %{multiplier}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:71
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:83
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Your browser does not support the canvas element."
|
||||
msgstr ""
|
||||
@ -199,12 +199,12 @@ msgstr ""
|
||||
msgid "You must log in to access this page."
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery/ammo/pack.ex:98
|
||||
#: lib/cannery/ammo/pack.ex:101
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Please select a valid container"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery/ammo/pack.ex:96
|
||||
#: lib/cannery/ammo/pack.ex:99
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Please select a valid type"
|
||||
msgstr ""
|
||||
|
@ -45,20 +45,20 @@ msgid "A link to confirm your email change has been sent to the new address."
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:110
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:138
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:145
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete %{email}? This action is permanent!"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:99
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:157
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:113
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:171
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:45
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:63
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete %{name}?"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:185
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:174
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:69
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete this ammo?"
|
||||
@ -150,19 +150,14 @@ msgstr ""
|
||||
msgid "Shots recorded successfully"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:34
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to unstage this ammo?"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.ex:157
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:151
|
||||
#: lib/cannery_web/live/pack_live/show.ex:147
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:178
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete this shot record?"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.ex:79
|
||||
#: lib/cannery_web/live/range_live/index.ex:78
|
||||
#: lib/cannery_web/live/pack_live/show.ex:69
|
||||
#: lib/cannery_web/live/range_live/index.ex:99
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Shot records deleted succesfully"
|
||||
msgstr ""
|
||||
@ -219,11 +214,6 @@ msgstr ""
|
||||
msgid "Ammo deleted succesfully"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.ex:91
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Ammo unstaged succesfully"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/form_component.ex:141
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Ammo updated successfully"
|
||||
@ -267,7 +257,7 @@ msgstr ""
|
||||
msgid "%{invite_name} updated succesfully"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.ex:125
|
||||
#: lib/cannery_web/live/invite_live/index.ex:139
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "%{user_email} deleted succesfully"
|
||||
msgstr ""
|
||||
@ -281,3 +271,13 @@ msgstr ""
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Are you sure you want to make %{invite_name} unlimited?"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.ex:114
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Container unstaged succesfully"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.ex:128
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Email resent to %{user_email} succesfully"
|
||||
msgstr ""
|
||||
|
@ -10,7 +10,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery/containers.ex:222
|
||||
#: lib/cannery/containers.ex:234
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Container must be empty before deleting"
|
||||
msgstr ""
|
||||
@ -152,7 +152,7 @@ msgstr ""
|
||||
msgid "Invalid number of copies, must be between 1 and %{max}. Was %{multiplier}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:71
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:83
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Your browser does not support the canvas element."
|
||||
msgstr ""
|
||||
@ -198,12 +198,12 @@ msgstr ""
|
||||
msgid "You must log in to access this page."
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery/ammo/pack.ex:98
|
||||
#: lib/cannery/ammo/pack.ex:101
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Please select a valid container"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery/ammo/pack.ex:96
|
||||
#: lib/cannery/ammo/pack.ex:99
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Please select a valid type"
|
||||
msgstr ""
|
||||
|
@ -144,7 +144,7 @@ msgstr "Guardar"
|
||||
msgid "Send instructions to reset password"
|
||||
msgstr "Enviar instrucciones para reestablecer contraseña"
|
||||
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:65
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:73
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Why not add one?"
|
||||
msgstr "¿Por qué no añadir una?"
|
||||
@ -154,19 +154,14 @@ msgstr "¿Por qué no añadir una?"
|
||||
msgid "Add"
|
||||
msgstr "Añadir"
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:17
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Stage ammo"
|
||||
msgstr "Preparar munición"
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:13
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Why not get some ready to shoot?"
|
||||
msgstr "¿Por qué no preparar parte para disparar?"
|
||||
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:127
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:90
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:42
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:116
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:84
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:54
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Record shots"
|
||||
msgstr "Tiros récord"
|
||||
@ -212,8 +207,8 @@ msgid "View in Catalog"
|
||||
msgstr "Ver en Catalogo"
|
||||
|
||||
#: lib/cannery_web/components/move_pack_component.ex:77
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:138
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:86
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:127
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:80
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Move ammo"
|
||||
msgstr "Mover munición"
|
||||
@ -223,14 +218,12 @@ msgstr "Mover munición"
|
||||
msgid "Set Unlimited"
|
||||
msgstr "Activar ilimitados"
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:82
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:38
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:59
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Stage for range"
|
||||
msgstr "Preparar para el campo de tiro"
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:81
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:37
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:58
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Unstage from range"
|
||||
msgstr "Desmontar del campo de tiro"
|
||||
@ -240,8 +233,8 @@ msgstr "Desmontar del campo de tiro"
|
||||
msgid "Export Data as JSON"
|
||||
msgstr "Exportar datos como JSON"
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:87
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:145
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:101
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:159
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Clone %{container_name}"
|
||||
msgstr ""
|
||||
@ -251,8 +244,8 @@ msgstr ""
|
||||
msgid "Copy invite link for %{invite_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:104
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:162
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:118
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:176
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:48
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Delete %{container_name}"
|
||||
@ -268,8 +261,8 @@ msgstr ""
|
||||
msgid "Delete invite for %{invite_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:77
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:135
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:91
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:149
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:35
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit %{container_name}"
|
||||
@ -285,54 +278,56 @@ msgstr ""
|
||||
msgid "Edit invite for %{invite_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:120
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:69
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:35
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Stage"
|
||||
msgstr "Preparar munición"
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:65
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:124
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:79
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:138
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Tag %{container_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:119
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:68
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:34
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Unstage"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:172
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:161
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Clone pack of %{pack_count} bullets"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:187
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:176
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:71
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Delete pack of %{pack_count} bullets"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:160
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:149
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:59
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Edit pack of %{pack_count} bullets"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:139
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:148
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:147
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:137
|
||||
#: lib/cannery_web/live/type_live/show.html.heex:201
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "View pack of %{pack_count} bullets"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.ex:159
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:154
|
||||
#: lib/cannery_web/live/pack_live/show.ex:149
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:181
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Delete shot record of %{shot_record_count} shots"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.ex:144
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:137
|
||||
#: lib/cannery_web/live/pack_live/show.ex:134
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:164
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Edit shot record of %{shot_record_count} shots"
|
||||
msgstr ""
|
||||
@ -368,3 +363,8 @@ msgstr ""
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "add a type first"
|
||||
msgstr "añade primero un tipo de munición"
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:17
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Stage containers"
|
||||
msgstr ""
|
||||
|
@ -117,7 +117,7 @@ msgstr "Cantidad"
|
||||
msgid "Count:"
|
||||
msgstr "Cantidad:"
|
||||
|
||||
#: lib/cannery_web/components/container_table_component.ex:46
|
||||
#: lib/cannery_web/components/container_table_component.ex:50
|
||||
#: lib/cannery_web/live/container_live/form_component.html.heex:30
|
||||
#: lib/cannery_web/live/type_live/form_component.html.heex:43
|
||||
#, elixir-autogen, elixir-format
|
||||
@ -189,7 +189,7 @@ msgstr "Invitaciones"
|
||||
msgid "Keep me logged in for 60 days"
|
||||
msgstr "Mantener registrado durante 60 días"
|
||||
|
||||
#: lib/cannery_web/components/container_table_component.ex:47
|
||||
#: lib/cannery_web/components/container_table_component.ex:51
|
||||
#: lib/cannery_web/components/move_pack_component.ex:66
|
||||
#: lib/cannery_web/live/container_live/form_component.html.heex:49
|
||||
#, elixir-autogen, elixir-format
|
||||
@ -224,7 +224,7 @@ msgstr "Lata de munición metálica con la pegatina de chica de anime"
|
||||
msgid "My cool ammo can"
|
||||
msgstr "Mi lata de munición guapa"
|
||||
|
||||
#: lib/cannery_web/components/container_table_component.ex:45
|
||||
#: lib/cannery_web/components/container_table_component.ex:49
|
||||
#: lib/cannery_web/components/type_table_component.ex:152
|
||||
#: lib/cannery_web/live/container_live/form_component.html.heex:21
|
||||
#: lib/cannery_web/live/invite_live/form_component.html.heex:21
|
||||
@ -281,7 +281,7 @@ msgstr "Sin etiquetas"
|
||||
#: lib/cannery_web/components/add_shot_record_component.html.heex:38
|
||||
#: lib/cannery_web/components/shot_record_table_component.ex:46
|
||||
#: lib/cannery_web/live/pack_live/form_component.html.heex:75
|
||||
#: lib/cannery_web/live/pack_live/show.ex:90
|
||||
#: lib/cannery_web/live/pack_live/show.ex:80
|
||||
#: lib/cannery_web/live/range_live/form_component.html.heex:30
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Notes"
|
||||
@ -354,12 +354,12 @@ msgstr "Simple:"
|
||||
msgid "Steel"
|
||||
msgstr "Acero"
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:100
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:94
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Stored in"
|
||||
msgstr "Guardado en"
|
||||
|
||||
#: lib/cannery_web/components/container_table_component.ex:66
|
||||
#: lib/cannery_web/components/container_table_component.ex:73
|
||||
#: lib/cannery_web/components/core_components/topbar.html.heex:28
|
||||
#: lib/cannery_web/live/tag_live/index.ex:43
|
||||
#: lib/cannery_web/live/tag_live/index.ex:53
|
||||
@ -390,7 +390,7 @@ msgstr "La página de seguimiento de armas autogestionada"
|
||||
msgid "Tracer"
|
||||
msgstr "Trazadora"
|
||||
|
||||
#: lib/cannery_web/components/container_table_component.ex:48
|
||||
#: lib/cannery_web/components/container_table_component.ex:52
|
||||
#: lib/cannery_web/components/move_pack_component.ex:65
|
||||
#: lib/cannery_web/components/pack_table_component.ex:108
|
||||
#: lib/cannery_web/live/container_live/form_component.html.heex:40
|
||||
@ -420,15 +420,16 @@ msgstr "Usos restantes"
|
||||
msgid "Your data stays with you, period"
|
||||
msgstr "Tus datos se quedan contigo, sin excepciones"
|
||||
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:60
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:68
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No tags for this container"
|
||||
msgstr "Contenedor sin etiquetas"
|
||||
|
||||
#: lib/cannery_web/components/container_table_component.ex:77
|
||||
#: lib/cannery_web/components/core_components/topbar.html.heex:48
|
||||
#: lib/cannery_web/components/pack_table_component.ex:80
|
||||
#: lib/cannery_web/live/range_live/index.ex:55
|
||||
#: lib/cannery_web/live/range_live/index.ex:65
|
||||
#: lib/cannery_web/live/range_live/index.ex:76
|
||||
#: lib/cannery_web/live/range_live/index.ex:86
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Range"
|
||||
msgstr "Campo de tiro"
|
||||
@ -440,7 +441,7 @@ msgstr "Día de disparar"
|
||||
|
||||
#: lib/cannery_web/components/add_shot_record_component.html.heex:49
|
||||
#: lib/cannery_web/components/shot_record_table_component.ex:47
|
||||
#: lib/cannery_web/live/pack_live/show.ex:91
|
||||
#: lib/cannery_web/live/pack_live/show.ex:81
|
||||
#: lib/cannery_web/live/range_live/form_component.html.heex:41
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Date"
|
||||
@ -451,26 +452,21 @@ msgstr "Fecha"
|
||||
msgid "Shots fired"
|
||||
msgstr "Tiros disparados"
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:8
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No ammo staged"
|
||||
msgstr "No hay munición preparada"
|
||||
|
||||
#: lib/cannery_web/components/add_shot_record_component.html.heex:3
|
||||
#: lib/cannery_web/live/pack_live/index.ex:35
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Record shots"
|
||||
msgstr "Tiros récord"
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:52
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:121
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:64
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:148
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No shots recorded"
|
||||
msgstr "No se han grabado tiros"
|
||||
|
||||
#: lib/cannery_web/components/shot_record_table_component.ex:45
|
||||
#: lib/cannery_web/live/pack_live/show.ex:89
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:66
|
||||
#: lib/cannery_web/live/pack_live/show.ex:79
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:78
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Rounds shot"
|
||||
msgstr "Balas disparadas"
|
||||
@ -485,7 +481,7 @@ msgstr "Mover munición"
|
||||
msgid "No other containers"
|
||||
msgstr "No hay otros contenedores"
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:57
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:69
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Shot log"
|
||||
msgstr "Registro de tiros"
|
||||
@ -493,7 +489,7 @@ msgstr "Registro de tiros"
|
||||
#: lib/cannery_web/components/core_components/pack_card.html.heex:42
|
||||
#: lib/cannery_web/components/core_components/pack_card.html.heex:47
|
||||
#: lib/cannery_web/components/pack_table_component.ex:181
|
||||
#: lib/cannery_web/components/pack_table_component.ex:264
|
||||
#: lib/cannery_web/components/pack_table_component.ex:263
|
||||
#: lib/cannery_web/components/type_table_component.ex:273
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:37
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:42
|
||||
@ -566,13 +562,13 @@ msgid "Reconnecting..."
|
||||
msgstr "Reconectando..."
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.ex:28
|
||||
#: lib/cannery_web/live/container_live/show.ex:118
|
||||
#: lib/cannery_web/live/container_live/show.ex:130
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit %{name}"
|
||||
msgstr "Editar %{name}"
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.ex:63
|
||||
#: lib/cannery_web/live/container_live/show.ex:119
|
||||
#: lib/cannery_web/live/container_live/show.ex:131
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit %{name} tags"
|
||||
msgstr "Editar etiquetas de %{name}"
|
||||
@ -585,7 +581,7 @@ msgid "Rounds:"
|
||||
msgstr "Balas:"
|
||||
|
||||
#: lib/cannery_web/components/pack_table_component.ex:178
|
||||
#: lib/cannery_web/components/pack_table_component.ex:260
|
||||
#: lib/cannery_web/components/pack_table_component.ex:259
|
||||
#: lib/cannery_web/components/type_table_component.ex:272
|
||||
#: lib/cannery_web/live/type_live/show.html.heex:154
|
||||
#, elixir-autogen, elixir-format
|
||||
@ -617,7 +613,7 @@ msgstr "Cantidad original:"
|
||||
msgid "Percentage left:"
|
||||
msgstr "Pocentaje restante:"
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:113
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:107
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Rounds used"
|
||||
msgstr "Balas usadas"
|
||||
@ -648,8 +644,8 @@ msgid "Reset your password"
|
||||
msgstr "Reestablecer contraseña"
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.ex:40
|
||||
#: lib/cannery_web/live/range_live/index.ex:31
|
||||
#: lib/cannery_web/live/range_live/index.ex:47
|
||||
#: lib/cannery_web/live/range_live/index.ex:52
|
||||
#: lib/cannery_web/live/range_live/index.ex:68
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Record Shots"
|
||||
msgstr "Tiros Récord"
|
||||
@ -707,7 +703,7 @@ msgstr "Editar Munición"
|
||||
msgid "Move Ammo"
|
||||
msgstr "Mover Munición"
|
||||
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:117
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:125
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No ammo in this container"
|
||||
msgstr "No hay munición en este contenedor"
|
||||
@ -717,7 +713,7 @@ msgstr "No hay munición en este contenedor"
|
||||
msgid "Show Ammo"
|
||||
msgstr "Mostrar Munición"
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:105
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:99
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "This ammo is not in a container"
|
||||
msgstr "Esta munición no está en un contenedor"
|
||||
@ -758,31 +754,31 @@ msgstr "Contenedor:"
|
||||
msgid "Show used"
|
||||
msgstr "Mostrar usadas"
|
||||
|
||||
#: lib/cannery_web/components/pack_table_component.ex:219
|
||||
#: lib/cannery_web/components/pack_table_component.ex:218
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:19
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{percentage}%"
|
||||
msgstr "%{percentage}%"
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.ex:153
|
||||
#: lib/cannery_web/live/range_live/index.ex:215
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Rounds shot: %{count}"
|
||||
msgstr "Balas disparadas: %{count}"
|
||||
|
||||
#: lib/cannery_web/components/container_table_component.ex:64
|
||||
#: lib/cannery_web/components/container_table_component.ex:68
|
||||
#: lib/cannery_web/components/type_table_component.ex:122
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Packs"
|
||||
msgstr "Paquetes"
|
||||
|
||||
#: lib/cannery_web/components/container_table_component.ex:65
|
||||
#: lib/cannery_web/components/container_table_component.ex:69
|
||||
#: lib/cannery_web/components/type_table_component.ex:143
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Rounds"
|
||||
msgstr "Balas"
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:40
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:109
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:117
|
||||
#: lib/cannery_web/live/type_live/show.html.heex:170
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "View as table"
|
||||
@ -828,7 +824,7 @@ msgstr "Balas usadas"
|
||||
msgid "Used rounds:"
|
||||
msgstr "Balas usadas:"
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:68
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:80
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Rounds shot chart"
|
||||
msgstr "Tabla de disparos"
|
||||
@ -935,7 +931,7 @@ msgid "Average CPR"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/core_components/pack_card.html.heex:17
|
||||
#: lib/cannery_web/components/pack_table_component.ex:268
|
||||
#: lib/cannery_web/components/pack_table_component.ex:267
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Empty"
|
||||
msgstr "Vacio"
|
||||
@ -1017,7 +1013,7 @@ msgstr ""
|
||||
msgid "Search tags"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:112
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:124
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Search shot records"
|
||||
msgstr ""
|
||||
@ -1152,12 +1148,12 @@ msgstr ""
|
||||
msgid "Really great weather"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/container_table_component.ex:67
|
||||
#: lib/cannery_web/components/container_table_component.ex:74
|
||||
#: lib/cannery_web/components/move_pack_component.ex:67
|
||||
#: lib/cannery_web/components/pack_table_component.ex:62
|
||||
#: lib/cannery_web/components/shot_record_table_component.ex:48
|
||||
#: lib/cannery_web/components/type_table_component.ex:99
|
||||
#: lib/cannery_web/live/pack_live/show.ex:92
|
||||
#: lib/cannery_web/live/pack_live/show.ex:82
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Actions"
|
||||
msgstr ""
|
||||
@ -1183,9 +1179,9 @@ msgstr ""
|
||||
msgid "Close modal"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:97
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:105
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:58
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:91
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:103
|
||||
#: lib/cannery_web/live/type_live/index.html.heex:37
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "All"
|
||||
@ -1266,10 +1262,10 @@ msgstr "Sin Munición"
|
||||
msgid "None specified"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:100
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:108
|
||||
#: lib/cannery_web/live/pack_live/form_component.html.heex:30
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:61
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:94
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:106
|
||||
#: lib/cannery_web/live/type_live/form_component.html.heex:28
|
||||
#: lib/cannery_web/live/type_live/index.html.heex:40
|
||||
#: lib/cannery_web/live/type_live/show.html.heex:56
|
||||
@ -1292,10 +1288,10 @@ msgstr "Tipo de espoleta"
|
||||
msgid "Projectile"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:98
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:106
|
||||
#: lib/cannery_web/live/pack_live/form_component.html.heex:28
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:59
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:92
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:104
|
||||
#: lib/cannery_web/live/type_live/form_component.html.heex:26
|
||||
#: lib/cannery_web/live/type_live/index.html.heex:38
|
||||
#: lib/cannery_web/live/type_live/show.html.heex:54
|
||||
@ -1347,10 +1343,10 @@ msgstr ""
|
||||
msgid "Shot type:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:99
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:107
|
||||
#: lib/cannery_web/live/pack_live/form_component.html.heex:29
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:60
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:93
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:105
|
||||
#: lib/cannery_web/live/type_live/form_component.html.heex:27
|
||||
#: lib/cannery_web/live/type_live/index.html.heex:39
|
||||
#: lib/cannery_web/live/type_live/show.html.heex:52
|
||||
@ -1392,10 +1388,10 @@ msgid "Wadding:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/type_table_component.ex:149
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:91
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:99
|
||||
#: lib/cannery_web/live/pack_live/form_component.html.heex:22
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:50
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:83
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:95
|
||||
#: lib/cannery_web/live/type_live/form_component.html.heex:21
|
||||
#: lib/cannery_web/live/type_live/index.html.heex:29
|
||||
#: lib/cannery_web/live/type_live/show.html.heex:46
|
||||
@ -1415,7 +1411,7 @@ msgid "Used up!"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.ex:41
|
||||
#: lib/cannery_web/live/range_live/index.ex:39
|
||||
#: lib/cannery_web/live/range_live/index.ex:60
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Edit Shot Record"
|
||||
msgstr "Editar Tiros Récord"
|
||||
@ -1453,3 +1449,13 @@ msgstr ""
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Any"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:138
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Dates"
|
||||
msgstr "Fecha"
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:8
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "No containers staged"
|
||||
msgstr "Sin contenedores"
|
||||
|
@ -23,7 +23,7 @@ msgstr ""
|
||||
## Run "mix gettext.extract" to bring this file up to
|
||||
## date. Leave "msgstr"s empty as changing them here has no
|
||||
## effect: edit them in PO (.po) files instead.
|
||||
#: lib/cannery/containers.ex:222
|
||||
#: lib/cannery/containers.ex:234
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Container must be empty before deleting"
|
||||
msgstr "El contenedor debe estar vacío antes de ser borrado"
|
||||
@ -168,7 +168,7 @@ msgstr "No se ha podido procesar el número de copias"
|
||||
msgid "Invalid number of copies, must be between 1 and %{max}. Was %{multiplier}"
|
||||
msgstr "Número inválido de copias, debe ser entre 1 y %{max}. Fue %{multiplier"
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:71
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:83
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Your browser does not support the canvas element."
|
||||
msgstr "Su navegador no es compatible con el elemento lienzo."
|
||||
@ -214,12 +214,12 @@ msgstr ""
|
||||
msgid "You must log in to access this page."
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery/ammo/pack.ex:98
|
||||
#: lib/cannery/ammo/pack.ex:101
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Please select a valid container"
|
||||
msgstr "Por favor escoja un tipo de munición y un contenedor"
|
||||
|
||||
#: lib/cannery/ammo/pack.ex:96
|
||||
#: lib/cannery/ammo/pack.ex:99
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Please select a valid type"
|
||||
msgstr "Por favor escoja un usuario y tipo de munición valido"
|
||||
|
@ -60,20 +60,20 @@ msgstr ""
|
||||
"dirección."
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:110
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:138
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:145
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete %{email}? This action is permanent!"
|
||||
msgstr "Está seguro que desea eliminar %{email}? Esta acción es permanente!"
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:99
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:157
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:113
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:171
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:45
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:63
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete %{name}?"
|
||||
msgstr "Está seguro que desea eliminar %{name}?"
|
||||
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:185
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:174
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:69
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete this ammo?"
|
||||
@ -170,19 +170,14 @@ msgstr "Añadiendo..."
|
||||
msgid "Shots recorded successfully"
|
||||
msgstr "Tiros registrados exitosamente"
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:34
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to unstage this ammo?"
|
||||
msgstr "Está seguro que desea desmontar esta munición?"
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.ex:157
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:151
|
||||
#: lib/cannery_web/live/pack_live/show.ex:147
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:178
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete this shot record?"
|
||||
msgstr "¿Está segure que quiere borrar este récord de disparos?"
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.ex:79
|
||||
#: lib/cannery_web/live/range_live/index.ex:78
|
||||
#: lib/cannery_web/live/pack_live/show.ex:69
|
||||
#: lib/cannery_web/live/range_live/index.ex:99
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Shot records deleted succesfully"
|
||||
msgstr "Récord de disparos borrado exitosamente"
|
||||
@ -239,11 +234,6 @@ msgstr "Idioma cambiado exitosamente."
|
||||
msgid "Ammo deleted succesfully"
|
||||
msgstr "Munición borrada exitosamente"
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.ex:91
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Ammo unstaged succesfully"
|
||||
msgstr "Munición descargada exitosamente"
|
||||
|
||||
#: lib/cannery_web/live/pack_live/form_component.ex:141
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Ammo updated successfully"
|
||||
@ -289,7 +279,7 @@ msgstr "%{name} activado exitosamente"
|
||||
msgid "%{invite_name} updated succesfully"
|
||||
msgstr "%{name} actualizado exitosamente"
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.ex:125
|
||||
#: lib/cannery_web/live/invite_live/index.ex:139
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "%{user_email} deleted succesfully"
|
||||
msgstr "%{name} borrado exitosamente"
|
||||
@ -303,3 +293,13 @@ msgstr "Está seguro que quiere eliminar la invitación para %{name}?"
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Are you sure you want to make %{invite_name} unlimited?"
|
||||
msgstr "Está seguro que desea hacer %{name} ilimitado?"
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.ex:114
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Container unstaged succesfully"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.ex:128
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Email resent to %{user_email} succesfully"
|
||||
msgstr ""
|
||||
|
@ -144,7 +144,7 @@ msgstr "Sauvegarder"
|
||||
msgid "Send instructions to reset password"
|
||||
msgstr "Envoyer les instructions pour réinitialiser le mot de passe"
|
||||
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:65
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:73
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Why not add one?"
|
||||
msgstr "Pourquoi pas en ajouter un ?"
|
||||
@ -154,19 +154,14 @@ msgstr "Pourquoi pas en ajouter un ?"
|
||||
msgid "Add"
|
||||
msgstr "Ajouter"
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:17
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Stage ammo"
|
||||
msgstr "Munition préparée"
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:13
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Why not get some ready to shoot?"
|
||||
msgstr "Pourquoi pas en préparer pour tirer ?"
|
||||
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:127
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:90
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:42
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:116
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:84
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:54
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Record shots"
|
||||
msgstr "Enregistrer des tirs"
|
||||
@ -212,8 +207,8 @@ msgid "View in Catalog"
|
||||
msgstr "Voir en catalogue"
|
||||
|
||||
#: lib/cannery_web/components/move_pack_component.ex:77
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:138
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:86
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:127
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:80
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Move ammo"
|
||||
msgstr ""
|
||||
@ -223,14 +218,12 @@ msgstr ""
|
||||
msgid "Set Unlimited"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:82
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:38
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:59
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Stage for range"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:81
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:37
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:58
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Unstage from range"
|
||||
msgstr ""
|
||||
@ -240,8 +233,8 @@ msgstr ""
|
||||
msgid "Export Data as JSON"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:87
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:145
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:101
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:159
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Clone %{container_name}"
|
||||
msgstr ""
|
||||
@ -251,8 +244,8 @@ msgstr ""
|
||||
msgid "Copy invite link for %{invite_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:104
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:162
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:118
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:176
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:48
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Delete %{container_name}"
|
||||
@ -268,8 +261,8 @@ msgstr ""
|
||||
msgid "Delete invite for %{invite_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:77
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:135
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:91
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:149
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:35
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit %{container_name}"
|
||||
@ -285,54 +278,56 @@ msgstr ""
|
||||
msgid "Edit invite for %{invite_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:120
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:69
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:35
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Stage"
|
||||
msgstr "Munition préparée"
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:65
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:124
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:79
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:138
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Tag %{container_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:119
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:68
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:34
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Unstage"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:172
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:161
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Clone pack of %{pack_count} bullets"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:187
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:176
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:71
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Delete pack of %{pack_count} bullets"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:160
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:149
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:59
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Edit pack of %{pack_count} bullets"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:139
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:148
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:147
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:137
|
||||
#: lib/cannery_web/live/type_live/show.html.heex:201
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "View pack of %{pack_count} bullets"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.ex:159
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:154
|
||||
#: lib/cannery_web/live/pack_live/show.ex:149
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:181
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Delete shot record of %{shot_record_count} shots"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.ex:144
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:137
|
||||
#: lib/cannery_web/live/pack_live/show.ex:134
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:164
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Edit shot record of %{shot_record_count} shots"
|
||||
msgstr ""
|
||||
@ -368,3 +363,8 @@ msgstr ""
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "add a type first"
|
||||
msgstr "Ajoutez d'abord un type de munitions"
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:17
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Stage containers"
|
||||
msgstr ""
|
||||
|
@ -117,7 +117,7 @@ msgstr "Quantité"
|
||||
msgid "Count:"
|
||||
msgstr "Quantité :"
|
||||
|
||||
#: lib/cannery_web/components/container_table_component.ex:46
|
||||
#: lib/cannery_web/components/container_table_component.ex:50
|
||||
#: lib/cannery_web/live/container_live/form_component.html.heex:30
|
||||
#: lib/cannery_web/live/type_live/form_component.html.heex:43
|
||||
#, elixir-autogen, elixir-format
|
||||
@ -189,7 +189,7 @@ msgstr "Invitations"
|
||||
msgid "Keep me logged in for 60 days"
|
||||
msgstr "Me garder authentifié durant 60 jours"
|
||||
|
||||
#: lib/cannery_web/components/container_table_component.ex:47
|
||||
#: lib/cannery_web/components/container_table_component.ex:51
|
||||
#: lib/cannery_web/components/move_pack_component.ex:66
|
||||
#: lib/cannery_web/live/container_live/form_component.html.heex:49
|
||||
#, elixir-autogen, elixir-format
|
||||
@ -224,7 +224,7 @@ msgstr "Boite de munition avec le sticker de fille d’animation"
|
||||
msgid "My cool ammo can"
|
||||
msgstr "Ma superbe boite de munition"
|
||||
|
||||
#: lib/cannery_web/components/container_table_component.ex:45
|
||||
#: lib/cannery_web/components/container_table_component.ex:49
|
||||
#: lib/cannery_web/components/type_table_component.ex:152
|
||||
#: lib/cannery_web/live/container_live/form_component.html.heex:21
|
||||
#: lib/cannery_web/live/invite_live/form_component.html.heex:21
|
||||
@ -281,7 +281,7 @@ msgstr "Aucun tag"
|
||||
#: lib/cannery_web/components/add_shot_record_component.html.heex:38
|
||||
#: lib/cannery_web/components/shot_record_table_component.ex:46
|
||||
#: lib/cannery_web/live/pack_live/form_component.html.heex:75
|
||||
#: lib/cannery_web/live/pack_live/show.ex:90
|
||||
#: lib/cannery_web/live/pack_live/show.ex:80
|
||||
#: lib/cannery_web/live/range_live/form_component.html.heex:30
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Notes"
|
||||
@ -354,12 +354,12 @@ msgstr "Simple :"
|
||||
msgid "Steel"
|
||||
msgstr "Acier"
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:100
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:94
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Stored in"
|
||||
msgstr "Est stocké dans"
|
||||
|
||||
#: lib/cannery_web/components/container_table_component.ex:66
|
||||
#: lib/cannery_web/components/container_table_component.ex:73
|
||||
#: lib/cannery_web/components/core_components/topbar.html.heex:28
|
||||
#: lib/cannery_web/live/tag_live/index.ex:43
|
||||
#: lib/cannery_web/live/tag_live/index.ex:53
|
||||
@ -391,7 +391,7 @@ msgstr "Le site web de suivi d’arme à feux auto-hébergé"
|
||||
msgid "Tracer"
|
||||
msgstr "Traceuse"
|
||||
|
||||
#: lib/cannery_web/components/container_table_component.ex:48
|
||||
#: lib/cannery_web/components/container_table_component.ex:52
|
||||
#: lib/cannery_web/components/move_pack_component.ex:65
|
||||
#: lib/cannery_web/components/pack_table_component.ex:108
|
||||
#: lib/cannery_web/live/container_live/form_component.html.heex:40
|
||||
@ -421,15 +421,16 @@ msgstr "Utilisations restantes"
|
||||
msgid "Your data stays with you, period"
|
||||
msgstr "Vos données restent avec vous, point final"
|
||||
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:60
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:68
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No tags for this container"
|
||||
msgstr "Aucun tag pour ce conteneur"
|
||||
|
||||
#: lib/cannery_web/components/container_table_component.ex:77
|
||||
#: lib/cannery_web/components/core_components/topbar.html.heex:48
|
||||
#: lib/cannery_web/components/pack_table_component.ex:80
|
||||
#: lib/cannery_web/live/range_live/index.ex:55
|
||||
#: lib/cannery_web/live/range_live/index.ex:65
|
||||
#: lib/cannery_web/live/range_live/index.ex:76
|
||||
#: lib/cannery_web/live/range_live/index.ex:86
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Range"
|
||||
msgstr "Portée"
|
||||
@ -441,7 +442,7 @@ msgstr "Journée de stand"
|
||||
|
||||
#: lib/cannery_web/components/add_shot_record_component.html.heex:49
|
||||
#: lib/cannery_web/components/shot_record_table_component.ex:47
|
||||
#: lib/cannery_web/live/pack_live/show.ex:91
|
||||
#: lib/cannery_web/live/pack_live/show.ex:81
|
||||
#: lib/cannery_web/live/range_live/form_component.html.heex:41
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Date"
|
||||
@ -452,26 +453,21 @@ msgstr "Date"
|
||||
msgid "Shots fired"
|
||||
msgstr "Tirs réalisés"
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:8
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No ammo staged"
|
||||
msgstr "Aucune munition sélectionnée"
|
||||
|
||||
#: lib/cannery_web/components/add_shot_record_component.html.heex:3
|
||||
#: lib/cannery_web/live/pack_live/index.ex:35
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Record shots"
|
||||
msgstr "Tirs enregistrés"
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:52
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:121
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:64
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:148
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No shots recorded"
|
||||
msgstr "Aucun tir enregistré"
|
||||
|
||||
#: lib/cannery_web/components/shot_record_table_component.ex:45
|
||||
#: lib/cannery_web/live/pack_live/show.ex:89
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:66
|
||||
#: lib/cannery_web/live/pack_live/show.ex:79
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:78
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Rounds shot"
|
||||
msgstr "Cartouches tirées"
|
||||
@ -486,7 +482,7 @@ msgstr "Déplacer munition"
|
||||
msgid "No other containers"
|
||||
msgstr "Aucun autre conteneur"
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:57
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:69
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Shot log"
|
||||
msgstr "Évènements de tir"
|
||||
@ -494,7 +490,7 @@ msgstr "Évènements de tir"
|
||||
#: lib/cannery_web/components/core_components/pack_card.html.heex:42
|
||||
#: lib/cannery_web/components/core_components/pack_card.html.heex:47
|
||||
#: lib/cannery_web/components/pack_table_component.ex:181
|
||||
#: lib/cannery_web/components/pack_table_component.ex:264
|
||||
#: lib/cannery_web/components/pack_table_component.ex:263
|
||||
#: lib/cannery_web/components/type_table_component.ex:273
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:37
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:42
|
||||
@ -567,13 +563,13 @@ msgid "Reconnecting..."
|
||||
msgstr "Reconnexion en cours…"
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.ex:28
|
||||
#: lib/cannery_web/live/container_live/show.ex:118
|
||||
#: lib/cannery_web/live/container_live/show.ex:130
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit %{name}"
|
||||
msgstr "Éditer %{name}"
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.ex:63
|
||||
#: lib/cannery_web/live/container_live/show.ex:119
|
||||
#: lib/cannery_web/live/container_live/show.ex:131
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit %{name} tags"
|
||||
msgstr "Éditer les tags de %{name}"
|
||||
@ -586,7 +582,7 @@ msgid "Rounds:"
|
||||
msgstr "Cartouches :"
|
||||
|
||||
#: lib/cannery_web/components/pack_table_component.ex:178
|
||||
#: lib/cannery_web/components/pack_table_component.ex:260
|
||||
#: lib/cannery_web/components/pack_table_component.ex:259
|
||||
#: lib/cannery_web/components/type_table_component.ex:272
|
||||
#: lib/cannery_web/live/type_live/show.html.heex:154
|
||||
#, elixir-autogen, elixir-format
|
||||
@ -618,7 +614,7 @@ msgstr "Nombre original :"
|
||||
msgid "Percentage left:"
|
||||
msgstr "Pourcentage restant :"
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:113
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:107
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Rounds used"
|
||||
msgstr "Cartouches utilisées"
|
||||
@ -649,8 +645,8 @@ msgid "Reset your password"
|
||||
msgstr "Réinitialiser votre mot de passe"
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.ex:40
|
||||
#: lib/cannery_web/live/range_live/index.ex:31
|
||||
#: lib/cannery_web/live/range_live/index.ex:47
|
||||
#: lib/cannery_web/live/range_live/index.ex:52
|
||||
#: lib/cannery_web/live/range_live/index.ex:68
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Record Shots"
|
||||
msgstr "Enregistrer des tirs"
|
||||
@ -708,7 +704,7 @@ msgstr "Éditer le type de munition"
|
||||
msgid "Move Ammo"
|
||||
msgstr "Déplacer munition"
|
||||
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:117
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:125
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "No ammo in this container"
|
||||
msgstr "Aucun groupe de munition pour ce conteneur"
|
||||
@ -718,7 +714,7 @@ msgstr "Aucun groupe de munition pour ce conteneur"
|
||||
msgid "Show Ammo"
|
||||
msgstr "Montrer le type de munition"
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:105
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:99
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "This ammo is not in a container"
|
||||
msgstr "Ce groupe de munition n’est pas dans un conteneur"
|
||||
@ -759,31 +755,31 @@ msgstr "Conteneur"
|
||||
msgid "Show used"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/pack_table_component.ex:219
|
||||
#: lib/cannery_web/components/pack_table_component.ex:218
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:19
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{percentage}%"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.ex:153
|
||||
#: lib/cannery_web/live/range_live/index.ex:215
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Rounds shot: %{count}"
|
||||
msgstr "Cartouches tirées"
|
||||
|
||||
#: lib/cannery_web/components/container_table_component.ex:64
|
||||
#: lib/cannery_web/components/container_table_component.ex:68
|
||||
#: lib/cannery_web/components/type_table_component.ex:122
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Packs"
|
||||
msgstr "Packages :"
|
||||
|
||||
#: lib/cannery_web/components/container_table_component.ex:65
|
||||
#: lib/cannery_web/components/container_table_component.ex:69
|
||||
#: lib/cannery_web/components/type_table_component.ex:143
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Rounds"
|
||||
msgstr "Cartouches :"
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:40
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:109
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:117
|
||||
#: lib/cannery_web/live/type_live/show.html.heex:170
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "View as table"
|
||||
@ -829,7 +825,7 @@ msgstr ""
|
||||
msgid "Used rounds:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:68
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:80
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Rounds shot chart"
|
||||
msgstr "Cartouches tirées"
|
||||
@ -936,7 +932,7 @@ msgid "Average CPR"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/core_components/pack_card.html.heex:17
|
||||
#: lib/cannery_web/components/pack_table_component.ex:268
|
||||
#: lib/cannery_web/components/pack_table_component.ex:267
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Empty"
|
||||
msgstr ""
|
||||
@ -1018,7 +1014,7 @@ msgstr ""
|
||||
msgid "Search tags"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:112
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:124
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Search shot records"
|
||||
msgstr ""
|
||||
@ -1153,12 +1149,12 @@ msgstr ""
|
||||
msgid "Really great weather"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/container_table_component.ex:67
|
||||
#: lib/cannery_web/components/container_table_component.ex:74
|
||||
#: lib/cannery_web/components/move_pack_component.ex:67
|
||||
#: lib/cannery_web/components/pack_table_component.ex:62
|
||||
#: lib/cannery_web/components/shot_record_table_component.ex:48
|
||||
#: lib/cannery_web/components/type_table_component.ex:99
|
||||
#: lib/cannery_web/live/pack_live/show.ex:92
|
||||
#: lib/cannery_web/live/pack_live/show.ex:82
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Actions"
|
||||
msgstr ""
|
||||
@ -1184,9 +1180,9 @@ msgstr ""
|
||||
msgid "Close modal"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:97
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:105
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:58
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:91
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:103
|
||||
#: lib/cannery_web/live/type_live/index.html.heex:37
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "All"
|
||||
@ -1267,10 +1263,10 @@ msgstr "Aucune munition"
|
||||
msgid "None specified"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:100
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:108
|
||||
#: lib/cannery_web/live/pack_live/form_component.html.heex:30
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:61
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:94
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:106
|
||||
#: lib/cannery_web/live/type_live/form_component.html.heex:28
|
||||
#: lib/cannery_web/live/type_live/index.html.heex:40
|
||||
#: lib/cannery_web/live/type_live/show.html.heex:56
|
||||
@ -1293,10 +1289,10 @@ msgstr "Type d’amorce"
|
||||
msgid "Projectile"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:98
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:106
|
||||
#: lib/cannery_web/live/pack_live/form_component.html.heex:28
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:59
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:92
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:104
|
||||
#: lib/cannery_web/live/type_live/form_component.html.heex:26
|
||||
#: lib/cannery_web/live/type_live/index.html.heex:38
|
||||
#: lib/cannery_web/live/type_live/show.html.heex:54
|
||||
@ -1348,10 +1344,10 @@ msgstr ""
|
||||
msgid "Shot type:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:99
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:107
|
||||
#: lib/cannery_web/live/pack_live/form_component.html.heex:29
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:60
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:93
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:105
|
||||
#: lib/cannery_web/live/type_live/form_component.html.heex:27
|
||||
#: lib/cannery_web/live/type_live/index.html.heex:39
|
||||
#: lib/cannery_web/live/type_live/show.html.heex:52
|
||||
@ -1393,10 +1389,10 @@ msgid "Wadding:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/type_table_component.ex:149
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:91
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:99
|
||||
#: lib/cannery_web/live/pack_live/form_component.html.heex:22
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:50
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:83
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:95
|
||||
#: lib/cannery_web/live/type_live/form_component.html.heex:21
|
||||
#: lib/cannery_web/live/type_live/index.html.heex:29
|
||||
#: lib/cannery_web/live/type_live/show.html.heex:46
|
||||
@ -1416,7 +1412,7 @@ msgid "Used up!"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.ex:41
|
||||
#: lib/cannery_web/live/range_live/index.ex:39
|
||||
#: lib/cannery_web/live/range_live/index.ex:60
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Edit Shot Record"
|
||||
msgstr "Modifier les enregistrements de tir"
|
||||
@ -1454,3 +1450,13 @@ msgstr ""
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Any"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:138
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Dates"
|
||||
msgstr "Date"
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:8
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "No containers staged"
|
||||
msgstr "Aucun conteneur"
|
||||
|
@ -23,7 +23,7 @@ msgstr ""
|
||||
# # Run "mix gettext.extract" to bring this file up to
|
||||
# # date. Leave "msgstr"s empty as changing them here has no
|
||||
# # effect: edit them in PO (.po) files instead.
|
||||
#: lib/cannery/containers.ex:222
|
||||
#: lib/cannery/containers.ex:234
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Container must be empty before deleting"
|
||||
msgstr "Le conteneur doit être vide pour être supprimé"
|
||||
@ -169,7 +169,7 @@ msgstr "Impossible d'analyser le nombre de copies"
|
||||
msgid "Invalid number of copies, must be between 1 and %{max}. Was %{multiplier}"
|
||||
msgstr "Nombre de copies invalide, doit être 1 et %{max}. Été %{multiplier}"
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:71
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:83
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Your browser does not support the canvas element."
|
||||
msgstr ""
|
||||
@ -215,12 +215,12 @@ msgstr ""
|
||||
msgid "You must log in to access this page."
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery/ammo/pack.ex:98
|
||||
#: lib/cannery/ammo/pack.ex:101
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Please select a valid container"
|
||||
msgstr "Veuillez choisir un type de munitions et un conteneur"
|
||||
|
||||
#: lib/cannery/ammo/pack.ex:96
|
||||
#: lib/cannery/ammo/pack.ex:99
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Please select a valid type"
|
||||
msgstr "Veuillez choisir un utilisateur valide et un groupe de munitions"
|
||||
|
@ -60,21 +60,21 @@ msgstr ""
|
||||
"adresse."
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:110
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:138
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:145
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete %{email}? This action is permanent!"
|
||||
msgstr ""
|
||||
"Êtes-vous certain·e de supprimer %{email} ? Cette action est définitive !"
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:99
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:157
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:113
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:171
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:45
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:63
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete %{name}?"
|
||||
msgstr "Êtes-vous certain·e de supprimer %{name} ?"
|
||||
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:185
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:174
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:69
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete this ammo?"
|
||||
@ -172,19 +172,14 @@ msgstr "Ajout en cours…"
|
||||
msgid "Shots recorded successfully"
|
||||
msgstr "Tirs enregistré avec succès"
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:34
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to unstage this ammo?"
|
||||
msgstr "Êtes-vous certain·e de vouloir désélectionner cette munition ?"
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.ex:157
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:151
|
||||
#: lib/cannery_web/live/pack_live/show.ex:147
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:178
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete this shot record?"
|
||||
msgstr "Êtes-vous certain·e de vouloir supprimer cet enregistrement de tir ?"
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.ex:79
|
||||
#: lib/cannery_web/live/range_live/index.ex:78
|
||||
#: lib/cannery_web/live/pack_live/show.ex:69
|
||||
#: lib/cannery_web/live/range_live/index.ex:99
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Shot records deleted succesfully"
|
||||
msgstr "Enregistrements de tir supprimés avec succès"
|
||||
@ -241,11 +236,6 @@ msgstr "Langue mise à jour avec succès."
|
||||
msgid "Ammo deleted succesfully"
|
||||
msgstr "Groupe de munition supprimé avec succès"
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.ex:91
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Ammo unstaged succesfully"
|
||||
msgstr "Groupe de munition désélectionner avec succès"
|
||||
|
||||
#: lib/cannery_web/live/pack_live/form_component.ex:141
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Ammo updated successfully"
|
||||
@ -289,7 +279,7 @@ msgstr "%{name} activé·e avec succès"
|
||||
msgid "%{invite_name} updated succesfully"
|
||||
msgstr "%{name} mis à jour avec succès"
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.ex:125
|
||||
#: lib/cannery_web/live/invite_live/index.ex:139
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "%{user_email} deleted succesfully"
|
||||
msgstr "%{name} supprimé· avec succès"
|
||||
@ -303,3 +293,13 @@ msgstr "Êtes-vous certain·e de supprimer l’invitation pour %{name} ?"
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Are you sure you want to make %{invite_name} unlimited?"
|
||||
msgstr "Êtes-vous certain·e de vouloir rendre %{name} illimité ?"
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.ex:114
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Container unstaged succesfully"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.ex:128
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Email resent to %{user_email} succesfully"
|
||||
msgstr ""
|
||||
|
@ -142,7 +142,7 @@ msgstr ""
|
||||
msgid "Send instructions to reset password"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:65
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:73
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Why not add one?"
|
||||
msgstr ""
|
||||
@ -152,19 +152,14 @@ msgstr ""
|
||||
msgid "Add"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:17
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Stage ammo"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:13
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Why not get some ready to shoot?"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:127
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:90
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:42
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:116
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:84
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:54
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Record shots"
|
||||
msgstr ""
|
||||
@ -210,8 +205,8 @@ msgid "View in Catalog"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/move_pack_component.ex:77
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:138
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:86
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:127
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:80
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Move ammo"
|
||||
msgstr ""
|
||||
@ -221,14 +216,12 @@ msgstr ""
|
||||
msgid "Set Unlimited"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:82
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:38
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:59
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Stage for range"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:81
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:37
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:58
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Unstage from range"
|
||||
msgstr ""
|
||||
@ -238,8 +231,8 @@ msgstr ""
|
||||
msgid "Export Data as JSON"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:87
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:145
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:101
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:159
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Clone %{container_name}"
|
||||
msgstr ""
|
||||
@ -249,8 +242,8 @@ msgstr ""
|
||||
msgid "Copy invite link for %{invite_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:104
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:162
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:118
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:176
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:48
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Delete %{container_name}"
|
||||
@ -266,8 +259,8 @@ msgstr ""
|
||||
msgid "Delete invite for %{invite_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:77
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:135
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:91
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:149
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:35
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit %{container_name}"
|
||||
@ -283,54 +276,56 @@ msgstr ""
|
||||
msgid "Edit invite for %{invite_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:120
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:69
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:35
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Stage"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:65
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:124
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:79
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:138
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Tag %{container_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:119
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:68
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:34
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Unstage"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:172
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:161
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Clone pack of %{pack_count} bullets"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:187
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:176
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:71
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Delete pack of %{pack_count} bullets"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:160
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:149
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:59
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Edit pack of %{pack_count} bullets"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:139
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:148
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:147
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:137
|
||||
#: lib/cannery_web/live/type_live/show.html.heex:201
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "View pack of %{pack_count} bullets"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.ex:159
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:154
|
||||
#: lib/cannery_web/live/pack_live/show.ex:149
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:181
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Delete shot record of %{shot_record_count} shots"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.ex:144
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:137
|
||||
#: lib/cannery_web/live/pack_live/show.ex:134
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:164
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Edit shot record of %{shot_record_count} shots"
|
||||
msgstr ""
|
||||
@ -366,3 +361,8 @@ msgstr ""
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "add a type first"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:17
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Stage containers"
|
||||
msgstr ""
|
||||
|
@ -115,7 +115,7 @@ msgstr ""
|
||||
msgid "Count:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/container_table_component.ex:46
|
||||
#: lib/cannery_web/components/container_table_component.ex:50
|
||||
#: lib/cannery_web/live/container_live/form_component.html.heex:30
|
||||
#: lib/cannery_web/live/type_live/form_component.html.heex:43
|
||||
#, elixir-autogen, elixir-format
|
||||
@ -187,7 +187,7 @@ msgstr ""
|
||||
msgid "Keep me logged in for 60 days"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/container_table_component.ex:47
|
||||
#: lib/cannery_web/components/container_table_component.ex:51
|
||||
#: lib/cannery_web/components/move_pack_component.ex:66
|
||||
#: lib/cannery_web/live/container_live/form_component.html.heex:49
|
||||
#, elixir-autogen, elixir-format
|
||||
@ -222,7 +222,7 @@ msgstr ""
|
||||
msgid "My cool ammo can"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/container_table_component.ex:45
|
||||
#: lib/cannery_web/components/container_table_component.ex:49
|
||||
#: lib/cannery_web/components/type_table_component.ex:152
|
||||
#: lib/cannery_web/live/container_live/form_component.html.heex:21
|
||||
#: lib/cannery_web/live/invite_live/form_component.html.heex:21
|
||||
@ -279,7 +279,7 @@ msgstr ""
|
||||
#: lib/cannery_web/components/add_shot_record_component.html.heex:38
|
||||
#: lib/cannery_web/components/shot_record_table_component.ex:46
|
||||
#: lib/cannery_web/live/pack_live/form_component.html.heex:75
|
||||
#: lib/cannery_web/live/pack_live/show.ex:90
|
||||
#: lib/cannery_web/live/pack_live/show.ex:80
|
||||
#: lib/cannery_web/live/range_live/form_component.html.heex:30
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Notes"
|
||||
@ -350,12 +350,12 @@ msgstr ""
|
||||
msgid "Steel"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:100
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:94
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Stored in"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/container_table_component.ex:66
|
||||
#: lib/cannery_web/components/container_table_component.ex:73
|
||||
#: lib/cannery_web/components/core_components/topbar.html.heex:28
|
||||
#: lib/cannery_web/live/tag_live/index.ex:43
|
||||
#: lib/cannery_web/live/tag_live/index.ex:53
|
||||
@ -385,7 +385,7 @@ msgstr ""
|
||||
msgid "Tracer"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/container_table_component.ex:48
|
||||
#: lib/cannery_web/components/container_table_component.ex:52
|
||||
#: lib/cannery_web/components/move_pack_component.ex:65
|
||||
#: lib/cannery_web/components/pack_table_component.ex:108
|
||||
#: lib/cannery_web/live/container_live/form_component.html.heex:40
|
||||
@ -415,15 +415,16 @@ msgstr ""
|
||||
msgid "Your data stays with you, period"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:60
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:68
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No tags for this container"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/container_table_component.ex:77
|
||||
#: lib/cannery_web/components/core_components/topbar.html.heex:48
|
||||
#: lib/cannery_web/components/pack_table_component.ex:80
|
||||
#: lib/cannery_web/live/range_live/index.ex:55
|
||||
#: lib/cannery_web/live/range_live/index.ex:65
|
||||
#: lib/cannery_web/live/range_live/index.ex:76
|
||||
#: lib/cannery_web/live/range_live/index.ex:86
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Range"
|
||||
msgstr ""
|
||||
@ -435,7 +436,7 @@ msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/add_shot_record_component.html.heex:49
|
||||
#: lib/cannery_web/components/shot_record_table_component.ex:47
|
||||
#: lib/cannery_web/live/pack_live/show.ex:91
|
||||
#: lib/cannery_web/live/pack_live/show.ex:81
|
||||
#: lib/cannery_web/live/range_live/form_component.html.heex:41
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Date"
|
||||
@ -446,26 +447,21 @@ msgstr ""
|
||||
msgid "Shots fired"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:8
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No ammo staged"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/add_shot_record_component.html.heex:3
|
||||
#: lib/cannery_web/live/pack_live/index.ex:35
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Record shots"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:52
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:121
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:64
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:148
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No shots recorded"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/shot_record_table_component.ex:45
|
||||
#: lib/cannery_web/live/pack_live/show.ex:89
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:66
|
||||
#: lib/cannery_web/live/pack_live/show.ex:79
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:78
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Rounds shot"
|
||||
msgstr ""
|
||||
@ -480,7 +476,7 @@ msgstr ""
|
||||
msgid "No other containers"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:57
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:69
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Shot log"
|
||||
msgstr ""
|
||||
@ -488,7 +484,7 @@ msgstr ""
|
||||
#: lib/cannery_web/components/core_components/pack_card.html.heex:42
|
||||
#: lib/cannery_web/components/core_components/pack_card.html.heex:47
|
||||
#: lib/cannery_web/components/pack_table_component.ex:181
|
||||
#: lib/cannery_web/components/pack_table_component.ex:264
|
||||
#: lib/cannery_web/components/pack_table_component.ex:263
|
||||
#: lib/cannery_web/components/type_table_component.ex:273
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:37
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:42
|
||||
@ -561,13 +557,13 @@ msgid "Reconnecting..."
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.ex:28
|
||||
#: lib/cannery_web/live/container_live/show.ex:118
|
||||
#: lib/cannery_web/live/container_live/show.ex:130
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit %{name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.ex:63
|
||||
#: lib/cannery_web/live/container_live/show.ex:119
|
||||
#: lib/cannery_web/live/container_live/show.ex:131
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit %{name} tags"
|
||||
msgstr ""
|
||||
@ -580,7 +576,7 @@ msgid "Rounds:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/pack_table_component.ex:178
|
||||
#: lib/cannery_web/components/pack_table_component.ex:260
|
||||
#: lib/cannery_web/components/pack_table_component.ex:259
|
||||
#: lib/cannery_web/components/type_table_component.ex:272
|
||||
#: lib/cannery_web/live/type_live/show.html.heex:154
|
||||
#, elixir-autogen, elixir-format
|
||||
@ -612,7 +608,7 @@ msgstr ""
|
||||
msgid "Percentage left:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:113
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:107
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Rounds used"
|
||||
msgstr ""
|
||||
@ -643,8 +639,8 @@ msgid "Reset your password"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.ex:40
|
||||
#: lib/cannery_web/live/range_live/index.ex:31
|
||||
#: lib/cannery_web/live/range_live/index.ex:47
|
||||
#: lib/cannery_web/live/range_live/index.ex:52
|
||||
#: lib/cannery_web/live/range_live/index.ex:68
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Record Shots"
|
||||
msgstr ""
|
||||
@ -702,7 +698,7 @@ msgstr ""
|
||||
msgid "Move Ammo"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:117
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:125
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No ammo in this container"
|
||||
msgstr ""
|
||||
@ -712,7 +708,7 @@ msgstr ""
|
||||
msgid "Show Ammo"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:105
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:99
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "This ammo is not in a container"
|
||||
msgstr ""
|
||||
@ -752,31 +748,31 @@ msgstr ""
|
||||
msgid "Show used"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/pack_table_component.ex:219
|
||||
#: lib/cannery_web/components/pack_table_component.ex:218
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:19
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{percentage}%"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.ex:153
|
||||
#: lib/cannery_web/live/range_live/index.ex:215
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Rounds shot: %{count}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/container_table_component.ex:64
|
||||
#: lib/cannery_web/components/container_table_component.ex:68
|
||||
#: lib/cannery_web/components/type_table_component.ex:122
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Packs"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/container_table_component.ex:65
|
||||
#: lib/cannery_web/components/container_table_component.ex:69
|
||||
#: lib/cannery_web/components/type_table_component.ex:143
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Rounds"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:40
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:109
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:117
|
||||
#: lib/cannery_web/live/type_live/show.html.heex:170
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "View as table"
|
||||
@ -822,7 +818,7 @@ msgstr ""
|
||||
msgid "Used rounds:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:68
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:80
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Rounds shot chart"
|
||||
msgstr ""
|
||||
@ -929,7 +925,7 @@ msgid "Average CPR"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/core_components/pack_card.html.heex:17
|
||||
#: lib/cannery_web/components/pack_table_component.ex:268
|
||||
#: lib/cannery_web/components/pack_table_component.ex:267
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Empty"
|
||||
msgstr ""
|
||||
@ -1011,7 +1007,7 @@ msgstr ""
|
||||
msgid "Search tags"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:112
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:124
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Search shot records"
|
||||
msgstr ""
|
||||
@ -1144,12 +1140,12 @@ msgstr ""
|
||||
msgid "Really great weather"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/container_table_component.ex:67
|
||||
#: lib/cannery_web/components/container_table_component.ex:74
|
||||
#: lib/cannery_web/components/move_pack_component.ex:67
|
||||
#: lib/cannery_web/components/pack_table_component.ex:62
|
||||
#: lib/cannery_web/components/shot_record_table_component.ex:48
|
||||
#: lib/cannery_web/components/type_table_component.ex:99
|
||||
#: lib/cannery_web/live/pack_live/show.ex:92
|
||||
#: lib/cannery_web/live/pack_live/show.ex:82
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Actions"
|
||||
msgstr ""
|
||||
@ -1175,9 +1171,9 @@ msgstr ""
|
||||
msgid "Close modal"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:97
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:105
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:58
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:91
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:103
|
||||
#: lib/cannery_web/live/type_live/index.html.heex:37
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "All"
|
||||
@ -1258,10 +1254,10 @@ msgstr ""
|
||||
msgid "None specified"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:100
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:108
|
||||
#: lib/cannery_web/live/pack_live/form_component.html.heex:30
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:61
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:94
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:106
|
||||
#: lib/cannery_web/live/type_live/form_component.html.heex:28
|
||||
#: lib/cannery_web/live/type_live/index.html.heex:40
|
||||
#: lib/cannery_web/live/type_live/show.html.heex:56
|
||||
@ -1284,10 +1280,10 @@ msgstr ""
|
||||
msgid "Projectile"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:98
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:106
|
||||
#: lib/cannery_web/live/pack_live/form_component.html.heex:28
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:59
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:92
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:104
|
||||
#: lib/cannery_web/live/type_live/form_component.html.heex:26
|
||||
#: lib/cannery_web/live/type_live/index.html.heex:38
|
||||
#: lib/cannery_web/live/type_live/show.html.heex:54
|
||||
@ -1339,10 +1335,10 @@ msgstr ""
|
||||
msgid "Shot type:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:99
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:107
|
||||
#: lib/cannery_web/live/pack_live/form_component.html.heex:29
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:60
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:93
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:105
|
||||
#: lib/cannery_web/live/type_live/form_component.html.heex:27
|
||||
#: lib/cannery_web/live/type_live/index.html.heex:39
|
||||
#: lib/cannery_web/live/type_live/show.html.heex:52
|
||||
@ -1384,10 +1380,10 @@ msgid "Wadding:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/type_table_component.ex:149
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:91
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:99
|
||||
#: lib/cannery_web/live/pack_live/form_component.html.heex:22
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:50
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:83
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:95
|
||||
#: lib/cannery_web/live/type_live/form_component.html.heex:21
|
||||
#: lib/cannery_web/live/type_live/index.html.heex:29
|
||||
#: lib/cannery_web/live/type_live/show.html.heex:46
|
||||
@ -1407,7 +1403,7 @@ msgid "Used up!"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.ex:41
|
||||
#: lib/cannery_web/live/range_live/index.ex:39
|
||||
#: lib/cannery_web/live/range_live/index.ex:60
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Edit Shot Record"
|
||||
msgstr ""
|
||||
@ -1445,3 +1441,13 @@ msgstr ""
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Any"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:138
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Dates"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:8
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "No containers staged"
|
||||
msgstr ""
|
||||
|
@ -24,7 +24,7 @@ msgstr ""
|
||||
## Run "mix gettext.extract" to bring this file up to
|
||||
## date. Leave "msgstr"s empty as changing them here has no
|
||||
## effect: edit them in PO (.po) files instead.
|
||||
#: lib/cannery/containers.ex:222
|
||||
#: lib/cannery/containers.ex:234
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Container must be empty before deleting"
|
||||
msgstr "Caithfidh an coimeádán a bheidh follamh roimh scriosadh"
|
||||
@ -168,7 +168,7 @@ msgstr ""
|
||||
msgid "Invalid number of copies, must be between 1 and %{max}. Was %{multiplier}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:71
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:83
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Your browser does not support the canvas element."
|
||||
msgstr ""
|
||||
@ -214,12 +214,12 @@ msgstr ""
|
||||
msgid "You must log in to access this page."
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery/ammo/pack.ex:98
|
||||
#: lib/cannery/ammo/pack.ex:101
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Please select a valid container"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery/ammo/pack.ex:96
|
||||
#: lib/cannery/ammo/pack.ex:99
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Please select a valid type"
|
||||
msgstr ""
|
||||
|
@ -56,20 +56,20 @@ msgid "A link to confirm your email change has been sent to the new address."
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:110
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:138
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:145
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete %{email}? This action is permanent!"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:99
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:157
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:113
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:171
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:45
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:63
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete %{name}?"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:185
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:174
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:69
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete this ammo?"
|
||||
@ -161,19 +161,14 @@ msgstr ""
|
||||
msgid "Shots recorded successfully"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:34
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to unstage this ammo?"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.ex:157
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:151
|
||||
#: lib/cannery_web/live/pack_live/show.ex:147
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:178
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete this shot record?"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.ex:79
|
||||
#: lib/cannery_web/live/range_live/index.ex:78
|
||||
#: lib/cannery_web/live/pack_live/show.ex:69
|
||||
#: lib/cannery_web/live/range_live/index.ex:99
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Shot records deleted succesfully"
|
||||
msgstr ""
|
||||
@ -230,11 +225,6 @@ msgstr ""
|
||||
msgid "Ammo deleted succesfully"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.ex:91
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Ammo unstaged succesfully"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/form_component.ex:141
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Ammo updated successfully"
|
||||
@ -281,7 +271,7 @@ msgstr ""
|
||||
msgid "%{invite_name} updated succesfully"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.ex:125
|
||||
#: lib/cannery_web/live/invite_live/index.ex:139
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "%{user_email} deleted succesfully"
|
||||
msgstr ""
|
||||
@ -295,3 +285,13 @@ msgstr ""
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Are you sure you want to make %{invite_name} unlimited?"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.ex:114
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Container unstaged succesfully"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.ex:128
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Email resent to %{user_email} succesfully"
|
||||
msgstr ""
|
||||
|
@ -142,7 +142,7 @@ msgstr ""
|
||||
msgid "Send instructions to reset password"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:65
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:73
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Why not add one?"
|
||||
msgstr ""
|
||||
@ -152,19 +152,14 @@ msgstr ""
|
||||
msgid "Add"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:17
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Stage ammo"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:13
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Why not get some ready to shoot?"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:127
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:90
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:42
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:116
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:84
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:54
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Record shots"
|
||||
msgstr ""
|
||||
@ -210,8 +205,8 @@ msgid "View in Catalog"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/move_pack_component.ex:77
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:138
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:86
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:127
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:80
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Move ammo"
|
||||
msgstr ""
|
||||
@ -221,14 +216,12 @@ msgstr ""
|
||||
msgid "Set Unlimited"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:82
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:38
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:59
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Stage for range"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:81
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:37
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:58
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Unstage from range"
|
||||
msgstr ""
|
||||
@ -238,8 +231,8 @@ msgstr ""
|
||||
msgid "Export Data as JSON"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:87
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:145
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:101
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:159
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Clone %{container_name}"
|
||||
msgstr ""
|
||||
@ -249,8 +242,8 @@ msgstr ""
|
||||
msgid "Copy invite link for %{invite_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:104
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:162
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:118
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:176
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:48
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Delete %{container_name}"
|
||||
@ -266,8 +259,8 @@ msgstr ""
|
||||
msgid "Delete invite for %{invite_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:77
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:135
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:91
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:149
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:35
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit %{container_name}"
|
||||
@ -283,54 +276,56 @@ msgstr ""
|
||||
msgid "Edit invite for %{invite_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:120
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:69
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:35
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Stage"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:65
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:124
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:79
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:138
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Tag %{container_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:119
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:68
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:34
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Unstage"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:172
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:161
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Clone pack of %{pack_count} bullets"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:187
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:176
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:71
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Delete pack of %{pack_count} bullets"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:160
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:149
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:59
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit pack of %{pack_count} bullets"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:139
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:148
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:147
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:137
|
||||
#: lib/cannery_web/live/type_live/show.html.heex:201
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "View pack of %{pack_count} bullets"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.ex:159
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:154
|
||||
#: lib/cannery_web/live/pack_live/show.ex:149
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:181
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Delete shot record of %{shot_record_count} shots"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.ex:144
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:137
|
||||
#: lib/cannery_web/live/pack_live/show.ex:134
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:164
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit shot record of %{shot_record_count} shots"
|
||||
msgstr ""
|
||||
@ -366,3 +361,8 @@ msgstr ""
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "add a type first"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:17
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Stage containers"
|
||||
msgstr ""
|
||||
|
@ -124,7 +124,7 @@ msgstr ""
|
||||
msgid "Count:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/container_table_component.ex:46
|
||||
#: lib/cannery_web/components/container_table_component.ex:50
|
||||
#: lib/cannery_web/live/container_live/form_component.html.heex:30
|
||||
#: lib/cannery_web/live/type_live/form_component.html.heex:43
|
||||
#, elixir-autogen, elixir-format
|
||||
@ -196,7 +196,7 @@ msgstr ""
|
||||
msgid "Keep me logged in for 60 days"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/container_table_component.ex:47
|
||||
#: lib/cannery_web/components/container_table_component.ex:51
|
||||
#: lib/cannery_web/components/move_pack_component.ex:66
|
||||
#: lib/cannery_web/live/container_live/form_component.html.heex:49
|
||||
#, elixir-autogen, elixir-format
|
||||
@ -231,7 +231,7 @@ msgstr ""
|
||||
msgid "My cool ammo can"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/container_table_component.ex:45
|
||||
#: lib/cannery_web/components/container_table_component.ex:49
|
||||
#: lib/cannery_web/components/type_table_component.ex:152
|
||||
#: lib/cannery_web/live/container_live/form_component.html.heex:21
|
||||
#: lib/cannery_web/live/invite_live/form_component.html.heex:21
|
||||
@ -288,7 +288,7 @@ msgstr ""
|
||||
#: lib/cannery_web/components/add_shot_record_component.html.heex:38
|
||||
#: lib/cannery_web/components/shot_record_table_component.ex:46
|
||||
#: lib/cannery_web/live/pack_live/form_component.html.heex:75
|
||||
#: lib/cannery_web/live/pack_live/show.ex:90
|
||||
#: lib/cannery_web/live/pack_live/show.ex:80
|
||||
#: lib/cannery_web/live/range_live/form_component.html.heex:30
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Notes"
|
||||
@ -359,12 +359,12 @@ msgstr ""
|
||||
msgid "Steel"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:100
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:94
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Stored in"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/container_table_component.ex:66
|
||||
#: lib/cannery_web/components/container_table_component.ex:73
|
||||
#: lib/cannery_web/components/core_components/topbar.html.heex:28
|
||||
#: lib/cannery_web/live/tag_live/index.ex:43
|
||||
#: lib/cannery_web/live/tag_live/index.ex:53
|
||||
@ -394,7 +394,7 @@ msgstr ""
|
||||
msgid "Tracer"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/container_table_component.ex:48
|
||||
#: lib/cannery_web/components/container_table_component.ex:52
|
||||
#: lib/cannery_web/components/move_pack_component.ex:65
|
||||
#: lib/cannery_web/components/pack_table_component.ex:108
|
||||
#: lib/cannery_web/live/container_live/form_component.html.heex:40
|
||||
@ -424,15 +424,16 @@ msgstr ""
|
||||
msgid "Your data stays with you, period"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:60
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:68
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No tags for this container"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/container_table_component.ex:77
|
||||
#: lib/cannery_web/components/core_components/topbar.html.heex:48
|
||||
#: lib/cannery_web/components/pack_table_component.ex:80
|
||||
#: lib/cannery_web/live/range_live/index.ex:55
|
||||
#: lib/cannery_web/live/range_live/index.ex:65
|
||||
#: lib/cannery_web/live/range_live/index.ex:76
|
||||
#: lib/cannery_web/live/range_live/index.ex:86
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Range"
|
||||
msgstr ""
|
||||
@ -444,7 +445,7 @@ msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/add_shot_record_component.html.heex:49
|
||||
#: lib/cannery_web/components/shot_record_table_component.ex:47
|
||||
#: lib/cannery_web/live/pack_live/show.ex:91
|
||||
#: lib/cannery_web/live/pack_live/show.ex:81
|
||||
#: lib/cannery_web/live/range_live/form_component.html.heex:41
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Date"
|
||||
@ -455,26 +456,21 @@ msgstr ""
|
||||
msgid "Shots fired"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:8
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No ammo staged"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/add_shot_record_component.html.heex:3
|
||||
#: lib/cannery_web/live/pack_live/index.ex:35
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Record shots"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:52
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:121
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:64
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:148
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No shots recorded"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/shot_record_table_component.ex:45
|
||||
#: lib/cannery_web/live/pack_live/show.ex:89
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:66
|
||||
#: lib/cannery_web/live/pack_live/show.ex:79
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:78
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Rounds shot"
|
||||
msgstr ""
|
||||
@ -489,7 +485,7 @@ msgstr ""
|
||||
msgid "No other containers"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:57
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:69
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Shot log"
|
||||
msgstr ""
|
||||
@ -497,7 +493,7 @@ msgstr ""
|
||||
#: lib/cannery_web/components/core_components/pack_card.html.heex:42
|
||||
#: lib/cannery_web/components/core_components/pack_card.html.heex:47
|
||||
#: lib/cannery_web/components/pack_table_component.ex:181
|
||||
#: lib/cannery_web/components/pack_table_component.ex:264
|
||||
#: lib/cannery_web/components/pack_table_component.ex:263
|
||||
#: lib/cannery_web/components/type_table_component.ex:273
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:37
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:42
|
||||
@ -570,13 +566,13 @@ msgid "Reconnecting..."
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.ex:28
|
||||
#: lib/cannery_web/live/container_live/show.ex:118
|
||||
#: lib/cannery_web/live/container_live/show.ex:130
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit %{name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.ex:63
|
||||
#: lib/cannery_web/live/container_live/show.ex:119
|
||||
#: lib/cannery_web/live/container_live/show.ex:131
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit %{name} tags"
|
||||
msgstr ""
|
||||
@ -589,7 +585,7 @@ msgid "Rounds:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/pack_table_component.ex:178
|
||||
#: lib/cannery_web/components/pack_table_component.ex:260
|
||||
#: lib/cannery_web/components/pack_table_component.ex:259
|
||||
#: lib/cannery_web/components/type_table_component.ex:272
|
||||
#: lib/cannery_web/live/type_live/show.html.heex:154
|
||||
#, elixir-autogen, elixir-format
|
||||
@ -621,7 +617,7 @@ msgstr ""
|
||||
msgid "Percentage left:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:113
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:107
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Rounds used"
|
||||
msgstr ""
|
||||
@ -652,8 +648,8 @@ msgid "Reset your password"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.ex:40
|
||||
#: lib/cannery_web/live/range_live/index.ex:31
|
||||
#: lib/cannery_web/live/range_live/index.ex:47
|
||||
#: lib/cannery_web/live/range_live/index.ex:52
|
||||
#: lib/cannery_web/live/range_live/index.ex:68
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Record Shots"
|
||||
msgstr ""
|
||||
@ -711,7 +707,7 @@ msgstr ""
|
||||
msgid "Move Ammo"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:117
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:125
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No ammo in this container"
|
||||
msgstr ""
|
||||
@ -721,7 +717,7 @@ msgstr ""
|
||||
msgid "Show Ammo"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:105
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:99
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "This ammo is not in a container"
|
||||
msgstr ""
|
||||
@ -761,31 +757,31 @@ msgstr ""
|
||||
msgid "Show used"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/pack_table_component.ex:219
|
||||
#: lib/cannery_web/components/pack_table_component.ex:218
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:19
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{percentage}%"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.ex:153
|
||||
#: lib/cannery_web/live/range_live/index.ex:215
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Rounds shot: %{count}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/container_table_component.ex:64
|
||||
#: lib/cannery_web/components/container_table_component.ex:68
|
||||
#: lib/cannery_web/components/type_table_component.ex:122
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Packs"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/container_table_component.ex:65
|
||||
#: lib/cannery_web/components/container_table_component.ex:69
|
||||
#: lib/cannery_web/components/type_table_component.ex:143
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Rounds"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:40
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:109
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:117
|
||||
#: lib/cannery_web/live/type_live/show.html.heex:170
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "View as table"
|
||||
@ -831,7 +827,7 @@ msgstr ""
|
||||
msgid "Used rounds:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:68
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:80
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Rounds shot chart"
|
||||
msgstr ""
|
||||
@ -938,7 +934,7 @@ msgid "Average CPR"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/core_components/pack_card.html.heex:17
|
||||
#: lib/cannery_web/components/pack_table_component.ex:268
|
||||
#: lib/cannery_web/components/pack_table_component.ex:267
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Empty"
|
||||
msgstr ""
|
||||
@ -1020,7 +1016,7 @@ msgstr ""
|
||||
msgid "Search tags"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:112
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:124
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Search shot records"
|
||||
msgstr ""
|
||||
@ -1144,12 +1140,12 @@ msgstr ""
|
||||
msgid "Really great weather"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/container_table_component.ex:67
|
||||
#: lib/cannery_web/components/container_table_component.ex:74
|
||||
#: lib/cannery_web/components/move_pack_component.ex:67
|
||||
#: lib/cannery_web/components/pack_table_component.ex:62
|
||||
#: lib/cannery_web/components/shot_record_table_component.ex:48
|
||||
#: lib/cannery_web/components/type_table_component.ex:99
|
||||
#: lib/cannery_web/live/pack_live/show.ex:92
|
||||
#: lib/cannery_web/live/pack_live/show.ex:82
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Actions"
|
||||
msgstr ""
|
||||
@ -1175,9 +1171,9 @@ msgstr ""
|
||||
msgid "Close modal"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:97
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:105
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:58
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:91
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:103
|
||||
#: lib/cannery_web/live/type_live/index.html.heex:37
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "All"
|
||||
@ -1258,10 +1254,10 @@ msgstr ""
|
||||
msgid "None specified"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:100
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:108
|
||||
#: lib/cannery_web/live/pack_live/form_component.html.heex:30
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:61
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:94
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:106
|
||||
#: lib/cannery_web/live/type_live/form_component.html.heex:28
|
||||
#: lib/cannery_web/live/type_live/index.html.heex:40
|
||||
#: lib/cannery_web/live/type_live/show.html.heex:56
|
||||
@ -1284,10 +1280,10 @@ msgstr ""
|
||||
msgid "Projectile"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:98
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:106
|
||||
#: lib/cannery_web/live/pack_live/form_component.html.heex:28
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:59
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:92
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:104
|
||||
#: lib/cannery_web/live/type_live/form_component.html.heex:26
|
||||
#: lib/cannery_web/live/type_live/index.html.heex:38
|
||||
#: lib/cannery_web/live/type_live/show.html.heex:54
|
||||
@ -1339,10 +1335,10 @@ msgstr ""
|
||||
msgid "Shot type:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:99
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:107
|
||||
#: lib/cannery_web/live/pack_live/form_component.html.heex:29
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:60
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:93
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:105
|
||||
#: lib/cannery_web/live/type_live/form_component.html.heex:27
|
||||
#: lib/cannery_web/live/type_live/index.html.heex:39
|
||||
#: lib/cannery_web/live/type_live/show.html.heex:52
|
||||
@ -1384,10 +1380,10 @@ msgid "Wadding:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/type_table_component.ex:149
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:91
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:99
|
||||
#: lib/cannery_web/live/pack_live/form_component.html.heex:22
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:50
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:83
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:95
|
||||
#: lib/cannery_web/live/type_live/form_component.html.heex:21
|
||||
#: lib/cannery_web/live/type_live/index.html.heex:29
|
||||
#: lib/cannery_web/live/type_live/show.html.heex:46
|
||||
@ -1407,7 +1403,7 @@ msgid "Used up!"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.ex:41
|
||||
#: lib/cannery_web/live/range_live/index.ex:39
|
||||
#: lib/cannery_web/live/range_live/index.ex:60
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit Shot Record"
|
||||
msgstr ""
|
||||
@ -1445,3 +1441,13 @@ msgstr ""
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Any"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:138
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Dates"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:8
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "No containers staged"
|
||||
msgstr ""
|
||||
|
@ -21,7 +21,7 @@ msgstr ""
|
||||
## Run "mix gettext.extract" to bring this file up to
|
||||
## date. Leave "msgstr"s empty as changing them here has no
|
||||
## effect: edit them in PO (.po) files instead.
|
||||
#: lib/cannery/containers.ex:222
|
||||
#: lib/cannery/containers.ex:234
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Container must be empty before deleting"
|
||||
msgstr ""
|
||||
@ -163,7 +163,7 @@ msgstr ""
|
||||
msgid "Invalid number of copies, must be between 1 and %{max}. Was %{multiplier}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:71
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:83
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Your browser does not support the canvas element."
|
||||
msgstr ""
|
||||
@ -209,12 +209,12 @@ msgstr ""
|
||||
msgid "You must log in to access this page."
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery/ammo/pack.ex:98
|
||||
#: lib/cannery/ammo/pack.ex:101
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Please select a valid container"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery/ammo/pack.ex:96
|
||||
#: lib/cannery/ammo/pack.ex:99
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Please select a valid type"
|
||||
msgstr ""
|
||||
|
@ -56,20 +56,20 @@ msgid "A link to confirm your email change has been sent to the new address."
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:110
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:138
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:145
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete %{email}? This action is permanent!"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:99
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:157
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:113
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:171
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:45
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:63
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete %{name}?"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:185
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:174
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:69
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete this ammo?"
|
||||
@ -161,19 +161,14 @@ msgstr ""
|
||||
msgid "Shots recorded successfully"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:34
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to unstage this ammo?"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.ex:157
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:151
|
||||
#: lib/cannery_web/live/pack_live/show.ex:147
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:178
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete this shot record?"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.ex:79
|
||||
#: lib/cannery_web/live/range_live/index.ex:78
|
||||
#: lib/cannery_web/live/pack_live/show.ex:69
|
||||
#: lib/cannery_web/live/range_live/index.ex:99
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Shot records deleted succesfully"
|
||||
msgstr ""
|
||||
@ -230,11 +225,6 @@ msgstr ""
|
||||
msgid "Ammo deleted succesfully"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.ex:91
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Ammo unstaged succesfully"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/form_component.ex:141
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Ammo updated successfully"
|
||||
@ -278,7 +268,7 @@ msgstr ""
|
||||
msgid "%{invite_name} updated succesfully"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.ex:125
|
||||
#: lib/cannery_web/live/invite_live/index.ex:139
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{user_email} deleted succesfully"
|
||||
msgstr ""
|
||||
@ -292,3 +282,13 @@ msgstr ""
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to make %{invite_name} unlimited?"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.ex:114
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Container unstaged succesfully"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.ex:128
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Email resent to %{user_email} succesfully"
|
||||
msgstr ""
|
||||
|
@ -45,20 +45,20 @@ msgid "A link to confirm your email change has been sent to the new address."
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:110
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:138
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:145
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete %{email}? This action is permanent!"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:99
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:157
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:113
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:171
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:45
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:63
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete %{name}?"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:185
|
||||
#: lib/cannery_web/live/pack_live/index.html.heex:174
|
||||
#: lib/cannery_web/live/pack_live/show.html.heex:69
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete this ammo?"
|
||||
@ -150,19 +150,14 @@ msgstr ""
|
||||
msgid "Shots recorded successfully"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:34
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to unstage this ammo?"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.ex:157
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:151
|
||||
#: lib/cannery_web/live/pack_live/show.ex:147
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:178
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete this shot record?"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/show.ex:79
|
||||
#: lib/cannery_web/live/range_live/index.ex:78
|
||||
#: lib/cannery_web/live/pack_live/show.ex:69
|
||||
#: lib/cannery_web/live/range_live/index.ex:99
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Shot records deleted succesfully"
|
||||
msgstr ""
|
||||
@ -219,11 +214,6 @@ msgstr ""
|
||||
msgid "Ammo deleted succesfully"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.ex:91
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Ammo unstaged succesfully"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/pack_live/form_component.ex:141
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Ammo updated successfully"
|
||||
@ -267,7 +257,7 @@ msgstr ""
|
||||
msgid "%{invite_name} updated succesfully"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.ex:125
|
||||
#: lib/cannery_web/live/invite_live/index.ex:139
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{user_email} deleted succesfully"
|
||||
msgstr ""
|
||||
@ -281,3 +271,13 @@ msgstr ""
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to make %{invite_name} unlimited?"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.ex:114
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Container unstaged succesfully"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.ex:128
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Email resent to %{user_email} succesfully"
|
||||
msgstr ""
|
||||
|
@ -0,0 +1,13 @@
|
||||
defmodule Cannery.Repo.Migrations.MoveStagedToContainers do
|
||||
use Ecto.Migration
|
||||
|
||||
def change do
|
||||
alter table(:packs) do
|
||||
remove :staged
|
||||
end
|
||||
|
||||
alter table(:containers) do
|
||||
add :staged, :boolean, default: false
|
||||
end
|
||||
end
|
||||
end
|
@ -310,7 +310,7 @@ defmodule Cannery.AccountsTest do
|
||||
test "deletes all tokens for the given user", %{user: user} do
|
||||
_session_token = Accounts.generate_user_session_token(user)
|
||||
|
||||
{:ok, _} =
|
||||
{:ok, _user} =
|
||||
Accounts.update_user_password(user, valid_user_password(), %{
|
||||
password: "new valid password"
|
||||
})
|
||||
|
@ -860,11 +860,13 @@ defmodule Cannery.AmmoTest do
|
||||
|
||||
test "list_packs/2 returns all relevant packs including staged", %{
|
||||
type: type,
|
||||
container: container,
|
||||
pack: unstaged_pack,
|
||||
current_user: current_user
|
||||
} do
|
||||
{1, [staged_pack]} = pack_fixture(%{staged: true}, type, container, current_user)
|
||||
staged_container =
|
||||
container_fixture(%{name: "fantastic container", staged: true}, current_user)
|
||||
|
||||
{1, [staged_pack]} = pack_fixture(type, staged_container, current_user)
|
||||
|
||||
assert Ammo.list_packs(current_user, staged: false) == [unstaged_pack]
|
||||
assert Ammo.list_packs(current_user, staged: true) == [staged_pack]
|
||||
|
@ -50,7 +50,6 @@ defmodule CanneryWeb.ExportControllerTest do
|
||||
"notes" => pack.notes,
|
||||
"price_paid" => pack.price_paid,
|
||||
"lot_number" => pack.lot_number,
|
||||
"staged" => pack.staged,
|
||||
"used_count" => ActivityLog.get_used_count(current_user, pack_id: pack.id),
|
||||
"original_count" => pack |> Ammo.get_original_count(current_user),
|
||||
"cpr" => pack |> Ammo.get_cpr(current_user),
|
||||
@ -103,6 +102,7 @@ defmodule CanneryWeb.ExportControllerTest do
|
||||
"id" => container.id,
|
||||
"location" => container.location,
|
||||
"name" => container.name,
|
||||
"staged" => container.staged,
|
||||
"tags" => [
|
||||
%{
|
||||
"id" => tag.id,
|
||||
|
@ -57,8 +57,8 @@ defmodule Cannery.Fixtures do
|
||||
|> Atom.to_string()
|
||||
|> Email.generate_email(Accounts.get_user!(user_id), attrs)
|
||||
|
||||
[_, html_token | _] = email.html_body |> String.split("[TOKEN]")
|
||||
[_, text_token | _] = email.text_body |> String.split("[TOKEN]")
|
||||
[_prefix, html_token | _suffix] = email.html_body |> String.split("[TOKEN]")
|
||||
[_prefix, text_token | _suffix] = email.text_body |> String.split("[TOKEN]")
|
||||
^text_token = html_token
|
||||
end
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user