Feature: Link to release page instead to commits page in Firmware Info

The Firmware Version link now referes to the release page if the given hash is a tag. It referes to the commits page if it's really a hash. (Implements #778)
This commit is contained in:
Thomas Basler 2023-04-06 22:36:33 +02:00
parent a7b2d727f8
commit 477eb6cfd6
3 changed files with 11 additions and 2 deletions

View File

@ -17,7 +17,7 @@
</tr>
<tr>
<th>{{ $t('firmwareinfo.FirmwareVersion') }}</th>
<td><a :href="'https://github.com/tbnobody/OpenDTU/commits/' + systemStatus.git_hash"
<td><a :href="versionInfoUrl"
target="_blank" v-tooltip :title="$t('firmwareinfo.FirmwareVersionHint')">
{{ systemStatus.git_hash }}
</a></td>
@ -72,6 +72,12 @@ export default defineComponent({
return timestampToString(value, true);
};
},
versionInfoUrl(): string {
if (this.systemStatus.git_is_hash) {
return 'https://github.com/tbnobody/OpenDTU/commits/' + this.systemStatus.git_hash;
}
return 'https://github.com/tbnobody/OpenDTU/releases/tag/' + this.systemStatus.git_hash;
}
},
});
</script>

View File

@ -9,6 +9,7 @@ export interface SystemStatus {
sdkversion: string;
config_version: string;
git_hash: string;
git_is_hash: boolean;
resetreason_0: string;
resetreason_1: string;
cfgsavecount: number;

View File

@ -51,11 +51,13 @@ export default defineComponent({
},
getUpdateInfo() {
// If the left char is a "g" the value is the git hash (remove the "g")
this.systemDataList.git_hash = this.systemDataList.git_hash?.substring(0, 1) == 'g' ? this.systemDataList.git_hash?.substring(1) : this.systemDataList.git_hash;
this.systemDataList.git_is_hash = this.systemDataList.git_hash?.substring(0, 1) == 'g';
this.systemDataList.git_hash = this.systemDataList.git_is_hash ? this.systemDataList.git_hash?.substring(1) : this.systemDataList.git_hash;
// Handle format "v0.1-5-gabcdefh"
if (this.systemDataList.git_hash.lastIndexOf("-") >= 0) {
this.systemDataList.git_hash = this.systemDataList.git_hash.substring(this.systemDataList.git_hash.lastIndexOf("-") + 2)
this.systemDataList.git_is_hash = true;
}
const fetchUrl = "https://api.github.com/repos/tbnobody/OpenDTU/compare/"