dmitri.shuralyov.com/app/changes/...

update to use state.Review instead of change.ReviewState

Follows https://dmitri.shuralyov.com/service/change$commit/59022927fa7dea491c7a54393aec92ee4896717c.
dmitshur committed 5 years ago commit 036c35ce260fdecabbe5bb72c1976500848f984a
Collapse all
_data/comment.html.tmpl
@@ -37,11 +37,11 @@
<div class="list-entry">
	<div style="float: left; margin-right: 10px;">{{render (avatar .User)}}</div>
	<div style="display: flex; flex-direction: column;">
		<div id="comment-{{.ID}}">
			<div class="list-entry-container list-entry-border">
				<header class="list-entry-header" style="display: flex;{{if eq .State +1}} background-color: #d4ffd4; padding: 4px;{{else if eq .State -1}} background-color: #ffd4d4; padding: 4px;{{end}}{{if not .Body}} border: none;{{end}}">
				<header class="list-entry-header" style="display: flex;{{if ne .State 0}} padding: 4px;{{end}}{{if not .Body}} border: none;{{end}}">
					<span class="content"{{if .State}} style="line-height: 28px;"{{end}}>{{template "review-icon" .State}}{{render (user .User)}} {{template "review-action" .State}} <a class="black" href="#comment-{{.ID}}" onclick="AnchorScroll(this, event);">{{render (time .CreatedAt)}}</a>
						{{with .Edited}} · <span style="cursor: default;" title="{{.By.Login}} edited this comment {{reltime .At}}.">edited{{if not (equalUsers $.User .By)}} by {{.By.Login}}{{end}}</span>{{end}}
					</span>
					{{if and (not state.DisableReactions) .Body}}
						<span class="right-icon">{{render (newReaction (reactableID .ID))}}</span>
@@ -82,27 +82,25 @@
		</div>
	{{end}}
</div>
{{end}}

{{/* Dot is changes.ReviewState. */}}
{{/* Dot is state.Review. */}}
{{define "review-icon" }}
	{{if eq . +1}}
	{{if gt . 0}}
		<span class="event-icon" style="color: #fff; background-color: #6cc644;">{{octicon "check"}}</span>
	{{else if eq . -1}}
	{{else if lt . 0}}
		<span class="event-icon" style="color: #fff; background-color: #bd2c00;">{{octicon "x"}}</span>
	{{end}}
{{end}}

{{/* Dot is changes.ReviewState. */}}
{{/* Dot is state.Review. */}}
{{define "review-action" }}
	{{if eq . 0}}
		commented
	{{else if eq . +1}}
		approved this change
	{{else if eq . -1}}
		requested changes
	{{else}}
		reviewed {{printf "%+d" .}}
	{{end}}
{{end}}

