Ngx-drag-scroll: рдбреНрд░реИрдЧ рдПрдВрдб рдбреНрд░реЙрдк рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж рдХреНрд▓рд┐рдХ рдХреЗ рдкреНрд░рд╕рд╛рд░ рдХреЛ рд░реЛрдХреЗрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 11 рдЕрдХреНрддреВре░ 2017  ┬╖  13рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: bfwg/ngx-drag-scroll

рдореИрдВ рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдбреНрд░реИрдЧ рдФрд░ рдбреНрд░реЙрдк рдХреЗ рдмрд╛рдж рдХреНрд▓рд┐рдХ рдЗрд╡реЗрдВрдЯ рдХреЛ рдирд┐рдХрд╛рд▓ рджрд┐рдП рдЬрд╛рдиреЗ рдХреЗ рд╕рд╛рде рдХрд┐рд╕реА рдХреЛ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ?

рдореЗрд░рд╛ рдХрдВрдЯреЗрдирд░ рдПрдХ рд╕рдорд░реНрдкрд┐рдд рдкреГрд╖реНрда рдХреЗ рд▓рд┐рдВрдХ рдХреЗ рд╕рд╛рде рд▓рд┐рдкрдЯреЗ рдЫрд╡рд┐рдпреЛрдВ рдХреА рдПрдХ рд╡рд┐рд╢рд╛рд▓ рд╕реВрдЪреА рд╣реИред

рдХрднреА-рдХрднреА рдЬрдм рдЫрд╡рд┐ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдбреНрд░реИрдЧ рдПрдВрдб рдбреНрд░реЙрдк рд╢реБрд░реВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдорд╛рдЙрд╕ рдХреЛ рдЫреЛрдбрд╝рддреЗ рд╕рдордп рдХреНрд▓рд┐рдХ рдИрд╡реЗрдВрдЯ рд╕рдХреНрд░рд┐рдп рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

рдХреНрдпрд╛ рдРрд╕рд╛ рд╣реЛрдиреЗ рд╕реЗ рд░реЛрдХрдиреЗ рдХрд╛ рдХреЛрдИ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рд╣реИ?

рдореИрдВ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдХреНрд▓рд╛рд╕ рдиреЛ-рдХреНрд▓рд┐рдХ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛, рдлрд┐рд░ рд╕рднреА рдмрдЪреНрдЪреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдХреНрд▓рд┐рдХ рдЗрд╡реЗрдВрдЯ рд▓рд┐рд╕реНрдЯрдирд░ рдЬреЛрдбрд╝рдирд╛, рдЬреЛ рдЬрд╛рдВрдЪ рдХрд░реЗрдЧрд╛ рдХрд┐ рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХреЗ рдкрд╛рд╕ рдХреНрд▓рд╛рд╕ рдиреЛ-рдХреНрд▓рд┐рдХ рд╣реИ рдпрд╛ рдирд╣реАрдВ рдФрд░ рдлрд┐рд░ рдорд╛рдЙрд╕-рдЕрдк 100ms рдХреЗ рднреАрддрд░ рдЯреНрд░рд┐рдЧрд░ рд╣реЛрдиреЗ рдкрд░ рдШрдЯрдирд╛ рдХреЗ рдкреНрд░рдЪрд╛рд░ рдХреЛ рд░реЛрдХ рджреЗрдВред рдЦреАрдВрдЪрдиреЗ рдпреЛрдЧреНрдп рд╕реНрдерд┐рддрд┐ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдИ рд╣реИред

