S4WH75Y32ZYLEWXBLHRG6Z3H7KWHSXAS6H37CFQIW3FXKKWFFQ2QC PTWZYQFRWWUOE2WMQT26CKZKFSHAIJVJS3QWHJFYUFDRRTVPHSUAC A6Z4O6RC33HYWP7JIVQ6FDWE4EOCQWQTIGENK2WAHUGSHDDLSA7QC JZXYSIYDPBWQZCAMGDZ5BFMN6SU73EVVDIYEGTDJN6DVOSBNHN4QC 5ZRDYL6KIQPUI3ZZETH5KJ64N6RUF7KYM3P6Q6HER5XVJZ7GZ4WQC BAUK5BONEFQ3KIQPFLM7MGNCS5GWBILBXZMTIGN5LWTYTNNNNSPQC OJPGHVC3RFBQ7TTSCZH6URSSATII3TESD74EISDNOTNXXSX7PQMAC 3XRG4BB6V5V4DICZCMOZMLQNTANWKPO7BBRATTXOZLRNSEUQIA5AC 23SFYK4Q5NKBPJG53PQNPWQH6UOUU2YKJEL7RLXYBRLJOJYV7AWQC 6YZAVBWU6E5FYOI5JGEIPXGZLIKAW6LS2AOFIQWEE5DMOPPCD5PQC SwitchingChannelState::SomethingSelected => {row([down(), up(), confirm(), cancel()])
SwitchingChannelState::SomethingSelected { can_switch } => {let row = row([down(), up(), cancel()]);let row = add_if(can_switch, || confirm("switch channel"), row);row
} else if let Some(name) = repo.forking_channel.take() {if !repo.state.other_channels.contains(&name) {state.repo_tx_in.send(repo::MsgIn::ForkChannel(name)).unwrap();}
} else if let Some(name) =repo.forking_channel.take_if(|name| {let name = name.trim();let empty = name.is_empty();let unique = || {!repo.state.other_channels.iter().any(|n| n == name)};!empty && unique()}){state.repo_tx_in.send(repo::MsgIn::ForkChannel(name)).unwrap();
} else if matches!(repo.entire_log.as_ref(),Some(app::EntireLog::Got { .. }),) {// Repeated match to take ownership of the logif let Some(app::EntireLog::Got { log, nav }) =repo.entire_log.take(){// Cache for later viewingrepo.entire_log =Some(app::EntireLog::NotViewing { log, nav });} else {debug_assert!(false, "The outter match should have the same condition as the inner match)")}
} else if let Some(app::EntireLog::Got { log, nav }) = repo.entire_log.take_if(|log| matches!(log, app::EntireLog::Got { .. })){// Cache for later viewingrepo.entire_log =Some(app::EntireLog::NotViewing { log, nav });
{repo.entire_log =Some(app::EntireLog::Got { log, nav });} else {debug_assert!(false, "The outter match should have the same condition as the inner match)")}
else {unreachable!()};repo.entire_log =Some(app::EntireLog::Got { log, nav });