{{define "review-mock"}}
<html>
[generated] assets/assets_vfsdata.go
@@ -23,11 +23,11 @@ var Assets = func() http.FileSystem {
			name:    "/",
			modTime: time.Time{},
		},
		"/assets": &vfsgen۰DirInfo{
			name:    "assets",
			modTime: time.Date(2018, 3, 22, 22, 18, 32, 340995985, time.UTC),
			modTime: time.Date(2018, 4, 20, 9, 18, 3, 945565853, time.UTC),
		},
		"/assets/change-commits.html.tmpl": &vfsgen۰CompressedFileInfo{
			name:             "change-commits.html.tmpl",
			modTime:          time.Date(2018, 2, 10, 17, 35, 17, 876846039, time.UTC),
			uncompressedSize: 299,
@@ -55,14 +55,14 @@ var Assets = func() http.FileSystem {

			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x91\xcf\x6e\xc3\x20\x0c\xc6\xcf\xc9\x53\x20\xee\x85\x07\x58\x92\xc3\x76\xd9\x6e\xd3\xfe\x3c\x00\x2b\x4e\xd3\x8c\x90\x08\x5b\xd5\x22\x8f\x77\x9f\x08\xa9\x1a\x4d\xab\xaa\x1d\x90\xc0\xfe\xfc\xb3\x3f\x53\x75\x34\xb8\xa6\x2c\xaa\x0e\x8c\x6d\xca\xa2\x60\x26\x18\x26\x67\x08\x84\xc4\x7d\x38\x4e\xe4\x00\x71\x97\xd2\x52\xa8\x18\xcb\xa2\xd2\xab\xb6\xfa\x18\xed\xfc\xbb\x26\xc5\x76\x53\x80\x55\x5c\x30\xab\xfb\xd1\xce\x6f\xe3\xb4\x3e\x03\x78\x0b\x41\xa8\x87\xce\xf8\x03\x60\x26\x66\x52\xa5\xf3\x34\x25\xb3\x85\xf6\xe8\xff\x18\x21\xc9\x99\xd5\x23\x18\xfb\x1c\x60\x29\x76\x47\xff\x29\xba\x00\x6d\x2d\x53\x33\x83\xf0\xfe\xf2\x14\xa3\x36\x88\x40\xa8\x0f\xed\x90\x8e\xda\x23\x4a\x11\xc0\xd5\x12\x69\x76\x80\x1d\x00\x49\x41\xf3\x04\xb5\x24\xf8\x22\xbd\x08\x74\x73\x9b\xb8\xd4\xff\x83\x77\x9e\x77\x44\x8a\xb1\x64\x06\x6f\x63\xdc\x9a\xdc\x38\xbb\xb9\xfc\x1c\xde\xf6\xe9\xcd\xc9\xe4\xa8\x4c\x9f\x71\x32\x41\xbc\x52\x42\xd4\x82\x59\xe5\xeb\xb7\xe8\x71\xf4\xed\x40\x31\xde\xa5\x7d\x67\x7d\x73\xe1\x61\xd8\x5f\x31\xbb\xe4\x55\x8f\xf2\x5a\xcf\x0b\xed\x6c\xed\x27\x00\x00\xff\xff\xaf\x40\x11\x1b\x55\x02\x00\x00"),
		},
		"/assets/comment.html.tmpl": &vfsgen۰CompressedFileInfo{
			name:             "comment.html.tmpl",
			modTime:          time.Date(2018, 2, 23, 1, 25, 16, 190944462, time.UTC),
			uncompressedSize: 4360,
			modTime:          time.Date(2019, 4, 3, 2, 3, 50, 35577472, time.UTC),
			uncompressedSize: 4206,

			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x57\xcd\x6e\x1b\x37\x10\x3e\x4b\x4f\x31\xd8\xf4\x20\xa7\xd1\xca\x09\x8c\x20\x90\x64\x01\x71\xdc\x02\x06\x82\x1e\x92\xf6\x1e\x8a\x9c\x95\x18\x53\xe4\x9a\xa4\x64\x0b\xcc\x3e\x57\xef\x7d\xb2\x82\x3f\xbb\xda\x95\xd7\x6e\xda\x1a\x68\x0f\xbe\xd8\xbb\x5c\xce\xcc\x37\xdf\x0c\xe7\xa3\x9c\x9b\xbc\x84\x4b\x65\x81\x1b\x20\x40\xd7\x44\xae\xd0\xe4\x1f\xd4\x66\x83\xd2\xe6\xf0\x72\x52\x55\x43\xe7\x18\x16\x5c\x22\x64\x34\xae\x67\x55\x35\x9c\x33\xbe\x03\x2a\x88\x31\xe7\x99\xe0\xc6\x8e\x51\x5a\xbd\xcf\x16\xc3\x41\xf8\x62\xec\x5e\xe0\x79\x56\x08\x45\xec\x14\x04\x16\x76\x06\x1b\xa2\x57\x5c\x8e\x35\x5f\xad\xed\x14\x5e\x9f\x96\x77\xb3\x6c\xe1\x9c\x46\xc9\x50\xc3\x88\xec\x88\x25\x1a\xf2\xdf\x0c\xea\x93\xaa\x9a\x4f\x18\xdf\x1d\xb9\x63\xdc\x94\x82\xec\xa7\x50\x08\xbc\x9b\x85\xbf\x63\xc6\x35\x52\xcb\x95\x9c\x02\x55\x62\xbb\x91\x33\x0f\x22\x9a\x71\x76\x5e\x63\x1e\x3b\x97\x5f\x5d\x56\x55\xf8\x38\xe8\x47\x3f\xa6\x4a\x5a\xc2\x25\x6a\x68\x2d\x2e\x95\x66\xa8\xa3\xdd\x60\xbe\x46\xe2\xd1\xde\xb7\x8d\x1f\xb2\x7e\xa8\xc9\x7a\x30\x37\x25\x91\xb5\xb1\x8f\xe6\xd9\x6c\x71\xb0\x35\x78\x60\x00\x12\x74\x64\x30\x27\xb5\xd1\x52\x10\x7a\x9d\xc1\x5a\x63\x71\x9e\xbd\x38\x4e\x0e\x94\xa4\x82\xd3\xeb\xf3\xec\xbd\xa4\x6b\xa5\x3f\x53\xad\x84\x18\xd9\x35\x37\xaf\x00\x77\x28\xed\x49\x87\x73\xcb\x37\x08\xf9\x07\x8d\xc4\x22\x7b\x6f\x03\xed\x24\x61\x1d\x38\x77\xcb\xed\x1a\xf2\x9f\x18\xb7\xc8\xaa\x0a\xfe\xf8\x1d\x62\x02\x29\x47\xba\xd5\x46\xe9\x29\x30\x2c\xc8\x56\xd8\x59\x06\x96\x5b\xff\xc1\xb9\xfc\x62\x9f\x7f\x54\x2b\x2e\xab\x0a\x30\xd8\x83\x07\x51\xa7\x04\x1e\x82\x88\xd1\xdf\xdb\xaa\xca\xb3\x45\xdc\xe5\x1c\x2f\x40\x2a\x0b\x23\xbc\xd9\x12\xe1\x99\x30\xf0\x43\x60\x04\xf2\x8b\xbd\x67\x65\xb9\x87\x8e\x7f\xe7\x50\x32\x0f\xdc\x43\x5b\xa4\xb7\x44\x77\x5c\x1b\xa6\x74\x78\x01\x23\xef\xdb\x58\x62\x31\xbf\xe4\x86\x2c\x05\x7e\x42\x12\xda\xc7\x9c\xd4\x56\xdd\x2a\x85\x76\x1d\x73\xaa\x64\x9b\x38\x89\xb7\xb5\x21\x8c\xb4\x7f\xf2\xbe\xae\x2e\x21\xbf\xba\x3c\x39\x69\xd0\xd4\x91\x5b\x98\x02\x8c\xc0\xa9\xb7\xa8\xaa\x07\x83\xcd\x49\xaa\xf2\x57\xb2\x23\x86\x6a\x5e\xda\x69\xc3\xb0\xb7\x6f\x55\xdb\xbf\xa6\x43\x3b\x72\xee\x8b\xe7\xf2\x0b\x7c\x83\xaf\x46\xc9\xaa\x7a\x15\xa8\x8f\x85\x57\xd4\x7a\xef\x90\x95\x28\x29\x17\x59\x2c\x78\x0f\x77\xf3\x49\x6c\xe8\xd4\xf6\xfd\xe7\x65\xa9\xd8\xbe\x69\xed\xd6\x96\x0d\xd1\xd7\x4c\xdd\xca\xce\x86\xa6\x9f\x2e\x14\xdb\x37\x5c\x0f\x9c\xcb\xe1\x1b\xac\x8a\x4d\xb3\xe4\x1c\x0a\x83\x87\x1d\x73\x5e\xfb\x5d\x69\xb2\xcf\x16\xbf\x28\x60\x18\x09\xe1\x4a\xe6\xf3\x09\x3f\x44\xe8\x14\x3f\x0e\x90\xce\x63\xf3\xd4\x3c\x7c\x67\x5b\x1c\x4a\xaf\xeb\x2f\x17\x7e\x5a\x35\xfb\x7a\xdb\x60\xd8\xc2\x94\x22\xa6\x7f\xf5\xf2\xb0\x7f\x02\x7f\xc2\x1d\xc7\xdb\x7b\x03\x58\x87\xe5\xe7\xf9\xfb\x77\xe7\x6f\x28\x32\xde\x40\xfe\xd9\xd7\x18\x7e\x7c\xed\xe7\x08\xa1\xd7\x2b\xad\xb6\x92\x8d\xa9\x12\x7e\x8e\xbd\x60\x67\x45\xc1\xce\x66\x50\x12\xc6\xb8\x5c\x4d\xe1\xac\xf4\xb6\xbe\x1d\xa1\xe3\x60\xfc\x80\x03\x6f\xde\xe7\xc0\x97\xba\x19\x6d\xe9\x00\x40\x4c\x6c\x0a\x52\x49\xac\x37\x3d\x2a\x14\x71\x74\x04\x04\x55\x55\x27\x2a\xb8\xc4\xf1\x1a\x63\x51\xdf\xbc\xf3\x45\x4d\xbe\x16\xce\x59\xdc\x94\xc2\x03\x4e\x9d\x13\x47\x4b\xe3\xe3\x21\xe1\xe9\x31\x8c\x5d\x7e\x30\x7d\x96\xa4\xa7\x92\x24\x22\xd9\xa3\xf3\xe7\x68\x60\x3e\x8b\xd3\xb1\x38\xf5\xe8\xca\x13\xe9\xd5\x91\x32\xf5\x2a\x4a\x9b\xc0\xff\x5e\x5d\x1a\x32\x12\xe1\x26\xec\x6a\xcf\xf0\xa4\x02\x5e\x12\xa6\xf0\x2e\x8a\x40\x70\xa4\xbd\xf2\x40\x9e\x32\xe9\x25\x10\x9e\x76\x56\xff\xc5\xa5\x38\xff\x99\xfb\x1e\x9c\x3a\x97\x7f\xe4\x12\xef\xf5\xed\xff\xe1\x3a\xf7\x94\xd7\x24\x3f\x42\x14\xdb\xd7\x3d\xf7\xf8\xfd\xe5\xbb\xf3\xff\xc7\xad\xd5\xca\xf3\xf0\x74\x68\xb3\xb8\xf2\xd8\x6d\xa6\x7b\x97\x09\xba\xf1\xc0\x85\x26\xc9\x92\x8f\xd0\x28\x75\x10\xe9\xe1\x51\xf5\x82\x5e\xa4\xdd\xf5\xc4\x6f\xa4\xb7\x98\xf5\x49\xf2\x5b\x4a\xdf\x9e\x9d\x75\xe7\x0b\x5d\x23\xbd\xce\x5a\x65\xed\x6a\x7c\x90\xf7\x27\x08\xbd\x64\x6f\xe8\xe9\x69\x37\xf4\xdd\x51\xd8\x40\xdb\xbf\xa5\xaf\x16\xe7\x2e\x81\xa7\x21\x89\xe6\x47\xe4\xbd\x2c\x13\xc1\xa4\x2c\xb5\xda\x35\x6a\x18\xa2\x3e\xc4\x88\xc6\x9b\x2d\x1a\x2f\x9d\x09\x5d\x6f\x0e\x47\xe8\x36\x2a\x90\x3d\x9c\xaf\xed\x46\xf8\x1b\xa5\x3f\x32\x71\xe6\x1c\xae\x19\x7e\x2d\x8b\xd3\x27\x9e\x29\xbf\xd1\x9f\x8b\xe3\x8d\x7e\x6d\x5c\x6a\x4c\x9b\x07\xe9\xd4\xfc\xaa\xca\xf4\x7a\x7c\x75\xc9\x20\x51\x18\x7d\x47\x9f\xf3\x49\x04\x53\xa3\xfe\x33\x00\x00\xff\xff\xd0\x80\x51\x7e\x08\x11\x00\x00"),
			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x57\xcd\x6e\x1b\x37\x10\x3e\x4b\x4f\x31\xd8\xb4\x80\x9c\x46\x2b\x37\x08\x82\x40\x5a\x0b\xb0\xe3\x16\x30\x10\xf4\x90\xb4\xf7\x50\xe4\xac\xc4\x98\x22\x37\x5c\x4a\xb6\xc0\xf0\xb9\x7a\xef\x93\x15\xfc\xd9\xd5\x4a\xde\xb8\x69\x20\xa0\x3d\xf8\x92\xac\x48\xce\xcc\xc7\x6f\x86\xdf\x8c\xad\x9d\x3c\x87\x6b\x65\x80\xd7\x40\x80\xae\x88\x5c\x62\x9d\xbf\x55\xeb\x35\x4a\x93\xc3\xf3\x89\x73\x43\x6b\x19\x96\x5c\x22\x64\x34\xae\x67\xce\x0d\x0b\xc6\xb7\x40\x05\xa9\xeb\x8b\x4c\xf0\xda\x8c\x51\x1a\xbd\xcb\xe6\xc3\x41\xd8\xa9\xcd\x4e\xe0\x45\x56\x0a\x45\xcc\x14\x04\x96\x66\x06\x6b\xa2\x97\x5c\x8e\x35\x5f\xae\xcc\x14\x7e\x3e\xaf\xee\x67\xd9\xdc\x5a\x8d\x92\xa1\x86\x11\xd9\x12\x43\x34\xe4\x7f\xd4\xa8\xcf\x9c\x2b\x26\x8c\x6f\x8f\xdc\x31\x5e\x57\x82\xec\xa6\x50\x0a\xbc\x9f\x85\x7f\xc7\x8c\x6b\xa4\x86\x2b\x39\x05\xaa\xc4\x66\x2d\x67\x1e\x44\x34\xe3\xec\xa2\xc1\x3c\xb6\x36\xbf\xb9\x76\x2e\x6c\x0e\xfa\xd1\x8f\xa9\x92\x86\x70\x89\x1a\x3a\x8b\x0b\xa5\x19\xea\x68\x37\x28\x56\x48\x3c\xda\x87\xb6\x71\x23\xeb\x87\x9a\xac\x07\x45\x5d\x11\xd9\x18\xfb\x68\x9e\xcd\x0e\x07\x9b\x1a\xf7\x0c\x40\x82\x8e\x0c\x0a\xd2\x18\x2d\x04\xa1\xb7\x19\xac\x34\x96\x17\xd9\xb3\xe3\xcb\x81\x92\x54\x70\x7a\x7b\x91\x5d\x4a\xba\x52\xfa\x03\xd5\x4a\x88\x91\x59\xf1\xfa\x05\xe0\x16\xa5\x39\x3b\xe0\xdc\xf0\x35\x42\xfe\x56\x23\x31\xc8\x2e\x4d\xa0\x9d\x24\xac\x03\x6b\xef\xb8\x59\x41\xfe\x0b\xe3\x06\x99\x73\xf0\xd7\x9f\x10\x2f\x90\xee\x48\x37\xba\x56\x7a\x0a\x0c\x4b\xb2\x11\x66\x96\x81\xe1\xc6\x6f\x58\x9b\x5f\xed\xf2\x77\x6a\xc9\xa5\x73\x80\xc1\x1e\x3c\x88\xe6\x4a\xe0\x21\x88\x18\xfd\xd2\x38\x97\x67\xf3\x78\xca\x5a\x5e\x82\x54\x06\x46\xf8\x79\x43\x84\x67\xa2\x86\x1f\x02\x23\x90\x5f\xed\x3c\x2b\x8b\x1d\x1c\xf8\xb7\x16\x25\xf3\xc0\x3d\xb4\x79\xfa\x95\xe8\x8e\x6b\xc3\x74\x1d\x5e\xc2\xc8\xfb\xae\x0d\x31\x98\x5f\xf3\x9a\x2c\x04\xbe\x47\x12\xca\xa7\x3e\x6b\xac\x0e\xb3\x14\xca\x75\xcc\xa9\x92\x5d\xe2\x24\xde\x35\x86\x30\xd2\xfe\xcb\xfb\xba\xb9\x86\xfc\xe6\xfa\xec\xac\x45\xd3\x44\xee\x60\x0a\x30\x02\xa7\xde\xc2\xb9\xaf\x06\x2b\x48\xca\xf2\x27\xb2\x25\x35\xd5\xbc\x32\xd3\x96\x61\x6f\xdf\xc9\xb6\xff\x99\x1e\xed\xc8\xda\x8f\x9e\xcb\x8f\xf0\x05\x3e\xd5\x4a\x3a\xf7\x22\x50\x1f\x13\xaf\xa8\xf1\xde\x21\xab\x50\x52\x2e\xb2\x98\xf0\x1e\xee\x8a\x49\x2c\xe8\x54\xf6\xfd\xef\x65\xa1\xd8\xae\x2d\xed\xce\x91\x35\xd1\xb7\x4c\xdd\xc9\x83\x03\x6d\x3d\x5d\x29\xb6\x6b\xb9\x1e\x58\x9b\xc3\x17\x58\x96\xeb\x76\xc9\x5a\x14\x35\xee\x4f\x14\xbc\xf1\xbb\xd4\x64\x97\xcd\x7f\x53\xc0\x30\x12\xc2\x95\xcc\x8b\x09\xdf\x47\x38\x48\x7e\x14\x90\x83\xcf\xf6\xab\xfd\xf8\xc6\xb2\xd8\xa7\x5e\x37\x3b\x57\x5e\xad\xda\x73\xbd\x65\x30\xec\x60\x4a\x11\xd3\x7f\xcd\xf2\xb0\x5f\x81\xdf\xe3\x96\xe3\xdd\x03\x01\xd6\x61\xf9\x49\x7f\xff\xad\xfe\x46\x59\x41\xc8\x3f\xf8\x1c\xc3\xb9\x73\x50\x11\xc6\xb8\x5c\x4e\xe1\x55\xe5\xf7\x43\x36\x5a\xf5\x49\x35\x0a\x31\xf6\x14\xa4\x92\xd8\x1c\x7a\x54\xcb\xe3\xeb\x0e\x51\x9c\x6b\xb0\x08\x2e\x71\xbc\xc2\xc8\xfb\xcb\x37\x9e\xf7\xe4\x6b\x6e\xad\xc1\x75\x25\x3c\xa8\x94\xdc\xf8\xfa\x5b\x1f\x5f\xeb\x0d\x3d\x86\xb1\x10\xf7\xa6\x4f\x5d\xe3\x54\x5d\x83\x48\xf6\xa8\x44\x1c\x69\xda\x53\xff\x38\xee\x1f\x3d\xd2\x7f\xa2\x96\x72\xd4\x3c\x7a\x45\xbf\x4b\xe0\x7f\xdf\x00\x5a\x32\x12\xe1\x75\x38\xd5\x95\xd9\x24\xd4\x5e\xb5\xa7\xf0\x26\xea\x74\x70\xa4\x7d\x73\x80\x3c\xdd\xa4\x97\x40\x38\xad\x9c\xfe\xc3\xdc\x9a\xff\xca\x7d\x0d\x4e\xad\xcd\xdf\x71\x89\x0f\xea\xf6\xff\x30\x71\x9d\x72\x92\xf1\x12\xa2\xd8\xae\xa9\xb9\xc7\x47\x8c\x6f\xbe\xff\x77\x97\x56\xe7\x9e\xfb\xaf\x7d\x99\xc5\x95\xc7\x06\x8e\x88\xeb\xd1\x61\x23\xf5\x23\xef\x3a\xdc\x67\x69\x20\xf7\x0d\x74\x78\x94\xb5\xd0\x27\xd2\xe1\x46\xe9\x95\xf0\x42\xff\xac\x2c\xcb\x19\x2c\x08\xbd\x5d\x6a\xb5\x91\x6c\xdc\xac\xbf\xa6\xf4\xf5\xab\x57\x87\xba\x42\x57\x48\x6f\xb3\x4e\x3a\xe3\x34\x08\xbc\x04\x71\xba\xc8\x0b\xf6\x92\x9e\x9f\x1f\x46\xbe\x3f\x8a\x1a\xd8\xfa\x6e\xd6\x9a\x66\xdc\xf2\x86\x9f\x5b\xf4\xed\xdf\x75\xc3\xee\xac\x1b\x0d\x91\x81\xb5\x95\xe6\xd2\x94\x90\xfd\xf8\x13\xcb\xe2\x73\xef\xc1\x73\x14\x70\xad\x02\x6f\xc3\x62\x65\xd6\xc2\xcf\x6d\xbe\xea\xa3\x6c\xec\x27\x05\xbf\x96\x3c\xc6\x67\xe1\x0f\xfa\xd2\x3e\x3e\xe8\xd7\xc6\x95\xc6\x74\x78\x90\x0a\xff\x77\x55\xa5\x9f\xc7\xd3\x47\x06\x89\x90\xe8\x3b\xfa\x2c\x26\x11\x4c\x83\xfa\xef\x00\x00\x00\xff\xff\x8e\x9e\x1b\x59\x6e\x10\x00\x00"),
		},
		"/assets/style.css": &vfsgen۰CompressedFileInfo{
			name:             "style.css",
			modTime:          time.Date(2018, 3, 22, 22, 18, 32, 341446392, time.UTC),
			uncompressedSize: 12082,
main.go
@@ -19,10 +19,11 @@ import (

	"dmitri.shuralyov.com/app/changes/assets"
	"dmitri.shuralyov.com/app/changes/common"
	"dmitri.shuralyov.com/app/changes/component"
	"dmitri.shuralyov.com/service/change"
	statepkg "dmitri.shuralyov.com/state"
	"github.com/dustin/go-humanize"
	"github.com/shurcooL/github_flavored_markdown"
	"github.com/shurcooL/htmlg"
	"github.com/shurcooL/httperror"
	"github.com/shurcooL/httpfs/html/vfstemplate"
@@ -325,11 +326,11 @@ func (h *handler) MockHandler(w http.ResponseWriter, req *http.Request) error {
		Review: change.Review{
			ID:        "0",
			User:      users.User{Login: "Eric Grosse", AvatarURL: "https://lh6.googleusercontent.com/-_sdEtv2PRxk/AAAAAAAAAAI/AAAAAAAAAAA/aE1Q66Cuvb4/s100-p/photo.jpg"},
			CreatedAt: time.Now().UTC(),
			Edited:    nil,
			State:     change.Approved,
			State:     statepkg.ReviewPlus2,
			Body:      "",
			Reactions: []reactions.Reaction{},
			Editable:  true,
			Comments: []change.InlineComment{
				{