рд╡рд░реНрддрдорд╛рди рдореЗрдВ, e.preventDefault() рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдХреА рдЬрд╛ рд░рд╣реА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдкрд╣рд▓реЗ рд╕реЗ рд░рд┐рдкреЛрд░реНрдЯ рдХреА рдЧрдИ рд╕рдорд╕реНрдпрд╛ (https://github.com/bfwg/angular2-drag-scroll/issues/16) рдЗрд╕ рдЕрд╡рд╛рдВрдЫрд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдПрдХ рдмреЗрд╣рддрд░ рдЙрдкрд╛рдп рдпрд╣ рд╣реЛрдЧрд╛ рдХрд┐ рдХреНрд▓рд┐рдХ рдХреЛ рдХреЗрд╡рд▓ рддрднреА рд░реЛрдХрд╛ рдЬрд╛рдП рдЬрдм рдЗрд╕реЗ рдбреНрд░реИрдЧрд┐рдВрдЧ рдЗрд╡реЗрдВрдЯ рдХреЗ рд░реБрдХрдиреЗ рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж рд╢реБрд░реВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реЛ ред

рд╕рднреА 13 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

@Sprauch
рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдХреНрдпрд╛ рдЖрдк рдЗрд╕ рдмрдЧ рдХреЗ рд▓рд┐рдП рдкреАрдЖрд░ рдмрдирд╛рдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗ?

рдирд╣реАрдВ, рдореИрдВ рдЕрднреА рднреА рдЗрд╕рдореЗрдВ рдереЛрдбрд╝рд╛ рдмрд╣реБрдд рдирдпрд╛ рд╣реВрдБред 18 рдорд╣реАрдиреЗ рд╕реЗ рднреА рдХрдо рд╕рдордп рдкрд╣рд▓реЗ рдХреЛрдгреАрдп рдореЗрдВ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрдирд╛ рд╢реБрд░реВ рд╣реБрдЖ рдФрд░ рдХрд▓ рдЧрд┐рдЯрд╣рдм рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛ рдЧрдпрд╛;)

рдХреЛрдИ рдмрд╛рдд рдирд╣реАрдВ, рд╕рдордп рдорд┐рд▓рдиреЗ рдкрд░ рдореИрдВ рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ред

рд╣реЗ рджреЛрд╕реНрддреЛрдВ, рдореЗрд░реЗ рдкрд╛рд╕ рднреА рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╣реИ, рдХреНрдпрд╛ рдлрд┐рдХреНрд╕/рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреЗ рд╕рд╛рде рдХреЛрдИ рдкреНрд░рдЧрддрд┐ рд╣реИ?

рдЕрд░реЗ @stuart-clark-45

рдореИрдВ v2.0 рдХреЗ рд▓рд┐рдП рд░рд┐рд▓реАрдЬрд╝ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдБ, рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рддрдм рддрдХ рджреВрд░ рд╣реЛ рдЬрд╛рдПрдЧреАред рдпрджрд┐ рдирд╣реАрдВ, рддреЛ рдореИрдВ рд╡рд╛рдкрд╕ рдЖрдКрдВрдЧрд╛ рдФрд░ рдЗрд╕реЗ рдареАрдХ рдХрд░ рджреВрдВрдЧрд╛ред

@bfwg рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж, рдЗрд╕ рдмрдЧ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдЪреНрдЫреА рдЫреЛрдЯреА рд▓рд╛рдЗрдмреНрд░реЗрд░реАред рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рд╡рд┐рдЪрд╛рд░ рд╣реИ рдХрд┐ рдЖрдк v2.0 рдХрдм рдЬрд╛рд░реА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

@ рд╕реНрдЯреБрдЕрд░реНрдЯ-рдХреНрд▓рд╛рд░реНрдХ-45

рдареАрдХ рд╣реИ, 2.0 рдХреА рдкреНрд░рдЧрддрд┐ рдХреЛ #66 #68 рдореЗрдВ рдЯреНрд░реИрдХ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдереЛрдбрд╝реА рдЬрд╛рдБрдЪ-рдкрдбрд╝рддрд╛рд▓ рдХреЗ рдмрд╛рдж, рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдореЗрд░реА рдЕрдкреЗрдХреНрд╖рд╛ рд╕реЗ рдЕрдзрд┐рдХ рдХрдард┐рди рд╣реИред рдореИрдВ 2.0 рд░рд┐рд▓реАрдЬ рдХреЗ рдареАрдХ рдмрд╛рдж рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рдкреАрдЖрд░ рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ред рд╡рд┐рд▓рдВрдм рдХреЗ рд▓рд┐рдП рдХреНрд╖рдорд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

@bfwg рдмрд╣реБрдд рдмрдврд╝рд┐рдпрд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЪреАрдЬреЛрдВ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рд╣реИрдВ, рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж: рдЕрдВрдЧреВрдареЗ:

рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдпрд╣ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ рдпрд╛ рдирд╣реАрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдорд╛рдЙрд╕-рдбрд╛рдЙрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдФрд░ рдЯреЗрдХреНрд╕реНрдЯ рдХреЛ рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХрд░рдХреЗ рдЕрдкрдиреЗ рдХрд┐рд╕реА рднреА рдХреЛрдгреАрдп рдРрдк рдкрд░ рдЯреЗрдХреНрд╕реНрдЯ рдХрд╛ рдЪрдпрди рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред рдпрд╣ рдбреНрд░реИрдЧрд╕реНрдХреНрд░реЙрд▓ рдореЙрдбреНрдпреВрд▓ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рд╣реЛрддрд╛ рд╣реИред рдореИрдВ рдбреЗрдореЛ рдкреЗрдЬ рдкрд░ рдЧрдпрд╛ рдФрд░ рд╕рддреНрдпрд╛рдкрд┐рдд рдЯреЗрдХреНрд╕реНрдЯ-рд╕рд┐рд▓реЗрдХреНрд╢рди рднреА рдЙрд╕ рдкреЗрдЬ рдкрд░ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред

рдкреГрд╖реНрда рдкрд░ рдХрд╣реАрдВ рднреА, рдЕрднреА рдкрд╛рда рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рддрд░реАрдХрд╛ рд╣реИ, рдкрд╛рда рдХреЛ рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╛рдЙрд╕ рдбрдмрд▓ рдХреНрд▓рд┐рдХ рдФрд░ рдХреАрдмреЛрд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛...

рдХреНрдпрд╛ рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрд╕реНрдерд╛рдпреА рд░реВрдк рд╕реЗ рдХреБрдЫ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?

рдореИрдВрдиреЗ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП (рдкрд╣реБрдВрдЪ рд▓реЗрдлреНрдЯрдмрд╛рдЙрдВрдб) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕реЗ рд╣рд▓ рдХрд┐рдпрд╛ рд╣реИ рдХрд┐ рдХреНрд▓рд┐рдХ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдЦреАрдВрдЪрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред
рдЕрдкрдиреЗ рдбреНрд░реИрдЧрд╕реНрдХреНрд░реЙрд▓ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ (рдкрд╣реБрдВрдЪреЗрдВ рд▓реЗрдлреНрдЯрдмрд╛рдЙрдВрдб)
<div dragScroll [scrollbar-hidden]="true" (reachesLeftBound)="leftBoundStat($event)">
рдЕрдкрдиреЗ div рдЖрджрд┐ рдореЗрдВ рдорд╛рдЙрд╕ рдИрд╡реЗрдВрдЯ рдЬреЛрдбрд╝реЗрдВред
<div (mousedown)="down()" (click)="fire()">
рдЕрдкрдиреЗ рдХреЙрдореНрдкреЛрдиреЗрдиреНрдЯ.ts рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЬреЛрдбрд╝реЗрдВ

click = false;
leftBoundStat(event: any): void {
        if (this.click) {
            this.click = false;
        }
    }

    down() {
        console.log('Mouse down');
        window.setTimeout(this.startCheck(), 1000);
    }

    fire() {
        if (this.click) {
            console.log('Fire the action');

        }
    }
startCheck() {
        this.click = true;
    }

рдпрд╣ рдХреНрд▓рд┐рдХ рдХреЛ рд░реЛрдХреЗрдЧрд╛ рдпрджрд┐ рдЗрд╕реЗ рдЦреАрдВрдЪрд╛ рдЬрд╛рдирд╛ рдерд╛ред
рд╡реИрд╕реЗ, рд╕реНрдХреНрд░реЙрд▓рдмрд╛рд░-рдЫрд┐рдкрд╛ рдЕрднреА рднреА рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЕрдЧрд░ рдХреЛрдИ рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рд╣реИ, рддреЛ рдореИрдВ рдПрдХ рдкрдВрдХреНрддрд┐ рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░рддрд╛ рд╣реВрдВ :)

