diff --git a/bun.lock b/bun.lock index 85357c3..d0c8449 100644 --- a/bun.lock +++ b/bun.lock @@ -1,5 +1,6 @@ { "lockfileVersion": 1, + "configVersion": 0, "workspaces": { "": { "name": "tramtrack", @@ -10,7 +11,7 @@ "material-design-icons-iconfont": "^6.7.0", "material-icons": "^1.13.14", "pinia": "^3.0.3", - "pinia-plugin-persistedstate": "^4.5.0", + "pinia-plugin-persistedstate": "^4.7.1", "tailwind": "^4.0.0", "vue": "^3.5.18", "vue-router": "^4.5.1", @@ -704,8 +705,6 @@ "deep-is": ["deep-is@0.1.4", "", {}, "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ=="], - "deep-pick-omit": ["deep-pick-omit@1.2.1", "", {}, "sha512-2J6Kc/m3irCeqVG42T+SaUMesaK7oGWaedGnQQK/+O0gYc+2SP5bKh/KKTE7d7SJ+GCA9UUE1GRzh6oDe0EnGw=="], - "deepmerge": ["deepmerge@4.3.1", "", {}, "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A=="], "default-browser": ["default-browser@5.2.1", "", { "dependencies": { "bundle-name": "^4.1.0", "default-browser-id": "^5.0.0" } }, "sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg=="], @@ -722,8 +721,6 @@ "depd": ["depd@1.1.2", "", {}, "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ=="], - "destr": ["destr@2.0.5", "", {}, "sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA=="], - "destroy": ["destroy@1.0.4", "", {}, "sha512-3NdhDuEXnfun/z7x9GOElY49LoqVHoGScmOKwmxhsS8N5Y+Z8KyPPDnaSzqWgYt/ji4mqwfTS34Htrk0zPIXVg=="], "detect-libc": ["detect-libc@2.0.4", "", {}, "sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA=="], @@ -1248,7 +1245,7 @@ "pinia": ["pinia@3.0.3", "", { "dependencies": { "@vue/devtools-api": "^7.7.2" }, "peerDependencies": { "typescript": ">=4.4.4", "vue": "^2.7.0 || ^3.5.11" }, "optionalPeers": ["typescript"] }, "sha512-ttXO/InUULUXkMHpTdp9Fj4hLpD/2AoJdmAbAeW2yu1iy1k+pkFekQXw5VpC0/5p51IOR/jDaDRfRWRnMMsGOA=="], - "pinia-plugin-persistedstate": ["pinia-plugin-persistedstate@4.5.0", "", { "dependencies": { "deep-pick-omit": "^1.2.1", "defu": "^6.1.4", "destr": "^2.0.5" }, "peerDependencies": { "@nuxt/kit": ">=3.0.0", "@pinia/nuxt": ">=0.10.0", "pinia": ">=3.0.0" }, "optionalPeers": ["@nuxt/kit", "@pinia/nuxt", "pinia"] }, "sha512-QTkP1xJVyCdr2I2p3AKUZM84/e+IS+HktRxKGAIuDzkyaKKV48mQcYkJFVVDuvTxlI5j6X3oZObpqoVB8JnWpw=="], + "pinia-plugin-persistedstate": ["pinia-plugin-persistedstate@4.7.1", "", { "dependencies": { "defu": "^6.1.4" }, "peerDependencies": { "@nuxt/kit": ">=3.0.0", "@pinia/nuxt": ">=0.10.0", "pinia": ">=3.0.0" }, "optionalPeers": ["@nuxt/kit", "@pinia/nuxt", "pinia"] }, "sha512-WHOqh2esDlR3eAaknPbqXrkkj0D24h8shrDPqysgCFR6ghqP/fpFfJmMPJp0gETHsvrh9YNNg6dQfo2OEtDnIQ=="], "pirates": ["pirates@4.0.7", "", {}, "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA=="], diff --git a/package.json b/package.json index 8f5f853..460982d 100644 --- a/package.json +++ b/package.json @@ -13,6 +13,7 @@ "check": "prettier --check .", "test": "bun test", "lint": "eslint .", + "download": "cd parser && bun run parse.ts", "lint:fix": "eslint . --fix", "check:all": "run-p lint check type-check" }, @@ -23,7 +24,7 @@ "material-design-icons-iconfont": "^6.7.0", "material-icons": "^1.13.14", "pinia": "^3.0.3", - "pinia-plugin-persistedstate": "^4.5.0", + "pinia-plugin-persistedstate": "^4.7.1", "tailwind": "^4.0.0", "vue": "^3.5.18", "vue-router": "^4.5.1", diff --git a/public/HB-2019-0011.JPG b/public/HB-2019-0011.JPG index 76ddeb3..9d62c74 100644 Binary files a/public/HB-2019-0011.JPG and b/public/HB-2019-0011.JPG differ diff --git a/public/HB-2024-0825.JPG b/public/HB-2024-0825.JPG deleted file mode 100644 index cc7ad68..0000000 Binary files a/public/HB-2024-0825.JPG and /dev/null differ diff --git a/public/HB-2025-1361.JPG b/public/HB-2025-1361.JPG new file mode 100644 index 0000000..ea97253 Binary files /dev/null and b/public/HB-2025-1361.JPG differ diff --git a/public/IMG_20250708_124617.jpg b/public/IMG_20250708_124617.jpg index 8f2d173..defb4f4 100644 Binary files a/public/IMG_20250708_124617.jpg and b/public/IMG_20250708_124617.jpg differ diff --git a/src/data/trams.csv b/src/data/trams.csv index 42f3d55..af6650e 100644 --- a/src/data/trams.csv +++ b/src/data/trams.csv @@ -1,14 +1,14 @@ 3101;GT8N1.jpg;keine;;2005 -3102;GT8N1.jpg;Traffic Marketing;GG;2005 +3102;GT8N1.jpg;keine;;2005 3103;GT8N1.jpg;Freiraum Möbel;TL;2005 -3104;GT8N1.jpg;Opti Wohnwelt;TP;2006 -3105;GT8N1.jpg;BoConcept;TL;2006 +3104;GT8N1.jpg;Zahnarztpraxis Stanković;TG;2006 +3105;GT8N1.jpg;keine;;2006 3106;GT8N1.jpg;Freie Kliniken Bremen;GG;2006 -3107;GT8N1.jpg;keine;;2006 +3107;GT8N1.jpg;Gewoba;GG;2006 3108;GT8N1.jpg;Mammographie Screening Bremen;GG;2006 3109;GT8N1.jpg;Fachhochschule für Ökonomie und Management (FOM);TG;2006 -3110;GT8N1.jpg;keine;;2006 -3111;GT8N1.jpg;125 Jahre Jacobs;GG;2006 +3110;GT8N1.jpg;Gewoba;GG;2006 +3111;GT8N1.jpg;keine;;2006 3112;GT8N1.jpg;Universität Bremen;GG;2006 3114;GT8N1.jpg;ESF - Europäischer Sozialfonds;TP;2006 3115;GT8N1.jpg;Made in Bremen Kaufhaus;TG;2006 @@ -17,55 +17,55 @@ 3118;GT8N1.jpg;Bremen Next;GG;2007 3119;GT8N1.jpg;Verlängerung Linie 1+8 Huchting;TG;2007 3120;GT8N1.jpg;Aleco Süpermärkte,Hofmolkerei Dehlwes;TLTR;2007 -3121;GT8N1.jpg;Freiraum Möbel;TR;2008 -3122;GT8N1.jpg;keine;;2008 +3121;GT8N1.jpg;Freiraum Möbel;TG;2008 +3122;GT8N1.jpg;Gewoba;GG;2008 3123;GT8N1.jpg;DLRG;TP;2008 3124;GT8N1.jpg;Bremer Spielbank;GG;2008 -3125;GT8N1.jpg;Abschiedstournee Howard Carpendale;TR;2008 +3125;GT8N1.jpg;PhamPham Uhren und Gold;TG;2008 3126;GT8N1.jpg;Universität Bremen;GG;2008 -3127;GT8N1.jpg;keine;;2008 -3128;GT8N1.jpg;Smarteye Augen OP;TP;2008 -3129;GT8N1.jpg;Weru Fenster Schwarmann;TL;2008 +3127;GT8N1.jpg;Restaurant Peri's Chicken No 1;TG;2008 +3128;GT8N1.jpg;Simon Mobile;GG;2008 +3129;GT8N1.jpg;keine;;2008 3130;GT8N1.jpg;Musikfest Bremen;GG;2008 -3131;GT8N1.jpg;wohnen im Kaffeequartier,Hofmolkerei Dehlwes;TLTR;2009 -3132;GT8N1.jpg;Bremer Fensterdiscount,Aleco Supermärkte;TLTR;2009 +3131;GT8N1.jpg;Hofmolkerei Dehlwes;TR;2009 +3132;GT8N1.jpg;Aleco Supermärkte;TR;2009 3133;GT8N1.jpg;keine;;2009 -3134;GT8N1.jpg;Benergie;TP;2009 +3134;GT8N1.jpg;Heiter Haustechnik;TP;2009 3135;GT8N1.jpg;Bremer Krebsgesellschaft;TP;2010 3136;GT8N1.jpg;Schweizer Viertel;TP;2012 3137;GT8N1.jpg;Plasmaspenden;GG;2012 -3138;GT8N1.jpg;Gewoba;GG;2012 +3138;GT8N1.jpg;Verdener Schadenservice;TG;2012 3139;GT8N1.jpg;100 Jahre Gewoba;GG;2012 3140;GT8N1.jpg;Möbel Zurbrüggen;TP;2012 3141;GT8N1.jpg;KCS Medical GmbH;GG;2012 3142;GT8N1.jpg;Ochtum Park;GG;2012 3143;GT8N1.jpg;Dodenhof;GG;2012 3201;Avenio-schw.gif;BSAG Nordlicht;TP;2020 -3202;Avenio-schw.gif;keine;;2020 -3203;Avenio-schw.gif;ArcelorMittal;TG;2020 +3202;Avenio-schw.gif;150 Jahre BSAG;GG;2020 +3203;Avenio-schw.gif;Dodenhof;GG;2020 3204;Avenio-rot.gif;Ausbildung bei der BSAG;GG;2020 3205;Avenio-schw.gif;keine;;2020 3206;Avenio-rot.gif;keine;;2020 -3207;Avenio-rot.gif;keine;;2020 +3207;Avenio-roto.gif;Bürgerfest deutsche Wiedervereinigung;;2020 3208;Avenio-schw.gif;Florian Wellmann Immobilien;GG;2020 -3209;Avenio-schw.gif;swb;TP;2021 +3209;Avenio-schw.gif;keine;;2021 3210;Avenio-schw.gif;Klimabahn;GG;2020 3211;Avenio-schw.gif;Oezgoeren Aesthetik;SG;2021 3212;Avenio-schw.gif;keine;;2021 -3213;Avenio-schw.gif;keine;;2021 +3213;Avenio-schw.gif;Gewoba;GG;2021 3214;Avenio-schw.gif;Jacobs Kaffee;GG;2021 3215;Avenio-schw.gif;NBI Sicherheit;TP;2021 -3216;Avenio-schw.gif;Bremer City;GG;2021 +3216;Avenio-schw.gif;keine;;2021 3217;Avenio-schw.gif;Filmfest Bremen,Sparkasse Bremen;GLGR;2021 -3218;Avenio-schw.gif;BERGFELD GMBH Umschulungen;SG;2021 -3219;Avenio-rot.gif;keine;;2021 +3218;Avenio-schw.gif;keine;;2021 +3219;Avenio-rot.gif;Gewoba;GG;2021 3220;Avenio-schw.gif;Citipost;TG;2021 3221;Avenio-roto.gif;CVS Alphaplan;GG;2021 3222;Avenio-schw.gif;Klimabauzentrum Bremen;TP;2021 3223;Avenio-schw.gif;Hilfe bei Glücksspielsucht;SG;2021 3224;Avenio-rotu.gif;Karriere Bremen;SGL;2021 3225;Avenio-schw.gif;Bremerhaven Tourismus;GG;2021 -3226;Avenio-rot.gif;Bremen hebt ab - City of aerospace;GG;2021 +3226;Avenio-rot.gif;keine;;2021 3227;Avenio-rot.gif;keine;;2021 3228;Avenio-schw.gif;keine;;2021 3229;Avenio-schw.gif;Sparkasse Bremen;GG;2021 @@ -78,22 +78,22 @@ 3236;Avenio-schw.gif;Binnenstadt;TP;2021 3237;Avenio-schw.gif;keine;;2021 3238;Avenio-schw.gif;Polizei Bremen;TG;2021 -3239;Avenio-schw.gif;keine;;2021 +3239;Avenio-schw.gif;Bremer Stadtreinigung;GG;2021 3240;Avenio-schw.gif;Bremer Fensterdiscount;SG;2021 3241;Avenio-schw.gif;Jaffa kauft dein Auto;TP;2021 3242;Avenio-schw.gif;Universum - Ausstellung Liebe;GG;2021 3243;Avenio-schw.gif;keine;;2023 -3244;Avenio-schw.gif;TurnUp BRMN - Das Deutschrap Festival;TP;2024 +3244;Avenio-schw.gif;keine;;2024 3245;Avenio-schw.gif;keine;;2024 3246;Avenio-schw.gif;keine;;2025 3247;Avenio-schw.gif;Die Bremer Philharmoniker;TP;2025 3248;Avenio-schw.gif;keine;;2025 3249;Avenio-schw.gif;keine;;2025 -3401;Avenio-schw.gif;keine;;2020 -3402;Avenio-rot.gif;keine;;2021 +3401;Avenio-schw.gif;Philoro Goldverkauf;SG;2020 +3402;Avenio-rot.gif;Dodenhof;GG;2021 3403;Avenio-rot.gif;keine;;2021 3404;Avenio-schw.gif;Benergie;SG;2021 -3405;Avenio-schw.gif;keine;;2021 +3405;Avenio-schw.gif;Bürgerfest deutsche Wiedervereinigung;GG;2021 3406;Avenio-schw.gif;KUNK Optik;GG;2021 3407;Avenio-schw.gif;keine;;2022 3408;Avenio-schw.gif;keine;;2022 @@ -101,18 +101,18 @@ 3410;Avenio-schw.gif;keine;;2022 3411;Avenio-schw.gif;Universum - Ausstellung Liebe;GG;2022 3412;Avenio-schw.gif;Radio Bremen Buten & Binnen;GG;2022 -3413;Avenio-schw.gif;TNT Gerüstbau;SGL;2022 +3413;Avenio-schw.gif;keine;;2022 3414;Avenio-schw.gif;keine;;2022 -3415;Avenio-schw.gif;keine;;2022 +3415;Avenio-schw.gif;R&R Erdwärmebohrung;GG;2022 3416;Avenio-schw.gif;keine;;2022 3417;Avenio-schw.gif;GOP Varieté Theater;SGL;2022 3418;Avenio-schw.gif;keine;;2022 3419;Avenio-rot.gif;keine;;2022 3420;Avenio-schw.gif;Cube Bike;SGL;2022 3421;Avenio-rot.gif;DeutschlandTicket;GG;2022 -3422;Avenio-schw.gif;Smarteye Augen OP;SG;2022 +3422;Avenio-schw.gif;keine;;2022 3423;Avenio-schw.gif;Jaffa kauft dein Auto;TP;2022 -3424;Avenio-rotu.gif;Clubdisco La Viva;TG;2022 +3424;Avenio-schw.gif;Clubdisco La Viva;TG;2022 3425;Avenio-schw.gif;PSD Nord Bank;TP;2022 3426;Avenio-schw.gif;keine;;2022 3427;Avenio-rot.gif;Brebau;GG;2023 @@ -123,7 +123,7 @@ 3432;Avenio-schw.gif;keine;;2023 3433;Avenio-schw.gif;keine;;2023 3434;Avenio-schw.gif;keine;;2023 -3435;Avenio-schw.gif;Airport Bremen;GG;2023 +3435;Avenio-schw.gif;keine;;2023 3017;HB-2019-0011.JPG;AEG GT8N Fahrschulwagen;;1994 -3055;HB-2024-0825.JPG;AEG GT8N Weihnachtsbahn;;1995 +3055;HB-2025-1361.JPG;AEG GT8N Weihnachtsbahn;;1995 3113;IMG_20250708_124617.jpg;Bombardier GT8N-1 Fahrschulwagen;;2006 \ No newline at end of file diff --git a/src/stores/tram.ts b/src/stores/tram.ts index 5ec2801..fbbaf84 100644 --- a/src/stores/tram.ts +++ b/src/stores/tram.ts @@ -31,7 +31,8 @@ export const type: CarType[] = [ [4771, 4798, false, 'Gelenkbus Mercedes Citaro O 530 G C2 hybrid'], [4801, 4835, false, 'Gelenkbus Mercedes eCitaro O 530 G C2'], [4881, 4900, false, 'Gelenkbus Mercedes Citaro O 530 G C2'], - [4901, 4922, false, 'Gelenkbus Mercedes Citaro O 530 G C2 hybrid'] + [4901, 4922, false, 'Gelenkbus Mercedes Citaro O 530 G C2 hybrid'], + [4931, 4960, false, 'Gelenkbus Mercedes Citaro O 530 G C2 hybrid'] ] as const; const busCount = type.filter((t) => !t[2]).reduce((acc, t) => acc + (t[1] - t[0]) + 1, 0);