@@ -2,10 +2,23 @@ import { computed, reactive, ref, watch } from 'vue';
22import { useSample } from './useSample' ;
33import { useCsvFile } from './useCsvFile' ;
44import { FileCardProps } from '../components/FileCard/FileCard.vue' ;
5- import { League } from '../types' ;
5+ import { CsvExt , League , isCsvExt , leagues } from '../types' ;
66import { command } from '../command' ;
77import { csvFile } from '../lib' ;
88
9+ const prefixFilename = ( name : string , league : League ) : CsvExt => {
10+ const UNDERSCORE_GLUE = '_' ;
11+ const res : CsvExt = isCsvExt ( name ) ? name : `${ name } .csv` ;
12+
13+ for ( const old of leagues ) {
14+ if ( res . startsWith ( `${ old } ${ UNDERSCORE_GLUE } ` ) ) {
15+ return res . replace ( old , league ) as CsvExt ;
16+ }
17+ }
18+
19+ return `${ league } ${ UNDERSCORE_GLUE } ${ res } ` ;
20+ } ;
21+
922export const useFileCard = ( file : File , league : League ) : FileCardProps => {
1023 const { text : csv , name : filename , href } = useCsvFile ( file ) ;
1124 const { data, error, isError } = useSample ( csv , league ) ;
@@ -18,7 +31,7 @@ export const useFileCard = (file: File, league: League): FileCardProps => {
1831 valid,
1932 selected,
2033 sample : data ,
21- filename,
34+ filename : prefixFilename ( filename . value , league ) ,
2235 href,
2336 error,
2437 isError,
@@ -47,6 +60,7 @@ export const useFileCard = (file: File, league: League): FileCardProps => {
4760 ( ) => props . league ,
4861 async val => {
4962 props . sample = await command ( 'league' , { league : val , sample : props . sample } ) ;
63+ props . filename = prefixFilename ( props . filename , val ) ;
5064 }
5165 ) ;
5266
0 commit comments