shukdevdatta123 commited on
Commit
8c77b27
·
verified ·
1 Parent(s): 67fb29e

Upload 2 files

Browse files
Files changed (2) hide show
  1. data.js +1 -0
  2. index.html +489 -19
data.js ADDED
@@ -0,0 +1 @@
 
 
1
+ const fareData = [{"Origin":"Uttara North","Destination":"Uttara North","Fare (\u09f3)":0},{"Origin":"Uttara North","Destination":"Uttara Center","Fare (\u09f3)":20},{"Origin":"Uttara North","Destination":"Uttara South","Fare (\u09f3)":20},{"Origin":"Uttara North","Destination":"Pallabi","Fare (\u09f3)":30},{"Origin":"Uttara North","Destination":"Mirpur 11","Fare (\u09f3)":30},{"Origin":"Uttara North","Destination":"Mirpur 10","Fare (\u09f3)":40},{"Origin":"Uttara North","Destination":"Kazipara","Fare (\u09f3)":40},{"Origin":"Uttara North","Destination":"Shewrapara","Fare (\u09f3)":50},{"Origin":"Uttara North","Destination":"Agargaon","Fare (\u09f3)":60},{"Origin":"Uttara North","Destination":"Bijoy Sarani","Fare (\u09f3)":60},{"Origin":"Uttara North","Destination":"Farmgate","Fare (\u09f3)":70},{"Origin":"Uttara North","Destination":"Kawran Bazar","Fare (\u09f3)":80},{"Origin":"Uttara North","Destination":"Shahbagh","Fare (\u09f3)":80},{"Origin":"Uttara North","Destination":"Dhaka University","Fare (\u09f3)":90},{"Origin":"Uttara North","Destination":"Bangladesh Secretariat","Fare (\u09f3)":90},{"Origin":"Uttara North","Destination":"Motijheel","Fare (\u09f3)":100},{"Origin":"Uttara North","Destination":"Kamalapur","Fare (\u09f3)":100},{"Origin":"Uttara Center","Destination":"Uttara North","Fare (\u09f3)":20},{"Origin":"Uttara Center","Destination":"Uttara Center","Fare (\u09f3)":0},{"Origin":"Uttara Center","Destination":"Uttara South","Fare (\u09f3)":20},{"Origin":"Uttara Center","Destination":"Pallabi","Fare (\u09f3)":20},{"Origin":"Uttara Center","Destination":"Mirpur 11","Fare (\u09f3)":30},{"Origin":"Uttara Center","Destination":"Mirpur 10","Fare (\u09f3)":30},{"Origin":"Uttara Center","Destination":"Kazipara","Fare (\u09f3)":40},{"Origin":"Uttara Center","Destination":"Shewrapara","Fare (\u09f3)":40},{"Origin":"Uttara Center","Destination":"Agargaon","Fare (\u09f3)":50},{"Origin":"Uttara Center","Destination":"Bijoy Sarani","Fare (\u09f3)":60},{"Origin":"Uttara Center","Destination":"Farmgate","Fare (\u09f3)":60},{"Origin":"Uttara Center","Destination":"Kawran Bazar","Fare (\u09f3)":70},{"Origin":"Uttara Center","Destination":"Shahbagh","Fare (\u09f3)":80},{"Origin":"Uttara Center","Destination":"Dhaka University","Fare (\u09f3)":80},{"Origin":"Uttara Center","Destination":"Bangladesh Secretariat","Fare (\u09f3)":90},{"Origin":"Uttara Center","Destination":"Motijheel","Fare (\u09f3)":90},{"Origin":"Uttara Center","Destination":"Kamalapur","Fare (\u09f3)":100},{"Origin":"Uttara South","Destination":"Uttara North","Fare (\u09f3)":20},{"Origin":"Uttara South","Destination":"Uttara Center","Fare (\u09f3)":20},{"Origin":"Uttara South","Destination":"Uttara South","Fare (\u09f3)":0},{"Origin":"Uttara South","Destination":"Pallabi","Fare (\u09f3)":20},{"Origin":"Uttara South","Destination":"Mirpur 11","Fare (\u09f3)":20},{"Origin":"Uttara South","Destination":"Mirpur 10","Fare (\u09f3)":30},{"Origin":"Uttara South","Destination":"Kazipara","Fare (\u09f3)":30},{"Origin":"Uttara South","Destination":"Shewrapara","Fare (\u09f3)":40},{"Origin":"Uttara South","Destination":"Agargaon","Fare (\u09f3)":40},{"Origin":"Uttara South","Destination":"Bijoy Sarani","Fare (\u09f3)":50},{"Origin":"Uttara South","Destination":"Farmgate","Fare (\u09f3)":60},{"Origin":"Uttara South","Destination":"Kawran Bazar","Fare (\u09f3)":60},{"Origin":"Uttara South","Destination":"Shahbagh","Fare (\u09f3)":70},{"Origin":"Uttara South","Destination":"Dhaka University","Fare (\u09f3)":70},{"Origin":"Uttara South","Destination":"Bangladesh Secretariat","Fare (\u09f3)":80},{"Origin":"Uttara South","Destination":"Motijheel","Fare (\u09f3)":90},{"Origin":"Uttara South","Destination":"Kamalapur","Fare (\u09f3)":90},{"Origin":"Pallabi","Destination":"Uttara North","Fare (\u09f3)":30},{"Origin":"Pallabi","Destination":"Uttara Center","Fare (\u09f3)":20},{"Origin":"Pallabi","Destination":"Uttara South","Fare (\u09f3)":20},{"Origin":"Pallabi","Destination":"Pallabi","Fare (\u09f3)":0},{"Origin":"Pallabi","Destination":"Mirpur 11","Fare (\u09f3)":20},{"Origin":"Pallabi","Destination":"Mirpur 10","Fare (\u09f3)":20},{"Origin":"Pallabi","Destination":"Kazipara","Fare (\u09f3)":20},{"Origin":"Pallabi","Destination":"Shewrapara","Fare (\u09f3)":30},{"Origin":"Pallabi","Destination":"Agargaon","Fare (\u09f3)":30},{"Origin":"Pallabi","Destination":"Bijoy Sarani","Fare (\u09f3)":40},{"Origin":"Pallabi","Destination":"Farmgate","Fare (\u09f3)":50},{"Origin":"Pallabi","Destination":"Kawran Bazar","Fare (\u09f3)":50},{"Origin":"Pallabi","Destination":"Shahbagh","Fare (\u09f3)":60},{"Origin":"Pallabi","Destination":"Dhaka University","Fare (\u09f3)":60},{"Origin":"Pallabi","Destination":"Bangladesh Secretariat","Fare (\u09f3)":70},{"Origin":"Pallabi","Destination":"Motijheel","Fare (\u09f3)":80},{"Origin":"Pallabi","Destination":"Kamalapur","Fare (\u09f3)":80},{"Origin":"Mirpur 11","Destination":"Uttara North","Fare (\u09f3)":30},{"Origin":"Mirpur 11","Destination":"Uttara Center","Fare (\u09f3)":30},{"Origin":"Mirpur 11","Destination":"Uttara South","Fare (\u09f3)":20},{"Origin":"Mirpur 11","Destination":"Pallabi","Fare (\u09f3)":20},{"Origin":"Mirpur 11","Destination":"Mirpur 11","Fare (\u09f3)":0},{"Origin":"Mirpur 11","Destination":"Mirpur 10","Fare (\u09f3)":20},{"Origin":"Mirpur 11","Destination":"Kazipara","Fare (\u09f3)":20},{"Origin":"Mirpur 11","Destination":"Shewrapara","Fare (\u09f3)":20},{"Origin":"Mirpur 11","Destination":"Agargaon","Fare (\u09f3)":30},{"Origin":"Mirpur 11","Destination":"Bijoy Sarani","Fare (\u09f3)":40},{"Origin":"Mirpur 11","Destination":"Farmgate","Fare (\u09f3)":40},{"Origin":"Mirpur 11","Destination":"Kawran Bazar","Fare (\u09f3)":50},{"Origin":"Mirpur 11","Destination":"Shahbagh","Fare (\u09f3)":50},{"Origin":"Mirpur 11","Destination":"Dhaka University","Fare (\u09f3)":60},{"Origin":"Mirpur 11","Destination":"Bangladesh Secretariat","Fare (\u09f3)":70},{"Origin":"Mirpur 11","Destination":"Motijheel","Fare (\u09f3)":70},{"Origin":"Mirpur 11","Destination":"Kamalapur","Fare (\u09f3)":80},{"Origin":"Mirpur 10","Destination":"Uttara North","Fare (\u09f3)":40},{"Origin":"Mirpur 10","Destination":"Uttara Center","Fare (\u09f3)":30},{"Origin":"Mirpur 10","Destination":"Uttara South","Fare (\u09f3)":30},{"Origin":"Mirpur 10","Destination":"Pallabi","Fare (\u09f3)":20},{"Origin":"Mirpur 10","Destination":"Mirpur 11","Fare (\u09f3)":20},{"Origin":"Mirpur 10","Destination":"Mirpur 10","Fare (\u09f3)":0},{"Origin":"Mirpur 10","Destination":"Kazipara","Fare (\u09f3)":20},{"Origin":"Mirpur 10","Destination":"Shewrapara","Fare (\u09f3)":20},{"Origin":"Mirpur 10","Destination":"Agargaon","Fare (\u09f3)":20},{"Origin":"Mirpur 10","Destination":"Bijoy Sarani","Fare (\u09f3)":30},{"Origin":"Mirpur 10","Destination":"Farmgate","Fare (\u09f3)":30},{"Origin":"Mirpur 10","Destination":"Kawran Bazar","Fare (\u09f3)":40},{"Origin":"Mirpur 10","Destination":"Shahbagh","Fare (\u09f3)":50},{"Origin":"Mirpur 10","Destination":"Dhaka University","Fare (\u09f3)":50},{"Origin":"Mirpur 10","Destination":"Bangladesh Secretariat","Fare (\u09f3)":60},{"Origin":"Mirpur 10","Destination":"Motijheel","Fare (\u09f3)":60},{"Origin":"Mirpur 10","Destination":"Kamalapur","Fare (\u09f3)":70},{"Origin":"Kazipara","Destination":"Uttara North","Fare (\u09f3)":40},{"Origin":"Kazipara","Destination":"Uttara Center","Fare (\u09f3)":40},{"Origin":"Kazipara","Destination":"Uttara South","Fare (\u09f3)":30},{"Origin":"Kazipara","Destination":"Pallabi","Fare (\u09f3)":20},{"Origin":"Kazipara","Destination":"Mirpur 11","Fare (\u09f3)":20},{"Origin":"Kazipara","Destination":"Mirpur 10","Fare (\u09f3)":20},{"Origin":"Kazipara","Destination":"Kazipara","Fare (\u09f3)":0},{"Origin":"Kazipara","Destination":"Shewrapara","Fare (\u09f3)":20},{"Origin":"Kazipara","Destination":"Agargaon","Fare (\u09f3)":20},{"Origin":"Kazipara","Destination":"Bijoy Sarani","Fare (\u09f3)":20},{"Origin":"Kazipara","Destination":"Farmgate","Fare (\u09f3)":30},{"Origin":"Kazipara","Destination":"Kawran Bazar","Fare (\u09f3)":40},{"Origin":"Kazipara","Destination":"Shahbagh","Fare (\u09f3)":40},{"Origin":"Kazipara","Destination":"Dhaka University","Fare (\u09f3)":50},{"Origin":"Kazipara","Destination":"Bangladesh Secretariat","Fare (\u09f3)":50},{"Origin":"Kazipara","Destination":"Motijheel","Fare (\u09f3)":60},{"Origin":"Kazipara","Destination":"Kamalapur","Fare (\u09f3)":70},{"Origin":"Shewrapara","Destination":"Uttara North","Fare (\u09f3)":50},{"Origin":"Shewrapara","Destination":"Uttara Center","Fare (\u09f3)":40},{"Origin":"Shewrapara","Destination":"Uttara South","Fare (\u09f3)":40},{"Origin":"Shewrapara","Destination":"Pallabi","Fare (\u09f3)":30},{"Origin":"Shewrapara","Destination":"Mirpur 11","Fare (\u09f3)":20},{"Origin":"Shewrapara","Destination":"Mirpur 10","Fare (\u09f3)":20},{"Origin":"Shewrapara","Destination":"Kazipara","Fare (\u09f3)":20},{"Origin":"Shewrapara","Destination":"Shewrapara","Fare (\u09f3)":0},{"Origin":"Shewrapara","Destination":"Agargaon","Fare (\u09f3)":20},{"Origin":"Shewrapara","Destination":"Bijoy Sarani","Fare (\u09f3)":20},{"Origin":"Shewrapara","Destination":"Farmgate","Fare (\u09f3)":20},{"Origin":"Shewrapara","Destination":"Kawran Bazar","Fare (\u09f3)":30},{"Origin":"Shewrapara","Destination":"Shahbagh","Fare (\u09f3)":40},{"Origin":"Shewrapara","Destination":"Dhaka University","Fare (\u09f3)":40},{"Origin":"Shewrapara","Destination":"Bangladesh Secretariat","Fare (\u09f3)":50},{"Origin":"Shewrapara","Destination":"Motijheel","Fare (\u09f3)":50},{"Origin":"Shewrapara","Destination":"Kamalapur","Fare (\u09f3)":60},{"Origin":"Agargaon","Destination":"Uttara North","Fare (\u09f3)":60},{"Origin":"Agargaon","Destination":"Uttara Center","Fare (\u09f3)":50},{"Origin":"Agargaon","Destination":"Uttara South","Fare (\u09f3)":40},{"Origin":"Agargaon","Destination":"Pallabi","Fare (\u09f3)":30},{"Origin":"Agargaon","Destination":"Mirpur 11","Fare (\u09f3)":30},{"Origin":"Agargaon","Destination":"Mirpur 10","Fare (\u09f3)":20},{"Origin":"Agargaon","Destination":"Kazipara","Fare (\u09f3)":20},{"Origin":"Agargaon","Destination":"Shewrapara","Fare (\u09f3)":20},{"Origin":"Agargaon","Destination":"Agargaon","Fare (\u09f3)":0},{"Origin":"Agargaon","Destination":"Bijoy Sarani","Fare (\u09f3)":20},{"Origin":"Agargaon","Destination":"Farmgate","Fare (\u09f3)":20},{"Origin":"Agargaon","Destination":"Kawran Bazar","Fare (\u09f3)":20},{"Origin":"Agargaon","Destination":"Shahbagh","Fare (\u09f3)":30},{"Origin":"Agargaon","Destination":"Dhaka University","Fare (\u09f3)":30},{"Origin":"Agargaon","Destination":"Bangladesh Secretariat","Fare (\u09f3)":40},{"Origin":"Agargaon","Destination":"Motijheel","Fare (\u09f3)":50},{"Origin":"Agargaon","Destination":"Kamalapur","Fare (\u09f3)":50},{"Origin":"Bijoy Sarani","Destination":"Uttara North","Fare (\u09f3)":60},{"Origin":"Bijoy Sarani","Destination":"Uttara Center","Fare (\u09f3)":60},{"Origin":"Bijoy Sarani","Destination":"Uttara South","Fare (\u09f3)":50},{"Origin":"Bijoy Sarani","Destination":"Pallabi","Fare (\u09f3)":40},{"Origin":"Bijoy Sarani","Destination":"Mirpur 11","Fare (\u09f3)":40},{"Origin":"Bijoy Sarani","Destination":"Mirpur 10","Fare (\u09f3)":30},{"Origin":"Bijoy Sarani","Destination":"Kazipara","Fare (\u09f3)":20},{"Origin":"Bijoy Sarani","Destination":"Shewrapara","Fare (\u09f3)":20},{"Origin":"Bijoy Sarani","Destination":"Agargaon","Fare (\u09f3)":20},{"Origin":"Bijoy Sarani","Destination":"Bijoy Sarani","Fare (\u09f3)":0},{"Origin":"Bijoy Sarani","Destination":"Farmgate","Fare (\u09f3)":20},{"Origin":"Bijoy Sarani","Destination":"Kawran Bazar","Fare (\u09f3)":20},{"Origin":"Bijoy Sarani","Destination":"Shahbagh","Fare (\u09f3)":20},{"Origin":"Bijoy Sarani","Destination":"Dhaka University","Fare (\u09f3)":30},{"Origin":"Bijoy Sarani","Destination":"Bangladesh Secretariat","Fare (\u09f3)":40},{"Origin":"Bijoy Sarani","Destination":"Motijheel","Fare (\u09f3)":40},{"Origin":"Bijoy Sarani","Destination":"Kamalapur","Fare (\u09f3)":50},{"Origin":"Farmgate","Destination":"Uttara North","Fare (\u09f3)":70},{"Origin":"Farmgate","Destination":"Uttara Center","Fare (\u09f3)":60},{"Origin":"Farmgate","Destination":"Uttara South","Fare (\u09f3)":60},{"Origin":"Farmgate","Destination":"Pallabi","Fare (\u09f3)":50},{"Origin":"Farmgate","Destination":"Mirpur 11","Fare (\u09f3)":40},{"Origin":"Farmgate","Destination":"Mirpur 10","Fare (\u09f3)":30},{"Origin":"Farmgate","Destination":"Kazipara","Fare (\u09f3)":30},{"Origin":"Farmgate","Destination":"Shewrapara","Fare (\u09f3)":20},{"Origin":"Farmgate","Destination":"Agargaon","Fare (\u09f3)":20},{"Origin":"Farmgate","Destination":"Bijoy Sarani","Fare (\u09f3)":20},{"Origin":"Farmgate","Destination":"Farmgate","Fare (\u09f3)":0},{"Origin":"Farmgate","Destination":"Kawran Bazar","Fare (\u09f3)":20},{"Origin":"Farmgate","Destination":"Shahbagh","Fare (\u09f3)":20},{"Origin":"Farmgate","Destination":"Dhaka University","Fare (\u09f3)":20},{"Origin":"Farmgate","Destination":"Bangladesh Secretariat","Fare (\u09f3)":30},{"Origin":"Farmgate","Destination":"Motijheel","Fare (\u09f3)":30},{"Origin":"Farmgate","Destination":"Kamalapur","Fare (\u09f3)":40},{"Origin":"Kawran Bazar","Destination":"Uttara North","Fare (\u09f3)":80},{"Origin":"Kawran Bazar","Destination":"Uttara Center","Fare (\u09f3)":70},{"Origin":"Kawran Bazar","Destination":"Uttara South","Fare (\u09f3)":60},{"Origin":"Kawran Bazar","Destination":"Pallabi","Fare (\u09f3)":50},{"Origin":"Kawran Bazar","Destination":"Mirpur 11","Fare (\u09f3)":50},{"Origin":"Kawran Bazar","Destination":"Mirpur 10","Fare (\u09f3)":40},{"Origin":"Kawran Bazar","Destination":"Kazipara","Fare (\u09f3)":40},{"Origin":"Kawran Bazar","Destination":"Shewrapara","Fare (\u09f3)":30},{"Origin":"Kawran Bazar","Destination":"Agargaon","Fare (\u09f3)":20},{"Origin":"Kawran Bazar","Destination":"Bijoy Sarani","Fare (\u09f3)":20},{"Origin":"Kawran Bazar","Destination":"Farmgate","Fare (\u09f3)":20},{"Origin":"Kawran Bazar","Destination":"Kawran Bazar","Fare (\u09f3)":0},{"Origin":"Kawran Bazar","Destination":"Shahbagh","Fare (\u09f3)":20},{"Origin":"Kawran Bazar","Destination":"Dhaka University","Fare (\u09f3)":20},{"Origin":"Kawran Bazar","Destination":"Bangladesh Secretariat","Fare (\u09f3)":20},{"Origin":"Kawran Bazar","Destination":"Motijheel","Fare (\u09f3)":30},{"Origin":"Kawran Bazar","Destination":"Kamalapur","Fare (\u09f3)":30},{"Origin":"Shahbagh","Destination":"Uttara North","Fare (\u09f3)":80},{"Origin":"Shahbagh","Destination":"Uttara Center","Fare (\u09f3)":80},{"Origin":"Shahbagh","Destination":"Uttara South","Fare (\u09f3)":70},{"Origin":"Shahbagh","Destination":"Pallabi","Fare (\u09f3)":60},{"Origin":"Shahbagh","Destination":"Mirpur 11","Fare (\u09f3)":50},{"Origin":"Shahbagh","Destination":"Mirpur 10","Fare (\u09f3)":50},{"Origin":"Shahbagh","Destination":"Kazipara","Fare (\u09f3)":40},{"Origin":"Shahbagh","Destination":"Shewrapara","Fare (\u09f3)":40},{"Origin":"Shahbagh","Destination":"Agargaon","Fare (\u09f3)":30},{"Origin":"Shahbagh","Destination":"Bijoy Sarani","Fare (\u09f3)":20},{"Origin":"Shahbagh","Destination":"Farmgate","Fare (\u09f3)":20},{"Origin":"Shahbagh","Destination":"Kawran Bazar","Fare (\u09f3)":20},{"Origin":"Shahbagh","Destination":"Shahbagh","Fare (\u09f3)":0},{"Origin":"Shahbagh","Destination":"Dhaka University","Fare (\u09f3)":20},{"Origin":"Shahbagh","Destination":"Bangladesh Secretariat","Fare (\u09f3)":20},{"Origin":"Shahbagh","Destination":"Motijheel","Fare (\u09f3)":20},{"Origin":"Shahbagh","Destination":"Kamalapur","Fare (\u09f3)":30},{"Origin":"Dhaka University","Destination":"Uttara North","Fare (\u09f3)":90},{"Origin":"Dhaka University","Destination":"Uttara Center","Fare (\u09f3)":80},{"Origin":"Dhaka University","Destination":"Uttara South","Fare (\u09f3)":70},{"Origin":"Dhaka University","Destination":"Pallabi","Fare (\u09f3)":60},{"Origin":"Dhaka University","Destination":"Mirpur 11","Fare (\u09f3)":60},{"Origin":"Dhaka University","Destination":"Mirpur 10","Fare (\u09f3)":50},{"Origin":"Dhaka University","Destination":"Kazipara","Fare (\u09f3)":50},{"Origin":"Dhaka University","Destination":"Shewrapara","Fare (\u09f3)":40},{"Origin":"Dhaka University","Destination":"Agargaon","Fare (\u09f3)":30},{"Origin":"Dhaka University","Destination":"Bijoy Sarani","Fare (\u09f3)":30},{"Origin":"Dhaka University","Destination":"Farmgate","Fare (\u09f3)":20},{"Origin":"Dhaka University","Destination":"Kawran Bazar","Fare (\u09f3)":20},{"Origin":"Dhaka University","Destination":"Shahbagh","Fare (\u09f3)":20},{"Origin":"Dhaka University","Destination":"Dhaka University","Fare (\u09f3)":0},{"Origin":"Dhaka University","Destination":"Bangladesh Secretariat","Fare (\u09f3)":20},{"Origin":"Dhaka University","Destination":"Motijheel","Fare (\u09f3)":20},{"Origin":"Dhaka University","Destination":"Kamalapur","Fare (\u09f3)":20},{"Origin":"Bangladesh Secretariat","Destination":"Uttara North","Fare (\u09f3)":90},{"Origin":"Bangladesh Secretariat","Destination":"Uttara Center","Fare (\u09f3)":90},{"Origin":"Bangladesh Secretariat","Destination":"Uttara South","Fare (\u09f3)":80},{"Origin":"Bangladesh Secretariat","Destination":"Pallabi","Fare (\u09f3)":70},{"Origin":"Bangladesh Secretariat","Destination":"Mirpur 11","Fare (\u09f3)":70},{"Origin":"Bangladesh Secretariat","Destination":"Mirpur 10","Fare (\u09f3)":60},{"Origin":"Bangladesh Secretariat","Destination":"Kazipara","Fare (\u09f3)":50},{"Origin":"Bangladesh Secretariat","Destination":"Shewrapara","Fare (\u09f3)":50},{"Origin":"Bangladesh Secretariat","Destination":"Agargaon","Fare (\u09f3)":40},{"Origin":"Bangladesh Secretariat","Destination":"Bijoy Sarani","Fare (\u09f3)":40},{"Origin":"Bangladesh Secretariat","Destination":"Farmgate","Fare (\u09f3)":30},{"Origin":"Bangladesh Secretariat","Destination":"Kawran Bazar","Fare (\u09f3)":20},{"Origin":"Bangladesh Secretariat","Destination":"Shahbagh","Fare (\u09f3)":20},{"Origin":"Bangladesh Secretariat","Destination":"Dhaka University","Fare (\u09f3)":20},{"Origin":"Bangladesh Secretariat","Destination":"Bangladesh Secretariat","Fare (\u09f3)":0},{"Origin":"Bangladesh Secretariat","Destination":"Motijheel","Fare (\u09f3)":20},{"Origin":"Bangladesh Secretariat","Destination":"Kamalapur","Fare (\u09f3)":20},{"Origin":"Motijheel","Destination":"Uttara North","Fare (\u09f3)":100},{"Origin":"Motijheel","Destination":"Uttara Center","Fare (\u09f3)":90},{"Origin":"Motijheel","Destination":"Uttara South","Fare (\u09f3)":90},{"Origin":"Motijheel","Destination":"Pallabi","Fare (\u09f3)":80},{"Origin":"Motijheel","Destination":"Mirpur 11","Fare (\u09f3)":70},{"Origin":"Motijheel","Destination":"Mirpur 10","Fare (\u09f3)":60},{"Origin":"Motijheel","Destination":"Kazipara","Fare (\u09f3)":60},{"Origin":"Motijheel","Destination":"Shewrapara","Fare (\u09f3)":50},{"Origin":"Motijheel","Destination":"Agargaon","Fare (\u09f3)":50},{"Origin":"Motijheel","Destination":"Bijoy Sarani","Fare (\u09f3)":40},{"Origin":"Motijheel","Destination":"Farmgate","Fare (\u09f3)":30},{"Origin":"Motijheel","Destination":"Kawran Bazar","Fare (\u09f3)":30},{"Origin":"Motijheel","Destination":"Shahbagh","Fare (\u09f3)":20},{"Origin":"Motijheel","Destination":"Dhaka University","Fare (\u09f3)":20},{"Origin":"Motijheel","Destination":"Bangladesh Secretariat","Fare (\u09f3)":20},{"Origin":"Motijheel","Destination":"Motijheel","Fare (\u09f3)":0},{"Origin":"Motijheel","Destination":"Kamalapur","Fare (\u09f3)":20},{"Origin":"Kamalapur","Destination":"Uttara North","Fare (\u09f3)":100},{"Origin":"Kamalapur","Destination":"Uttara Center","Fare (\u09f3)":100},{"Origin":"Kamalapur","Destination":"Uttara South","Fare (\u09f3)":90},{"Origin":"Kamalapur","Destination":"Pallabi","Fare (\u09f3)":80},{"Origin":"Kamalapur","Destination":"Mirpur 11","Fare (\u09f3)":80},{"Origin":"Kamalapur","Destination":"Mirpur 10","Fare (\u09f3)":70},{"Origin":"Kamalapur","Destination":"Kazipara","Fare (\u09f3)":70},{"Origin":"Kamalapur","Destination":"Shewrapara","Fare (\u09f3)":60},{"Origin":"Kamalapur","Destination":"Agargaon","Fare (\u09f3)":50},{"Origin":"Kamalapur","Destination":"Bijoy Sarani","Fare (\u09f3)":50},{"Origin":"Kamalapur","Destination":"Farmgate","Fare (\u09f3)":40},{"Origin":"Kamalapur","Destination":"Kawran Bazar","Fare (\u09f3)":30},{"Origin":"Kamalapur","Destination":"Shahbagh","Fare (\u09f3)":30},{"Origin":"Kamalapur","Destination":"Dhaka University","Fare (\u09f3)":20},{"Origin":"Kamalapur","Destination":"Bangladesh Secretariat","Fare (\u09f3)":20},{"Origin":"Kamalapur","Destination":"Motijheel","Fare (\u09f3)":20},{"Origin":"Kamalapur","Destination":"Kamalapur","Fare (\u09f3)":0}]
index.html CHANGED
@@ -1,19 +1,489 @@
1
- <!doctype html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width" />
6
- <title>My static Space</title>
7
- <link rel="stylesheet" href="style.css" />
8
- </head>
9
- <body>
10
- <div class="card">
11
- <h1>Welcome to your static Space!</h1>
12
- <p>You can modify this app directly by editing <i>index.html</i> in the Files and versions tab.</p>
13
- <p>
14
- Also don't forget to check the
15
- <a href="https://huggingface.co/docs/hub/spaces" target="_blank">Spaces documentation</a>.
16
- </p>
17
- </div>
18
- </body>
19
- </html>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <script type="text/javascript">
2
+ var gk_isXlsx = false;
3
+ var gk_xlsxFileLookup = {};
4
+ var gk_fileData = {};
5
+ function filledCell(cell) {
6
+ return cell !== '' && cell != null;
7
+ }
8
+ function loadFileData(filename) {
9
+ if (gk_isXlsx && gk_xlsxFileLookup[filename]) {
10
+ try {
11
+ var workbook = XLSX.read(gk_fileData[filename], { type: 'base64' });
12
+ var firstSheetName = workbook.SheetNames[0];
13
+ var worksheet = workbook.Sheets[firstSheetName];
14
+
15
+ // Convert sheet to JSON to filter blank rows
16
+ var jsonData = XLSX.utils.sheet_to_json(worksheet, { header: 1, blankrows: false, defval: '' });
17
+ // Filter out blank rows (rows where all cells are empty, null, or undefined)
18
+ var filteredData = jsonData.filter(row => row.some(filledCell));
19
+
20
+ // Heuristic to find the header row by ignoring rows with fewer filled cells than the next row
21
+ var headerRowIndex = filteredData.findIndex((row, index) =>
22
+ row.filter(filledCell).length >= filteredData[index + 1]?.filter(filledCell).length
23
+ );
24
+ // Fallback
25
+ if (headerRowIndex === -1 || headerRowIndex > 25) {
26
+ headerRowIndex = 0;
27
+ }
28
+
29
+ // Convert filtered JSON back to CSV
30
+ var csv = XLSX.utils.aoa_to_sheet(filteredData.slice(headerRowIndex)); // Create a new sheet from filtered array of arrays
31
+ csv = XLSX.utils.sheet_to_csv(csv, { header: 1 });
32
+ return csv;
33
+ } catch (e) {
34
+ console.error(e);
35
+ return "";
36
+ }
37
+ }
38
+ return gk_fileData[filename] || "";
39
+ }
40
+ </script><!DOCTYPE html>
41
+ <html lang="en">
42
+ <head>
43
+ <meta charset="UTF-8">
44
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
45
+ <title>Dhaka Metro Rail Fare Checker</title>
46
+ <link rel="stylesheet" href="https://unpkg.com/[email protected]/dist/leaflet.css" />
47
+ <style>
48
+ @import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap');
49
+
50
+ * {
51
+ margin: 0;
52
+ padding: 0;
53
+ box-sizing: border-box;
54
+ }
55
+
56
+ body {
57
+ font-family: 'Roboto', sans-serif;
58
+ background-color: #f4f4f4;
59
+ color: #333;
60
+ overflow-x: hidden;
61
+ }
62
+
63
+ header {
64
+ background: linear-gradient(135deg, #003366, #005588);
65
+ color: white;
66
+ padding: 2rem;
67
+ text-align: center;
68
+ box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
69
+ animation: slideInDown 1s ease-out;
70
+ }
71
+
72
+ header h1 {
73
+ font-size: 2.5rem;
74
+ display: flex;
75
+ align-items: center;
76
+ justify-content: center;
77
+ gap: 10px;
78
+ }
79
+
80
+ aside#sidebar {
81
+ position: fixed;
82
+ top: 0;
83
+ left: 0;
84
+ width: 280px;
85
+ height: 100%;
86
+ background: #D8C4B6;
87
+ padding: 20px;
88
+ overflow-y: auto;
89
+ box-shadow: 2px 0 10px rgba(0, 0, 0, 0.1);
90
+ transform: translateX(-100%);
91
+ animation: slideInLeft 0.8s ease-out forwards;
92
+ }
93
+
94
+ aside h2 {
95
+ color: #003366;
96
+ margin-bottom: 15px;
97
+ }
98
+
99
+ aside p {
100
+ font-size: 0.95rem;
101
+ line-height: 1.6;
102
+ }
103
+
104
+ aside a {
105
+ color: #009688;
106
+ text-decoration: none;
107
+ }
108
+
109
+ main {
110
+ margin-left: 300px;
111
+ padding: 30px;
112
+ animation: fadeIn 1s ease-in;
113
+ }
114
+
115
+ #fare-checker, #map-section {
116
+ background: white;
117
+ padding: 25px;
118
+ border-radius: 12px;
119
+ box-shadow: 0 6px 12px rgba(0, 0, 0, 0.1);
120
+ margin-bottom: 30px;
121
+ transition: transform 0.3s ease;
122
+ }
123
+
124
+ #fare-checker:hover, #map-section:hover {
125
+ transform: translateY(-5px);
126
+ }
127
+
128
+ h2 {
129
+ color: #003366;
130
+ margin-bottom: 20px;
131
+ }
132
+
133
+ label {
134
+ font-weight: bold;
135
+ margin-bottom: 10px;
136
+ display: block;
137
+ }
138
+
139
+ select {
140
+ width: 100%;
141
+ padding: 12px;
142
+ margin-bottom: 20px;
143
+ border: 2px solid #009688;
144
+ border-radius: 6px;
145
+ font-size: 1rem;
146
+ transition: border-color 0.3s ease;
147
+ }
148
+
149
+ select:focus {
150
+ border-color: #e91e63;
151
+ outline: none;
152
+ }
153
+
154
+ #destination-buttons {
155
+ display: flex;
156
+ flex-wrap: wrap;
157
+ gap: 12px;
158
+ margin-bottom: 20px;
159
+ }
160
+
161
+ #destination-buttons button {
162
+ background: #009688;
163
+ color: white;
164
+ border: none;
165
+ padding: 10px 20px;
166
+ border-radius: 25px;
167
+ cursor: pointer;
168
+ transition: all 0.3s ease;
169
+ }
170
+
171
+ #destination-buttons button:hover {
172
+ background: #00796b;
173
+ transform: scale(1.05);
174
+ }
175
+
176
+ #destination-buttons button.selected {
177
+ background: #e91e63;
178
+ transform: scale(1.05);
179
+ }
180
+
181
+ #clear-destinations {
182
+ background: #e91e63;
183
+ color: white;
184
+ border: none;
185
+ padding: 12px 25px;
186
+ border-radius: 25px;
187
+ cursor: pointer;
188
+ transition: all 0.3s ease;
189
+ }
190
+
191
+ #clear-destinations:hover {
192
+ background: #c2185b;
193
+ transform: scale(1.05);
194
+ }
195
+
196
+ #fare-display .fare-item {
197
+ background: #f0f8ff;
198
+ padding: 15px;
199
+ margin-bottom: 15px;
200
+ border-radius: 8px;
201
+ box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
202
+ animation: fadeInUp 0.5s ease-out;
203
+ }
204
+
205
+ #map {
206
+ height: 500px;
207
+ border-radius: 8px;
208
+ margin-top: 20px;
209
+ }
210
+
211
+ #map-controls {
212
+ display: flex;
213
+ justify-content: center;
214
+ gap: 10px;
215
+ margin-top: 15px;
216
+ flex-wrap: wrap;
217
+ }
218
+
219
+ #map-controls button {
220
+ background: #003366;
221
+ color: white;
222
+ border: none;
223
+ padding: 10px 20px;
224
+ border-radius: 25px;
225
+ cursor: pointer;
226
+ transition: all 0.3s ease;
227
+ }
228
+
229
+ #map-controls button:hover {
230
+ background: #005588;
231
+ transform: scale(1.05);
232
+ }
233
+
234
+ @keyframes slideInDown {
235
+ from { transform: translateY(-100%); }
236
+ to { transform: translateY(0); }
237
+ }
238
+
239
+ @keyframes slideInLeft {
240
+ from { transform: translateX(-100%); }
241
+ to { transform: translateX(0); }
242
+ }
243
+
244
+ @keyframes fadeIn {
245
+ from { opacity: 0; }
246
+ to { opacity: 1; }
247
+ }
248
+
249
+ @keyframes fadeInUp {
250
+ from { opacity: 0; transform: translateY(20px); }
251
+ to { opacity: 1; transform: translateY(0); }
252
+ }
253
+
254
+ @media (max-width: 768px) {
255
+ aside#sidebar {
256
+ position: relative;
257
+ width: 100%;
258
+ height: auto;
259
+ transform: none;
260
+ animation: none;
261
+ }
262
+
263
+ main {
264
+ margin-left: 0;
265
+ padding: 15px;
266
+ }
267
+
268
+ #map {
269
+ height: 300px;
270
+ }
271
+
272
+ header h1 {
273
+ font-size: 1.8rem;
274
+ }
275
+ }
276
+ </style>
277
+ </head>
278
+ <body>
279
+ <header>
280
+ <h1>Dhaka Metro Rail Fare Checker 🚇</h1>
281
+ </header>
282
+ <aside id="sidebar">
283
+ <h2>Instructions</h2>
284
+ <p>
285
+ <strong>Welcome to the Dhaka Metro Rail Fare Checker! 🚇</strong><br>
286
+ <em>How to use:</em><br>
287
+ 1. <strong>Select your Location station</strong>: Choose your starting station from the "Select your Location" dropdown.<br>
288
+ 2. <strong>Select your destination(s)</strong>: Click the buttons for your desired destinations. Select multiple for different routes!<br>
289
+ 3. <strong>Fare Calculation</strong>: See fares below for your selected routes.<br>
290
+ 4. <strong>Clear Destinations</strong>: Hit "Clear All Destinations" to reset.<br>
291
+ <hr>
292
+ <strong>Interactive Map</strong>: Visualize routes and animate stations below.<br>
293
+ - <strong>Dropdowns</strong>: Pick source and destination.<br>
294
+ - <strong>Animate Route</strong>: Watch your route come to life.<br>
295
+ - <strong>Animate All</strong>: See all stations animated.<br>
296
+ - <strong>Stop</strong>: Pause animations anytime.<br>
297
+ Enjoy your journey! 🚉<br>
298
+ Need help? <a href="https://wa.me/+8801719296601">Contact Support</a>.
299
+ </p>
300
+ </aside>
301
+ <main>
302
+ <section id="fare-checker">
303
+ <h2>Check Your Fare</h2>
304
+ <label for="origin">Select your Location:</label>
305
+ <select id="origin">
306
+ <option value="">Select Journey from</option>
307
+ </select>
308
+ <div id="destination-buttons"></div>
309
+ <button id="clear-destinations">Clear All Destinations</button>
310
+ <div id="fare-display"></div>
311
+ </section>
312
+ <section id="map-section">
313
+ <h2>Interactive Map</h2>
314
+ <div id="map"></div>
315
+ <div id="map-controls">
316
+ <select id="map-source">
317
+ <option value="">Select Source</option>
318
+ </select>
319
+ <select id="map-destination">
320
+ <option value="">Select Destination</option>
321
+ </select>
322
+ <button onclick="startRouteAnimation()">Animate Route</button>
323
+ <button onclick="animateAllLocations()">Animate All Locations</button>
324
+ <button onclick="stopAnimation()">Stop Animation</button>
325
+ </div>
326
+ </section>
327
+ </main>
328
+ <script src="https://unpkg.com/[email protected]/dist/leaflet.js"></script>
329
+ <script src="data.js"></script>
330
+ <script>
331
+ // Populate origin dropdown
332
+ const originSelect = document.getElementById('origin');
333
+ const origins = [...new Set(fareData.map(item => item.Origin))];
334
+ origins.forEach(origin => {
335
+ const option = document.createElement('option');
336
+ option.value = option.textContent = origin;
337
+ originSelect.appendChild(option);
338
+ });
339
+
340
+ // Handle origin selection
341
+ let selectedDestinations = [];
342
+ originSelect.addEventListener('change', () => {
343
+ const origin = originSelect.value;
344
+ const destButtons = document.getElementById('destination-buttons');
345
+ destButtons.innerHTML = '';
346
+ selectedDestinations = [];
347
+ document.getElementById('fare-display').innerHTML = '';
348
+ if (origin) {
349
+ const destinations = fareData.filter(item => item.Origin === origin).map(item => item.Destination);
350
+ destinations.forEach(dest => {
351
+ const btn = document.createElement('button');
352
+ btn.textContent = `Select ${dest}`;
353
+ btn.dataset.dest = dest;
354
+ btn.addEventListener('click', () => {
355
+ btn.classList.toggle('selected');
356
+ if (btn.classList.contains('selected')) {
357
+ selectedDestinations.push(dest);
358
+ } else {
359
+ selectedDestinations = selectedDestinations.filter(d => d !== dest);
360
+ }
361
+ updateFareDisplay(origin);
362
+ });
363
+ destButtons.appendChild(btn);
364
+ });
365
+ }
366
+ });
367
+
368
+ // Update fare display
369
+ function updateFareDisplay(origin) {
370
+ const fareDisplay = document.getElementById('fare-display');
371
+ fareDisplay.innerHTML = '';
372
+ if (origin && selectedDestinations.length) {
373
+ selectedDestinations.forEach(dest => {
374
+ const fare = fareData.find(item => item.Origin === origin && item.Destination === dest);
375
+ if (fare) {
376
+ const div = document.createElement('div');
377
+ div.className = 'fare-item';
378
+ div.innerHTML = `
379
+ <h4>🚇 <strong>${origin}</strong> to <strong>${dest}</strong> Fare</h4>
380
+ <p>💵 Fare: <strong>${fare['Fare (৳)']}৳</strong></p>
381
+ <p>✨ Enjoy your journey!</p>
382
+ `;
383
+ fareDisplay.appendChild(div);
384
+ }
385
+ });
386
+ }
387
+ }
388
+
389
+ // Clear destinations
390
+ document.getElementById('clear-destinations').addEventListener('click', () => {
391
+ document.querySelectorAll('#destination-buttons button.selected').forEach(btn => {
392
+ btn.classList.remove('selected');
393
+ });
394
+ selectedDestinations = [];
395
+ updateFareDisplay(originSelect.value);
396
+ });
397
+
398
+ // Map setup
399
+ const coordinates = {
400
+ "Uttara North": [23.869066, 90.367445],
401
+ "Uttara Center": [23.860118, 90.365106],
402
+ "Uttara South": [23.845934, 90.363175],
403
+ "Pallabi": [23.82619516961383, 90.36481554252525],
404
+ "Mirpur 11": [23.819438208310213, 90.36528532902963],
405
+ "Mirpur 10": [23.808582994847285, 90.36821595330717],
406
+ "Kazipara": [23.800017952100532, 90.37178261495391],
407
+ "Shewrapara": [23.79070140857881, 90.37564622631841],
408
+ "Agargaon": [23.778385546736345, 90.3800557456356],
409
+ "Bijoy Sarani": [23.766638127271825, 90.38307537134754],
410
+ "Farmgate": [23.75923604938459, 90.38694218434738],
411
+ "Kawran Bazar": [23.751392319539104, 90.39275707447003],
412
+ "Shahbagh": [23.740324209546923, 90.39600784811131],
413
+ "Dhaka University": [23.732091083122114, 90.39659408796354],
414
+ "Bangladesh Secretariat": [23.73004754106779, 90.40764881366906],
415
+ "Motijheel": [23.72816566933198, 90.41923497972823],
416
+ "Kamalapur": [23.732367758919807, 90.42547378971085]
417
+ };
418
+
419
+ const map = L.map('map').setView([23.8103, 90.4125], 12);
420
+ L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
421
+ maxZoom: 19,
422
+ attribution: '© OpenStreetMap contributors'
423
+ }).addTo(map);
424
+
425
+ const markers = {};
426
+ for (const [name, coord] of Object.entries(coordinates)) {
427
+ markers[name] = L.marker(coord).addTo(map).bindPopup(`<b>${name}</b>`);
428
+ }
429
+
430
+ const mapSource = document.getElementById('map-source');
431
+ const mapDest = document.getElementById('map-destination');
432
+ Object.keys(coordinates).forEach(loc => {
433
+ const opt = document.createElement('option');
434
+ opt.value = opt.textContent = loc;
435
+ mapSource.appendChild(opt.cloneNode(true));
436
+ mapDest.appendChild(opt);
437
+ });
438
+
439
+ let currentIndex = 0;
440
+ const markerArray = Object.values(markers);
441
+ let animationTimeout;
442
+
443
+ function getIntermediateNodes(source, dest) {
444
+ const locations = Object.keys(coordinates);
445
+ const sIdx = locations.indexOf(source);
446
+ const dIdx = locations.indexOf(dest);
447
+ return sIdx < dIdx ? locations.slice(sIdx, dIdx + 1) : locations.slice(dIdx, sIdx + 1).reverse();
448
+ }
449
+
450
+ function startRouteAnimation() {
451
+ const source = mapSource.value;
452
+ const dest = mapDest.value;
453
+ if (!source || !dest) return alert('Select source and destination.');
454
+ const route = getIntermediateNodes(source, dest);
455
+ let idx = 0;
456
+ function animate() {
457
+ if (idx >= route.length) return;
458
+ const marker = markers[route[idx]];
459
+ map.flyTo(marker.getLatLng(), 14, { duration: 2 });
460
+ marker.openPopup();
461
+ idx++;
462
+ animationTimeout = setTimeout(animate, 3000);
463
+ }
464
+ animate();
465
+ }
466
+
467
+ function animateAllLocations() {
468
+ if (currentIndex > 0) markerArray[currentIndex - 1].closePopup();
469
+ if (currentIndex < markerArray.length) {
470
+ const marker = markerArray[currentIndex];
471
+ map.flyTo(marker.getLatLng(), 14, { duration: 2 });
472
+ marker.openPopup();
473
+ currentIndex++;
474
+ animationTimeout = setTimeout(animateAllLocations, 3000);
475
+ } else {
476
+ currentIndex = 0;
477
+ }
478
+ }
479
+
480
+ function stopAnimation() {
481
+ clearTimeout(animationTimeout);
482
+ currentIndex = 0;
483
+ markerArray.forEach(m => m.closePopup());
484
+ map.setView([23.8103, 90.4125], 12);
485
+ mapSource.value = mapDest.value = '';
486
+ }
487
+ </script>
488
+ </body>
489
+ </html>