рд╣рд╛рдп @STIKO , рдореБрдЭреЗ рдПрдХ рдкреНрд▓рдВрдХрд░ рд▓рд┐рдВрдХ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдореИрдВ рдХрд░реАрдм рд╕реЗ рджреЗрдЦ рд╕рдХреВрдВ?

рдореИрдВ рдЗрд╕реЗ рдкреНрд▓рдВрдХрд░ рдореЗрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд╕рдХрд╛ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВрдиреЗ рдЗрд╕реЗ рдкрд╣рд▓реЗ рдХрднреА рдЗрд╕реНрддреЗрдорд╛рд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдерд╛ред
рдореИрдВрдиреЗ рдЗрд╕реЗ app.module.ts . рдореЗрдВ рдЖрдпрд╛рдд рдХрд┐рдпрд╛ рд╣реИ
import {DragScrollModule} from 'ngx-drag-scroll';
рдлрд┐рд░ рдореИрдВрдиреЗ рдЗрд╕реЗ рдЙрд╕реА рдлрд╝рд╛рдЗрд▓ рдХреЗ @NgModule рдЖрдпрд╛рдд рдореЗрдВ рдЬреЛрдбрд╝рд╛
imports: [DragScrollModule];
рдореИрдВ рдорд╛рди рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдКрдкрд░ рд╕рд╣реА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдбреНрд░реИрдЧ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред
рдЕрдм рдореЗрд░реЗ рдШрдЯрдХ рдореЗрдВ

export class Example implements OnInit {
   @Input() 'scrollbar-hidden': boolean;
}

рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ @Input() рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдпрд╛ рдирд╣реАрдВред рдЕрдВрдд рдореЗрдВ рдЯреЗрдореНрдкрд▓реЗрдЯ

<div dragScroll scrollbar-hidden="true"
         drag-scroll="true"
         drag-scroll-y-disabled="true"
         snap-disabled="true">

          <div style="display: inline">
            <img src='http://via.placeholder.com/310x471'/>
          </div>
          <div style="display: inline">
            <img src='http://via.placeholder.com/310x471'/>
          </div>
          <div style="display: inline">
            <img src='http://via.placeholder.com/310x471'/>
          </div>
      </div>
</div>

рдЬрдм рдореИрдВ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рд╕рдм рдХреБрдЫ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд╕реНрдХреНрд░реЙрд▓ рдмрд╛рд░ рдЕрднреА рднреА рджрд┐рдЦ рд░рд╣рд╛ рд╣реИ, рднрд▓реЗ рд╣реА рдореИрдВрдиреЗ рдЕрдХреНрд╖рдо рдХреЛ рд╕рддреНрдп рдкрд░ рд╕реЗрдЯ рдХрд░ рджрд┐рдпрд╛ рд╣реЛ

рдХреНрдпрд╛ рдЖрдк рдЖрдИрдПрдордЬреА рдЯреИрдЧ рдХреЗ рд▓рд┐рдП рдбрд┐рд╡ рд░реИрдкрд░ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЪреМрдбрд╝рд╛рдИ рдФрд░ рдКрдВрдЪрд╛рдИ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ?
рдиреАрдЪреЗ рдЬреИрд╕рд╛ рдХреБрдЫред рджреЗрдЦреЗрдВ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдЖрдкрдХреЗ рд▓рд┐рдП рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд░рддрд╛ рд╣реИред

@Component({
  selector: 'my-app',
  styles: [`
    .image-cell: {
      width: 310px;
      height: 470px;
    }
  `]
  template: `
    <div>
      <h2>Hello {{name}}</h2>
      <div dragScroll 
         drag-scroll-y-disabled="true"
         scrollbar-hidden="true"
         snap-disabled="true" style="height: 470px; width: 310px;">
          <img class="image-cell" src='http://via.placeholder.com/310x471'/>
          <img class="image-cell" src='http://via.placeholder.com/310x471'/>
          <img class="image-cell" src='http://via.placeholder.com/310x471'/>
      </div>
    </div>
  `,
})
рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

Andi1990 picture Andi1990  ┬╖  10рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

IlCallo picture IlCallo  ┬╖  12рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

tommykamkcm picture tommykamkcm  ┬╖  17рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

bfwg picture bfwg  ┬╖  8рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

BovineEnthusiast picture BovineEnthusiast  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